摘要:我们回顾下中断产生前后的处理流程:详见 "异常、中断的原理与流程" 中断前: 中断产生后: 问题案例: 我们想实现一个按键点灯程序,我们知道有以下两种方案: 1.轮询方案:轮询检测按键的电平状态,当检测到后,点亮对应的led;(略) 2.中断方案:将按键配置成外部中断源,当有按键按下,触发中断,在中 阅读全文
posted @ 2020-01-16 17:14 fuzidage 阅读 (9) 评论 (0) 编辑
摘要:swi(软中断) 我们知道arm有7中工作模式,除了usr模式,其他6种都是特权模式。我们知道usr模式无法修改CPSR直接进入其他特权模式,但linux应用程序一般运行在usr模式,既然usr模式权限非常低,是无法直接访问硬件寄存器的,那么它是如何访问硬件的呢? linux应用程序是通过系统调用, 阅读全文
posted @ 2020-01-06 14:01 fuzidage 阅读 (28) 评论 (0) 编辑
摘要:1._und(未定义指令异常)介绍 我们之前分析过5种异常,那么如何进入未定义指令异常,当然是cpu读取指令发生异常,出现了指令解析异常。 我们先来看下当cpu解析到什么样的指令才会触发未定义指令异常呢? 从上面的arm指令格式中可知,只要指令码属于划线的格式,就属于未定义指令异常。 2.汇编向c函 阅读全文
posted @ 2019-12-29 09:46 fuzidage 阅读 (51) 评论 (0) 编辑
摘要:1.异常中断概述 在arm架构的处理器中,cpu有7中工作模式,2中工作状态。 1.CPU模式(Mode): 7种Mode: 除了usr/sys,其他5种都是异常模式。我们知道中断属于异常的2中,中断有irq,fiq。 |usr|sys|undefined(und)|Supervisor(svc)| 阅读全文
posted @ 2019-12-19 11:08 fuzidage 阅读 (58) 评论 (0) 编辑
摘要:1.代码重定位的改进 1. 用ldr、str代替ldrb, strb加快代码重定位的速度 。 前面重定位时,我们使用的是ldrb命令从的Nor Flash读取1字节数据,再用strb命令将1字节数据写到SDRAM里面。 我们2440开发板的Nor Flash是16位,SDRAM是32位。 假设现在需 阅读全文
posted @ 2019-12-17 20:31 fuzidage 阅读 (23) 评论 (0) 编辑
摘要:什么是buildroot Buildroot是Linux平台上一个开源的嵌入式Linux系统 自动构建框架 。 0.下载buildroot Buildroot版本每2个月,2月,5月,8月和11月发布一次。版本号的格式为YYYY.MM,例如2013.02、2014.08。 可以从获得发行包。 也可通 阅读全文
posted @ 2019-12-16 15:42 fuzidage 阅读 (162) 评论 (0) 编辑
摘要:1.清bss的引入(为什么要清bss) 我们先举个例子: include "s3c2440_soc.h" include "uart.h" char g_Char = 'A'; //.data char g_Char3 = 'a'; const char g_Char2 = 'B'; //.roda 阅读全文
posted @ 2019-12-15 16:28 fuzidage 阅读 (17) 评论 (0) 编辑
摘要:代码重定位(2.编程实现代码重定位) 1.引入链接脚本 我们上一节讲述了为什么要重定位代码,那么怎么去重定位代码呢? 上一节我们发现"arm linux ld Ttext 0 Tdata 0x30000000"这种方式编译出来的bin文件有800多M,这肯定是不行的,那么需要怎么把.data段重定位 阅读全文
posted @ 2019-12-15 11:30 fuzidage 阅读 (21) 评论 (0) 编辑
摘要:标题 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 效果如下: 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 段落 换行 Markdown段落的换行是使用两个以上空格加上回车,当然也可以在段落后面使用一个空行来表示重新开始一个段落。 字体 斜体 粗体 加粗斜体 我是黑体字 阅读全文
posted @ 2019-12-14 15:53 fuzidage 阅读 (48) 评论 (0) 编辑
摘要:1.重定位的引入(为什么要代码重定位) 我们知道s3c2440的cpu从0地址开始取指令执行,当从nor启动时,0地址对应nor,nor可以像内存一样读,但不能像内存一样写。我们能够从nor上取指令执行。 例子1:当nand启动的时候,我们nand中的前4K指令会变自动加载到sram中去,这时的0地 阅读全文
posted @ 2019-12-14 11:29 fuzidage 阅读 (27) 评论 (0) 编辑