共2条
1/1 1 跳转至页
Flash,ram Flash和ram的优缺点
问
把程序下载到flash和ram中有什么区别?各用在什么场合?是否只有调试程序的初期才将程序下载到ram中?
答 1:
对对
答 2:
从ARM来看flash 与ram区别如果只是调试跟踪时,只需将code写到ram中就可以运行啦!但是对于实际产品或者需要写到flash中测试,运行时ARM先运行boot code将功能code解压缩读取送到ram中,然后运行ram中的功能code.
答 3:
在RAM中运行程序速度快,但关电后RAM中数据会丢失烧入flash后就不会丢失了。有些系统可直接在flash中运行程序,而有些系统则必须将flash中的程序加载到RAM中才能运行。
答 4:
请问computer00“有些系统则必须将flash中的程序加载到RAM中才能运行”请问lpc2131是这样运行的吗?
答 5: re:上善若水lpc2131,包括其他的LPC2000片内带Flash的芯片都不需要加载到RAM中运行。
干脆我来解释一下。
Flash的速度较慢,比如-50的Flash,读取只能达20M的速度,而ARM核可以工作在50-60M,甚至更高。那么ARM芯片的CPU执行完一条指令就要等下一条指令读取出来,而不能马上执行下一条。这样因Flash慢而CPU快就造成资源的浪费和系统速度下降。为了解决该矛盾,有厂家采用Flash 中只存储程序(相当于电脑的硬盘),将程序读取到RAM中去执行(类似电脑的内存),那么CPU的速度就能发挥出来。
而Philips的少管脚ARM芯片(LPC2100系列)没有外部总线,不能接外部程序存储器。所以只能使用片内的Flash存储程序。也不能接外部RAM来运行程序。于是Philips采用了一个比较特殊的方法来解决这个速度矛盾。就是在内部Flash和内部总线之间加了存储加速模块,有128位数据宽度,一次可以从Flash中读取4条指令(注意是4条而不是1条),另外再加上预测分支等功能,使得CPU全速运行时,从Flash 中读取的程序能源源不断地输送进CPU,无需等待。只是在有分支(如调用,跳转)时需要清空流水线造成临时性速度稍微下降。我们知道,程序中绝大部分是顺序执行的指令。
所以Philips的LPC2100系列不需要调到RAM中运行。
致于前面的问题,我看下载程序到RAM中运行是为了方便,更快,此情况适合在学习编写小程序时使用,而且不会因下载到Flash而等待。如果程序超出了RAM的范围,那就必须要下载到Flash中运行。每次改一点点程序都要重新下载,会耽误些时间的,特别是很大的程序。前面讲过,Flash的读写速度是比较慢的,肯定比RAM要慢得多。 答 6: 不同用途的东西怎么能说成有缺点呢 答 7: 谢谢zlgmarket那也就是说LPC2000系列芯片中的RAM主要就是为了在调试小程序中使用,更方便,也延长了flash的应用。一旦程序下载flash中去了,RAM就不在参与程序的存取和执行了。这种说法对吗?
答 5: re:上善若水lpc2131,包括其他的LPC2000片内带Flash的芯片都不需要加载到RAM中运行。
干脆我来解释一下。
Flash的速度较慢,比如-50的Flash,读取只能达20M的速度,而ARM核可以工作在50-60M,甚至更高。那么ARM芯片的CPU执行完一条指令就要等下一条指令读取出来,而不能马上执行下一条。这样因Flash慢而CPU快就造成资源的浪费和系统速度下降。为了解决该矛盾,有厂家采用Flash 中只存储程序(相当于电脑的硬盘),将程序读取到RAM中去执行(类似电脑的内存),那么CPU的速度就能发挥出来。
而Philips的少管脚ARM芯片(LPC2100系列)没有外部总线,不能接外部程序存储器。所以只能使用片内的Flash存储程序。也不能接外部RAM来运行程序。于是Philips采用了一个比较特殊的方法来解决这个速度矛盾。就是在内部Flash和内部总线之间加了存储加速模块,有128位数据宽度,一次可以从Flash中读取4条指令(注意是4条而不是1条),另外再加上预测分支等功能,使得CPU全速运行时,从Flash 中读取的程序能源源不断地输送进CPU,无需等待。只是在有分支(如调用,跳转)时需要清空流水线造成临时性速度稍微下降。我们知道,程序中绝大部分是顺序执行的指令。
所以Philips的LPC2100系列不需要调到RAM中运行。
致于前面的问题,我看下载程序到RAM中运行是为了方便,更快,此情况适合在学习编写小程序时使用,而且不会因下载到Flash而等待。如果程序超出了RAM的范围,那就必须要下载到Flash中运行。每次改一点点程序都要重新下载,会耽误些时间的,特别是很大的程序。前面讲过,Flash的读写速度是比较慢的,肯定比RAM要慢得多。 答 6: 不同用途的东西怎么能说成有缺点呢 答 7: 谢谢zlgmarket那也就是说LPC2000系列芯片中的RAM主要就是为了在调试小程序中使用,更方便,也延长了flash的应用。一旦程序下载flash中去了,RAM就不在参与程序的存取和执行了。这种说法对吗?
共2条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 【FreeRtos】FreeRtos + MPU模块的配置使用被打赏¥32元 | |
| 【分享开发笔记,赚取电动螺丝刀】墨水屏文本显示器被打赏¥25元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX软件读取HTS221温湿度被打赏¥22元 | |
| M5PAPERESP32EINKDEVKIT评测|使用MicroPython开发M5Paper被打赏¥15元 | |
| OK1126B-S开发板下以导航按键控制云台/机械臂姿态调整被打赏¥29元 | |
| 【树莓派5】便携热成像仪被打赏¥36元 | |
| 【树莓派5】环境监测仪被打赏¥35元 | |
| OK1126B-S开发板下多时段语音提示型电子时钟被打赏¥27元 | |
| OK1126B-S开发板下函数构建及步进电机驱动控制被打赏¥25元 | |
| 【S32K3XX】LPI2C 参数配置说明被打赏¥20元 | |
我要赚赏金
