打印
[NXP ARM]

关于把一个变量写入内部flash的方法???

[复制链接]
2976|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yybj|  楼主 | 2010-6-24 19:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
火箭球迷| | 2010-6-25 16:49 | 只看该作者
可以在flash中专门使用一个区域,用于存储数据使用iap写入,下次开机即可读出。

使用特权

评论回复
板凳
火箭球迷| | 2010-6-25 16:49 | 只看该作者
但是不要让程序空间处在这个区域内

使用特权

评论回复
地板
无冕之王| | 2010-6-25 18:44 | 只看该作者
可以在flash中专门使用一个区域,用于存储数据使用iap写入

使用特权

评论回复
5
无冕之王| | 2010-6-25 18:45 | 只看该作者
也可以尝试用分散加载或者把变量区

使用特权

评论回复
6
zwll| | 2010-6-26 09:19 | 只看该作者
楼上几位最好加个程序,呵呵

使用特权

评论回复
7
自然的天逸| | 2010-6-26 17:30 | 只看该作者
这个容易 定义一个绝对的地址的 变量和数组都可以。编译就会把它空出来了

使用特权

评论回复
8
自然的天逸| | 2010-6-26 17:35 | 只看该作者
Keil 51里面的
定义一个绝对地址数组
#define        SECTOR1         0x0800                        //0800~0fff
#define        SECTOR2         0x1000                        //1000~17ff
#define        SECTOR3         0x1800                        //1800~1fff
#define        SECTOR4         0x2000                        //2000~27ff
#define        SECTOR5         0x2800                        //2800~2fff
#define        SECTOR6         0x3000                        //3000~37ff
#define        SECTOR         SECTOR2                                                                //***

//devide one flash sector
#define FLASH_PAGE_BYTES                8                                                //**
                                                                                        //   
#define FLASH_PAGE_COUNT                2048/FLASH_PAGE_BYTES       
//allocate flash eeprom area at ROM sector 6 (C:0x3000~C:0x37ff)
typedef struct
{
  Byte        RecordFlag;                        /*RecordFlag == 0 ==> Record is empty;RecordFlag !=0 ==> Record is not empty*/
  Byte        ROM[FLASH_PAGE_BYTES-1];
}FLASH_MEMORY;       
FLASH_MEMORY        code        Flash[FLASH_PAGE_COUNT]         _at_        SECTOR;

使用特权

评论回复
9
自然的天逸| | 2010-6-26 17:40 | 只看该作者
keil MDK
定义一个 地址 也有关键子 我这台电脑没有晚上有空贴出啦

使用特权

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

本版积分规则

175

主题

2496

帖子

1

粉丝