当前位置:网站首页>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;
}
边栏推荐
- 人性的弱点
- 将故事写成我们
- Day019 Method overriding and introduction of related classes
- software management rpm
- Detailed explanation of Mysql's undo log
- 延迟加载js方式async与defer区别
- Analyses the mainstream across technology solutions
- There are a lot of 4T hard drives remaining, prompting "No space left on device" insufficient disk space
- 七夕节赚徽章拉
- University Physics---Particle Kinematics
猜你喜欢
多列属性column元素的可见性:display、visibility、opacity、垂直对齐方式:vertical-align、z-index 越大越显示在上层
【8.1】代码源 - 【第二大数字和】【石子游戏 III】【平衡二叉树】
[BJDCTF2020]EasySearch
AUTOCAD——标注关联
What is the function of industrial-grade remote wireless transmission device?
ESP32 485光照度
MySQL基础(一)---基础认知及操作
Mysql的redo log详解
Please write the SparkSQL statement
[BJDCTF2020] EasySearch
随机推荐
Talk about 20 common problems in data governance
NPDP证书含金量高吗?跟PMP相比?
University Physics---Particle Kinematics
Analyses the mainstream across technology solutions
浅析主流跨端技术方案
bytebuffer 内部结构
C语言-大白话理解原码,反码和补码
35岁的软件测试工程师,月薪不足2W,辞职又怕找不到工作,该何去何从?
Why did you start preparing for the soft exam just after the PMP exam?
[8.3] Code Source - [meow ~ meow ~ meow~] [tree] [and]
dedecms dream weaving tag tag does not support capital letters fix
Shell(4) Conditional Control Statement
mysql数据库表什么字段类型的存储长度最大?
Detailed explanation of each module of ansible
【背包九讲——01背包问题】
upload upload pictures to Tencent cloud, how to upload pictures
[BJDCTF2020]EasySearch
[8.1] Code Source - [The Second Largest Number Sum] [Stone Game III] [Balanced Binary Tree]
8.04 Day35-----MVC三层架构
What is ASEMI photovoltaic diode, the role of photovoltaic diode