uboot调试,uboot怎么添加打印?

deyusun 2019-11-26 09:49:15
我想在uboot/board/xxx/board.c中添加打印,怎么才能让printf打印输出?
谢谢。
...全文
1885 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
deyusun 2019-12-18
  • 打赏
  • 举报
回复
@gt_sup “UBOOT中的调试开关要打开,DEBUG的宏把它打开就好了。”
尝试了一下,不知道操作有没有错。
(1)进入menuconfig界面:选择ARM architecture->ARM debug->具体配置如下图:

Physical base address of debug UART (NEW)这个的地址是从CPU手册上查的,如下图:

(2)在board.c中的操作如下:
添加
#define DEBUG
#include <common.h>
printf("[MSG:%d] debug---------------------------------------", __LINE__);
但是还是没有打印信息。
以上尝试,如有操作错误,请指正。
deyusun 2019-12-18
  • 打赏
  • 举报
回复
@诸葛一帆丶感谢回复,最近工作较忙,没来得及尝试,我想我再尝试尝试。
deyusun 2019-12-18
  • 打赏
  • 举报
回复
@gt_sup 感谢回复。
对于“UBOOT中的调试开关要打开,DEBUG的宏把它打开就好了。”我尝试了下。但是有个地方不知道怎么设置,还得请教一下。

图中Physical base address of debug UART (NEW),这个地址要设置成多少,从哪里可以查到它?
Evan_ZGYF丶 2019-12-17
  • 打赏
  • 举报
回复
printf正常情况下应该是能打印输出的

如果你确实在“uboot/board/xxx/board.c”中添加了printf并且它没有输出,

那么怀疑是否是因为这些原因:
/* in the early stage of booting, printf() is not available */
#define printf(fmt, args...)
gt_sup 2019-12-09
  • 打赏
  • 举报
回复
UBOOT中的调试开关要打开,DEBUG的宏把它打开就好了。 1 #ifdef DEBUG 2 #define debug(fmt,args...) printf (fmt ,##args) 3 #define debugX(level,fmt,args...) if (DEBUG>=level) printf(fmt,##args); 4 #else 5 #define debug(fmt,args...) 6 #define debugX(level,fmt,args...) 7 #endif /* DEBUG */ 8 9 #ifdef DEBUG 10 # define _DEBUG 1 11 #else 12 # define _DEBUG 0 13 #endif
deyusun 2019-12-02
  • 打赏
  • 举报
回复


感谢回复!内核中是printk,但是uboot源码中有很多printf,图片中的printf是uboot源码自带的,怎么才能让这个打印出来?需要配置什么东西?
fang 2019-11-26
  • 打赏
  • 举报
回复
内核中是printk.

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