打印
[ZLG-ARM]

如何使用内部flash永久性保存参数?

[复制链接]
2252|15
手机看帖
扫描二维码
随时随地手机跟帖
沙发
computer00| | 2007-5-21 11:18 | 只看该作者

什么型号的芯片?只要可以写,又不破坏原来的程序即可

也可以外接I2C的EEPROM,也不麻烦。

使用特权

评论回复
板凳
jintonglei|  楼主 | 2007-5-21 15:56 | 只看该作者

如果确实想用内部的,怎么半?

使用特权

评论回复
地板
ANCHORMAN| | 2007-5-21 16:25 | 只看该作者

看看IAP的资料吧

ZLG网站上有

使用特权

评论回复
5
平常人| | 2007-5-21 21:05 | 只看该作者

00说得很清楚了,哪里都可以,只要不与你的程序冲突即可

使用特权

评论回复
6
andrew.xu| | 2007-5-22 10:16 | 只看该作者

对的,IAP编程

使用特权

评论回复
7
wangchch| | 2007-5-22 11:16 | 只看该作者

感谢!那怎么判断一定不会与程序冲突呢?

使用特权

评论回复
8
realrots| | 2007-5-22 14:15 | 只看该作者

看看你的程序有多大啊,也不要占用顶端的RAM就可以了

使用特权

评论回复
9
computer00| | 2007-5-22 14:27 | 只看该作者

你可以将一部分ROM保留起来,要注意的是至少一个扇区

不然没办法擦除

使用特权

评论回复
10
tenderair| | 2007-5-31 15:34 | 只看该作者

楼上的,请问

请问如何保留一部分的flash啊,就是如何划分才不会被程序所占用呢?用什么语句啊?和c语言一起编程能直接用么?

使用特权

评论回复
11
tenderair| | 2007-6-1 14:49 | 只看该作者

大侠们,继续啊!

请问一下在keil uvision3编译环境下,如何调用iap函数呢,我照着周立功上面的例子在c语言程序中加入如下一段程序,可是根本编译不过阿,有谁做过这方面的,请指教,我就是想向flash中保存数据,读数据啊,555怎么这么难呢
#define IAP_FCCLK 48000
#define IAP_ENTER_ADR 0x7ffffff1
INT32U paramin[8];
INT32U paramout[8];
main(void)
{
//
*****
 SelSector(15,15);
 EraseSector(15,15);
 SelSector(15,15);
 RamToFlash(DestAdrr,src,512);
 while(1);


}
INT32U SelSector(INT8U sec1,INT8U sec2)
{
 paramin[0]=IAP_SELECTOR;
 paramin[1]=sec1;
 paramin[2]=sec2;
 (*(void(*)())IAP_ENTER_ADR)(paramin,paramout);
 return(paramout[0]);
 }

INT32U EraseSector(INT32U sec1,INT32U sec2)
{
paramin[0]=IAP_ERASESECOTR;
paramin[1]=sec1;
paramin[2]=sec2;
paramin[3]=IAP_FCCLK;
(*(void(*)())IAP_ENTER_ADR)(paramin,paramout);
return(paramout[0]);
}

INT32 RamToFlash(INT32U dst,INT32U src,INT32U no)
{
paramin[0]=IAP_RAMTOFLASH;
paramin[1]=dst;
paramin[2]=src;
paramin[3]=no;
paramin[4]=IAP_FCCLK;
(*(void(*)())IAP_ENTER_ADR)(paramin,paramout);
return(paramout[0]);
}

使用特权

评论回复
12
wangchch| | 2007-6-3 15:23 | 只看该作者

我再顶一会!!

使用特权

评论回复
13
yjtks| | 2007-6-3 16:40 | 只看该作者

回复

很容易的 可以参考C:KeilARMFlashLPC_IAP_128LPC_IAP_128.Uv2

使用特权

评论回复
14
tenderair| | 2007-6-4 08:19 | 只看该作者

大哥,谢谢啊!

太谢谢了,我还没有看呢,看看有不明白的再问你啊!

使用特权

评论回复
15
tenderair| | 2007-6-6 14:19 | 只看该作者

还是存在些问题!

我现在是用仿真器可以看到我的数据已经写入相应的FLASH扇区内了,问题是,问什么我使用别的程序上电去读这段地址时发现相应FLASH扇区内的数据变了呢?这是为什么呢,FLASH应该是掉电保存的不是么?
大家帮帮我啊!

使用特权

评论回复
16
tenderair| | 2007-6-6 14:52 | 只看该作者

呵呵,问题已经解决的

是我自己设置的仿真器的问题!呵呵呵呵,谢谢大家的帮忙!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

12

帖子

0

粉丝