当前位置:网站首页>u-boot debugging and positioning means
u-boot debugging and positioning means
2022-08-05 04:50:00 【IT Mr. Zhang】
Enable debugging information reference
https://blog.csdn.net/zwjzwj108108/article/details/126147584
Debugging shows the following information
initcall: 040152e4
initcall: 04068584
initcall: 0401e9a8
initcall: 04015344
initcall: 04001510
initcall: 04015304
initcall: 0401552c
malloc_simple: size=18, ptr=18, limit=400: ffff0b30
malloc_simple: size=54, ptr=6c, limit=400: ffff0b48
malloc_simple: size=4, ptr=70, limit=400: ffff0b9c
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
- -1 -1
- not found
malloc_simple: size=18, ptr=88, limit=400: ffff0ba0
malloc_simple: size=54, ptr=dc, limit=400: ffff0bb8
Bound device mod_exp_sw to root_driver
initcall: 04015354
initcall: 04015518
initcall: 04001478
initcall: 040177ec
initcall: 040154ec
initcall: 040445c0 //The value is a symbolic address,通过u-boot.mapSpecific symbols can be viewed
malloc_simple: size=18, ptr=f4, limit=400: ffff0c0c
bind node [email protected]
- attempt to match compatible string 'xlnx,xuartps'
- found match at 'serial_zynq'
malloc_simple: size=54, ptr=148, limit=400: ffff0c24
Looking for 'serial' at 2876, name [email protected]
- serial0, /amba/[email protected]
Found seq 0
Bound device [email protected] to root_driver
malloc_simple: size=4, ptr=14c, limit=400: ffff0c78
malloc_simple: size=4, ptr=150, limit=400: ffff0c7c
uclass_find_device_by_seq: 0 0
- 0 -1
- not found
OF: ** translation for device [email protected] **
OF: bus is default (na=1, ns=1) on amba
OF: translating address: 001000e0
OF: parent bus is default (na=1, ns=1) on
OF: no ranges, 1:1 translation
OF: parent translation for: 00000000
OF: with offset: 3758100480
OF: one level translation: 001000e0
OF: reached root nodeclk_get_by_index(dev=ffff0c24, index=0, clk=ffff0990)
fdtdec_get_int: #clock-cells: 0x1 (1)
malloc_simple: size=18, ptr=168, limit=400: ffff0c80
clk_get_by_index: uclass_get_device_by_of_offset failed: err=-19
failed to get clock
uclass_find_device_by_seq: 0 0
- 0 -1
- not found
uclass_find_device_by_seq: 1 0
- 0 -1
- found
malloc_simple: size=4, ptr=16c, limit=400: ffff0c98
malloc_simple: size=4, ptr=170, limit=400: ffff0c9c
uclass_find_device_by_seq: 0 0
- 0 -1
- not found
OF: ** translation for device [email protected] **
OF: bus is default (na=1, ns=1) on amba
OF: translating address: 001000e0
OF: parent bus is default (na=1, ns=1) on
OF: no ranges, 1:1 translation
OF: parent translation for: 00000000
OF: with offset: 3758100480
OF: one level translation: 001000e0
OF: reached root nodeclk_get_by_index(dev=ffff0c24, index=0, clk=ffff0968)
fdtdec_get_int: #clock-cells: 0x1 (1)
clk_get_by_index: uclass_get_device_by_of_offset failed: err=-19
failed to get clock
malloc_simple: size=4, ptr=174, limit=400: ffff0ca0
malloc_simple: size=4, ptr=178, limit=400: ffff0ca4
uclass_find_device_by_seq: 0 0
- 0 -1
- not found
OF: ** translation for device [email protected] **
OF: bus is default (na=1, ns=1) on amba
OF: translating address: 001000e0
OF: parent bus is default (na=1, ns=1) on
OF: no ranges, 1:1 translation
OF: parent translation for: 00000000
OF: with offset: 3758100480
OF: one level translation: 001000e0
OF: reached root nodeclk_get_by_index(dev=ffff0c24, index=0, clk=ffff0970)
fdtdec_get_int: #clock-cells: 0x1 (1)
clk_get_by_index: uclass_get_device_by_of_offset failed: err=-19
failed to get clock
malloc_simple: size=4, ptr=17c, limit=400: ffff0ca8
malloc_simple: size=4, ptr=180, limit=400: ffff0cac
uclass_find_device_by_seq: 0 0
- 0 -1
- not found
OF: ** translation for device [email protected] **
OF: bus is default (na=1, ns=1) on amba
OF: translating address: 001000e0
OF: parent bus is default (na=1, ns=1) on
OF: no ranges, 1:1 translation
OF: parent translation for: 00000000
OF: with offset: 3758100480
OF: one level translation: 001000e0
OF: reached root nodeclk_get_by_index(dev=ffff0c24, index=0, clk=ffff0970)
fdtdec_get_int: #clock-cells: 0x1 (1)
clk_get_by_index: uclass_get_device_by_of_offset failed: err=-19
failed to get clock
No serial driver found
resetting ...
Error, wrong i2c adapter 0 max 0 possible
Error, wrong i2c adapter 0 max 0 possible
itcall: 040445c0 //The value is a symbolic address,通过u-boot.mapSpecific symbols can be viewed.So it can be located that there is a problem in the function.

