Thread 中讨论的其他器件:controlSUITE
大家好、
在协处理器 C28内核上开发自定义引导加载程序应用程序时、我需要对以下问题提供一些支持。
值得注意的事项:
- C28引导加载程序应用程序使用 F021_API_C28x_FPU32.lib 擦除和编程 C28内核的闪存扇区。
-现在我确保在 RAM 上执行上述库。
组
{
.TI.ramfunc
{-l F021_API_C28x_FPU32.lib}
}负载= FLASHA,
运行= RAML0、
load_start (_RamfuncsLoadStart)、
load_size (_RamfuncsLoadSize)、
run_start (_RamfuncsRunStart)、
PAGE = 0
-我在 RAM 上运行的其它一些函数包括:
#pragma CODE_SECTION (InitFlash、".TI.ramfunc");
#pragma CODE_SECTION (SetupFlash、".TI.ramfunc");
#pragma CODE_SECTION (FlashGainPump、".TI.ramfunc");
#pragma CODE_SECTION (FlashLeavePump、".TI.ramfunc");
-除了上述函数之外,我还执行一些自写函数,它们是:(我已附加源代码作为任何人的参考,以查看这些函数的作用!)
e2e.ti.com/.../FlashControlInterface.c
#pragma CODE_SECTION (eraseFlashSecors、".TI.ramfunc");
#pragma CODE_SECTION (programFlashSecors、".TI.ramfunc");
我面临的问题:
现在、在我的软件中、我在对任何扇区进行编程之前执行扇区擦除。 稍后,当我尝试在某些计算地址对闪存扇区进行编程时,不应用 "Fapi_issueProgrammingCommand"上的断点, 但令我惊讶的是,API 返回"Fapi_Status_SUCCES" ,但实际上,当我在 CCS 的 Memory Browser 视图中查看时,闪存中不会对数据进行编程!
但是、当我在 "Fapi_issueProgrammingCommand"应用断点 并单步执行数据内容时、将对其进行编程。 我不明白这里发生了什么? 我应该在这里提供一些延迟吗?
我使用了控制套件中提供的闪存移植示例。
谢谢
