以下介绍的是dsp c6455的一种烧写程序的方式。它是通过片内运行的程序,将待烧写的程序写入片外FLASH中。在DSP上电或复位后,执行EMIFA 8-bit ROM BOOT,从片外FLASH加载程序并运行。
6455的烧写过程涉及三部分的文件:
1.主程序文件:完成所需功能的那部分程序文件,包含main.c。编译后会被编译到.boot_load以后的段,
主函数被编译到 .cinit段。
2.搬运程序文件: 完成烧写后,6455上电或复位,会自动将片外flash的头1k字节搬运到片内SRAM,
并开始运行。这1k字节内的程序,即搬运程序,需要将主程序,从片外FLASH搬运至片内SRAM,最后跳转到主程序运行。
搬运程序文件由boot.c和boot.asm两部分组成,会被编译到.boot_load 段。
3.烧写程序文件:它的作用是将被编译下载到片内SRAM后的主程序和搬运程序,烧写到片外FLASH中。
需要另建一个工程
烧写过程:
1.建一个工程pro1,包含主程序文件和搬运程序文件。编译通过后,将程序下载到6455内(只下载,不执行).
查看debug/release目录下map文件,得到程序各段在片内SRAM中的位置。
eg:
.boot_load start:00800000 length:000000e0
.cinit start:009e0500 length:00000214