大家好,我的问题是 ,使用 RAM 中的 Flash2808_API_V302.lib 会产生闪存擦除问题-它挂起或跳到 Flash_API 版本十六进制()位置。
由于本机引导加载程序只将上载的十六进制文件写入 RAM,我需要开发一个从 RAM 运行的闪存引导加载程序,以便它可以上载下一个十六进制文件并将其写入闪存。
我使用 了 F28335_CAN_FLASH 内核作为基础,并为 F2808对其进行了修改。 我可以 在 CC 中从 RAM 运行新的 F2808_CAN_FLASH_kernel(),直到我进入 Flash_Erase 函数。 Flash_API 版本十六进制() 返回正确的版本。
我尝试使用和不使用以下内容: #pragma code_section (<functions>,".TI.ramfunc");
我使用 的是2808_RAM_lnk.cmd,我尝试使用不同的 RAM 区域来实现“功能” :> RAML1 page =0英寸
我的目标是使生产能够 启动 GPIO18,让 F2808进入引导加载程序模式,加载 F2808_CAN_FLASH 核心函数值。hex 文件以设置 F2808以便能够写入 Flash。 然后 ,在 F2808_CAN_FLASH 内核十六进制文件上载后,operational_code.hex 将上载并刻录到闪存中。
有什么想法阻止 Flash_Erase 完成?