题型分析
1.选择 1分1空 40分
2.填空 2分1空 40分
3.综合 20分
收集
选择:
1.不属于嵌入式系统:巨型计算机
2.4位,8位,32位,64位
3.8位MCU
4.SoC:片上系统
通用SoC:可以有一个或多个CPU(或DSP),称为单/多核SoC
5.数码相机
由前端和后端两部分组成
前端负责数字图像获取,后端负责数字图像的处理
后端通常是以嵌入式DSP作为核心的SoC芯片,DSP用于完成数字图像处理
还有一个超低功耗的8位MCU,负责进行操作控制;
配置有实时操作系统和图像处理软件
6..txt文字统计
nKB*1024 如果是汉字则/2
7.数字有线电视所传输的数字视频采用的压缩编码标准 - MPEG-2
MPEG-2 - 1994 - 传输率在3-10Mbits/sec间 - NTSC制式下的分辨率可达720X486
8.C类IP地址范围:192.0.0.1到223.255.255.254。C类网络地址数量较多,适用于小规模的局域网络,每个网络最多只能包含254台计算机。
9.嵌入式处理器 体系结构
按 指令集 分:CISC 和 RISC
按 存储机制 分:冯诺·依曼结构 及 哈佛结构
按 字长 分:8位、16位、32位和64位
10.ARM内核主要特点
耗电省、功能强、成本低、
16位Thumb与32位ARM和Thumb-2双指令集并存
ARM有许多系列,如ARM7,ARM9,ARM10E,XScale,Cortex等
哈佛结构和冯诺依谩结构都有
(如控制领域最常用的ARM7系列是冯诺依谩结构,而Cortex-M3系列是哈佛结构。)
ARM公司在经典处理器ARM11以后的产品改用Cortex命名,并分成A、R和M三类,旨在为各种不同的市场提供服务。
Cortex系列属于ARMv7架构,这是到2010年为止ARM公司最新的指令集架构。(2011年,ARMv8 架构在 TechCon 上推出)ARMv7架构定义了三大分工明确的系列:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器。
11.在ARM的体系结构中,处理器可以工作在3种不同的状态,①ARM状态②是Thumb状态及Thumb-2状态③调试状态。
除支持Thumb-2的ARM处理器外,其他所有ARM处理器都可以工作在ARM状态。ARM状态是ARM处理器工作于32位指令的状态,所有指令均为32位宽度。
12.CPSR(当前程序状态寄存器)在任何处理器模式下被访问。它包含了条件标志位、中断禁止位、当前处理器模式标志以及其他的一些控制和状态位。
13.大端模式 - 反过来
所谓的大端模式,是指数据的高位,保存在内存的低地址中,而数据的低位,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位存放。
14.在Thumb指令集中,8位数据变32位可以通过数字左移完成
15.指令LDR R2,[R5,#2]!执行后,LDR是存储器到寄存器的数据传送指令,#是立即数符号,题中是基址加变址寻址,表示[R5+2]→R2,执行过后,R5的值为R5+2。
16.将ARM处理器R0中的一个字节的数据,存入由R1+4指示的内存区域,且地址自动更新,则使用的ARM指令是:需采用基址加变址寻址方式,字节数据存储指令用STRB
17.汇编中使用逻辑或指令和1进行或运算可以达到让寄存器中的指定位置位的作用
18.前向通道:
输入接口 - 模拟量输入接口、数字量输入接口,包括传感器,信号调节电路(滤波,放大器等),A/D转换器(Analog模拟 to Digital数字 Converter)等构成
19.后向通道:
输出接口 - 模拟量输出接口、数字量输出接口,包括D/A转换器,功率放大器,执行器等
20.AMBA 是ARM公司公布的总线协议,用于连接和管理片上系统 (SoC) 中功能模块的开放标准和片上互连规范。
21.系统总线通过桥接器与外围总线互连。
外围总线连接的硬件组件包括:GPIO、UART、SPI、I2C、USB设备ADC(Analog模拟-to-Digital数字 Converter)、DAC等等。DMA(Direct Memory Access,直接存储器访问)控制器
22. ARM芯片内部 定时计数组件
看门狗定时器(WDT,WatchDog Timer)
Timer通用定时器、
RTC(Real Time Clock)、
脉冲宽度调制器(PWM)
23. ARM芯片内部 可互联通信组件
UART、I2C、SPI、CAN、USB、Ethernet
24.嵌入式系统使用的存储器
以半导体存储器为主
RAM - SRAM(静态RAM) - DRAM(Dynamic RAM,动态RAM)
FRAM、MRAM
闪存技术:NOR Flash和NAND Flash
在性能高的嵌入式处理器中都会集成内部Cache,ARM9和ARM11都有Cache存储器
25.串行外设接口:SPI
使用4跳线:SCK、MISO、MOSI和SSEL
采用SPI可以构成“一主一从式”、 “一主多从式”、 “多主多从式”和“互为主从式”系统
26.USB接口
提供了内置电源
即插即用、热插拔
USB 2.0采用半双工差分方式传送信息,目前USB2.0的速度为480Mb/s,USB3.0达到5Gb/s即640MB/s
27.8段共阴极LED数码管 段码
8段共阴极LED数码管如下图所示,为使其显示数字5,其段代码(高位到低位的顺序是:dp g f e d c b a)为( )。按题目要求,LED为共阴极接法,要显示数字5,则a、f、g、e、d是高,段码应该是01101101,0X6D。
28.实时操作系统 7个特征 (IEEE的实时UNIX分委会)
- 具有异步I/O和中断处理能力;
- 任务切换时间和中断延迟时间确定;
- 优先级中断和调度;
- 抢占式调度;
- 内存锁定;
- 连续文件;
- 同步。
29.嵌入式操作系统 - 强实时型 和 普通实时型
强实时嵌入式操作系统有VxWorks,pSOS,μC/OS-II
30.单内核结构
单内核结构是传统操作系统采用的结构,也称为宏内核(Macro Kernel)。
缺点:占内存空间大,缺乏可扩展性,维护困难,任务执行时间的可预测性较低,可靠性较低,排除故障和增加新功能需要重编译。
优点:应用程序生成效率高,系统花在内核功能切换上的开销非常小,对外来事件反应速度快,操作系统内核的运行效率高。
31.U-Boot以POCBoot和ARMBoot 计划为基础。除了支持Power PC系列处理器外,还支持X86、ARM、Mips、Alpha、IA64、SupcrHSPARC等多种常用体系结构处理器。
32.μC/OS-II
μC/OS-II是抢占式实时操作系统内核,只能管理64个任务。目前的版本保留8个任务给系统,这样用户编写的应用程序最多可以有56个任务。不支持时间片轮转调度法,因此赋给每一个任务的优先级是不相同的。每个任务拥有自用栈。
33.保护任务之间的共享数据和提供任务之间的通信 的方法:
在μC/OS-II中有多种方法可以保护任务之间的共享数据和提供任务之间的通信。其中主要有以下三种:利用宏OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()来关闭中断和打开中断;利用函数OSSchedLock()和OSSchedUnlock()对任务调度函数上锁和开锁;利用信号量、互斥信号量、邮箱和消息队列进行任务间通信。
利用内存文件进行任务间的大规模数据共享是达不到保护任务之间的共享数据的作用。
34.移植μC/OS-II到一个嵌入式电路板上正常运行
移植μC/OS-II到一个嵌入式电路板上正常运行,必须满足以下要求:
- 处理器的C编译器能产生可重入代码;
- 用C语言就可以打开和关闭中断;
- 处理器支持中断,并且能产生定时中断(通常在10~100Hz之间);
- 处理器支持能够容纳一定量数据(可能是几千字节)的硬件栈区;
- 处理器有将栈区指针和其他CPU寄存器读出和存储到栈区或内存中的指令。存储管理单元可以不需要。
35.Nios II软核处理器的硬件抽象层(HAL)系统库
- 结合Newlib ANSI C标准库,向用户提供熟知的标准库函数;
- 提供设备驱动,使用户可以访问系统中的所有设备;
- 为用户提供了与HAL服务相统一的标准接口(HAL API),例如数据访问、中断处理和报警设施;
- 系统初始化,在main()函数之前完成软核处理器Nios和运行库环境的初始化任务;
- 设备初始化,在main()函数之前完成每个设备的实例化和初始化。
36.IOS的前身是UNIX-BSD
37.微内核操作系统
微内核操作系统是对单内核做了结构改进后推出的,内核小巧,
- 传统操作系统内核中的许多部分都被移出内核,采取服务器方式实现;
- 接口一致,所有进程请求使用统一接口,进程不区分内核模式和用户模式服务;
- 各个功能模块之间松散耦合,只完成服务功能,系统管理功能交给一个或多个特权服务程序;
- 微内核功能扩充方便,但是各个功能之间的切换而引起的开销比较大。
38.裸机状态的目标机当然更需要采用 JTAG调试 方式
39.采用开发工具的主要目的:提高开发质量,缩短开发周期,降低开发成本
40.ARM处理器所处于的状态
ARM状态:所有指令均为32位宽度:;
Thunb状态:ARM执行16位指令的状态:;
Thunb-2状态是ARMv7版本的ARK处理器所具有的新状态,新的Thunb-2内核技术兼有16位及32位指令长度;除支持Thumb-2的ARM处理器外,其他所有ARM处理器都可以工作在ARM状态.
41.ARM处理器中用作程序计数器PC的通用寄存器是R15;R12是通用寄存器;
R13和R14除了用户模式和系统模式分别为堆栈指针(Stack Pointer, SP)和程序链接寄存器(Link Register, LR)之外,其他模式下均有自己独特的标记方式,是专门用于特定模式的寄存器。
42.已知内存0x30000010~0x30000013以大端模式存放一个32位无符号数0xAABBCCDD,R1=0x30000010,R0=0,执行ARM指令LDRH R0,[R1,#2]之后, R0的值为()。
在大端模式(Big-Endian)中,一个32位无符号数0xAABBCCDD存储在内存地址0x30000010到0x30000013中时,其字节顺序是:
1 | 0x30000010: AA |
LDRH
指令用于从内存中加载一个半字(16位)到寄存器中。当执行LDRH R0,[R1,#2]
这条指令时,它会从R1指向的地址加上偏移2开始的内存地址读取16位数据。在这个例子中,R1=0x30000010,所以它会从0x30000012开始读取。
因此,R0将接收内存地址0x30000012和0x30000013中的16位数据,即CC DD
。在ARM架构中,半字数据被加载到寄存器的低16位,而高16位则保持不变(通常为零)。由于R0初始值为0,所以执行该指令后:
1 | R0 = 0x0000CCDD |
这是将16位的CC DD
加载到R0后的结果,其中CC
是高8位,DD
是低8位。
43.除了大端模式,还有什么别的模式吗?
是的,除了大端模式(Big-Endian),还存在另一种字节序模式,即小端模式(Little-Endian)。这两种模式是计算机存储多字节数据时的两种不同方式:
大端模式(Big-Endian):
- 在大端模式中,多字节数据的最高有效字节(MSB)存储在最低的内存地址处,接下来是次高有效字节,以此类推,最低有效字节(LSB)存储在最高的内存地址处。
- 例如,对于32位的数据0x12345678,在大端模式下存储为:
1
2
3
40x30000010: 0x12
0x30000011: 0x34
0x30000012: 0x56
0x30000013: 0x78
小端模式(Little-Endian):
- 在小端模式中,多字节数据的最低有效字节(LSB)存储在最低的内存地址处,接下来是次低有效字节,以此类推,最高有效字节(MSB)存储在最高的内存地址处。
- 同样以32位的数据0x12345678为例,在小端模式下存储为:
1
2
3
40x30000010: 0x78
0x30000011: 0x56
0x30000012: 0x34
0x30000013: 0x12
大多数现代计算机系统和微处理器,如x86架构,使用小端模式存储数据,而一些其他系统,如网络协议、某些UNIX系统V应用二进制接口(ABI)、以及一些特定的处理器(如Motorola 68000系列)则使用大端模式。
在实际应用中,开发者需要根据目标系统的字节序来正确地读取和解释数据。例如,网络协议通常使用大端模式,而许多个人电脑和服务器则使用小端模式。在进行跨平台数据交换时,字节序问题尤其重要,需要确保数据在不同字节序的系统间正确地转换和解释。
44.ARM指令LDRH 对字节的操作
填空:
1.IP核是什么?IP核的分类
IP核,全称为Intellectual Property Core,即知识产权核,是集成电路设计中预先设计、经过验证、可重复使用的具有特定功能的模块。这些模块可以是电路的一部分,也可以是整个系统的设计,它们包含了设计所需的关键信息,如逻辑功能、行为描述、代码等。使用IP核可以显著提高设计效率、缩短设计周期、降低开发成本。
IP核的分类主要有三种:
- 软核(Soft IP Core):软核是用硬件描述语言(如VHDL或Verilog)编写的代码,它们描述了电路的功能,但不包含具体的物理实现细节。软核的灵活性最高,因为它们可以在不同的工艺节点和不同的设计中重复使用,但可能需要更多的时间和资源来集成和优化。
- 固核(Firm IP Core):固核是介于软核和硬核之间的一种形式,它们通常提供了一些布局布线信息,但仍然允许一定程度的灵活性。固核可能包括一些预布局的关键信号路径,以确保特定的时序要求得到满足。
- 硬核(Hard IP Core):硬核是已经完成布局布线、具有特定工艺实现的IP。它们通常提供最佳的性能和功耗优化,但牺牲了设计的灵活性,因为硬核是为特定的工艺技术定制的,不易移植到其他工艺中。
除了上述三种主要分类,还有一些特殊的IP核,如嵌入式微处理器IP核,它们通过在FPGA中实现微处理器的逻辑功能,为嵌入式软件设计者提供了在FPGA上开发程序的平台。
在管理IP核时,可能会面临可见性有限、环境复杂等挑战,因此需要有效的IP管理策略和工具来确保IP核的可追溯性和安全性。例如,Perforce公司的Methodics IPLM就是用于IP管理的解决方案之一,它帮助实现IP的可追溯性和安全性。
半导体IP核的应用领域非常广泛,包括消费电子、电信、工业、汽车、商业等,随着技术的发展,智能汽车、AI等领域对IP核的需求日益增长。此外,随着Chiplet技术和RISC-V架构的发展,IP核在集成电路产业中的作用越来越重要,它们为芯片设计提供了新的可能性和灵活性。
2.计算存储器容量
65536色 = 2^16 = 16位 = 2B
B - KB - MB - GB - TB 1024 - 1
3.WLAN-无线局域网
WLAN是无线局域网(Wireless Local Area Network)的缩写,它是一种利用无线通信技术在局部范围内实现网络连接的方法。WLAN允许电子设备通过无线信号在没有物理网络连接的情况下相互连接和通信。以下是WLAN的一些关键特点和组成部分:
- 无线标准:WLAN技术遵循特定的国际标准,如IEEE 802.11系列标准。这些标准定义了无线网络的通信协议、频率、数据传输速率和其他技术细节。
- 频率范围:WLAN通常在2.4 GHz、5 GHz或60 GHz的ISM(工业、科学、医疗)频段上运行,这些频段在全球范围内免费供公众使用。
- 接入点(AP):无线接入点是WLAN网络的核心组件,它充当无线网络和有线网络之间的桥梁。接入点负责将无线信号转换为有线信号,并连接到互联网或其他网络资源。
- 客户端设备:笔记本电脑、智能手机、平板电脑等设备通常内置有WLAN网卡,使它们能够无线连接到网络。
- 安全性:WLAN使用各种安全协议来保护数据传输,如WEP(有线等效保密)、WPA(Wi-Fi保护访问)、WPA2和最新的WPA3。
- 应用场景:WLAN广泛应用于家庭、办公室、学校、机场、咖啡店等场所,提供无线上网服务。
- 速度和范围:WLAN的数据传输速率和覆盖范围取决于多种因素,包括无线标准、设备能力、物理障碍物、干扰等。
- 漫游:在一些大型WLAN网络中,如企业或校园网络,用户可以在不同接入点之间无缝切换,这称为漫游。
- 配置和管理:WLAN网络可以通过专门的软件进行配置和管理,包括用户认证、网络监控、性能优化等。
随着技术的发展,WLAN已经成为现代生活中不可或缺的一部分,为人们提供了极大的便利和灵活性。
WLAN所采用的主要通信协议是802. 11;数据传输速率可达到11 Mbps、 54Mbps、 108Mbps甚至更高。
4.ARM处理器的7种异常及相应优先级
在ARM架构中,处理器支持多种异常模式,这些异常模式用于处理不同的系统事件和错误条件。ARM7处理器支持7种异常模式,每种模式都对应一个特定的异常处理程序,这些处理程序被称为异常向量。当异常发生时,处理器会自动切换到相应的模式,并从异常向量表中的固定地址开始执行异常处理程序。
ARM7处理器的7种异常及其优先级如下:
- Reset (复位) - 这是最高优先级的异常,用于系统启动或复位时的初始化。
- Undefined Instruction (未定义指令) - 当处理器尝试执行一个未定义的指令时触发。
- Software Interrupt (软件中断) - 由SWI指令触发,通常用于操作系统的系统调用。
- Prefetch Abort (预取中止) - 当处理器尝试获取一个无法访问的指令时触发。
- Data Abort (数据中止) - 当处理器尝试进行非法的数据访问时触发。
- Reserved (保留) - 这个异常向量地址是保留的,不用于任何异常处理。
- Interrupt Request (中断请求) - 用于响应外部或内部的中断请求。
- Fast Interrupt Request (快速中断请求) - 用于需要快速响应的中断,如直接内存访问(DMA)。
每种异常模式都有固定的优先级,其中Reset具有最高的优先级,而其他异常则根据需要和设计有不同的优先级设置。在多任务或多中断源的系统中,优先级设置非常重要,它决定了在多个异常同时发生时,哪个异常处理程序将首先被执行。
在ARMv7架构中,异常处理程序通常由向量表中的入口地址指定,该表在内存中有一个固定的起始位置。当异常发生时,处理器会自动跳转到对应的入口地址执行异常处理程序。异常处理程序执行完毕后,处理器会返回到异常发生前执行的指令。
请注意,ARM架构随着版本的不同,支持的异常类型和处理方式可能会有所变化。例如,在ARMv6和ARMv7架构中,异常处理机制相对简单,而在ARMv8架构中,引入了更复杂的异常级别和安全状态,以支持更高级的操作系统和安全需求。上述信息主要基于ARMv7架构。
5.Cortex
Cortex-A 尖端
Cortex-R 实时应用
Cortex-M 控制
6.Thumb-2指令集
Thumb-2指令集是ARM架构中的一部分,它是为了提高代码密度和执行效率而设计的。Thumb-2在ARMv6T2架构及以上版本中被引入,包括ARMv7-A架构。Thumb-2指令集通过使用16位和32位的变长指令来提高代码的紧凑性,同时保持与ARM指令集的兼容性。
Thumb-2指令集的主要特点包括:
- 条件执行:Thumb-2指令集中的大多数指令都可以进行条件执行,这减少了分支指令的开销,并通过使用
IT
(如果-那么)指令来实现复杂的条件执行序列。 - 寄存器访问:Thumb-2指令可以访问全部的32个通用寄存器(R0-R15),而早期的Thumb指令集只允许访问R0-R7。
- 指令集扩展:Thumb-2增加了对32位指令的支持,这使得它能够执行更复杂的操作,同时保持了与ARM指令集的兼容性。
- 统一汇编语言:Thumb-2支持统一汇编语言(UAL),这意味着同一段代码可以生成Thumb或ARM指令,从而简化了编程和代码维护。
- 与ARM指令集的兼容性:Thumb-2指令集设计为与ARM指令集完全兼容,允许在两种模式之间无缝切换。
- 优化的中断和异常处理:Thumb-2提供了优化的中断和异常处理能力,这对于实时操作系统和嵌入式系统非常重要。
Thumb-2指令集在ARMv7架构中得到了广泛应用,它为开发者提供了更高的灵活性和效率,特别是在资源受限的环境中,如嵌入式系统和移动设备。随着ARM架构的发展,Thumb-2指令集也在不断地得到增强和扩展,以满足不断增长的性能和功能需求。
开关中断指令属于程序状态类指令,用于更改处理器状态。关外部中断使用的指令为: CPSID I,开外部中断的指令为: CPSIE I。
Change Processor State
7.ARM 寄存器
问:已知ARM处理器R1=0x12345678, R2=0xFF008899,则执行指令AND R0,R1,R2后,寄存器R0= , R1=
解:ARM 指令 AND R0, R1, R2
执行的是逻辑与(AND)操作。它会将寄存器 R1 和 R2 的内容进行按位与操作,并将结果存储在 R0 中。R1 的值不会改变,因为它不是该操作的目标寄存器。
给定的寄存器值如下:
- R1 = 0x12345678
- R2 = 0xFF008899
按位与操作的规则是,只有两个相应的位都为 1 时结果才为 1,否则为 0。
我们可以将两个寄存器的值转换为二进制形式,然后进行按位与操作:
R1 = 0x12345678 = 0001 0010 0011 0100 0101 0110 0111 1000 (二进制) R2 = 0xFF008899 = 1111 1111 0000 0000 1000 1000 1001 1001 (二进制)
执行按位与操作:(同1为1,否则为0)
1 | 0001 0010 0011 0100 0101 0110 0111 1000 |
将上述二进制结果转换回十六进制:
R0 = 0x12000018
因此,执行指令 AND R0, R1, R2
后,寄存器 R0 的值为 0x12000018,而 R1 的值不变,仍为 0x12345678。
8.ARM 调用 子程序
已知ARM处理器R1=0x12345678, R2=0xFF008899,则执行指令AND R0,R1,R2后,寄存器R0= , R1=
在 ARM 汇编语言中,调用子程序通常使用 BL
(Branch with Link)指令。这条指令会将返回地址(即子程序返回后继续执行的地址)保存在链接寄存器 LR 中,然后跳转到子程序的地址执行。
调用子程序 MySubroutine
的指令为:
1 | BL MySubroutine |
子程序执行完毕后,要返回调用程序,通常使用 BX
指令配合链接寄存器 LR。在子程序的末尾,可以放置以下指令来返回调用程序:
1 | BX LR |
这条指令会使程序跳转到 LR 寄存器中存储的地址继续执行,即返回到调用子程序的地方。在 ARMv7 架构中,也可以使用 MOV
指令将 LR 的值移动到 PC(程序计数器)来实现返回:
1 | MOV PC, LR |
在某些情况下,如果子程序非常短,也可以直接使用 B
指令返回,但这通常不推荐,因为它不会更新 LR 寄存器,可能会影响其他复杂的调用和返回流程。
总结:
- 调用子程序的指令:
BL MySubroutine
- 子程序返回调用程序的指令:
BX LR
或MOV PC, LR
9.AMBA总线
AMBA(Advanced Microcontroller Bus Architecture)是由ARM公司推出的一种高级微控制器总线架构,它定义了一种片上通信标准,用于设计高性能嵌入式微控制器。AMBA总线规范主要包括以下几种不同的总线:
- AHB(Advanced High-performance Bus):这是AMBA体系中的核心总线,专为连接高性能模块而设计,如处理器、片上存储器和外部存储器接口。AHB支持高速数据传输和多种工作模式,具备较大的数据总线带宽,适用于对速度和效率要求较高的系统。
- ASB(Advanced System Bus):ASB是高性能系统总线,主要为高性能系统模块之间的连接提供解决方案。它在不需要AHB时可用,能够有效连接处理器和内存,同时保持高效的性能。
- APB(Advanced Peripheral Bus):APB是低功耗和简单接口的选择,适合连接外围设备和系统总线。它的特点是低能耗和简化的设计,适合连接诸如定时器、ADC等外围功能,对于电源管理优化的系统非常适用。
AMBA总线规范的发展历程包括了多个版本,从最初的AMBA 1.0(包含ASB和APB)到后来的AMBA 2.0(新增了AHB总线),再到AMBA 3.0(引入了AXI),以及后续的AMBA 4和AMBA 5。每个新版本的推出都伴随着新特性和性能的提升,以适应不断增长的系统需求。
在系统设计中,开发者需要根据应用的需求和功耗限制来决定采用哪种总线结构。例如,如果需要高数据传输速率和处理能力,AHB是首选;对于高性能但对功耗有严格要求的系统,ASB可能更为合适;而APB则适合连接那些对性能要求不高但需要节能的外设。
AMBA总线规范提供了嵌入式系统设计者所需的关键信息,帮助他们构建高效、低功耗且可扩展的系统架构,适应不断发展的电子技术需求。
10.嵌入式系统的存储器
嵌入式系统的存储器以半导体存储器为主,
FRAM - Ferroelectric Random Access Memory - 铁电随机存取存储器
MRAM - Magnetic Random Access Memory - 磁性随机存取存储器
存储器芯片的容量完全取决于存储器芯片的地址线条数和数据线的位数
11.I^2C 总线
I2C总线被启动后,多个主机在每发送一个数据位时都要对SDA信号线电平进行检测,只要检测的电平与自己发出的电平相同就会继续占用总线。总线的控制遵循“低电平优先”的原则。
12.UART 构成
UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)
UART由发送器、接收器、控制单元及波特率发生器等构成。
13.嵌入式系统与通用计算机系统软件的相同之处
嵌入式系统通常也具备引导加载程序,外设驱动程序,操作系统,文件系统,网络协议栈,图形用户界面,数据库,以及各种各样的应用程序等。
14.基于操作系统的外围工具软件运行在嵌入式系统上,往往具有内部结构精简,代码轻量化 ,占用存储资源少的特点。
15.实时系统的两种任务时限:
截止时间:任务开始执行时间到任务必须完成的时间间隔。
任务执行预设时间/任务最快完成时间:这是无中断响应情况下的任务最快执行时间。
16.实时系统可预测性:
实时系统对时间约束要求的严格性,使可预测性成为实时系统的一项重要性能要求,它是**指RTOS能够对 外部事件的响应时间 和 实时任务的执行时间 **进行判断,以确定被事件触发的实时任务能否在规定的时间内完成。
17.实时系统按响应时间分类
强实时系统:其响应时间一般在毫秒级或微秒级;
普通实时系统:其响应时间一般在秒级;
弱实时系统:其响应时间一般在数十秒级。
18.嵌入式系统的开发过程:
通常分为4个阶段
- 需求分析与规格说明、
- 系统设计、
- 构件设计、
- 系统集成与测试
19.嵌入式系统的开发工具软件GCC的命令及参数
在Linux操作系统下开发该目标机的Linux应用程序,通常使用 arm-linux-gcc 交叉编译器来编译应用程序。
对一个应用程序进行调试排错:在编译命令中加 g 参数对它进行编译。
综合:
- 设计电路、采用部件
- 寄存器读写地址、采用引脚
- 相关驱动程序:初始化引脚语句
- 初始化UART2/UART1
- 初始化寄存器
- 采样频率,存储容量
- 构建软件平台
- 家庭网关上的应用程序设计、编程语言
- 下面是试题解答时需要用到的寄存格式及相关说明:
1.嵌入式最小硬件系统:
- 嵌入式处理器
- 时钟电路
- 电源电路
- 复位电路
- 存储器
- 调试测试接口
2.通信接口:
UARTchu
3.已知谐波频率范围求最小采样频率:
范围内最大频率*2(根据香农定律)
4.已知频率,采集信号,采集时间,求存储容量
最小采样频率*时间(按秒算),再 进制转换(可能会有四舍五入)
5.嵌入式系统由硬件和软件两部分组成;硬件部分的主体是中央处理器和存储器;它们通过输入/输出(I/O)接口与外部世界联系。
6.数字图像:
JPEG采用有损压缩方法,压缩率较高,在数码相机/互联网/计算机 中广泛使用。
GIF采用无损压缩方法,图像的颜色数目较少,文件特别小,适合在网页中作为插图或剪切贴使用。
7.构建无线网的技术:
- 802.11(WiFi)
- 蓝牙:最高数据传输速率在1Mbps左右,传输距离大约在10m之内。
8.简单的汇编指令操作:
- MOV - move - 移动数据
- 原理:将数据从一个位置(寄存器或内存地址)移动到另一个位置。
- 例子:
MOV AX, BX
将寄存器BX的内容复制到寄存器AX。
- ADD - add - 相加
- 原理:将两个数相加,并将结果存储在其中一个操作数的位置。
- 例子:
ADD AX, BX
将寄存器BX的内容加到寄存器AX的内容上,并将结果存储在AX中。
- SUB - subtract - 相减
- 原理:从一个数中减去另一个数,并将结果存储在第一个操作数的位置。
- 例子:
SUB AX, BX
从寄存器AX的内容中减去寄存器BX的内容,并将结果存储在AX中。
- MUL - multiply - 乘法
- 原理:将两个数相乘,并将结果存储在指定的寄存器中。
- 例子:
MUL BX
将寄存器AX的内容与寄存器BX的内容相乘,并将结果存储在AX中(对于16位操作数)。
- DIV - divide - 除法
- 原理:将一个数除以另一个数,并将商存储在指定的寄存器中。
- 例子:
DIV BX
将寄存器AX的内容除以寄存器BX的内容,并将商存储在AX中,余数存储在DX中(对于16位操作数)。
- PUSH - 入栈
- 原理:将数据压入栈中,栈顶指针(SP)会自动减小,为新的栈顶位置。
- 例子:
PUSH AX
将寄存器AX的内容压入栈中。
- POP - 出栈
- 原理:从栈中弹出数据,栈顶指针(SP)会自动增加,指向新的栈顶位置。
- 例子:
POP AX
从栈中弹出数据到寄存器AX。
- JMP - jump - 无条件跳转
- 原理:跳转到指定的内存地址继续执行指令。
- 例子:
JMP Label
跳转到标签Label处继续执行。
- CALL - 调用过程
- 原理:调用一个过程(函数),并将下一条指令的地址压入栈中,然后跳转到过程的起始地址。
- 例子:
CALL Function
调用名为Function的过程。
- RET - return - 返回过程
- 原理:从栈中弹出返回地址并跳转到该地址,结束过程调用。
- 例子:
RET
返回到调用过程的地方继续执行。
- CMP - comparison - 比较
- 原理:比较两个数,但不存储结果,而是根据比较结果设置标志寄存器。
- 例子:
CMP AX, BX
比较寄存器AX和BX的内容,但不存储结果。
- AND, OR, XOR - 逻辑运算 (XOR:Exclusive OR)
- 原理:执行逻辑运算,并将结果存储在第一个操作数的位置。
- 例子:
AND AX, BX
执行逻辑与操作。OR AX, BX
执行逻辑或操作。XOR AX, BX
执行逻辑异或操作。