STM8 ICP和IAP

以下资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!

在线编程(ICP)用于更新STM8整个存储器的内容。ICP使用SWIM接口把用户的程序装载到微控制器中,同时提供迅速而有效的设计迭代并且去除了不必要的封装处理和器件插槽。SWIM接口(单线接口模块)使用SWIM引脚和编程工具相连接。

相对于ICP方式,在应用编程(IAP)可使用STM8支持的任意通讯接口(I/O、I2C、SPI、UART…)来下载要编入存储器中的数据。IAP允许在应用程序运行中对FLASH程序存储器的内容重新编程。然而要想使用IAP,必须通过ICP对FLASH程序存储器预先编程。请参考STM8 Flash编程手册(PM0051)和STM8 SWIM通信协议和调试模块用户手册(UM0470)来了解关于编程步骤的更多细节。

STM8_不同编程模式下的存储器存取
(表5:STM8不同编程模式下的存储器存取)

  1. R/W/E=读;写和运行;
    R/E=读和运行(写操作被禁止);
    R=读(写操作和运行被禁止);
    P=该区域不可存取(读;写和运行被禁止);
    P/WROP=被保护。除ROP选项字节外,写操作被禁止。
  2. 在向FLASH_PUKR写入正确的MASS密钥之前,Flash程序存储器是写保护的(锁住)。可以通过清PUL位来重新锁住该区域,但在两次复位之间仅可解锁一次。
  3. 在向FLASH_DUKR写入正确的MASS密钥之前,DATA存储器是写保护的(锁住)。可以通过清DUL位来重新锁住该区域。
  4. 如果想对UBC区域编程,首先要清除UBC对应的选项字节位。
  5. 在向FLASH_DUKR写入正确的MASS密钥(同时OPT位要置1)之前,选项字节是写保护的(锁住)。可以通过清DUL位来重新锁住该区域。
  6. 当ROP位被清除,整个存储器(包括选项字节)被自动擦除。

STM8 ICP和IAP

——