This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3505 uboot 无法使用printf打印

Other Parts Discussed in Thread: AM3505, AM3517

大家好,

这个问题困扰我两周了,想想还是发上来让大家看看。

我的板子是AM3505的处理器,使用Jlink+eclipse+Jtag+gdb进行调试。前期,已经使用xload在SRAM里面成功读写了ddr和nand。同样的xload,在ddr里面也做了调试了,是成功的。对ddr进行各数据段连续读取50次没有出现问题。

但是我使用同样的ddr配置,在ddr里面调试uboot出现了一个很郁闷的问题。无法使用printf打印gd和bd这些结构体成员变量。一打印就跑飞,跑飞之后,ddr里面放置uboot的代码段的数值也产生了变化,可不可以理解为,代码段被破坏了?

同样的代码,我在AM3517的logicPD板子上试过,没有问题,打印都正常。所以,不好去质疑开发环境有什么问题。

我加大了am3517_evm.h中开始的CONFIG_ENV_SIZE和CONFIG_SYS_MALLOC_LEN,CONFIG_SYS_GBL_DATA_SIZE.还是没有解决根本问题。

调试前后,cpu寄存器的状态也是ok的,跑飞也没有跳进中断,否定是出现了什么中断。

关于引脚的模式设置那一块关系大嘛?因为我这是自己做的板子,但是差别不是很大,ddr、nand都是使用的和logic板同样的接口,型号换了而已。

大家谁知道,帮忙说一下,指引一下方向吧。。。。

  • 个人经验,您可以跟踪一下打印语句的函数,我怀疑是不是串口硬件某个地方有问题,或者串口寄存器配置有问题

  • Jian Zhou 你好

    我查了一下串口uart1的硬件,直接从cpu引出来的TX和RX,拿万用表测了,没有断线。

    我是自己的板子,有不有可能和cpu引脚复用的配置有关系?正在使用TI的引脚配置工具配置引脚,我想问,对于没有使用的引脚我该如何处理?

    此外,我注释掉一些printf的语句,也会导致程序跑飞,在ddr运行正常的情况下,有哪些问题有可能导致程序跑飞?

    关于串口寄存器的配置,是在uboot的代码的哪一部分?我印象中,有一些关于串口时钟的使能配置。

    感谢你的回帖!谢谢

  • Jian Zhou 你好

    我查了一下串口uart1的硬件,直接从cpu引出来的TX和RX,拿万用表测了,没有断线。

    我是自己的板子,有不有可能和cpu引脚复用的配置有关系?正在使用TI的引脚配置工具配置引脚,我想问,对于没有使用的引脚我该如何处理?

    此外,我注释掉一些printf的语句,也会导致程序跑飞,在ddr运行正常的情况下,有哪些问题有可能导致程序跑飞?

    关于串口寄存器的配置,是在uboot的代码的哪一部分?我印象中,有一些关于串口时钟的使能配置。

    感谢你的回帖!谢谢