锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

三级嵌入式部分刷题解析

时间:2023-06-12 21:37:00 bsr61晶体管

最重要的是三级嵌入式ARM熟悉汇编指令,这在40道填空中占了很大比例,掌握了这个可以多拿很多分。

ARM体系结构支持7种工作模式,取决于当前程序状态寄存器CPSR低5位值。工作模式可以相互切换,但有条件。中止模式是处理存储故障,实现虚拟存储和存储保护。用户模式是程序正常执行的工作模式,用于处理快速中断FIQ,管理模式是操作系统的保护模式,处理软中断SWI。

影响CPU性能的主要因素有:主频、指令系统、高速缓冲存储容量和结构、逻辑结构(包括指令流水线数量)。

μC/OS-II操作系统的任务组成。主要由程序代码、任务堆栈和任务控制块三部分组成。

μC/OS-II在预定义的两个系统任务中,空闲任务优先级低,统计任务优先级高

Android系统的软件架构分层。从低层到高层依次是Linux应用程序框架(ApplicationFramework)四层应用程序。

声明全局标号Reset_Handler为了引用其他文件,伪指令是55,引用其他文件中的标签SystemInit伪指令为56。

无线局域网采用的协议主要是IEEE802.11a,俗称WiFi。其中最早的IEEE.802.11b(2.4GHz频段)采用调频扩频技术,传输速度可根据环境进行调整。Bluetooth瑞典爱立信最早提出,后来被瑞典爱立信提出IEEE作为个人无线区域网协议(IEEE802.15)的基础。

双绞线成本低,易受外部高频电磁波干扰,误码率高,传输距离有限,主要用于固定电话电路和计算机局域网。

指示集模拟器(ISS)它是一种在宿主机上模拟应用程序在目标机器上运行的软件工具,其操作界面类似于通用机器的集成开发环境。在使用在线模拟器的调试方法时,在线模拟器取代了被调试目标系统CPU。在目标机中存储一个支持通信和调试命令的软件。

退出中断函数必须在中断返回前调用void OSIntExit(void)。

调用OSTaskSuspend()函数可以挂起任务,而挂起的任务只能等待其他任务调用OSTaskResume()函数可以实现任务恢复。

创建μC/OS-II可使用任务OSTaskCreate函数或者OSTaskCreateExt函数分别用于创建基本任务和扩展任务。它们都用于从休眠到就绪。

eCos免费开源实时操作系统C/C 编码是可定制的操作系统。

TinyOS它是一种主要用于无线传感网络的开源嵌入式操作系统。根据内核结构,嵌入式操作系统可分为单核操作系统和微核操作系统。单核的优点是应用高,响应速度快,WindowsCE和Android操作系统属于单内核结构。

μC/OS-II与大型操作系统不同,它基本上不包含设备驱动程序,只是一个纯核心。其驱动程序属于底层,需要系统开发人员自行开发。

硬件抽象层是操作系统层与硬件之间设置的独立接口软件层,是所有直接依赖硬件的软件;板级支持包包含硬件相关的设备驱动程序,与硬件和操作系统密切相关,包括硬件和操作系统。U-Boot被认为是功能全面、灵活、应用广泛的开源码板级支撑包。

S3C2410属于中高档32位嵌入式处理器,其内存控制组件包括内存控制器、外部主控器、NANDFlash其中,存储器控制器提供访问片外存储器芯片所需的控制信号,支持大/小端模式,共1个地址空间GB;S3C2410片分离指令Cache和数据Cache。

UART,即串行异步通信接口,使用UART通信时,通信双方的波特率和传输格式必须一致。UART发送信息时,起始位以逻辑0为标志,停止位以逻辑1为标志;UART波特率由除数寄存器和外部时钟决定PCLK,还可以是UEXTCLK,由相应的控制寄存器决定。

在ARM在指令条件码中,带符号数比较的助记符后缀是GE、LT、GT、LE。

经典ARM处理器将7种类型的异常分为6级,最高级别是复位,最低级别是未定义的指令UND和软件中断SWI。

NVIC支持嵌套和向量中断的内嵌向量中断控制器。内部没有NVIC的ARM处理器是ARM9

ARM公司把从ARM7到ARM11系列内核处理器称为经典ARM处理器。

计算机网络有多种不同类型,根据传输介质可分为有线网络和无线网络;根据网络的可分为公共网络和专用网络;根据网络的范围和对象可分为企业网络、政府网络、金融网络和校园网络。

UTF-16使用双字节等长编码

嵌入式系统软件开发中常用的开发工具套件GNU。它包括编译器、连接器调试器、文本编辑器、语法错误等工具。GNU中的调试器GDB程序调试时,可以使用命令watch在调试过程中观察变量值。

