![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
------- 【SDRAM和重定位】
文章平均质量分 82
加油11
模仿模仿再模仿!
展开
-
汇编写启动代码之关看门狗
1 什么是看门狗?看门狗(watch dog timer 看门狗定时器)。大家想象这样一个场景:家门口有一只狗,这个狗定时会饿(譬如说2小时一饿),够饿了会胡乱咬死人。人进进出出要想保证安全必须提前喂狗(必须在上次喂过后的2小时内喂狗才行)。如果超时没喂狗就会被咬死,如果提前喂狗没关系,但是本次喂狗时间就会从这里开始计算。现实中因为一些外部因素,电子设备经常会跑飞或者死机(譬如极端炎热、极端寒冷、工原创 2017-12-02 10:53:42 · 757 阅读 · 0 评论 -
汇编写启动代码之设置栈和调用C语言
1 C语言运行时需要和栈的意义“C语言运行时(runtime)”需要一定的条件,这些条件由汇编来提供。C语言运行时主要是需要栈。C语言与栈的关系:C语言中的局部变量都是用栈来实现的。如果我们汇编部分没有给C部分预先设置合理合法的栈地址,那么C代码中定义的局部变量就会落空,整个程序就死掉了。我们平时在编写单片机程序(譬如51单片机)或者编写应用程序时并没有去设置栈,但是C程序还是可以运行的。原因是:在原创 2017-12-02 16:37:46 · 581 阅读 · 0 评论 -
汇编写启动代码之开iCache
1 什么是cache,有什么用cache是一种内存,叫高速缓存。从容量来说:CPU < 寄存器 < cache < DDR 从速度来说:CPU > 寄存器 > cache > DDRcache的存在,是因为寄存器和ddr之间速度差异太大,ddr的速度远不能满足寄存器的需要(不能满足cpu的需要,所以没有cache会拉低整个系统的整体速度)。整个系统中CPU的供应链由:寄存器+cache+DDR+原创 2017-12-02 21:36:09 · 663 阅读 · 0 评论 -
重定位引入和链接脚本
1 一个事实:大部分指令是位置有关编码位置无关编码(PIC,position independent code):汇编源文件被编码成二进制可执行程序时编码方式与位置(内存地址)无关。 位置有关编码:汇编源码编码成二进制可执行程序后和内存地址是有关的。我们在设计一个程序时,会给这个程序指定一个运行地址(链接地址)。就是说我们在编译程序时其实心里是知道我们程序将来被运行时的地址(运行地址)的,而且必须原创 2017-12-03 09:05:26 · 784 阅读 · 0 评论 -
汇编初始化SDRAM
1 SDRAM引入1.1 SDRAM和DDR基本概念SDRAM:Syncronized Dynamic Ramdam Access Memory,同步动态随机存储器。DDR:DDR就是DDR SDRAM,是SDRAM的升级版。(DDR:Double Data Rate双倍速率同步动态随机存储器,双倍速度的SDRAM)DDR有好多代:DDR1、DDR2、DDR3、DDR4、LPDDR。1.2 SDRA原创 2017-12-21 11:14:44 · 1231 阅读 · 0 评论