完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
单片机:STM32F031G6U6
IDE: 系统工作台 API:STM32F0 HAL 和低层驱动程序 我正在尝试擦除闪存中地址为:0x8002000 的页面。 这是代码: https://community.st.com/tags♯/?tags=code _ €ŒFLASH_EraseInitTypeDef EraseInitStruct; uint32_t SECTORerror = 0;;布尔结果=真; /* 解锁闪存以启用闪存控制寄存器访问 *************/HAL_FLASH_Unlock();//addr = 0x08007800 仅用于测试 /* 擦除用户Flash区域 (由 FLASH_USER_START_ADDR 和 FLASH_USER_END_ADDR 定义的区域)************//* 填充EraseInit结构*/ EraseInitStruct.TypeErase = FLASH_TYPEERASE_PAGES;EraseInitStruct.PageAddress = 地址;// 起始地址EraseInitStruct.NbPages = 1;如果 (HAL_FLASHEx_Erase(&EraseInitStruct, &SECTORerror) != HAL_OK) {/* 扇区擦除时出错。用户可以在这里添加一些代码来处理这个错误。SECTORerror 将包含故障扇区,然后知道该扇区的代码错误,用户可以调用函数“HAL_FLASH_GetError()”*//* 无限循环 */而 (1){;// 错误,BALAGAN!!!}}程序在这一行崩溃 如果 (HAL_FLASHEx_Erase(&EraseInitStruct, &SECTORerror) != HAL_OK) 执行此函数调用后没有任何内容。 有任何想法吗? #code #code ::块 |
|
相关推荐
1个回答
|
|
您是否正在擦除您的代码当前所在的内存?例程是否需要从 RAM 运行?
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2623 浏览 1 评论
3206 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1779 浏览 1 评论
3605 浏览 6 评论
5984 浏览 21 评论
934浏览 4评论
1311浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
579浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1299浏览 3评论
1353浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 22:30 , Processed in 0.887126 second(s), Total 48, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号