调试的目的是发现和定位错误。调试工具的功能是控制程序代码的执行,使系统中看不见的信息可视化。

μC/OS-II一般调用操作系统的代码临界区OS_ENTER_CRITICAL中断执行关。函数也可以调用voidOSSchedLock锁定任务调度器,取代关闭中断。

μC/OS-II支持任务级任务调度和中断级任务调度两种方式

操作系统:通信协议、文件系统、操作系统内核、嵌入式GUI

除操作系统、设备驱动程序和应用软件外的系统软件称为

以太网交换机是一种高速电子开关,连接到交换机上的所有终端设备都可以同时相互通信。因为交换机从发送设备中收到一帧数据,它将直接发送到接收终端,而不是发送到其他无关的终端设备。

计算机网络一般由计算机等智能电子设备、数据通信链路、通信协议和网络软件组成。网络中的每个终端设备都需要配置以太网卡,每个网卡都由世界上唯一的48个二进制位组成MAC地址。

在ADS1.在2的综合开发环境中,设计师设计的嵌入式应用程序的源文件、图书馆文件、头文件等输入文件以工程项目的形式进行管理。在工程项目中,为了便于管理,这些文件也可以根据一定的逻辑关系进行分组

嵌入式WEB应用需求和通用服务器WEB服务器的应用需求不同。它不是基于提供信息服务,而是基于远程客户端的控制模式。用户通过浏览器和嵌入式远程客户机Web服务器交互,从而操控被嵌入的设备。

发生中断时CPU提供相应的中断服务,原任务暂时停止运行,进入中断状态,中断状态的任务不能直接转移到等待状态,结束中断状态进入运行状态。

嵌入式处理器自带UART可以组成RS-232/RS-485通信接口,RS-232采用负逻辑传输,接口信号线采用单端输出,逻辑0的电压范围为 3V~ 15V,逻辑1的电压范围为-15V~-3V,而RS-485标准采用差分信号传输。

实时时钟(RTC)组件采用单独的电源引脚和时钟源,可通过编程进行RTC设置年、月、日、周、时、分、秒寄存器的内部值,但分频系数由时钟源决定,不能通过编程改变。

ARM处理器片中的数据存储器通常使用SRAM,片内程序存储器通常使用FlashROM,从结构上看,高带宽外部存储器控制接口AMBA通过系统总线连接的系统总线AMBA高带宽外部存储器控制接口可以管理和控制外部扩展的存储器。

基于AMBA总线处理器采用系统总线和外围总线连接高速系统组件和低速外围组件,低速外接口连接外围总线(APB),包括定时器、并行接口和串行接口等;而LCD系统总线上连接着控制器和中断控制器。

嵌入式处器系统复位引脚为nRESET时,表示低电平复位,复位电路是嵌入式最小硬件系统的一个组成部分,嵌入式处理器系统复位引脚为nRESET时,表示低电平复位(不带n的表示高电平复位),一般情况下,复位信号的时间宽度必须保持若干个处理器时钟周期才能使系统可靠复位,对于经典ARM处理器复位后,PC指针指向唯一的地址0x00000000

支持Thumb-2指令集子集的处理器主要有Cortex-M系列和Cortex-R系列。其中Cortex-M系列微控制器主要面向控制领域,具有高性价比、最低成本、极低功耗、可移植性好的特点。

UTF-8采用的是单字节可变长编码。

WAV是未经压缩的数字音频,其音质与CD相当

字符的形状有两种描述方法,点阵法和轮廓法。前者描述字符在离散点阵中笔画的占位信息,后者描述字符的轮廓,即把字符的轮廓用一组直线和曲线来勾画,字型库中记录的是每一直线和曲线的端点及控制点的坐标。

用来描述数字图像的参数主要有图像大小(图像分辨率)、位平面数目、像素深度和颜色模型。

GCC是GNU开发工具套件中的核心工具软件,是GNU C语言编译器的简称。GCC所编译的目标机的处理器包括X86、ARM、PowerPC等体系结构的处理器,如ARM_Linux_GCC即是针对ARM体系结构的目标机的编译工具。

μC/OS-II是抢占式实时操作系统内核,这意味着μC/OS-II只提供一个操作系统的最低限度的任务运行机制,不涉及硬件驱动程序。μC/OS-II只能管理64个任务,目前的版本保留8个任务给系统,这样用户编写的应用程序最多可以有56个任务。

Linux内核主要是由5个子系统组成的,如下图所示,其中的A是73子系统,B是74子系统

在嵌入式领域,硬件抽象层(HAL)主要用来简化嵌入式操作系统的移植作业。其原理是取消了操作系统对硬件的直接访问,使得操作系统在HAL基础上运行,隐藏了硬件的差异性。

实时操作系统(RTOS)是一种专门服务于实时系统应用请求的操作系统。它的实时性能指标主要根据三个指标来衡量:响应时间、吞吐量和生存时间。吞吐量(Throughput)是指在给定时间内,实时系统可以处理的事件总数。

GPRS是通用分组无线服务的简称,它是GSM移动电话用户可用的一种移动数据业务。通常支持用AT命令集进行呼叫、短信、传真、数据传输等业务。

NOR Flash和NAND Flash是现在市场上两种主要的闪存技术。前者的特点是以字节为单位随机存取,而后者是以页(行)为单位随机存取

题中DCD用于分配一片连续的字存储单元并用指定的数据初始化,属于数据定义伪指令;CODE16伪指令通知编译器,其后的指令序列为16位的Thumb指令。

存储器保护单元(MPU)是对存储器进行保护的可选组件。它允许ARM处理器的4GB地址空间定义8对域,分别控制8个指令和8个数据内存区域。

CPSR中的控制位中,I是外部IRQ中断禁止控制位,I=1禁止外部IRQ中断,I=0允许IRQ中断;F为禁止快速中断FIQ的控制位,F=1禁止FIQ中断,F=0允许FIQ中断。

目前采用无线方式接入互联网的技术主要有三类:无线局域网(WLAN)接入;GPRS移动电话网接入;3G移动电话网接入。其中第一类必须在安装有接入点(AP)的热点区域中才能接入。

若根据数字文本是否具有排版格式来分,可分为简单文本(纯文本)和丰富格式文本两大类;若根据文本内容的组织方式来分,可以分为线性文本和超文本两大类。简单文本通常也称为纯文本,其文件后缀名是.txt

在嵌入式系统开发时,通常可以把其开发过程划分为:系统需求分析与规格说明、系统设计、构件设计、系统集成与测试等几个阶段;嵌入式系统设计者需要遵循软硬一体、软硬协调设计的思想。在满足系统功能的前提下,结合性能、费用成本、尺寸等约束条件,确定哪些功能由硬件构件实现,哪些功能由软件构件实现;所谓的构件设计,是指包括软件设计与编程、专用硬件芯片选择及硬件电路设计等具体设计工作;一个好的系统集成与测试计划可以帮助设计者快速的发现设计中的错误并改正,但应该分步的、按阶段的构建系统,并且每次只对一部分构建或模块所集成的系统进行测试,这样更容易的发现并定位错误。

边界扫描测试技术是对芯片或印制电路板进行片上调试最常用的一种技术;JTAG是IEEE下的一个组织,是研究测试访问端口和边界扫描结构的标准,研究结果即俗称的JTAG标准;使用JTAG 进行嵌入式系统的调试,无需目标存储器,也不占用目标机任何I/O端口;对于不支持JTAG调试标准的嵌入式CPU,如MCS-51单片机,其软件固化要使用称为“编程器”的设备来进行。

μC/OS-II任务管理中空闲任务(Idle task)是系统创建的第1个任务,它是必不可少的一个系统任务,也是优先级最低的任务;绝大多数情况下,μC/OS-II的每个任务都是一个无限的循环,都处在5种状态之一的状态下

Linux内核主要由5个子系统组成:进程调度;内存管理;虚拟文件系统;网络接口;进程间通信。

Linux系统最初以Unix为原型,以实现POSIX标准作为其目标;命令的功能、处理结果、函数名称和参数十分相同,但二者的源代码是完全不同的;迄今为止,Linux的运行效率尚未达到Unix的水平

BSP(板级支持包)实际上一些汇编程序和C语言代码相结合的操作系统底层软件。包括初始化程序、设备驱动程序、配置文件和引导加载程序等。

直接用UART进行通信仅限于板间或芯片间通信, UART在采用了RS-232电平转换电路后,可延长通信距离;与RS-232标准相比,RS-485标准的通信距离更远、通信速率更高;对于片内无CAN控制器的嵌入式处理芯片,可通过扩展CAN控制器和CAN收发器的方式使其接入CAN总线;嵌入式系统可以通过以太网连接到互联网中。

线性键盘是指一个按键占用一个引脚,利用读引脚状态确定按键的状态;矩阵键盘采用行列矩阵形式构件键盘,利用行扫描法或反转法读取按键的特征值来决定按键的结果;故相同按键数的键盘,线性键盘需要的引脚数目多于矩阵键盘,故A错误。用专用硬笔写字的触摸屏属于电阻式,故B错误。LED发光与ARM芯片连接时仅需一根GPIO引脚,但绝对不能直接把引脚链接到发光二极管上,因为通常ARM芯片GPIO引脚提供的电流是有限的,不能直接驱动发光设备,因此要加驱动电路,

I^2C总线只有两条信号线,一条是数据线SDA,另一条是时钟线SCL,所有操作都通过这两条信号线完成;对SPI的操作,首先要选择让基于SPI接口的从设备的SSEL处于被选中状态,表示将要对该从设备进行操作,然后才能按照SPI时序要求进行数据操作;UART即通用异步收发器,是可以用于全双工串行异步通信的;USB 1.1和USB 2.0有4根信号线,采用半双工差分方式进行通信。

NAND Flash主要用于片外程序存储器,为了节省引脚,降低体积,地址线和数据线一般采用分时复用技术。ALE、CE、RE、R/B分别表示地址锁存允许、低电平有效的芯片使能、低电平有效的读使能、准备就绪/忙输出

ARM芯片片内配有的Flash存储器,通常用作系统的程序存储器;其内部Cache一般采用SRAM;高带宽外部存储器控制接口为外部存储器扩展提供了接口,可以扩展程序存储器和数据存储器,与AMBA的系统总线部分相连

微硬盘最早是由IBM公司开发的一款超级迷你硬盘机产品。目前1.8英寸的微硬盘容量已达几百GB;一般微硬盘带有数据缓存,有利于提高数据传输率;微硬盘功耗极小,无需外置电源,链接USB即可使用;为使微硬盘适用于多种手持装置,其接口可采用多种标准,如CF卡、PCMCIA、USB 2.0、ATA等。

ARM内部的DMA控制器(直接存储器访问控制器)是一种硬件组件,使用它可以将数据块在内存与外设以及内存与内存之间互相传送,且传输过程不需要 CPU参与,可显著降低处理器负荷;DMA主控制器与AMB的系统总线部分相连;在ARM处理芯片中,许多与外部打交道的通道如串行通信端口、USB接口等既可以由ARM内核控制其数据传输,也可以通过DMA控制器控制数据传输。

AMBA 是ARM公司公布的总线协议,以ARM内核为基础的嵌入式处理器芯片采用系统总线与外围总线两层结构的方式构建片上系统;系统总线通过桥接器与外围总线互连。AMBA的系统总线主要用于连接高带宽快速组件,包括ARM内核及测试接口;AMBA的外围总线主要连接低带宽组件以及与外部相连的硬件组件。AMBA有多个版本,性能随版本的发展而逐步提高,ARM7采用AMBA1,而ARM9采用AMBA2

在ARM汇编语言程序中,子程序的调用一般是通过BL指令来实现的;MOV PC,LR在ARM汇编中用于子程序的返回;D项中R15即是PC,

寄存器中指定位清零可使用位清零指令BIC完成,也可以通过与指令将指定位与零按位相与完成,

除复位异常,其他所有异常处理完毕之后必须返回到原来程序处继续向下执行:恢复原来被保护的用户寄存器;将SPSR_mode寄存器值复制到CPSR中;根据异常类型将PC值恢复成断点地址;清除I和F标志,允许IRQ和FIQ中断。

ARM处理器共有37个寄存器,包括31个通用寄存器(含PC)和6个状态寄存器。所有通用寄存器均为32位结构,既可以存放数据也可以存放地址;CPSR是当前程序状态寄存器;程序链接寄存器(LR)为R14;堆栈指针(SP)使用的寄存器是R13。

在ARM的体系结构中,处理器可以工作在3种不同的状态,①ARM状态②Thumb状态及Thumb-2状态③调试状态。除支持Thumb-2的ARM处理器外,其他所有ARM处理器都可以工作在ARM状态。ARM状态是ARM处理器工作于32位指令的状态,所有指令均为32位宽度。Thumb状态是ARM执行16位指令的状态;在Thumb模式下,指令代码只有16位。Thumb-2状态是ARMv7版本的ARM处理器所具有的新状态。值得注意的是,ARM处理器复位后开始执行代码时总是处于ARM状态,如果需要则可以切换到Thumb状态及Thumb-2状态。

IP协议第4版(IPv4)规定,每个IP地址使用4B(32个二进制位)表示,其中包含有网络号和主机号两部分。IP地址分为A类、B类、C类三个基本类,另有两类分别作为组播地址和备用地址(D类和E类)。C类网络地址数量较多,适用于小规模的局域网络,每个网络最多只能包含254台计算机。

局域网按照传输介质使用的访问控制方法,可以分为以太网、FDDI网和令牌网,目前广泛使用的是以太网,它以集线器或交换机为中心构成。

MP3是互联网上最流行的数字音乐格式,它采用国际标准化组织提出的MPEG-1层III算法进行有损的压缩编码,以8~12倍的比率大幅度降低了声音的数据量,其文件扩展名是.mp3;MP3播放器必须具有对MP3格式音频文件解码的功能。

嵌入式微控制器(Microcontroller Unit,MCU)实际上是一种单片计算机,简称单片机。它将整个计算机硬件的大部分甚至全部电路集成在一块芯片上,除CPU外还集成了存储器、总线、定时/计数器、I/O接口等组件;与微处理器不同,它只需增加少量外接电路和硬件就可组成完整的硬件系统;微控制器的种类和数量很多,在很多方面得到了广泛应用,目前大约占有嵌入式系统70%的市场。早先的4位主要用于家用电器的控制单元,8位和16位用于一般的控制领域,近年来由于嵌入式系统联网和多媒体信息处理需求的日益增多,32位MCU得到了迅速的发展。

移植工作的重点是改写OS_CPU.H、OS_CPU_A.S、OS_CPU_C.C等与处理器硬件有关的文件;用OSTaskCreate()函数来创建任务,并用OSStart()函数来启动多任务调度功能。

利用ADS1.2工具套件进行基于ARM硬件平台的软件开发,在进行编译连接时,地址映射连接类型有2种方式,分别是Simple连接类型和Scattered连接类型。采用Scattered连接类型时需要提供一个scatter格式的配置文件。

所谓驻留监控软件是一段固化在目标机ROM中的程序。它是一种成本较低的调试方法,不需要专门的硬件调试和仿真设备。

U-Boot是一种通用的引导加载程序,对PowerPC系列处理器支持最为丰富,对Linux操作系统的支持最为完善

引导加载程序在引导加载操作系统时,设置相关的寄存器和资源,跳转到操作系统所在的空间,执行其引导,这个过程中可以给内核传递参数,可以控制系统启动的模式。

在嵌入式系统加电或复位的时候,所有的微处理器通常都从某个由CPU制造商预先安排的地址上取指令;基于ARM920T核的微处理器从地址0x00000000取得它的第一条指令。CPU执行的第一条指令就是Bootloader(引导加载)程序中的第一条指令。

在嵌入式操作系统的核心部分称为内核(kernel),而对硬件设备进行控制和管理的程序模块称为驱动程序(driver)。

在实时系统中,在给定时间内系统可以处理的事件总数称为吞吐量;实时系统中的另一个指标用于衡量输入数据的有效等待时间是生存时间,超过了这个时间,处理器即使接收到输入数据,也不能够给出有用的输出数据。

按照所处物理位置可分为片内存储器和片外存储器以及外部存储设备,按照存储信息的不同又可分为程序存储器和数据存储器。

Thumb-2指令集中专门用于开关中断的专用指令。其中开可屏蔽中断的指令为CPSIE I,关闭可屏蔽中断的指令为CPSID I。

蓝牙技术。其最高数据传输速率为1Mbps左右,传输距离大约在10m之内

GNU是一种常用于开发基于Linux操作系统的嵌入式软件的工具套件;GCC是GNU套件中的编译连接器,它能编译C语言、汇编语言编写的程序代码;设计者要对源程序进行调试,通常需要在GCC命令中加入-g参数;在GDB调试环境下file 命令是装入需要调试的可执行文件,run命令执行当前被调试的程序。

对于嵌入式Linux而言,Bootloader主要完成的工作步骤如下:①初始化处理器及外设的硬件资源配置;②建立内存空间的映射关系,使能MMU,将系统的外存和内存地址变换激活,为最终调用操作系统内核做好准备;③装载操作系统映像到内存;④对Flash存储器编程;⑤运行操作系统;⑥传递系统启动参数;⑦命令行解析和输入/输出控制。

微内核操作系统是对单内核做了结构改进后推出的,在这种操作系统内核机构中,将任务管理、调度器、中断管理和进程间通信模块编译成一个功能精简、空间紧凑的模块,称为微内核;内核小巧,传统操作系统内核中的许多部分都被移出内核,采取服务器方式实现;所有进程请求使用统一接口,进程不需要区分内核模式和用户模式服务。

QNX是由加拿大QSSL公司(QNX Software System Ltd.)开发的分布式实时操作系统,符合POSIX基本标准和实时标准,使其应用可以方便的进行移植;它具备一个很小的内核,即微内核的操作系统;内核提供4种服务:进程调度、进程间通信、底层网络通信和中断处理。

μC/OS-II/III是小型嵌入式操作系统内核,不含设备驱动程序和文件系统;μC/OS-II是开放源代码的操作系统,而它的升级版μC/OS-III是商用操作系统;μC/OS-II具有良好的可裁剪性和可移植性,能够支持的任务数最多为64;任务按优先级抢占式调度方式进行。

