一)我们现在有一个需求:使用28335DSP,程序烧写完成后,可在线替换原有DSP程序中的某一块功能,且可多次覆盖擦写,而不修改DSP的其他程序,
不能通过CCS来烧写,不能编译整个DSP程序,仅编译该功能相关的DSP程序,以实现该功能的可替换。
二)针对该需求,我们现在想到的一个方法为:
1)第一步:该功能C程序以及变量单独放置在某一flash区域,该区域为该功能独用,修改完一个功能C程序后,使用CCS提供的编译器+链接器(cl2000)通过命令行方式来编译该C程序,
生成DSP的机器语言.out文件,通过CCS提供的hex转换器(hex2000)来生成.hex文件。
2)第二步:通过C2Prog工具,先擦写该功能C程序所独对应的flash,后将该hex文件烧写到该片flash区即可。
三)在调试过程中,遇到如下问题:
1)直接使用命令行:cl2000 -v28 -ml -mt test.c --run_linker --output_file=test.out
可以生成.out文件,但会有若干提示,如下图。
2)调用库文件使用命令行:cl2000 -v28 --float_support=fpu32 -ml -mt test.c --run_linker --search_path=""
--library=28335_FLASH_lnk.cmd --output_file=test.out
编译直接错误,并有如下提示: