基于ARM的嵌入式开发的硬件常识

简介: 如何理解一个基于ARM内核的微处理器 可以从两方面来理解基于ARM内核的微处理器,一方面是由ARM公司设计的ARM内核,另一方面是由芯片设计厂家在ARM内核上整合的各种外围设备和外围接口控制器。

如何理解一个基于ARM内核的微处理器

可以从两方面来理解基于ARM内核的微处理器,一方面是由ARM公司设计的ARM内核,另一方面是由芯片设计厂家在ARM内核上整合的各种外围设备和外围接口控制器。下面我们分别做详细的介绍:

ARM内核:

      1.它是由ARM公司设计。

      2.是微处理器中的核心部分,相当于人的大脑,控制着整个系统的运行。

      3.主要功能是实现程序的自动化执行,包括从哪个地址取指令,进行指令译码,指令执行,从哪个地址取待操作的数据,进行数据的数学运算或逻辑运算,将数据结果存储到哪个地址。

      4.某些ARM内核还进行CACHE和MMU的管理。

      5.唯一可以配置ARM内核的途径是CP15协处理器接口(JTAG调试口除外)。

      6.在ARM内核的眼里,它看不到所有的外围设备,包括GPIO,UART,ADC,NAND FLASH,LCDC等许多的设备,在它眼里,数据和地址就是整个世界。所以别期待ARM内核知道当前在操作系统的哪个外围设备。

      7.由ARM内核提供给外部的接口我们也可以知道内核在芯片中起的作用。

       下面是ARM926内核结构框图:

ARM926内核结构框图

外围设备和接口控制器:

        外围设备和外围接口控制器是芯片设计厂家在ARM内核上集成的,它由芯片厂家根据自己芯片所面对的市场来集成需要的外围设备和接口,比如GPIO,UART,IIC,SPI,ADC.LCDC.SENSOR,NAND FLASH,DDR,H.263/H.264等等等等。

        芯片设计厂家如何分配和组织ARM内核提供的这4G的地址空间,完全取决于芯片厂家的习惯和方便,更何况加入了MMU后,将哪段地址分配给哪个外围设备或外围接口,就更加变得无关紧要了。

外围设备和ARM内核连接的桥梁:

        1. 寄存器,下面我们以GPIO来分析一下ARM内核是怎么通过寄存器来控制GPIO的:

             通常ARM内核通过如下几个寄存器来控制GPIO:第一个是方向寄存器(方向配置),第二个是数据寄存器,第三个是上拉下拉电阻配置寄存器。ARM内核通过方向寄存器来控制GPIO管脚的输入和输出;通过数据寄存器来输出高电平和低电平,或读取GPIO管脚的高低电平状态;通过上拉下拉配置寄存器来开启上拉下拉电阻。

             总结:寄存器一端连接ARM内核的总线(当然,有可能是间接连接),另一端连接外围控制逻辑,是ARM内核和外围的连接桥梁。采用寄存器控制外围的方式除了GPIO,还有UART,IIC,SPI,ADC.LCDC.SENSOR,NAND FLASH,H.263/H.264等其它很多外围控制器。

        2. 总线接口 ,下面我们以NOR FLASH的访问来 分析一下ARM内核是怎么通过总线接口来控制NOR FLASH的:

       以freescale I.MX27和NOR FLASH  连接图为例:

flash_connect

我们在看下I.MX27存储空间的分配图:

memory map

显然,当ARM内核访问地址空间0xC0000000--0xCFFFFFFF时,NOR FLASH控制器就会自动产生访问NOR FLASH所需要的各种信号包括片选信号CS0或者CS1,地址信号A[25:0],数据信号D[15:0]等。

相关文章
|
5月前
|
监控 网络协议 安全
验证嵌入式ARM32环境中4G模块的有效方法
验证嵌入式ARM32环境中4G模块的有效方法
136 0
|
5月前
|
算法 编译器 Linux
【Qt4 部署】ARM系统上使用Qt 4 进行开发的QWS 等环境变量部署
【Qt4 部署】ARM系统上使用Qt 4 进行开发的QWS 等环境变量部署
107 0
|
2月前
|
编解码 安全 Linux
基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究
这段内容讲述了国产操作系统背景下,大牛直播SDK针对国产操作系统与Linux平台发布的RTMP/RTSP直播播放SDK。此SDK支持arm64架构,基于X协议输出视频,采用PulseAudio和Alsa Lib处理音频,具备实时静音、快照、缓冲时间设定等功能,并支持H.265编码格式。此外,提供了示例代码展示如何实现多实例播放器的创建与管理,包括窗口布局调整、事件监听、视频分辨率变化和实时快照回调等关键功能。这一技术实现有助于提高直播服务的稳定性和响应速度,适应国产操作系统在各行业中的应用需求。
|
4月前
|
存储 Ubuntu 编译器
合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(三)
合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(三)
合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(三)
|
4月前
|
Ubuntu Unix Linux
合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(一)
合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(一)
|
4月前
|
Linux 编译器 语音技术
合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(二)
合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(二)
|
3月前
|
机器学习/深度学习 人工智能 计算机视觉
好的资源-----打卡机+Arm+Qt+OpenCV嵌入式项目-基于人脸识别的考勤系统-----B站神经网络与深度学习,商城
好的资源-----打卡机+Arm+Qt+OpenCV嵌入式项目-基于人脸识别的考勤系统-----B站神经网络与深度学习,商城
|
4月前
|
存储 算法 Linux
详细解读ARM嵌入式整理
详细解读ARM嵌入式整理
28 0
|
5月前
|
物联网 编译器 测试技术
【嵌入式 交叉编译器】如何在 ARM 架构下选择和使用高版本交叉编译器
【嵌入式 交叉编译器】如何在 ARM 架构下选择和使用高版本交叉编译器
894 7
|
5月前
|
存储 机器学习/深度学习 人工智能
嵌入式中一文搞懂ARM处理器架构
嵌入式中一文搞懂ARM处理器架构
186 1
下一篇
无影云桌面