首页 新闻资讯 技术资料 论坛 网站地图
汽车电子 软件开发 AD/DA 嵌入式硬件 综合电子技术 嵌入式开发新闻 测试测量
电子元器件搜索:
IC库存(8958万) PDF资料(329万) IC价格 IC求购 资讯 技术资料
维库电子市场网是知名的电子元器件交易网站, 为电子生产企业提供IC库存和技术资料查询服务。
位置: 首页 > 详细信息
  【急问】作程序存储器的Flash可否运行中对空闲扇区进行写操作?
出处:21ic 时间: 2007-06-29
Quiza 发布于 2007-6-27 22:24:00
手头上有个项目,原本Flash仅是作为程序存储器的,但后来用户要求加入一些参数保存功能,而且要得很急!目前板上没有任何ROM,只能把参数保存到Flash,但是改了程序后调试,总是在写操作时跑飞,百度一下搜索到如下结果:“不能同时在一片flash中执行,关键问题不是说他和CPU之间只有一条总线的问题,我们其实是可以在RAM的一个区域运行程序更改RAM的另外区域的。之所以Flash不能这样做是因为Flash在擦除和写入过程中有一段时间读出的数据并不是对应单元的数据,而是状态数据。而且通常是很长的一片(64K),甚至整个芯片地址范围都是。因此当CPU执行擦除或者写入后,读取Flash中的下一条指令时,读出的是Flash状态,而不是正确的指令,当然就飞了!”
请问高手,这段话对不对啊,现在的我应当怎么做才能既能执行指令又能写入参数呢?项目7月初就要交货,目前非常焦急,肯请大家帮忙!!!


平常人 发布于 2007-6-27 22:33:00
先把擦除和写入的子程序拷贝到RAM中,再调用RAM中的这段程序。


Quiza 发布于 2007-6-28 7:28:00
先把擦除和写入的子程序拷贝到RAM中,再调用RAM中的这段程序。
=============
小弟还是个新手,刚接手项目,请问这个具体应该如何做呢,能说说吗,十分感谢!!!CPU是44B0X


平常人 发布于 2007-6-28 7:59:00
你们老板有问题,让一个新手做一个这么重要、这么急的项目,都快交货了居然功能还没有完全实现,哪有时间进行各种测试试验?如何保证产品质量?

建议大家都不要买你们的产品。


wangkj 发布于 2007-6-28 8:05:00
可能是凭关系接的项目,这种项目卖出去,有问题也问题不太大。
这年头,这种项目多了。


Quiza 发布于 2007-6-28 8:27:00
主要是原本做项目的突然走了,现在的确情况很急,我是个菜鸟,基础很差,但非常想做好,正在努力学习中,现有几个浅薄的问题如下,请大侠们指点一二:
1.44b0x中的sram和外接sram是否都可适用?
2.如何把Flash写操作的代码定位到RAM中的某个位置?
3.执行写操作时PC指针需要从Flash调转到RAM地址上去,这个过程怎么实现,是汇编吗?C能不能实现?
4.关于这方面的知识,看哪些书比较好?
望热心人不吝赐教,小弟感激不尽!


wangkj 发布于 2007-6-28 8:57:00
看看u-boot的代码,是从flash中把代码搬运到sram中执行,条件是你的sram要比flash大。这是最简单的解决问题的方法。
如果外部sram没那么大,那么你的写flash的代码部分必须在sram中执行。44b0/s4510有一个sram地址映射寄存器,可以利用这个寄存器。
这个问题比较难,需要很好的汇编技术或者编译器的了解。同时对硬件地址机制要比较清楚才好。

作项目的突然走了,这说明你们公司有问题。


high 发布于 2007-6-29 1:29:00
使用分散加载方法,把读写flash功能的代码加载到sram上。



qinxg 发布于 2007-6-29 11:56:00
44b: 就应该把程序从ROM拷贝到RAM,然后跳转到RAM里运行,CPU运行速度快很多. 这样就可以任意更改ROM了,改的时候一定要: 关闭中断,关闭cache. 否则死的很难看.


关闭】 【打印
相关专题  
数控系统
工业控制
应用产品
通信产品
计算机外设
嵌入式系统
IC设计
军工/航空航天
存储器
电源系列
SOPC
嵌入式软件
AD/DA
测试测量
嵌入式开发新闻
软件开发
安防产品
CPLD/FPGA
医疗电子
消费电子
嵌入式硬件
汽车电子
传感控制
接口电路
开发工具

© 2007 百斯嵌入式开发网 网站地图