IP核通常分为3种:软核,即使用硬件描述余语言(HDL)描述的IP核;固核,与工艺相关的包含具体结构信息的IP核,以逻辑综合后的RTL描述和可综合网表的形式提供;硬核,是已被投片测试验证的IC的掩膜版图和全套工艺文件。
GCC是GNU开发工具套件中的核心工具软件,是GNU C语言编译器的简称。GCC所编译的目标机的处理器包括X86、ARM、PowerPC等体系结构的处理器,如ARM_Linux_GCC即是针对ARM体系结构的目标机的编译工具。Linux操作系统的嵌入式软件的工具套件GNU相关知识。GCC是GNU开发工具套件中的核心工具软件,是编译器;GDB是GNU开发工具套件中的程序调试工具。
Thumb-2指令集的掌握,开关中断指令属于程序状态类指令,用于更改处理器状态。关外部中断使用的指令为:CPSID I,开外部中断的指令为:CPSIE I。
UART的构成。UART由发送器、接收器、控制单元及波特率发生器等构成
AMBA总线的典型ARM片上系统构建方式。按照AMBA总线规范,基于ARM内核的嵌入式处理器芯片采用系统总线与外围总线两层结构的方式构建片上系统。其中的系统总线主要用于连接高带宽快速组件。
嵌入式系统的存储器以半导体存储器为主,FRAM和MRAM,分别称为铁电随机存取存储器和磁性随机存取存储器。
片选信号CS低电平有效; nGCS2映射地址为0x10000000。
ARM9体系结构中规定异常向量之间各相差四个字节;对于S3C2410微处理器来说,其启动引导程序还需要完成禁止看门狗定时器部件和禁止中断,并设置各工作模式下的堆栈指针。
存储器管理单元(MMU)是许多高性能处理器所必需的重要部件之一,用来完成虚拟地址到物理地址转换。存储器保护单元(MPU)湿度存储器进行保护的可选组件。
临界区的概念和关中断操作。代码的临界区(Critical Section)是指处理时不可分割的代码。为确保临界区代码的执行,在进入临界区之前必须关中断,执行完临界区代码之后要立即开中断。μC/OS-II系统调用宏OS_ENTER_CRITICAL ()执行关中断操作。代码的临界区是指处理时不可分割的代码;一旦这部分代码执行,不允许任何中断打入。任务级的调度是由函数OSSchedLock()完成的。
差分传输,就是发送端在两条信号线上传输幅值相等相位相反的电信号,接收端对接受的两条线信号作减法运算,这样获得幅值翻倍的信号。
特点:从严格意义上来讲,所有电压信号都是差分的,因为一个电压只能是相对于另一个电压而言的。在某些系统里,\系统地\被用作电压基准点。当'地'当作电压测量基准时,这种信号规划被称之为单端的。我们使用该术语是因为信号是用单个导体上的电压来表示的。 另一方面,一个差分信号作用在两个导体上。信号值是两个导体间的电压差。尽管不是非常必要,这两个电压的平均值还是会经常保持一致。】
软件平台的构建步骤通常是:首先移植启动引导程序(Bootloader),然后完成Linux内核的移植,随后还需构建根文件系统。基于ARM9核的处理器,各异常向量之间相差4个字节。因此,需要在各异常向量处设计一条无条件转移指令。对于S3C2410微处理器来说,启动引导程序还需要完成禁止看门狗部件和禁止中断,并设置各工作模式下的SP指针,然后再通过BL指令来引导应用程序的main函数
ARM7采用冯?诺依曼结构,3级流水线,无MMU;ARM Cortex-A15采用哈佛结构,13级流水线,MPCore为多核,超标量,可变长度,乱序执行指令流水线,动态分支指令预测,4路相关二级Cache。
】典型的嵌入式WEB服务器应用软件至少有4个重要的组件:客户端浏览器,WEB服务器、WEB页面、设备操控程序等。其中WEB页面是用于设备操控命令提交或设备状态信息显示的人机界面,它需要通过CGI接口来与设备操控程序进行信息交互。
传送CPSR或SPSR的内容到通用寄存器指令用MRS;传送通用寄存器到CPSR或SPSR的指令用MSR。
为了连接ARM内核与处理器芯片中的其他各种组件,ARM公司定义了总线规范,名为先进微控制器总线体系结构(Advanced Microcontroller Bus Architecture, AMBA); 先进外围总线(Advanced Peripheral Bus, APB)。
在掉电模式下,电源管理模块将断开内部电源,除非唤醒逻辑有效,内核不产生功耗;在任何情况下,对处理器进行复位操作,均自动进入 正常模式。
GNU包含三个协议条款,其中最重要的是GPL。GPL是通用公共许可协议。图中X处应为设备驱动程序。
硬件最小系统包括电源电路、时钟电路、复位电路、调试测试接口、以及存储器
嵌入式系统硬件的逻辑组成。硬件的主体是中央处理器和存储器,他们通过I/O接口和I/O设备与外部世界联系,并借助总线相互连接。中央处理器(CPU)由运算器、控制器、寄存器、高速缓冲存储器(Cache)等部件组成,故A是中央处理器;B里面包括按键、键盘、指示灯和屏幕等人机交互设备,他们是用户界面的硬件部分,所以B是用户界面。
ARM处理器中通用寄存器的作用。ARM通用寄存器共有31个,均为32位结构。R13~R14除了用户模式和系统模式分别为堆栈指针(SP)和程序链接寄存器(LR)之外,其他模式下均有自己独特的标记方式,是专门用于特定模式的寄存器,共6组12个。
I2C总线的相关概念。是广泛采用的一种串行半双工传输的总线标准。I2C总线中发起数据传输操作的I2C器件是主控器件。
嵌入式系统主要开发工具软件ADS1.2如何进行地址映射配置。ADS1.2把目标文件中的信息按照3种存储区域类型来进行划分,即划分为RO段、RW段、ZI段;RO段是指代码存储
区和常数存储区,具有只读性质。
伪指令的了解和使用。引用一个在其它文件中的标号Lable1的伪指令为IMPORT Lable1,声明一个全局标号Lable2以便其它文件引用,该伪指令为EXTERN Lable2。
数字信号处理器的英文缩写是DSP,是一种专用于数字信号处理的微处理器,指令系统中增加单指令多数据(SIMD)并行处理的特殊指令。
ARM嵌入式处理芯片方面的知识。基于Cortex-M0的专家处理器为SC100,基于Cortex-M3的专家处理器名为SC300。
直接存储器访问(DMA)控制器可将数据块从外设传输至内存、从内存传输至外设或从内存传输至内存。
本题考查存储器的主要性能指标及相关因素。存储器带宽与存储器总线的工作频率(周期)有关,也与数据线的位数(位宽、宽度)和每个总线周期的传输次数有关。
串行外设接口SPI。SPI一般使用4条信号线:串行时钟线SCK、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SSEL。
本题考查嵌入式系统仿真开发平台相关概念。仿真平台(仿真开发平台)一般指嵌入式系统开发过程中使用的虚拟机管理软件、仿真软件或者指令集模拟器。
嵌入式操作系统的基本组成。在嵌入式操作系统的核心部分称为内核(kernel),而对硬件设备进行控制和管理的程序模块称为驱动程序(driver)。
嵌入式系统的启动顺序和Bootloader的存放位置。在嵌入式系统加电或复位的时候,所有的微处理器通常都从某个由CPU制造商预先安排的地址上取指令;基于ARM920T核的微处理器从地址0x00000000取得它的第一条指令。CPU执行的第一条指令就是Bootloader(引导加载)程序中的第一条指令。引导加载程序在引导加载操作系统时,设置相关的寄存器和资源,跳转到操作系统所在的空间,执行其引导,这个过程中可以给内核传递参数,可以控制系统启动的模式。
U-Boot是一种通用的引导加载程序,对PowerPC系列处理器支持最为丰富,对Linux操作系统的支持最为完善。
嵌入式系统的调试,驻留监控软件调试。所谓驻留监控软件是一段固化在目标机ROM中的程序。它是一种成本较低的调试方法,不需要专门的硬件调试和仿真设备。
ADS1.2工具软件对嵌入式系统进行开发时的相关设置。利用ADS1.2工具套件进行基于ARM硬件平台的软件开发,在进行编译连接时,地址映射连接类型有2种方式,分别是Simple连接类型和Scattered连接类型。采用Scattered连接类型时需要提供一个scatter格式的配置文件。
移植μC/OS-II操作系统作为软件平台。移植工作的重点是改写OS_CPU.H、OS_CPU_A.S、OS_CPU_C.C等与处理器硬件有关的文件;用OSTaskCreate()函数来创建任务,并用OSStart()函数来启动多任务调度功能。μC/OS-II操作系统中,一般用OSQPend()函数来等待并获得消息,用函数OSQPost()来发送消息;当有多个任务在等待消息队列中的消息时,其中任务优先级最高的任务将获得消息。
堆层式软件架构的组成,分为四层,从低层到高层分别是内核、系统运行库、应用程序框架和应用
Linux操作系统内核的网络模块可分为两部分:一部分提供对各种网络资源访问的控制,称为网络协议;另一部分提供对各种网络硬件的支持,称为网络驱动程序。
DSP数字信号处理器相关的知识。数字信号处理器的英文缩写是DSP,是一种专用于数字信号处理的微处理器,指令系统中增加单指令多数据(SIMD)并行处理的特殊指令。
ARM汇编语言中子程序调用与返回调用程序的指令。当调用子程序时,子程序调用指令为BL;子程序返回调用程序的指令为MOV PC,LR。
嵌入式系统的开发过程,通常分为:需求分析与规格说明、系统设计、构件设计、系统集成与测试等4个阶段。
ARM汇编器支持的伪指令。题中DCD用于分配一片连续的字存储单元并用指定的数据初始化,属于数据定义伪指令;CODE16伪指令通知编译器,其后的指令序列为16位的Thumb指令。