TI中文支持网
TI专业的中文技术问题搜集分享网站

例子程序自实现boot然后启动到应用程序,烧写后不能启动,有些问题想请教TI工程师。

       今天使用evmc6424评估板(原TI开发板设计公司spectrumdigital的一款标准TMS320C6424评估板),spectrumdigital美国工程师给了我一个BlinkEVM6424的工程文件,实现程序的boot与LED点灯例子。

         工程生成两个.obj文件(Boot.obj,Led.obj),Boot.obj实现程序.text段,.cinit段,.switch段搬运到TMS320C6424的RAM中,最后并实现跳转到_c_int00处。 Led.obj实现LED点灯闪烁。

        cmd文件如下:我截屏了一段图片:

                      

         BlinkEVM6424工程文件时设计Flashburn软件公司(Software Design Solutions, Inc)开发。我介绍了半天这个工程的目的是,不要怀疑这个工程的错误性。

          我想请教几个问题,希望工程师正面回答我的疑问,如有不当请谅解!

         问题1:这个工程文件,我的评估板是否引脚必须配置成EMIF直接启动(without AIS格式),不能用AIS格式的EMIF启动。

         问题2:生成后的ais转成hex格式如下:

S011000075626C446156696E63692E6865789A

S325420000000100………

………………………………………..

像这样的hex格式我是这样读出数据烧写的,我读hex文件全部依次从0x42000000写入,我这样写的数据正确吗???

S011                            //hex文件内容                         

            0x31313053      //需要写入norflash数据内容:S的ASII码是0x53,  0的ASII码0x30,   1的ASII码0x31

1000                            //hex文件内容  

           0x30303031   //需要写入norflash数据内容

………………………

………………………      

Tony Tang:

dong wei1 问题1:这个工程文件,我的评估板是否引脚必须配置成EMIF直接启动(without AIS格式),不能用AIS格式的EMIF启动。

从上面cmd文件来看,它的意思是"bootload"段是一个二级boot程序,定位到NOR flash 0x42000000,即从0x42000000开始运行的。所以这里的启动模式肯定不是AIS,而是直接从EMIF flash启动。这里想达到的目的是通过汇编写一个二级boot,与应用程序放在一个工程里,将二级boot通过cmd定位到flash的开始部分,以达到直接启动的目的,二级boot启动后,搬移后面的应用程序再跳到应用程序。

另外,还要看这个.out转成.bin或者hex文件所用的命令是什么,我估计是boot table格式。

而hex,还是bin那属于编码的问题.

cmd文件里关键看run的地址,代码是按run地址link和运行的,load地址无所谓,不参与工程link过程。

赞(0)
未经允许不得转载:TI中文支持网 » 例子程序自实现boot然后启动到应用程序,烧写后不能启动,有些问题想请教TI工程师。
分享到: 更多 (0)