Tiny OS是UC Berkeley开发的开放源代码操作系统,属于深度轻量级的操作系统;专为嵌入式无线传感网络设计,功耗较低,特别适合传感器这种受内存、功耗限制的设备;Tiny OS的技术特点是轻线程、主动消息、事件驱动和组件化编程。

S3C2410有三个UART接口UART0、UART1和UART2,其对应的线路控制寄存器为ULCON0、ULCON1和ULCON2,用于确定传输帧的格式;UART的波特率由除数寄存器决定,也取决于外部时钟,还可以是UEXTCLK,由相应控制寄存器决定;通过对UART的控制器寄存器进行编程可确定每个UART的相关中断是否允许;

S3C2410中断控制器支持所有内置硬件各组件的硬件中断,包括24个外部可屏蔽中断EINT0~EINT23以及ADC、RTC、SPI、I2C、UART0/UART1、SDI、USB、DMA0/1/2/3、LCD、WDT、TIMER0/1/2/3、电池错误中断等。

S3C2410的电源管理模块具有正常模式(NORMAL MODE)、慢速模式(SLOW MODE)、空闲模式(IDLE MODE)和掉电模式(POWER_OFF MODE)共四种模式;任何情况下复位操作均自动进入正常工作模式;在掉电模式和休眠模式下,只要有任何一个外部中断EINT[0∶23]或RTC时钟中断发生,也均将返回到正常模式;正常模式下电源管理模式为内核及ARM芯片内部所有硬件组件提供时钟源,即所有设备处于开启状态,因此功耗比较大。用户可以通过软件控制内置硬件组件的开启和关闭,暂时不用的硬件可以关闭以降低功耗。

有GPIO可以实现并行I/O;SPI 、UART、I^2C均是串行工作。

NOR Flash和NAND Flash是市场上两种主要的闪存技术;NOR Flash ROM的特点是以字节为单位随机存取,但NOR Flash ROM写入和擦除速度较慢,影响了它的性能。NAND Flash ROM以页(行)为单位随机存取,在容量、使用寿命和成本方面有较大优势。但是它的读出速度稍慢,编程较为复杂,因此大多作为数据存储器使用。数码相机存储卡和U盘中的Flash均采用NANDFlash,

AMBA 是ARM公司公布的总线协议,是用于连接和管理片上系统 (SoC) 中功能模块的开放标准和片上互连规范。标准规定了ARM处理器内核与处理器内部高带宽RAM、DMA以及高带宽外部存储器等快速组件的接口标准,也规定了内核与ARM处理器内部外围端口及慢速设备接口组件的接口标准。AMBA有多个版本,性能随版本的发展而逐步提高。

ARM汇编包括4条分支指令:B转移指令、BL带返回的转移指令、BLX带返回且带状态切换的转移指令,以及BX带状态切换的转移指令。

随着电子设计自动化水平的提高和VLSI制造技术的飞速发展,半导体加工已经从微米、亚微米进入到深亚微米的时代,单个芯片上可以集成几亿个甚至几十亿个晶体管,因而能够把计算机或其他一些电子系统的全部电路都集成在单个芯片上,既包含数字电路,也可以包含模拟电路,甚至还能包含数字/模拟混合电路和射频电路。微机电系统在芯片上融合了光、机械、电子等多类不同技术的构件,是集微型传感器、微型执行器、信号处理器、接口、通信电路和电源等于一体的微型器件或者微型系统。当前速度最快的CPU已超过10G了, 

与人们日常使用的个人计算机相比,嵌入式系统具有许多不同的特点。①专用型,嵌入式系统与具体应用紧密结合,具有很强的专用型;②隐蔽性,嵌入式系统通常总是非计算机设备(系统)中的一个部分,它们隐藏在其内部,不为人知;③资源受限,嵌入式系统通常要求小型化、轻量化、低功耗及低成本,因此其软硬件资源受到严格的限制;④高可靠性;⑤实时性;⑥软件固化

DDR是Dual Data Rate的缩写,指双倍数据速率;DDR2使原来DDR可预读取2位变成可预读取4位(或8位),把DDR的数据传输速率又提高了两倍(四倍);磁性随机存取存储器MRAM是一种非易失性存储器,拥有SRAM的高速存取能力,以及DRAM的高集成度;铁电存储器FRAM既具有只读存储器非易失性的特点,又具有随机存储器可快速随机读写的特点,而且速度快,功耗低。

在嵌入式系统中,对于CPU使用最频繁的少量的程序代码和数据用SRAM作为高速缓冲存储器(Cache)存放,系统正在运行中的程序的大部分数据和代码存放在主存储器(内存)中,尚未启动运行的其余程序或数据则存放在容量大的外部存储器如磁盘中待命。使用Cache的优点是只需要增加少许成本,就能使整个系统的性能得到显著提高。

