嵌入式系统简介

嵌入式系统的发展历史:SCM→MCU→SoC
基于ARM处理器的嵌入式Linux系统


ARM架构支持32位的ARM指令和16位的Thumb指令
ARM处理器系列

  1. T:表示支持Thumb指令集
  2. D:表示支持片上调试(Debug)
  3. M:表示内嵌硬件乘法器(Multipler)
  4. I:支持片上断点和调试点
  5. E:支持增强型DSP功能
  6. J:支持Jazelle技术,即Java加速器
  7. S:表示支持全合成(full synthesizable)

常用ARM汇编指令及ATPCS规则:

相对跳转指令:b,bl
bl的功能除了跳转之外,还将返回地址到lr寄存器中
ldr指令从内存读取数据到寄存器,str指令把寄存器的值存储到内存中,操作数据都是32位
GPIO接口


GPIO(General Purpose I/O Ports):通用输入输出接口
控制存储器


SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储器,同步是指 Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。
SDRAM原理讲解
RAM(Random Access Memory)和ROM(Read Only Memory)
这里有详细的讲解:SDRAM原理(强烈推荐)
SDRAM的内部是一个存储阵列,阵列如同表格一样,将数据“填进去”。先指定一个行(Row),再指定一个列(Column),就可以准确地找到所需要的单元格,这就是SDRAM寻址的基本原理。
汇编指令:


  • B,BL:引起处理器转移到“子程序名”处开始执行
  • ldr:地址读取伪指令,条件:第二个参数前有=时。否则为内存访问指令,表示从内存中读取数据到内存器。
  • str指令把寄存器的值存储到内存中。
  • ldmstm属于批量内存访问指令,只用一条指令就可以读写多个数据。

状态寄存器的访问指令

msr cpsr, r0/*复制r0到cpsr中*/
mrs r0, cpsr/*复制cpsr到r0中*/

伪指令

.extern定义一个外部符号
.text表示下面的语句属于代码段
.global将文本中的某个程序标号定义为全局的

内存管理单元MMU

内存管理单元(Memory Management Unit)简称MMU,它负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查。现代的多用户多进程操作系统通过MMU使得各个用户进程都有自己独立的地址空间:地址映射功能使得个进程拥有“看起来”一样的地址空间,而访问权限的检查可以保护每个进程所用的内存不会被其他进程破坏。
内存的访问权限检查是MMU的主要功能之一
主要有以下两点:

  1. “域”决定是否对某块内存进行权限检查
  2. “AP”决定如何对某块内存进行权限检查

TLB

Translation Lookaside Buffers:转译查找缓存
当CPU发出一个虚拟地址时,MMU首先访问TLB。如果TLB中含有这个虚拟地址的描述符,则直接利用此描述符进行地址转换和权限检查;否则MMU访问页找到描述符后再进行地址转换权限检查,并将这个描述符填入TLB中(如果TLB已满,则利用round-robin算法找到一个条目,然后覆盖它),下次再使用这个虚拟地址时就可以直接使用TLB中的描述符了。
Cache


基于程序访问的局限性,在CPU通用寄存器和主存之间设置一个高速的、容量相对较小的存储器,把正在执行的指令地址附近的一部分指令或数据从主存调入到这个存储器,供CPU在一段时间内使用。

MMU实例程序流程:开始→关闭WATCHDOG→设置栈指针→初始化SDRAM→复制第二部分代码到SDRAM中→设置页表→启动MMU→重设栈指针→调到0xB004000→循环点LED
NAND Flash控制器


NAND Flash在嵌入式系统中的地位与PC上的硬盘类似,用于保存系统运行所必须的操作系统、应用程序、与用户数据、运行过程中产生的各类数据。
Flash存储器件的可靠性需要考虑:位反转、坏块、可擦除次数
操作NAND Flash时,先传输命令,然后传输地址,最后读/写数据,期间要检查Flash状态。
NAND Flash读操作流程
选择芯片→发出读命令→发出地址→等待数据就绪→读取数据→结束后,取消片选信号
中断体系结构


ARM体系CPU的7种工作模式:

用户模式(usr)
快速中断模式(fiq)
中断模式(irq)
管理模式(svc)
数据访问终止模式(abt)
系统模式(sys)
未定义指令中止模式(und)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容