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.

求C2000系列FLASH的写入方式



C2000的FLASH写入有很多种方式。我现在采用的是TI的API库完成代码的下载。但是TI的API库消耗的系统RAM比较多。

编译后大家可以看到Map的分配文文件。尤其是在容量较小的C2000的芯片中。我载入API库后发现,API需要消耗0x521个RAM

空间,而28027中RAM空间比较小,这样分配后,系统可用RAM更少了。

所以我想请教一下专家,C2000的FLASH的擦写过程是什么样的。具体要怎么操作。包括需要操作那些寄存器。类似于8位的MCU一样,

可以通过汇编等高效语言编写一个API库,一个可以节省一些RAM空间,二可以为后期的其余型号C2000的MCU服务。

  • 您好,james

    C2000 的 FLASH 擦除和烧写操作都必须通过调用相应的 API 库函数来实现,并且对 FLASH 操作必须要在 RAM 中执行。

    对于从 FLASH 中 BOOT 并执行的应用程序,如果加入擦写 FLASH 的功能,需要先将相应的 FLASH 操作代码移植到 RAM 中运行,具体的操作方法可以参考这个帖子:

    http://www.deyisupport.com/question_answer/microcontrollers/c2000/f/56/t/25905.aspx

  • 你好,Blake.

    首先感谢你在百忙之中给我解答问题。

    那个帖子我看过,但是那个帖子是基于TI官方提供的API库。

    由于官方库功能比较多,调入RAM后,占用的RAM空间相当可观,对于28027来说。

    而我的项目不需要那么多功能,所以我考虑自己写一个API库来替代管方API库。

    现在的核心问题是,我在TI的文档中没有找出如何操作FLASH的说明,而我正需要这方面的信息。

    所以请教这方面的专家,是否可以提供FLASH的操作说明。因为这个说明很重要。

    不然C2000的在线擦写功能只能在TI的API库方式下支持.

    谢谢。

  • James,

    对于 C2000 FLASH 的操作我们目前只建议通过 TI 提供的 API 库函数进行实现,没有其他的方法。

  • 你好,Blake。

    也就是说Ti提供了一种方法,用户只能使用这种方法来操作FLASH。

    既然Ti已经提供了这种方法,为什么不提供的彻底一些,我挺不明白Ti原厂的。

    但是还是要谢谢你,让我知道了这个结果。谢谢 。

  • James,

    虽然我们API有很多内容,但是只要你不调用的函数都不会参与编译。只要使用那些擦除,烧写,验证的API函数就可以了,这样也可以节省你开发的时间。

    Eric