ARM汇编分支程序采用转移指令B、子程序调用指令BL或条件转移指令BX来实现;在ARM汇编中一般没有专门的指令用来实现循环,一般采用比较指令CMP、ADD或SUB等能产生条件的指令,然后再通过带状态的条件转移指令BX来实现。

DCD为ARM汇编器所支持的数据定义伪指令,用于分配一片连续的字存储单元并用指定的数据初始化,A项正确;CODE16伪指令通知编译器,其后的指令序列为16位的Thumb指令,故B正确;EQU是等于伪指令,用于为程序中的常量、标号等定义一个等效的字符名称,Test EQU 50定义标号Test的值为50,C错误;IMPORT伪指令用于通知编译器要使用的标号在其他源文件中定义,但要在当前源文件中引用,而且无论当前源文件是否引用该标号,该标号均会被加入到当前源文件的符号表中,D项解释正确,

寄存器间接寻址就是以寄存器中的值作为操作数地址,而操作数本身存放在存储器中。用于间接寻址的寄存器必须用[]括起来。,

大端模式,是指数据的高位保存在内存的低地址中,而数据的低位保存在内存的高地址中;小端模式,是指数据的高位保存在内存的高地址中,而数据的低位保存在内存的低地址中;ARM处理器支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;MPU为ARM处理器的内存保护单元,MMU是ARM处理器的内存管理单元

ARM处理器的CPSR寄存器是程序状态寄存器,包含条件码标志,中断禁止位,当前处理器模式以及其他状态和控制信息。

ARM处理器有多种工作模式,其中用户模式(USER)是ARM处理器正常的程序执行状态;系统模式(SYS)是运行具有特权的操作系统任务;快中断模式(FIQ)支持高速数据传输或通道处理;管理模式(SVC)即操作系统保护模式。除此之外还有数据访问终止模式(ABT)、中断模式(IRQ)、未定义指令终止模式(UND)。

目前计算机中使用最广泛的西文字符集及其编码是ASCII字符集和ASCII码,即美国标准信息交换码。基本的ASCII字符集共有128个字符,包括96个可打印字符和32个控制字符,每个字符使用7个二进制位进行编码。我国目前广泛使用的汉字编码国家标准有GB2312和GB18030。GB2312国标字符集中包含3755个一级常用汉字和3008个二级常用汉字,此外还有682个图形符号(包括拉丁字母、俄文、日文平假名与片假名、希腊字母、汉语拼音等)。这些汉字和图形符号在计算机内部都采用2字节(16个二进制位)来表示。

嵌入式系统中的CPU一般具有4个特点:①支持实时处理;②低功耗;③结构可扩展;④集成了测试电路。

与人们日常使用的个人计算机相比,嵌入式系统具有许多不同的特点:①专用型,嵌入式系统与具体应用紧密结合,具有很强的专用型;②隐蔽性,嵌入式系统通常总是非计算机设备(系统)中的一个部分,它们隐藏在其内部,不为人知;③资源受限,嵌入式系统通常要求小型化、轻量化、低功耗及低成本,因此其软硬件资源受到严格的限制;④高可靠性;⑤实时性;⑥软件固化。

嵌入式Web服务环境构建。基于嵌入式WEB的应用系统中,构件设计阶段需要设计支持以太网通信的电路,包括以太网控制电路及以太网驱动电路;按题中所述接法,AX88796芯片内部寄存器的读/写地址,其首地址一般是0x10000000。

嵌入式系统的开发过程和调试工具。嵌入式系统开发时,由于受到目标机资源的限制,需要建立一个宿主机与目标机组成的调试架构来完成开发工作;若目标机为裸机环境时,通常需要通过JTAG接口来完成硬件环境测试及初始软件的调试和下载。

RTLinux基本的设计理念就是“架空”Linux内核,以便让其他实时进程能尽快地被执行。其开发者将Linux的内核代码做一些修改,而非针对实时操作系统的特性而重写Linux的内核,将Linux的任务以及Linux内核本身作为一个低优先级的任务,而实时任务作为最高优先级的任务。

引导加载程序Bootloader的执行过程。系统中引导加载程序主要完成加电自检、外设存在自检、内存地址映射、初始化外围设备、内存寻址定位、加载并启动操作系统。

μC/OS-II内核只提供任务调度、任务间通信与同步、任务管理、时间管理和存储管理等基本功能,资源消耗非常小。

在ARM处理器中,R0~R15是通用寄存器,其中有两个较特殊,作为堆栈指针SP使用的寄存器是R13,作为程序链接寄存器LR使用的是R14。

ARM处理器的7种异常。按向量地址从小到大排列的顺序是:复位、未定义指令UND、软件中断SWI、指令预取中止PABT、数据访问中止DABT、外部中断请求以及快速中断FIQ。

 
 

 

 

