OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4976|回复: 7

原子哥请问为什么FLASH某些地址不能写

[复制链接]

40

主题

107

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
308
金钱
308
注册时间
2014-11-21
在线时间
22 小时
发表于 2015-4-24 08:45:08 | 显示全部楼层 |阅读模式
5金钱

[mw_shl_code=c,true]#define flash_start_address 0x8006000//能读写 //#define flash_start_address 0x8046000//不能写,0x8020000也不能写,其它更不能 void write_data(u16 number) {u16 temp,appoint_address; if(number<12) {FLASH_Unlock(); FLASH_ErasePage(flash_start_address+number*0x800); for(temp=0;temp<1024;temp++) {appoint_address=flash_start_address+number*0x800+temp*2; FLASH_ProgramHalfWord(appoint_address,prog_write_buffer[temp]); } FLASH_Lock(); } } void read_data(u16 number) {u16 temp,appoint_address,p; if(number<12) {for(temp=0;temp<1024;temp++) {//appoint_address=number*0x800+temp*2; appoint_address=flash_start_address+number*0x800+temp*2; p = *(vu16*)appoint_address; // p1 = *(vu8*)(appoint_address +1); prog_write_buffer[temp]=p; // prog_write_buffer[temp]=p_x[appoint_address]+(p_x[appoint_address+1]*0x100); } } }[/mw_shl_code]


最佳答案

查看完整内容[请看2#楼]

u16 appoint_address;    改成 u32 appoint_address; 网上花40块买了个仿三菱程序,调了一个月了,亏大了,还好现在调好了。已经成功用在我厂流水线
打倒A莫,打倒小日本
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

40

主题

107

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
308
金钱
308
注册时间
2014-11-21
在线时间
22 小时
 楼主| 发表于 2015-4-24 08:45:09 | 显示全部楼层
u16 appoint_address;    改成 u32 appoint_address;
网上花40块买了个仿三菱程序,调了一个月了,亏大了,还好现在调好了。已经成功用在我厂流水线
打倒A莫,打倒小日本
回复

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2015-4-24 08:59:56 | 显示全部楼层
是这么用的吗?你再看看。
于20150522停用该账号:http://www.microstar.club
回复

使用道具 举报

40

主题

107

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
308
金钱
308
注册时间
2014-11-21
在线时间
22 小时
 楼主| 发表于 2015-4-24 09:06:45 | 显示全部楼层
回复【2楼】styleno1:
---------------------------------
#define flash_start_address 0x8006000//能读写
0x8020000就写不进去了
哪里错了啊,新手啊
打倒A莫,打倒小日本
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5781
金钱
5781
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-4-24 17:27:42 | 显示全部楼层
回复【3楼】逆行者:
---------------------------------
 你用的什么芯片     有128K flash没?
回复

使用道具 举报

40

主题

107

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
308
金钱
308
注册时间
2014-11-21
在线时间
22 小时
 楼主| 发表于 2015-4-24 18:50:25 | 显示全部楼层
回复【4楼】lycreturn:
---------------------------------
103ZE 有512K
打倒A莫,打倒小日本
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-4-24 23:14:49 | 显示全部楼层
检查下这个函数是否正确了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

40

主题

107

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
308
金钱
308
注册时间
2014-11-21
在线时间
22 小时
 楼主| 发表于 2015-4-25 09:39:47 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
#define flash_start_address 0x8006000  

const signed short int  x[0x770C] __at (flash_start_address+2)=
{0XBAD8,0X0000,0X0000,0X2020,0X2020,0X2020,0X2020,0X2020,0X2020,0X2020,
 0X2020,0X2020,0X2020,0X2020,0X2020,0X2020,0X2020,0X2020,0X2020,0X2020,
 0X2020,0X2020,0X2020,0X09F4,0X0BFF,0X01F4,0X03E7,0X0E64,0X0EC7,0X0EDC,
 0X0EFF,0X0190,0X03FE,0X0000,0X0000,0X0000,0X0000,0X0000,0X0000,0X0000,
 0X0000,0X0000,0X0000,0X0000,0X0000,
 0x2400,0xC500,0X2401,0XC501,0X2402,0XC502,0X2403,0XC503,0X000F,
 0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,
 0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,
 0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,
 0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,
 0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,
 0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,
 0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF};
 
const u8   p_x[2] __at (flash_start_address)={0x08,0x00};
函数是正确的,只能写#define flash_start_address 0x8006000,其它就不能写
打倒A莫,打倒小日本
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-23 07:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表