中级会员
 
- 积分
- 461
- 金钱
- 461
- 注册时间
- 2013-10-18
- 在线时间
- 72 小时
|
22金钱
本帖最后由 SCREA 于 2016-12-20 15:04 编辑
比如F103ZET6.程序体在0x0800 0000 ~ 0x0800 FFFF内
[mw_shl_code=c,true]const u8 TEXT_Buffer[]={"STM32 FLASH TEST"};
const u8 buf[100] @ 0x0801 0000 = {1,2,3,4,5};
const u8 *p = buf;
STMFLASH_Write((u32)p,(u32*)TEXT_Buffer,100);[/mw_shl_code]
Debug发现 怎么也不能擦除复写buf区域----那100个字节。
============
上传原子工程,感兴趣的可以试试,const修饰的变量绝对不是想擦哪就擦哪(当前只试过F103、407、L0XX)
若是你没试过,就不要凭感觉回答否定我的结论
|
最佳答案
查看完整内容[请看2#楼]
IAR下解决,把那个勾上去就可以了;Keil暂没有时间验证;
1. 因为是自己建立的工程,默认是不勾选的。 总之,与代码没有问题,是最后一步下载的问题。
2. 不知道为何新建工程(默认是不勾选那个选项的)的情况下const修饰的变量为何不能擦除,
但库提供的工程也是默认不勾选的,他就可以擦除const修饰的变量
3. 建议大家点击Edit进去看下地址范围,防止越界
|