所谓的relocation,就是重定位,uboot运行后会将自身代码拷贝到sdram的另一个位置继续运行,这个在uboot启动流程分析中说过。
但基于以前的理解,一个完整可运行的bin文件,link时指定的链接地址,load时的加载地址,运行时的运行地址,这3个地址应该是一致的,
relocation后运行地址不同于加载地址 特别是链接地址,ARM的寻址会不会出现问题?...
分类:
其他好文 时间:
2014-07-12 19:23:40
阅读次数:
360
按照前面分析的u-boot的启动流程,自己写一个简单的Bootloader。这是参考韦东山老师的视频写的。
1、初始化硬件:关看门狗、设置时钟、设置SDRAM、初始化NAND Flash
2、如果Bootloader比较大,要重定位到SDRAM
3、把内核从NAND FLASH读入SDRAM
4、设置“要传给内核的参数”
5、跳转执行内核
start.S代码如下:
#define S...
分类:
其他好文 时间:
2014-06-20 12:30:17
阅读次数:
300
DQM就是掩码控制位.在sdram中,每个DQM控制8bit
Data在读操作的时候没什么大的影响,比如你读32位的sdram module,
但你只要其中低8bit的数据,没有关系,只要读出32bit数据,再在软件里将高24位bit和0"与"就可以了,有没有DQM关系不大.但在执行写操作时,如.....
分类:
其他好文 时间:
2014-06-11 09:02:20
阅读次数:
289
DM8168
DMM/TILER简介1.概述如图4-1,DMM定位在SDRAM控制器的前端,是所有initiator产生的内存存取的接口。动态内存管理器DMM,是一个专门的管理模块,广义上说,包括内存存取的方方面面。比如:initiator索引化的优先级产生。多区域SDRAM内存交织配置块目标传输优...
分类:
其他好文 时间:
2014-05-26 13:34:08
阅读次数:
285
这周从淘宝花了200多买到向往已久的树莓派板子,是英国版『UK』的,想来玩玩手上,特此开贴为记。
SD卡单独买的,32G大小的,感觉8G不够用。没有配显示器,本来就是树莓派当作机器敲。 英国版树莓派配置如下:项目B型 SoC
BroadcomBCM2835(CPU,GPU,DSP和SDRAM...
分类:
Web程序 时间:
2014-05-25 23:49:40
阅读次数:
488
原文:nandflash裸机程序分析它包含7个文件:head.Sinit.cmain.cMakefilenand.cnand.lds我们之前的程序都是在nandflash的前4k放代码,上电后自动拷贝到SRAM中,之后将SRAM中的代码拷贝到SDRAM中。可是当我们的程序太大超过4k的时候就不行了,...
分类:
其他好文 时间:
2014-05-20 09:17:50
阅读次数:
275
首先要认识到DE2这块板子板子上的资源是比较多的,包括了SRAM、SDRAM、Flash、按键、SD卡接口、开头、LED、数码管等等,在初期,对于这些资源的利用还比较低,认识也比较浅,如果只是死记的话是没有太大的作用的。那么我打算在结合各个工程所用的资源分别来描述,而不是全部一下子都把它们写下来。毕...
分类:
其他好文 时间:
2014-05-19 17:32:13
阅读次数:
223
一、最基本的工作1、准备RAM
如果是SRAM这步可以省略,但如果是SDRAM就需要配置一下时序才能使用。RAM是必须准备的,没有RAM将来的全局变量和堆栈在哪儿开辟。2、准备SP
SP肯定是设置在RAM中。SP必须设置好,不然程序怎么跳转到C函数运行--需要入栈操作。3、准备代码 对于处理器...
分类:
其他好文 时间:
2014-05-10 02:59:42
阅读次数:
238
出现上述错误的原因有以下几种:1) unused
pin没有设置,可能会收到外部信号的干扰;设置未用引脚为As input tri-stated with weak
pull-up.2) 系统时钟信号没有约束,或者SDRAM等存储设备的时钟没有配置正确;3) 系统复位信号没有连接外部复位开关;4) ...
分类:
其他好文 时间:
2014-05-05 09:42:07
阅读次数:
704