[NXP ARM] 我用LPC2210,外部有NOR FLASH,运行中可以再向此FLASH写数据吗?

[复制链接]
3900|14
 楼主| 无冕之王 发表于 2010-1-22 11:12 | 显示全部楼层 |阅读模式
我用LPC2210,外部有NOR FLASH,运行中可以再向此FLASH写数据吗?
华荣汇FAE1 发表于 2010-1-22 16:37 | 显示全部楼层
自己试试呀
dfsa 发表于 2010-1-22 21:01 | 显示全部楼层
程序运行过程中应该是不可以,楼主为什么要这样做呢
xsgy123 发表于 2010-1-24 15:01 | 显示全部楼层
为什么不能进行写操作
火箭球迷 发表于 2010-1-24 16:08 | 显示全部楼层
肯定不行的了运行的时候flash相当于ROM了,怎么能写数据进去,只有在下载代码的时候,适合的编程时序才能更新flash的数据,一般读数据都是读到RAM上了,对于2210内部有,外设也可以自己扩展啊。
arm86 发表于 2010-1-25 23:37 | 显示全部楼层
5楼有点武断了。
没问题的,写吧,注意别覆盖自个的程序区就可以了。
你的外部Nor,应该有2MB吧?程序用剩下的空间,你做个文件系统都成。
wlq_9 发表于 2010-1-26 14:15 | 显示全部楼层
6L:
肯定是不行,不是说有没用的空间就可以写.程序运行的时候,是从NOR里面读数据的,而你又要同时写数据到NOR,你让NOR自己怎么办?

要想实现这样的功能,唯一的办法是把程序复制到RAM里运行.这时候写NOR就没有问题了.
arm86 发表于 2010-1-26 15:47 | 显示全部楼层
6L:
要想实现这样的功能,唯一的办法是把程序复制到RAM里运行.这时候写NOR就没有问题了. ...
wlq_9 发表于 2010-1-26 14:15

就如你所言,这不就成了吗?
不都是软件的事情而已嘛,怎么就成了"肯定不行"了呢?
火箭球迷 发表于 2010-1-27 16:25 | 显示全部楼层
肯定不行
wlq_9 发表于 2010-1-28 09:34 | 显示全部楼层
就如你所言,这不就成了吗?
不都是软件的事情而已嘛,怎么就成了"肯定不行"了呢?
那是对6L的兄弟说的.

copy到RAM执行后,覆盖自个的程序区也是可以的,比方说自动升级程序或者固件.注意更新的时候别掉电就行.
zwll 发表于 2010-2-10 23:32 | 显示全部楼层
想保存一些不挥发的数据,就要另加一FLASH吗?
zwll 发表于 2010-2-10 23:32 | 显示全部楼层
比较疑惑啊
司徒老鹰 发表于 2010-2-11 23:21 | 显示全部楼层
肯定不行的了运行的时候flash相当于ROM了,怎么能写数据进去,只有在下载代码的时候,适合的编程时序才能更新flash的数据,一般读数据都是读到RAM上了,对于2210内部有,外设也可以自己扩展啊。
有意思 发表于 2010-3-8 21:44 | 显示全部楼层
#define fucmax        0x400//flash处理函数编译后的尺寸,可以利用编译器得出

typedef void(*FUC)(uint32 x,uint16 y);
void WordProInRAM(uint32 addr,uint16 data)
{
    FUC handle_flash;
    uint16  dest[fucmax];
    uint16 *sour = (uint16*)WordProgram;
   
    disable_IRQ();
    memcpy(dest,sour,fucmax);
    handle_flash = (FUC)dest;
    handle_flash(addr,data);
    enable_IRQ();

}
司徒老鹰 发表于 2010-3-8 22:21 | 显示全部楼层
楼上的……
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:喜欢远行

160

主题

3331

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部