
说下我的理解,仅供参考。SRAM和SDRAM应该是统一编址的,地址范围不一样,对应好运行地址应该就行。两种方式都需要指定code运行空间。1函数指针实现的话,定义一个函数指针,将运行地址赋值给它,再执行就行了。2指定运行地址要看具体使用的链接器,gcc的话应该就是lds,执行前需要先搬运,搬运方式就是memcpy。
按照ARM启动流程 *** 作 。
编写代码:
一、2440:一上电,就从Nand中取出4KB的代码到SRAM中stepping stone运行,并对内存进行初始化。而后将Nand中代码全部复制到内存中。
6410:一上电,SROM中的BL0会将Nand中8KB的代码搬移到SRAM中stepping stone运行,并对内存进行初始化。而后将Nand中代码全部复制到内存中,剩余代码会在内存中运行。
210:一上电,SROM中的BL0会将Nand中代码复制到IRAM中运行,初始化内存。而后将Nand中全部代码搬移到内存中。
如果后面也指定了地址,那么将链接脚本中的地址和后面指定的地址加起来作为地址,所以一般链接脚本里的地址都指定0。
1、ROM和RAM指的都是半导体存储器,ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据。
2、RAM分为两大类:SRAM和DRAM。
SRAM为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。
DRAM为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。RAM价格相比ROM和FLASH要高。
3、LASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。
扩展资料:
存储器的概念很广,在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
计算机中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,计算机才有记忆功能,才能保证正常工作。
计算机中的存储器按用途存储器可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。
参考资料:
以上就是关于linux下如何指定函数从DDR跳转到指定内存(SRAM)中运行全部的内容,包括:linux下如何指定函数从DDR跳转到指定内存(SRAM)中运行、arm compiler6 程序搬到sram、ROM、RAM、DRAM、SRAM和FLASH的区别是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)