完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
转一篇解决flash操作的帖子
## MCU单片机操作内部flash是很常用的 ### 但是在操作内部flash的时候可能出现重启的现象,这种情况是什么问题引起的呢? 出现这种情况的很大一部分可能是中断打断程序当前正在操作内部flash,在操作内部flash的时候是不能被打断的,可以尝试这样写 /************************************************************ *Function :FlashOption_Erase *Descriptor : *Input :null *Return :none *Hist : *************************************************************/ uint32_t FlashOption_Program(uint32_t ProgramAddress, uint32_t* ProgressBuf, uint32_t length) { /* Return code from each flash driver function */ status_t result; __disable_irq(); result = FLASH_Program(&flashDriver, ProgramAddress, ProgressBuf, length); __enable_irq(); if (kStatus_FLASH_Success != result) { log_u("FLASH Program(%d) error!rn", result); return result; } return result; } /************************************************************ *Function :FlashOption_Erase *Descriptor : *Input :null *Return :none *Hist : *************************************************************/ uint32_t FlashOption_Erase(uint32_t EraseAddress, uint32_t size) { /* Return code from each flash driver function */ status_t result; uint32_t ector; EraseAddress &= 0xFFFFF000; if (size < 4096) ector = 4096; else ector = size; __disable_irq(); result = FLASH_Erase(&flashDriver, EraseAddress, ector, kFLASH_apiEraseKey); __enable_irq(); if (kStatus_FLASH_Success != result) { log_u("FLASH Erase(%d) error!rn", result); } /* Verify sector if it's been erased. */ __disable_irq(); result = FLASH_VerifyErase(&flashDriver, EraseAddress, ector, kFLASH_marginValueUser); __enable_irq(); if (kStatus_FLASH_Success != result) { log_u("FLASH_VerifyErase(%d) error!rn", result); } return result; } 在这两段代码中在操作flash之前,加入了关闭总中断,操作完成之后开启总中断,这样内部flash的操作就不会被打断,程序也不会重启 |
|
相关推荐
|
|
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-Linux内核移植之内核启动流程
325 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-TF卡烧录流程之烧写过程
1362 浏览 0 评论
2780 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-mfgtools烧录流程之烧写原理
1883 浏览 0 评论
请问SPH0641LU4H这款麦克风如何在不使用I2S的情况下,单纯通过GPIO来进行驱动且正常读取数据呢
1409 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12133 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-8 04:25 , Processed in 0.511821 second(s), Total 63, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号