30μC/OS-II系统中的每个任务都处在以下5种状态之一:休眠态、就绪态、运行态、挂起态(等待某一事件发生)和被中断态

任务处于休眠态,相当于该任务驻留在内存中,但还没有交给内核管理

任务处于就绪态,意味着该任务已经准备好,可以运行了,但由于该任务的优先级比正在运行的任务的优先级低,还暂时不能运行

任务处于运行态,指任务得到了CPU的控制权正在运行之中

任务处于被中断态,是指发生中断时执行相应的中断服务,原来正在运行的任务暂时停止运行,进入了被中断状态

main()函数在执行过程中,除了用户函数和硬件初始化函数之外,需要按顺序执行以下三个主要的μC/OS-II函数:OSInit();OSTaskCreate();OSStart()。

利用嵌入式芯片的GPIO构成线性键盘时,一个按键需要占用一个GPIO引脚;采用矩阵键盘结构时,8个GPIO引脚最多能构成64个按键的键盘;采用机械式按键设计键盘时,按键按下时会产生抖动;矩阵键盘通常用行扫描法或反转法读取按键的特征值。

嵌入式系统使用的存储器按照其存取特性可分为RAM和ROM;按照其所处物理位置可分为片内存储器和片外存储器以及外部存储器;按照存储信息的类型可分为程序存储器和数据存储器;随着新技术的发展,新型的铁电存储器FRAM在嵌入式系统中得到了应用。

JTAG技术是一种嵌入式测试技术,目前大多数嵌入式CPU、DSP、FPGA器件都支持JTAG标准。JTAG标准允许多个芯片(电路)的边界扫描寄存器BSR通过JTAG接口串联在一起,实现对多个器件的测试。通过芯片的JTAG接口可以实现在线编程功能

在ARM的体系结构中,处理器可以工作在3种不同的状态,①ARM状态②Thumb/Thumb-2状态③调试状态。ARM状态是ARM处理器工作于32位指令的状态,即32位状态,所有指令均为32位宽度。Thumb状态是ARM执行16位指令的状态,即16位状态。在Thumb模式下,指令代码只有16位,使代码密度变大,占用内存空间减小,提供比32位程序代码更佳的效能。ARM处理器复位后自动进入ARM状态。

一个A类IP地址由1字节(每个字节是8位)的网络地址和3个字节主机地址组成,网络地址的最高位必须是“0”, 即第一段数字范围为1~127。每个A类地址可连接16387064台主机,Internet有126个A类地址。

以太网数据帧:前导码(7字节)、帧起始定界符(1字节)、目的MAC地址(6字节)、源MAC地址(6字节)、类型/长度(2字节)、数据(46~1500字节)、帧校验序列(4字节)。

集成电路根据其集成度的高低可以分为小规模(SSI)、中规模(MSI)、大规模(LSI)、超大规模(VLSI)和极大规模(ULSI)等几种。嵌入式处理芯片大多属于VLSI和ULSI。集成电路的制造大约需要几百道工序,工艺复杂且技术难度非常高,许多工序必须在恒温、恒湿、超洁净的无尘厂房内完成,生产、控制及测试设备异常昂贵。集成电路大多在硅衬底上制作而成,硅衬底是单晶硅锭经切割、研磨和抛光而成的圆形薄片。集成电路中的电路及电子元件,需反复交叉使用氧化,光刻,掺杂和互连等工序才能制成。

SoC芯片中既包含数字电路,也可以包含模拟电路,甚至还能包含数字/模拟混合电路和射频电路。由于SoC将嵌入式系统的几乎全部功能都集成在一块芯片中,单个芯片就能实现数据的采集、转换、存储、处理和I/O等多种功能。目前,大多数32位的嵌入式处理芯片均为SoC,SoC逐渐成为集成电路设计的主流发展趋势。

HAL系统库提供以下服务:结合Newlib ANSI C标准库,向用户提供熟知的标准库函数;提供设备驱动,使用户可以访问系统中的所有设备;为用户提供了与HAL服务相统一的标准接口(HAL  API),例如数据访问、中断处理和报警设施;系统初始化,在main()函数之前完成软核处理器Nios和运行库环境的初始化任务;设备初始化,在main()函数之前完成每个设备的实例化和初始化。

微内核操作系统是对单内核做了结构改进后推出的,内核小巧,传统操作系统内核中的许多部分都被移出内核,采取服务器方式实现;接口一致,所有进程请求使用统一接口,进程不区分内核模式和用户模式服务;各个功能模块之间松散耦合,只完成服务功能,系统管理功能交给一个或多个特权服务程序;微内核功能扩充方便,但是各个功能之间的切换而引起的开销比较大。

 

 

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章