《ARM裸机》1--前言

一、版本号

        ARM内核版本号:ARM设计出来卖的版本号。如:ARMv7。

        ARM Soc版本号:Soc的版本号。如:Cortex-A8。

        芯片型号:加工出来芯片的型号。如:S5PV210。

        M-microcontroller(微型处理器):  应用于单片机,例如STM32(ST公司的M3处理器)。

        A-application (应用级处理器): 应用于手机平板。

        R-realtime( 实时处理器): 处理器相应速度比较快,应用于工业、航天等领域。

        实时操作系统:RTOS。Linux,windows不是实时操作系统。

M系列(现有M3,再推出的M0、M4):

        Cortex-M0系列:一般工作频率为48M。基础版本,主要用于低功耗产品。

        Cortex-M3系列:一般工作频率为72M。目前最主流的设计内核选型,应用范围广。

        Cortex-M4系列:一般工作频率为168M。增加了DSP处理,用于电源管理和嵌入式音频。

        Cortex-M7系列:一般工作频率为300M。性能好和功耗高兼具,适合追求极致性能项目。

A系列(A8、A9、A7、A15):

        A7比A9的功耗低,性能要差一点,特点就是功耗低。A15是把A9的性能发挥到了极致。

二、SOC和CPU的区别和外设概念的引入

        CPU里面由运算器(运算)和控制器(判断)

        SoC = System on Chip

         早期的CPU因为集成度比较低,所以这些外设都是一个外设一个芯片,然后通过PCB走线和CPU连接起来,例如图中的CPU就有4个芯片。后来随着集成度提高,这些外设集成到了CPU里面,然后给外部提供芯片内部的总线。例如图中的SoC就只有一个芯片。而ARM公司卖给半导体厂商的方案就是CPU和芯片的总线,各厂商可以根据自己需求添加外设。所以现在接触到的,大部分其实都是SoC。

        裸机学习就是学习SoC的内核(CPU,表现为汇编指令集)和各种外设(如串口)。

三、嵌入式和单片机的区别

        1.芯片平台

                (1)主流单片机平台:51、PIC、STM32、AVR、MSP430等。

                (1)主流嵌入式平台:ARM、PPC、MIPS(路由器)。

        2.资源、价格、应用领域

                单片机上的资源有限、价格低、应用场景多为小家电、终端设备等。

                嵌入式系统片上资源丰富、价格较高、应用领域广泛,比如智能手机、平板电脑、游戏  

                机、路由器、摄像机、智能电视机、广告机、智能手表、收银机等。

        3.开发模式:

                单片机开发多为裸机,程序规模小,多为单个程序员独立开发。有些复杂产品也会使用

                高端单片机如STM32之类,并使用RTOS (uCoS、freeRTOS等)。

                嵌入式开发几乎全部基于嵌入式操作系统,目前使用最多的是linux和Android.
        4.技术特征

                单片机主要使用C语言,很少用结构体、函数指针等C语言高级特性。而嵌入式开发比较

                复杂,一般分底层和应用层。底层使用C语言,应用层使用C、C++、Java等语言均有。

                使用结构体、算法、函数指针,面向对象等高级特性较多。单片机的涉及外设比较简单

                、少;嵌入式系统涉及更多复杂外设。

四、嵌入式系统构成特点和演进方向

       嵌入式系统的特点

                (1)专用、软硬件可裁剪可配置

                (2)低功耗、高可靠性、高稳定性

                (3)软件代码短小精悍

                (4)代码可固化(烧录后,再开机还代码存在)

                (5)实时性

                (6)弱交互

                (7)专用开发工具及开发环境,专业开发人员

        嵌入式系统的组成

                硬件:微处理器、存储器、I/O接口、输入输出设备等等。

                软件:嵌入式操作系统(驱动属于操作系统)、BSP(板级支持包)、应用软件。

        嵌入式系统的分层

        嵌入式系统的发展演进

                单芯片位核心、可编程控制器存在形式---->嵌入式CPU为基础、简单操作系统为核心。

                ----->以嵌入式操作系统为标志------>以物联网为标志。(硬件的性能越来越强,设备越

                来越多,交互性越来越强,低功耗)

        

五、CPU的设计原理、数据总线和地址总线

        1.CPU的设计原理

        CPU里面主要有运算器、控制器和寄存器。

                运算器:主要起运算的的作用,比如:加、减、乘等等。

                控制器:用来控制CPU的运行的,比如读取指令代码等等。

                寄存器:临时内存。

        CPU里面一般是不包含内存的,内存一般都在CPU的外部,有Flash(硬盘)和DDR(内存条),通过总线接口和CPU连接。程序平时是在Flash中放着的,而运行是要在内存里运行的,但Flash和DDR之前必须通过CPU的寄存器(先把程序放到寄存器,再放到DDR),才能把程序放到DDR。

        图中的串口已经集成到CPU里面了,所以Uart是通过内部总线和CPU连接的,再CPU里面,然后给外部提供了一个SoC串口接口。

        2.地址总线和数据总线

       (1)CPU通过地址总线寻址,然后通过数据总线与外部设备互换信息。
       (2)地址总线的位数决定CPU寻址范围;数据总线的位数决定CPU单次通信能交换的信息数量。比如说:有32跟地址总线,那么能访问的范围就是0~2^32-1;有32跟数据总线,那每次就能取出32为的二进制数,也就是4个字节大小的数据,比如int。我们平时将CPU的位数就是讲的数据总线。
       (3)总线的速度决定CPU和外设互换信息的速度。
        之所以要用两条线来操作,是为了速度快。

        3.注意

        (1)CPU的地址总线位数和数据总线可以不同(典型代表就是51单片机),但是一般都相同。
        (2)CPU的位数指的是数据总线的位数。
        (3)32位地址总线CPU寻址的范围是4G,所以最多支持4G内存;
        (4)数据总线是32位的,所以内存是32位的好。

六、Jlink、SD卡

        1.Jlink

        (1)下载可执行程序到目标及。

        (2)在目标机上实现单步调试,便于开发bootloader。

        2.SD卡

        作为启动介质。工作方式是:事先用读卡器将SD卡连接到开发机(一般是Windows电脑),通过写卡软件将交叉编译得到的可执行程序镜像烧录到SD卡,然后将SD卡插入嵌入式目标机卡槽,设置正确的启动方式启动,则系统可以从SD卡中烧录的镜像处启动。
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值