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.
如题,使用ti-processor-sdk-linux-rt-am335x-evm-04.01.00.06版本sdk,cpu为am3352.
这两天移植该sdk时,通过串口加载u-boot-spl.bin始终无任何打印,使用prebuilt-images中的MLO,截掉头后改为u-boot-spl.bin加载也是同样的情况。
艰难定位,终于发现uboot在启动到一半时挂死了。
具体挂死点为:
common/spl/spl.c,board_init_r函数,调用enable_caches处。屏蔽enable_caches调用,程序即可正确运行,直到在spl_board_init中进行串口输出。
问题点找到了,直接屏蔽enable_caches肯定不是恰当的办法,于是根据enable_caches编译宏CONFIG_SYS_ICACHE_OFF和CONFIG_SYS_DCACHE_OFF的提示,在make CROSS_COMPILE=arm-linux-gnueabihf- O=my335x menuconfig中,找到ARM architecture -> L2cache off。希望在配置文件中关闭cache。
但是该配置项L2cache off并未起作用,仅修改该配置项后编译的uboot仍然无法加载,检查配置项,也并未找到其他控制cache的选项。
最后,uboot配置文件使用的是自带的am335x_evm_defconfig,但是在执行make CROSS_COMPILE=arm-linux-gnueabihf- O=my335x am335x_evm_defconfig后,用系统导入的.config文件覆盖了。该文件见附件。
不知道问题是否讲明白了,还请ti工程师帮忙看一下该如何解决,不会是发布了一个有问题的sdk吧?
是的,周工。
我们使用的自研硬件单板,处理器是AM3352,ddr是ddr2,型号MT47H32M16HR,大小为64MB。
我们之前使用的是早起的SDK 6.0版本,目前系统在该硬件上运行稳定,ddr等测试也正常。
因为该版本不支持设备树、realtime等原因,所以想迁移到新版本sdk。但是刚移植uboot就发现这样的问题,不清楚问题原因,有点不敢用了。