sp一下
做技术的时候,不用郁闷遇到困难,有困难才会深入,如果什么问题都没有问题,就没有啥动力深入研究问题了:)
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.
请先确认MLO中的ddr配置是否正确,可以参考AM35x 中的 9.2 SDRAM Controller (SDRC) Subsystem
我的板子上用的DDR2是K4T1G164,LogicPD Am3517 EVM板上用的DDR2是MT47H64M16,都是128MB,我觉得DDR2配置应该是一样的,就算不同,应该也差不多,至少不会有很大的差别,MT47H64M16 的DDR2配置完全可以用在K4T1G164上。DDR2的配置是在FLASH TOOL的配置文件中实现的,这个我想TI的专家是知道的。
根据我调试分析的情况看,我个人觉得U-BOOT的代码在AM3505的板子上根本没有运行。对此问题,我郁闷了很久,
我希望TI的专家能及时的给出建议,谢谢。
BlackSword,你好,谢谢你的回复
我开放的板子用的是串口3,和开发板是一样的,如果不一样,怎么能通过Flash Tool下载程序呢??
我的板子非常简单,是一个最小系统,AM3505+DDR2+NAND+NETWORK PHY,我用的NAND是8位的,这是与开发板最大的差别,但是就算不改NAND驱动,NAND初始化代码之前的信息都应该可以打出来的,比如版本信息等,运行到NAND初始化时,打印NAND没找到等等异常信息,但是现在什么信息都没有。
我在这里发帖的目的就是请教还有可能是哪里的问题,这些问题除了TI的专家,还有谁更清楚呢?
客户,您好,我们在DSP上的支持力量目前确实有些紧张,非常感谢您的理解!我们会尽快回复您。
Zhao Jack,
虽然我并非TI的员工,但我觉得你的说法有些偏激了。
TI可能没做好,但我个人认为TI还是在致力于做好,服务好国内工程师。
TI的说法,及百名工程师的进入,是表明一种态度。但作为客户,我们不能把全部指望寄托在TI会给我解决的。
我个人认为TI一定能给我们解决的就是按TI的路子走遇到的问题,你现在的问题是把x-loader都扔了,每个人都出一种新的用法,TI就算再来几百个工程师,也解决不了相关的问题。
还有就是遇到问题,首先要自己多想办法。
我说的可能有点直接了,请予以理解。
下面谈一下你的开发中的问题的解决的思路。
Step1 按processors.wiki.ti.com/.../AM35x-OMAP35x-PSP_04.02.00.07_UserGuide, 你可以am3517evm_config对应的文件为模板,把一些参数改到与你的板子相一致。注意一下DDR的时钟等问题。
Step2 同时下载MLO及u-boot.bin并运行。
如果你非要不带MLO玩的话,请自己列出所有你的板子的与EVM的差异,差异对应的参数是什么,然后仔细研究一下flashtool的porting guide确保你给了正确的参数。
不好意思,回答有点延迟,请查询一下内容
1. 请查看TRM,也就是SPRUGR0B.pdf, chapter 24, 24.2.3 Boot Configuration,看看您的boot 跳线,确保是从nand 启动. 片子启动的过程, ROM code->MLO->uboot->uImage,所以请逐个查询.
2. 请查看processors.wiki.ti.com/.../Flash_v1.6_User_Guide,中的 Limitations, Download and execute can only branch to Thumb code,所以您用的方法不对。
3. MLO主要是用来congfigue ddr的,也就是我上个帖里面提到的: 9.2 SDRAM Controller (SDRC) Subsystem.
4. 你也可以参考1中的启动方法配置串口启动,看看串口有没有打印,从而可以知道rom code是否已经起来了,也就是可以检查上电时序等启动的配置都没问题,这样可以进一步细化问题。
如果有进一步的问题,请反馈。
谢谢!
Jack Zhao
按楼上所说,也就是你要编译你的uboot为thumb代码,才可以用flashtool下载执行,而原始带的u-boot.bin并不是thumb代码,而是ARM代码,显然,是不能运行的。不知道,你是否有试过把EVM板上的FLASH擦除掉,再来下载过你那个u-boot.bin这样你就知道是不是EVM可用,而在你的板子上不可用了。
如我前述,先按标准流程进行,TI的flashtool毕竟首先是个烧写工具,而不是个仿真工具。
祝好运。
sp一下
做技术的时候,不用郁闷遇到困难,有困难才会深入,如果什么问题都没有问题,就没有啥动力深入研究问题了:)
补充一下,不要把uboot编成thumb 指令,这个没有意义
当然没意思了,因为后面linux kernel还不是thumb的。
所以说走上了一条另类的路,就要一直另类下去了。
作者 Yaoming Qin
sp一下
做技术的时候,不用郁闷遇到困难,有困难才会深入,如果什么问题都没有问题,就没有啥动力深入研究问题了:)
赞这一句,什么是成就感,对技术人员而言就是解决了一个又一个的问题,克服了一个又一个的困难!
非常感谢Yaoming Qin和BlackSword两位专家的回复。
我的这个项目,进度出现了很大的延迟,领导给了压力,所以很郁闷。
我最早调试的时候就是按照Rom Code->MLO->u-boot的方式做的,设置拨码开关(启动模式)从串口启动,通过Flash Tool首先擦除Nand,然后把MLO和U-boot下载到Nand中,接着更改拨码开关从Nand启动,一个小的修改就要重新走一遍,所以用这个方式调试非常麻烦。我看到Flash Tool中download and execute选项,就在AM3517EVM板上尝试了一下,即把U-boot下载到DDR2中并执行,下载完成后,串口上可以看到打印的信息,这整个过程AM3517EVM都是在串口启动模式,所以我觉得这个方法可行而且效率很高,然后就在我的板子上调试,结果什么信息都没有。
我再按照二位专家的建议检查一下,再次感谢!
U-boot 分两块,一块是MLO,这部分代码比较简单,直接看看代码,到了MLO处理的后半部分可以加打印,如果有条件可以试试CCS调试,另一块就是我们所说的uboot,这部分也可以用打印进行调试。多看看代码吧,现在搞清了,以后总用的着:)
论坛就是个很好的地方啊,会有很多人来帮你的,现在只是开始,我们的讨论也会帮助其他人,这样也很好啊
官方的evm是16-bit nand,你用的是8-bit nand是要修改xloader来支持8-bit nand的.