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.

dsp c5517 从外部 数据总线16位的 nor flash启动的操作?

Expert 2137 points

尊敬的工程师您好:

    昨天我想向您们咨询的了这个问题,我安装您们的说的操作了,但是不成功。接下来我把我操作的过程写下来,望您们给我帮助。

    首先我把我写好的程序,就是即将要下载到flash运行的程序成为A.out,这个A.out程序通过仿真器已经在dsp正常运行了。

   然后我通过hex55.exe 把A.out 文件生成了 A.bin 文件。在生成点bin文件时候,需要建立bootloader.cmd文件。但是这个地方我有个问题就是我使用的是16位的nor flash,你们告诉cmd的文件

-boot ;option to create a boot table
-v5505 ;use C55x boot table format for TMS320C5517
-parallel16 ;boot mode is 16-bit parallel interface boot table
-b ;desired output format is binary format
-o my_app.bin ;specify the output filename

但是我在生成的时候,dos界面提示我用-parallel16是没法生成.bin 文件的,所以我把-parallel16 更改成了-serial8,从而生成了.bin文件。(不知道这样的做法时候对)

最后我自己写了个程序将生成的.bin 文件写到了外部flash中的,我把nor flash 挂在 cs2上的 那么它的字地址就是从40 0000开始的,A.bin文件写入flash的首地址是8000h,就是从flash的第二块开始写的,不知道这样做是否正确。若是不是从第二块开始写,那正确的从哪个地址开始写?

  • 1. 是用-serial8

    2. 为什么 要从第二块地址开始写,从flash地址0开始烧写就可以了。

  • 您好:我生成的A.bin文件有大小的限制吗?  c5517的DARAM64KB,SARAM是256K?  我看网上有二次bootloader 的说法,是不是我通过hex55.exe 生成的bin文件不需要二次bootloader啊?

  • 您好:我生成的A.bin文件有大小的限制吗?  c5517的DARAM64KB,SARAM是256K?  我看网上有二次bootloader 的说法,是不是我通过hex55.exe 生成的bin文件不需要二次bootloader啊?

  • 当程序过大,片上内存放不下,要boot到片外内存时,可参考下面格式在转换时加入对EMIF的配置,这样就可以不需要二级boot。

    你应该先验证一个运行在片上内存的小程序看你的流程对不对。

  • 老师您好:您的意思就是我若是片内ram 够用的话,是不是只需要将生成的A.out文件,通过hex55.exe 转化成A.bin 文件,直接下载到nor flash中就可以了是吗?有什么其他需要注意的吗? 

  • jinming zhou 说:

    您好:我生成的A.bin文件有大小的限制吗?  c5517的DARAM64KB,SARAM是256K?  我看网上有二次bootloader 的说法,是不是我通过hex55.exe 生成的bin文件不需要二次bootloader啊?



    如果你的应用程序很大,在nor flash里放不下,就可以考虑用二次bootloader。但是通常如果nor flash里放不下的话,就会考虑选用其他的boot模式如nand flash。 

  • jinming zhou 说:

    老师您好:您的意思就是我若是片内ram 够用的话,是不是只需要将生成的A.out文件,通过hex55.exe 转化成A.bin 文件,直接下载到nor flash中就可以了是吗?有什么其他需要注意的吗? 



    如果你的应用程序能在nor flash里放得下,直接下载到flash里就可以了。

  • 我用programmer将.bin下载到NORflash里面,重新上电后程序没有执行是什么问题?