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.

TMS320F28035: 如何使程序固定烧录FLASH, 每次调试不用再LOAD?

Part Number: TMS320F28035


一个项目程序, 有很多文件组成, 如:

fun1.c

fun2.c

fun3.c

fun4.c

main.c

其中经常修改的也就是一个fun1.c, 调试时如果在RAM中调试, RAM不够大, 无法把程序全部LOAD到RAM中,那么只能每次烧录FLASH.烧录时间太长不方便.

有没有什么办法,把程序分块处理, 不改动的部分永久烧录在FLASH, 调试时只LOAD某个.C文件到RAM. 调试完毕后再把所有的程序再烧录一遍到FLASH?

  • 就TI 出厂时的固化在FLASH中的函数一样, 不需要后期再烧录

  • 据我所知应该不行,至少不太行。

    因为用户程序都是烧写在flash上的,而flash的擦写只能按区来擦写。

    但是由由于擦写是按分区来擦写的,所以我不知道有没有可能将不修改的部分写在一个分区,修改的一部分程序写在另一个分区,由此通过API函数来擦写需要修改的部分。

    这点由于我对分区执行程序没这么深入了解过,所以我也不太清楚能否做到。。。

  • 刚看了一下,你的问题是要在调试的时候只load部分.c程序。

    这个说实话没有接触过,不能下定论说能否实现。但是个人感觉上即使能实现,也会很费劲。比如仿真都是在ram运行的,你要调用flash上的程序就需要修改程序执行的入口地址。

    另外,仿真只能使用.out文件来烧写,但.out好像只能整个工程一起生成。。。

    抱歉经验有限,我这边没办法给出什么可行的方案。建议你可以去英文论坛咨询一下,那边有更多工程师,看是否有工程师给出更好的建议:

    e2e.ti.com/.../c2000-microcontrollers-forum