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.

[参考译文] 编译器/TMS320F28069M:闪存中的次级引导加载程序开发

Guru**** 2562700 points
Other Parts Discussed in Thread: TMS320F28069M, LAUNCHXL-F28069M, CONTROLSUITE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/638084/compiler-tms320f28069m-secondary-bootloader-development-in-flash

器件型号:TMS320F28069M
主题中讨论的其他器件:LAUNCHXL-F28069McontrolSUITE

工具/软件:TI C/C++编译器

您好!

我想  使用 SCI A 为 TMS320F28069M 控制器开发一个次级引导加载程序、我想将其放置在闪存扇区 H 中、并将应用程序加载到闪存扇区 A-F 中

我在 Launchxl-f28069M 上执行此项目、并使用 codeskin 的 C2Prog 下载.hex 文件。

[历史记录]

我经常参考文档、C2000的串行闪存编程等

经过一些搜索、我尝试了 controlSUITE-[ ti\controlSUITE3.4.7\device_support\f2806x\v151\F2806x_examples_ccsv5\f28069_flash_kernel ]中闪存内核的示例代码。 它工作正常、使用 " C2prog "加载应用程序代码并通过闪存运行。

当代码从 RAM 运行时, 我将命令文件更改为从 闪存运行,并参考 FLASH_programming 示例代码[ti\controlSUITEEv3.4.7\device_support\f2806x\v151\F2806x_examples_ccsv5\flash_programming] 和 memcpy 必需函数至 RAM ,并使用了" example_Flash28069_api.cmd "文件。

我进行了更改以在闪存扇区 H 加载我的代码。我已附加我更改的.cmd 文件。

对于 _c_int00、指向应用程序、我确实这么做了

void main()

ApplicationPtr =(void *) SCI_Boot ();  
ApplicationPtr ();

//返回 SCI_Boot ();

[结果]

SCI 函数已正确执行、但在 CopyData()函数中、位于"Flash_Erase (((sectora | sectorb | SECTORC | SECTORD | SECTORE | SECTORF)、&FlashStatus);命令"

它跳转至0x3ff7d7地址并显示"无源可用"[如反汇编中所示]。

然后在下一个转弯时出现错误“ C28xx:Flash Programmer:Error encountered when writing to flash memory”(C28xx:闪存编程器:写入闪存时遇到错误)-在内存浏览器中,密码位置为0xFFFF,但似乎已锁定。

[查询]

1.我是初学者-“plz 让我知道我必须在.cmd 文件中进行哪些更改”

2. 是否需要在项目中包含 Flash2806x_API_V100.lib。

3.我的代码可以加载到 RAM 中,有没有任何恢复闪存的方法。

 

e2e.ti.com/.../Example_5F00_Flash28069_5F00_API.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Abhay、

    您无法从闪存执行闪存算法。 调用闪存算法的函数应从0等待状态 RAM 中执行。 如果你想执行闪存算法、你必须首先将这些函数复制到 RAM 中、然后从 RAM 中执行。 您可以在以下路径中找到此示例。

    示例代码: controlSUITE\libs\utilities\flash_api\2806x\v100a\

    文档: \controlSUITE\libs\utilities\flash_api\2806x\v100a\doc

    此致、

    曼诺伊