C6748烧写的教程比较多了,我也是参考别人的教程完成的工作。这里我就说说我这边遇到的一些问题。
首先我们确认一下板子和环境: TI官方C6748板子(LCDK)、CCS5.5环境、XDS100V2国产仿真器
因为板子是官方的板子,所以所有的工具都是使用官方提供的,包括烧写工具OMAP-L138_FlashAndBootUtils_2_40,这个工具可以去官方下载。下面就讲我工作的时候遇到的问题。
一、 基于CCS烧写工程的问题
1. 硬件仿真的时候没有问题,所有现象都很正常,但是烧写的完成后没有办法启动。
主要确定两个问题:a. 拨码开关是否是需要的模式? 我这边需要的是NAND flash启动方式,所以官方板子的8个开关从1~8分别是0111 0000。 b. 确定自己的cmd文件没有问题(这个问题是坑死我的元凶)。
好了,我直接说情况吧,不浪费大家时间:就是烧写以后没办法启动,并且我验证了一下,烧写到flash里边了!!!
然后我修改了cmd文件中的heap的大小,将其设置的很大,然后再烧写,竟然成功了!!!没错成功了!(欢呼雀跃一把),感谢上天啊,竟然让我成功了。
那么我回头看heap设置,我向天发誓,我代码中没有对堆申请和使用。而且这套代码移植到另外一款板子上根本不需要多大的heap(大约只有1K),但是烧写到TI的板子为什么需要那么大?我追踪发现需要的heap和药烧写进去的工程的.text段大小刚好吻合(至少需要.text一样大的heap,哪怕少1个字节都不行)。