ST意法半导体
直播中

贾虎世

7年用户 1713经验值
私信 关注
[问答]

在SPC563xx上可以同时写入闪存和运行代码吗

我从低地址空间和中地址空间运行代码,然后写入闪存 C90LC 中的高地址空间。如果我在写入期间启用了中断,MCU 会经常锁定。在SPC563xx 上,同时写入闪存和运行代码(即中断)是否存在任何已知问题?


回帖(1)

屈鑫燕

2022-12-22 11:23:48
没有发现任何问题
您是否在 SPC5Studio 工具套件或 RM0015 中检查了 SPC563Mxx_RLA Flash 测试应用程序以进行发现?


  • /*==================== Lock to Protect Shadow Row ====================*/
  •     returnCode = pSetLock( &ssdConfig, LOCK_SHADOW_PRIMARY, 1, FLASH_LMLR_PASSWORD );
  •     if ( C90FL_OK != returnCode )
  •     {
  •         ErrorTrap(returnCode);
  •     }

  •     returnCode = pSetLock( &ssdConfig, LOCK_SHADOW_SECONDARY, 1, FLASH_SLMLR_PASSWORD );
  •     if ( C90FL_OK != returnCode )
  •     {
  •         ErrorTrap(returnCode);
  •     }


  •     /*====== Unlock all blocks in low address space ======*/
  •     returnCode = pGetLock( &ssdConfig, LOCK_LOW_PRIMARY, &blkLockEnabled, &blkLockState );
  •     if ( C90FL_OK != returnCode )
  •     {
  •         ErrorTrap(returnCode);
  •     }

  •     returnCode = pSetLock( &ssdConfig, LOCK_LOW_PRIMARY, (blkLockState & 0xFFFFFF00), FLASH_LMLR_PASSWORD);
  •     if ( C90FL_OK != returnCode )
  •     {
  •          ErrorTrap(returnCode);
  •     }

  •            returnCode = pGetLock( &ssdConfig, LOCK_LOW_SECONDARY, &blkLockEnabled, &blkLockState );
  •     if ( C90FL_OK != returnCode )
  •     {
  •         ErrorTrap(returnCode);
  •     }

  •     returnCode = pSetLock( &ssdConfig, LOCK_LOW_SECONDARY, (blkLockState & 0xFFFFFF00), FLASH_SLMLR_PASSWORD);
  •     if ( C90FL_OK != returnCode )
  •     {
  •          ErrorTrap(returnCode);
  •     }

举报

更多回帖

发帖
×
20
完善资料,
赚取积分