当前位置:网站首页>u-boot调试定位手段
u-boot调试定位手段
2022-08-05 04:48:00 【IT张先生】
开启调试信息参考
https://blog.csdn.net/zwjzwj108108/article/details/126147584
调试显示下面的信息
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 //该值是一个符号地址,通过u-boot.map可以查看到具体符号
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 //该值是一个符号地址,通过u-boot.map可以查看到具体符号。所以可以定位到再函数中出现了问题。

显示的错误信息:查看serial_init函数,可以看到是和串口相关。
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文件中的打印。在获取时钟的时候出现问题。
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;
}
边栏推荐
- AUTOCAD - dimension association
- 算法---一和零(Kotlin)
- 开发属于自己的node包
- 1007 Climb Stairs (greedy | C thinking)
- Mini Program_Dynamic setting of tabBar theme skin
- write the story about us
- [SWPU2019]Web1
- No regrets, the appium automation environment is perfectly built
- 二叉树基本性质+oj题解析
- Homework 8.4 Interprocess Communication Pipes and Signals
猜你喜欢

Qixi Festival code confession

How do newcomers get started and learn software testing?

Mysql的undo log详解

机器学习概述

In the hot summer, teach you to use Xiaomi smart home accessories + Raspberry Pi 4 to connect to Apple HomeKit

Application status of digital twin technology in power system

creo怎么测量点到面的距离

动力小帆船制作方法简单,电动小帆船制作方法

C+ +核心编程

mutillidae下载及安装
随机推荐
【学生毕业设计】基于web学生信息管理系统网站的设计与实现(13个页面)
四位数显表头设计
第一次性能测试实践,有“亿”点点紧张
Is the NPDP certificate high in gold content?Compared to PMP?
dedecms后台生成提示读取频道信息失败的解决方法
商业智能BI业务分析思维:现金流量风控分析(一)营运资金风险
Mvi架构浅析
[MRCTF2020]Ezpop(详解)
flink读取mongodb数据源
How do newcomers get started and learn software testing?
Redis哨兵模式配置文件详解
Mysql的undo log详解
程序开发的一些常规套路(一)
In the WebView page of the UI automation test App, the processing method when the search bar has no search button
[CISCN2019 South China Division]Web11
JeeSite New Report
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
国学*周易*梅花易数 代码实现效果展示 - 梅花心易
[Surveying] Quick Summary - Excerpt from Gaoshu Gang
Analyses the mainstream across technology solutions