搜索
bottom↓
回复: 26

请假大家程序里面的数据和程序是如何分开存放的?

[复制链接]

出0入0汤圆

发表于 2015-4-11 16:54:07 | 显示全部楼层 |阅读模式
现在有一个程序,里面有一个很大的表格(需要实时查表),并且该表格会随着不同的产品而变化。
不清楚如何能把 程序和数据单独分开,并且能单独刷写。

谢谢大侠。。


阿莫论坛20周年了!感谢大家的支持与爱护!!

阿莫论坛才是最爱国的,关心国家的经济、社会的发展、担心国家被别国牵连卷入战争、知道珍惜来之不易的和平发展,知道师夷之长,关注世界的先进文化与技术,也探讨中国文化的博大精深,也懂得警惕民粹主义的祸国殃民等等等等,无不是爱国忧民的表现。(坛友:tianxian)

出0入0汤圆

发表于 2015-4-11 17:05:30 | 显示全部楼层
这种时候不是要加外部存储器吗

出0入0汤圆

发表于 2015-4-11 17:11:02 | 显示全部楼层
为什么不一起刷?一个程序一个表格不行么?

出0入0汤圆

发表于 2015-4-11 17:27:32 | 显示全部楼层
单独加一个外部的存储器

出0入76汤圆

发表于 2015-4-11 18:29:55 | 显示全部楼层
一片eeprom搞定,或者用内部flash模拟

出0入0汤圆

发表于 2015-4-11 18:53:44 | 显示全部楼层
在数据和程序间加一个虚拟层,程序对虚拟层操作,不直接操作数据就行

出0入0汤圆

 楼主| 发表于 2015-4-11 21:06:58 | 显示全部楼层
mowin 发表于 2015-4-11 17:05
这种时候不是要加外部存储器吗

速度会不会慢,因为要实时查表。
而且貌似很多mcu现在不支持外部存储器

出0入0汤圆

 楼主| 发表于 2015-4-11 21:07:52 | 显示全部楼层
steaven2000 发表于 2015-4-11 17:11
为什么不一起刷?一个程序一个表格不行么?

因为想固化程序,不同的产品只更改数据那部分就ok

出0入0汤圆

 楼主| 发表于 2015-4-11 21:10:33 | 显示全部楼层
foxpro2005 发表于 2015-4-11 18:29
一片eeprom搞定,或者用内部flash模拟

eeprom速度太慢啊。

现在在100us中断中实时查表

出0入0汤圆

发表于 2015-4-11 21:48:50 | 显示全部楼层
铁电存储器不知道行不行?

出0入76汤圆

发表于 2015-4-11 21:50:17 | 显示全部楼层
本帖最后由 foxpro2005 于 2015-4-11 21:55 编辑
823032003 发表于 2015-4-11 21:10
eeprom速度太慢啊。

现在在100us中断中实时查表


也可以用铁电呀...,
但通常正确的做法是,上电的时候就把需要的数据读到RAM中, 这个跟你100us中断实时查表 跟 EEPROM读取数据太慢有什么关系? 随变你怎么中断都行,
即使你在运行中参数有修改, 先直接修改RAM中的参数, 最后在掉电的时候,再把新的数据刷到EEPROM中即可。

出0入0汤圆

 楼主| 发表于 2015-4-11 22:32:26 | 显示全部楼层
foxpro2005 发表于 2015-4-11 21:50
也可以用铁电呀...,
但通常正确的做法是,上电的时候就把需要的数据读到RAM中, 这个跟你100us中断实时 ...

表格非常大啊,ram不够用

出0入0汤圆

发表于 2015-4-11 22:48:47 | 显示全部楼层
内部flash足够大, 且支持地址直接访问的话, 就直接固定一块区域放数据, 读写数据

如果内部区域不够大, 且需要读取速度要求很高, 可以加片外ram, 将数据load到片外ram再查

如果速率要求其实没那么高, 直接spi_flash, 时钟设快点也行.

出0入4汤圆

发表于 2015-4-11 23:17:14 | 显示全部楼层
这么多数据运行虚拟机?
可否从数据的特征上运用算法压缩一下?

出0入0汤圆

发表于 2015-4-12 00:20:47 | 显示全部楼层
这个表格每次查时需要从头到尾遍历一遍?

出0入0汤圆

发表于 2015-4-12 06:40:15 来自手机 | 显示全部楼层
spiFlash,,,,,

出0入0汤圆

发表于 2015-4-12 10:02:50 来自手机 | 显示全部楼层
没有关系,我现在的程序就是这么做的,很简单的,链接配置里把参数放到特定的地方就好。最好先规划一下flash的使用。参数最好结构体。

出0入0汤圆

发表于 2015-4-12 10:16:12 | 显示全部楼层
wangyu_2011 发表于 2015-4-12 10:02
没有关系,我现在的程序就是这么做的,很简单的,链接配置里把参数放到特定的地方就好。最好先规划一下flas ...

这个是正解

出0入0汤圆

 楼主| 发表于 2015-4-12 13:07:36 | 显示全部楼层
kayatsl 发表于 2015-4-11 22:48
内部flash足够大, 且支持地址直接访问的话, 就直接固定一块区域放数据, 读写数据

如果内部区域不够大, 且 ...

现在就打算按照你说的“内部flash足够大, 且支持地址直接访问的话, 就直接固定一块区域放数据, 读写数据”。

但现在不确定直接刷写这一段flash 会不会有问题?

多谢

出0入0汤圆

 楼主| 发表于 2015-4-12 13:09:12 | 显示全部楼层
wudicgi 发表于 2015-4-12 00:20
这个表格每次查时需要从头到尾遍历一遍?

是的,线性差值

出0入0汤圆

发表于 2015-4-13 09:23:56 | 显示全部楼层
823032003 发表于 2015-4-12 13:07
现在就打算按照你说的“内部flash足够大, 且支持地址直接访问的话, 就直接固定一块区域放数据, 读写数据 ...

一般芯片都会支持iap写入

出0入0汤圆

发表于 2015-4-13 11:15:57 | 显示全部楼层
你的意思是不是要程序和数据分开烧录,对吧?

出0入0汤圆

发表于 2015-4-13 11:20:50 | 显示全部楼层
外扩存储设备吧

出10入46汤圆

发表于 2015-4-13 17:15:54 | 显示全部楼层
1 - 频繁变更。          外部存储器
2 - 内部Flash大,不变更。 内部Flash

出0入0汤圆

发表于 2015-4-13 18:26:01 | 显示全部楼层
一个索引表最后会乱的。 采用多级查表。

出0入0汤圆

 楼主| 发表于 2015-4-13 23:09:58 | 显示全部楼层
FSL_TICS_TIANZH 发表于 2015-4-13 11:15
你的意思是不是要程序和数据分开烧录,对吧?

是,
而且尽量程序和数据都是在一片flash上面

出0入0汤圆

发表于 2015-4-14 08:47:31 | 显示全部楼层
表格单独保存到flash   程序初始化过程中读取表格  还原数据结构
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-17 07:01

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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