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.
作为我的设计的一部分、我将在'f28075中实现闪存仿真 EEPROM。 当器件未固定时、它工作正常。 我现在正尝试锁定芯片、为客户交付做好准备。 我已使用密码设置 DSCM、并将所有闪存扇区、LSx RAM 和 Dx RAM 安全到同一个区域(区域1)。 当我运行程序时、程序的闪存写入部分不会向闪存写入任何内容。
调试观察结果:
DCSM 和闪存 API 的文档表示、如果闪存 API 例程在安全 RAM 之外执行、并且 RAM 与安全闪存扇区位于同一区域、那么器件不必被解锁。
是否可以在无需解锁器件的情况下执行从安全 RAM 到安全闪存(两者都位于同一 DCSM 区域)的闪存写入?
您好!
[引用]是否可以在无需解锁器件的情况下执行从安全 RAM 到安全闪存(两者都位于同一 DCSM 区域)的闪存写入? [/报价]
是的、这应该起作用。
在开始此操作之前、您能否检查您是否在代码中捕获了闪存信标。 基本上、将 FLSEM 寄存器中 SEM 字段的值(请参阅第2.14.13.1节 FLSEM 寄存器(偏移= 0h)[复位= 0h])更改为0x01。
此致、
Vivek Singh
Toby、
还有一个要检查的地方: 确保 Fapi_UserDefinedFuncations.c 文件中的函数被分配给.TI.ramfunc 段。
谢谢、此致、
Vamsi
Toby、
是的、如果编译器版本>= 15.9。x、则需要使用名称 .TI.ramfunc 而不是 ramfuncs。
如果您使用最新的 examples/cmd 文件、您将注意到以下定义使用编译器版本来分配到正确的部分:
#ifdef __TI_Compiler_version__
#if __TI_Compiler_version__>=15009000
组
{
.TI.ramfunc
{-l F021_API_F2837xS_FPU32.lib}
负载= FLASHD、
运行= RAMLS03、
load_start (_RamfuncsLoadStart)、
load_size (_RamfuncsLoadSize)、
load_end (_RamfuncsLoadEnd)、
run_start (_RamfuncsRunStart)、
run_size (_RamfuncsRunSize)、
run_end (_RamfuncsRunEnd)、
PAGE = 0
其他
组
{
ramfuncs
{-l F021_API_F2837xS_FPU32.lib}
负载= FLASHD、
运行= RAMLS03、
load_start (_RamfuncsLoadStart)、
load_size (_RamfuncsLoadSize)、
load_end (_RamfuncsLoadEnd)、
run_start (_RamfuncsRunStart)、
run_size (_RamfuncsRunSize)、
run_end (_RamfuncsRunEnd)、
PAGE = 0
#endif
#endif
谢谢、此致、
Vamsi