YTM32LE05
-
之前提供的老版本flash_driver中没有以下判断:
#if defined(FEATURE_EFM_HAS_READONLY_BIT) && (FEATURE_EFM_HAS_READONLY_BIT == 1)
/* Flash can be read, erased and programmed */
EFM->CTRL &= ~EFM_CTRL_READONLY_MASK;
#endif我将flash_driver下载到内存后执行FLASH_DRV_EraseSector后就会进入HardFault_Handler,针对这个问题是否有提供最新版本的flash_driver? 我在SDK 1_4_1中看到了相关的处理逻辑。
-
必须在boot按照以下步骤添加代码才不会出现HardFault_Handler:
uint32_t primask = __get_PRIMASK();
__disable_irq();
uint32_t ctrlSaved = EFM->CTRL;
EFM->CTRL = ctrlSaved & ~EFM_CTRL_READONLY_MASK;
EFM->CMD = 0U;
status_t eraseStatus = FLS_DRV_EraseSector(dest, size);
EFM->CTRL = ctrlSaved;
__set_PRIMASK(primask);
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...