显示的错误信息:查看serial_init函数,It can be seen that it is related to the serial port.
OF: ** translation for device [email protected] **
OF: bus is default (na=1, ns=1) on amba
OF: translating address: 001000e0
OF: parent bus is default (na=1, ns=1) on
OF: no ranges, 1:1 translation
OF: parent translation for: 00000000
OF: with offset: 3758100480
OF: one level translation: 001000e0
OF: reached root nodeclk_get_by_index(dev=ffff0c24, index=0, clk=ffff0990)
fdtdec_get_int: #clock-cells: 0x1 (1)
malloc_simple: size=18, ptr=168, limit=400: ffff0c80
clk_get_by_index: uclass_get_device_by_of_offset failed: err=-19
failed to get clock
最后定位到serial_zynq.c文件中的打印.There was a problem getting the clock.
int zynq_serial_setbrg(struct udevice *dev, int baudrate)
{
struct zynq_uart_priv *priv = dev_get_priv(dev);
unsigned long clock;
#if defined(CONFIG_CLK) || defined(CONFIG_SPL_CLK)
int ret;
struct clk clk;
ret = clk_get_by_index(dev, 0, &clk);
if (ret < 0) {
dev_err(dev, "failed to get clock\n");
return ret;
}
clock = clk_get_rate(&clk);
if (IS_ERR_VALUE(clock)) {
dev_err(dev, "failed to get rate\n");
return clock;
}
debug("%s: CLK %ld\n", __func__, clock);
ret = clk_enable(&clk);
if (ret && ret != -ENOSYS) {
dev_err(dev, "failed to enable clock\n");
return ret;
}
#else
clock = get_uart_clk(0);
#endif
_uart_zynq_serial_setbrg(priv->regs, clock, baudrate);
return 0;
}
边栏推荐
- 程序开发的一些常规套路(一)
- 大学物理---质点运动学
- bytebuffer internal structure
- Mini Program_Dynamic setting of tabBar theme skin
- Flutter学习三-Flutter基本结构和原理
- 1068 Find More Coins
- How to solve complex distribution and ledger problems?
- Visibility of multi-column attribute column elements: display, visibility, opacity, vertical alignment: vertical-align, z-index The larger it is, the more it will be displayed on the upper layer
- DNS被劫持如何处理?
- Redis哨兵模式配置文件详解
猜你喜欢
虚证、实证如何鉴别?

使用IDEA连接TDengine服务器

App rapid development and construction experience: the importance of small programs + custom plug-ins

Mysql's redo log detailed explanation
![[CISCN2019 South China Division]Web11](/img/15/843334fec0a5cc8cfaba92aab938db.png)
[CISCN2019 South China Division]Web11

bytebuffer use demo

A 35-year-old software testing engineer with a monthly salary of less than 2W, resigns and is afraid of not finding a job, what should he do?

What is ASEMI photovoltaic diode, the role of photovoltaic diode

u-boot调试定位手段

Analyses the mainstream across technology solutions
随机推荐
for..in和for..of的区别
将故事写成我们
No regrets, the appium automation environment is perfectly built
工业级远距离无线传输装置的功能有哪些?
浅析主流跨端技术方案
【学生毕业设计】基于web学生信息管理系统网站的设计与实现(13个页面)
The log causes these pits in the thread block, you have to guard against
AUTOCAD - dimension association
8.04 Day35-----MVC三层架构
小程序_动态设置tabBar主题皮肤
【测量学】速成汇总——摘录高数帮
C language - vernacular to understand the original code, inverse code and complement code
Redis哨兵模式配置文件详解
u-boot中的u-boot,dm-pre-reloc
bytebuffer 内部结构
mutillidae下载及安装
LAB 信号量实现细节
Analyses the mainstream across technology solutions
Redis - 13、开发规范
Paparazzi: Surface Editing by way of Multi-View Image Processing