嵌入式硬件学习(一)

文章目录

  • 一、ARM介绍
  • 1、ARM公司
  • 2、ARM各系列
  • 二、SOC概念
  • 三、ROM和RAM的分类
  • 四、编译流程
  • 五、大小端
  • 六、ARM的工作模式
  • 七、ARM寄存器基本介绍
  • 八、判断一个数是不是立即数
  • 九、ARM上电启动流程
  • 1、硬件复位阶段
  • 2、ROM固件启动阶段
  • 3、一级引导程序(Bootloader)加载
  • 4、二级引导程序加载
  • 5、操作系统内核启动
  • 一、ARM介绍

    1、ARM公司

    (1)主要设计ARM系列RISC处理器内核
    (2)授权ARM内核给生产和销售半导体的合作伙伴,自己不生产芯片
    (3)提供基于ARM架构的开发设计技术

    2、ARM各系列

    (1)A——特点:高性能、支持多核,应用场景:手机、电脑
    (2)R——特点:实时性强,应用场景:汽车电子
    (3)M——特点:低功耗、低延迟,应用场景:嵌入式系统、工业自动化

    二、SOC概念

    SOC构成
    (1)SOC包括:kernal、总线、存储器、片内外设。
    (2)kernal包括
    算术逻辑单元(ALU)、
    寄存器(R0-R12)、
    内存管理单元(MMU)——负责将RAM映射为虚拟内存、
    高速缓存——i.cache、d.cache、
    pc、lr、sp寄存器。
    (3)内部总线包括
    AHB总线:高速总线,挂载存储器、LCD等高速设备。
    APB总线:低速总线,挂载Timer、UART、I2C等。
    (4)最小系统:电源、时钟、复位、ROM、RAM。

    三、ROM和RAM的分类

    RAM 介绍
    sram 用晶体管存储0和1,速度快,成本高,存储密度小
    dram 动态存储,用电容充放电存储0和1,功耗大,速度慢,成本低,存储密度大
    sdram 增加了同步电路,提高了读写速度
    ddr ram (double data rate sdram),为sdram的下一代
    iram 并非真正意义上的ram,通常iram就是sram,通常在soc内部,所以叫iram
    ROM 介绍
    rom 非易失性存储器,最早只读不写
    prom programmable rom,可编程的rom。能够写入一次
    eprom 可擦写的prom,可以重复擦写,需要特殊工具
    eeprom 电可擦写的prom
    flash 新一代非易失性存储器,分为nor flash(可以寻址)和nand flash(不能寻址)

    四、编译流程

    五、大小端

    大小端是指数据在内存中的存储方法
    1、大端:高位字节在低地址,低位字节在高地址。
    2、小端:低位字节在低地址,高位字节在高地址。

    六、ARM的工作模式

    ARM有7种基本工作模式:
    1、User:非特权模式
    2、FIQ:高优先级(fast)中断产生
    3、IRQ:低优先级(normal)中断产生
    4、Abort:存取异常产生
    5、Supervisor:复位或者软中断指令执行
    6、Undef:执行未定义指令
    7、System:和User模式相同的寄存器集特权模式

    七、ARM寄存器基本介绍

    1、ARM有37个32bits长的寄存器:PC、CPSR、5个SPSR、30个通用寄存器
    2、Cortex有40个32bits长的寄存器。
    3、sp寄存器:栈指针寄存器,主要用于临时存储局部变量、函数形参和返回地址。
    4、lr寄存器:用于存储函数调用的返回地址。
    5、pc寄存器:指向cpu执行的下一条指令。

    八、判断一个数是不是立即数

    判断条件有以下三点:
    (1)如果这个数的范围在0-255之间,那么这个数一定是立即数;
    (2)如果超出,需要把这个数展开成二进制,从高位依次向下第一个1和和最后一个1之间如果位数不超过8位(包含这两个1),如果超过了一定不是;
    (3)如果不超过八位,还要看最低位1后面的零是否为偶数,如果是偶数,则是立即数。

    九、ARM上电启动流程

    1、硬件复位阶段

    (1)电源上电:电源管理芯片确保各组件获得稳定供电;
    (2)时钟初始化:晶振电路为系统提供时钟信号,锁相环将时钟频率提高到合适频率;
    (3)复位信号:复位电路生成复位信号,将处理器和外设恢复到初始状态;
    (4)内存初始化:检测是否能正常工作。

    2、ROM固件启动阶段

    (1)ROM引导程序执行:复位接触,处理器将从ROM固定地址开始执行指令。ROM中的引导程序(BootROM)是硬件厂商预置。
    (2)启动模式选择:引导程序通过GPIO、DIP开关、Boot引脚等,确定从何处加载下一步引导程序。
    (3)外设初始化

    3、一级引导程序(Bootloader)加载

    (1)加载Bootloader:根据BootROM的配置,从指定存储介质加载一级引导程序到RAM中。
    (2)执行引导程序:初始化更复杂的硬件、配置必要外设、准备环境以加载操作系统内核或者二级引导程序。

    4、二级引导程序加载

    (1)加载内核:从存储器中读取操作系统内核
    (2)设置启动参数、设置树加载、跳转到内核——将控制权交给操作系统内核,进入系统运行阶段。

    5、操作系统内核启动

    (1)内存管理初始化
    (2)加载设备驱动,初始化硬件设备
    (3)文件系统挂载
    (4)启动用户空间

    作者:Hello小赵

    物联沃分享整理
    物联沃-IOTWORD物联网 » 嵌入式硬件学习(一)

    发表回复