学习计算机嵌入式的笔记汇总

第一章:嵌入式系统的概论

【RAM:随机存取存储器(数据存储器,电失);ROM只读存储器(程序存储器)】
【静态SRAM 和 动态 DRAM 都是 易失性存储器
【对于内存容量而言,1KB=1024B;对于外存容量(磁盘、U盘)而言,1KB=1000B】
【DSP属于专用数字信号处理的微处理器(非高性能通用处理器)】
【存储器的带宽是指每秒可传输的最大数据总量;存储器带宽与存储器总线工作频率有关,也与数据线的位数和每个总线周期的传输次数有关】
【数字文本 分为 纯文本和格式文本】

1、嵌入式系统地CPU中包含ARM、DSP、FPGA等

2、数字信号处理器(DSP),支持单指令多数据(SIMD)并行处理的 指令。

3SoC的特点:
(1)数字电路、模拟电路可以包含,还可以包含数字/模拟混合电路及射频电路。
(2)SoC将嵌入式系统的几乎全部功能都集成在一块芯片上。
(3)单个芯片可以实现数据采集、转换、存储、处理、I/O等功能
(4)大多数32位嵌入式处理器均为SoC

4、按照软硬件技术复杂程度进行分类:低端、中端、高端

5以太网相关信息
(1)以太网数据帧的相关信息(注:其不包含IP地址):
前导码(7字节)、帧起始定界符(1字节)、目的MAC地址(6字节)、源MAC地址(6字节)、类型/长度(2字节)、数据(46~1500字节)、帧校验序列(4字节)。
(2)WEB应用系统中,需要以太网控制电路以太网驱动电路
(3)以太网控制芯片AX88796芯片首地址一般为0x10000000
(4)、WALN通信协议及数据传输速率
:WLAN采用的主要通信协议:802.11(通常称wi-fi【无线接入点】);【包括无线交换机、无线路由器(具有两个以上的IP地址)】
:数据传输速率可达 11 Mbps、54 Mbps、108Mbps甚至更高(802.11n,并可向下兼容802.11b、802.11g)。
(5)以太网 以集线器或者交换机为中心构成。
(6)局域网按照专属介质使用的访问控制方法,可以分为以太网、FDDI网 和 令牌网。
【互联网的无线接入方式(三种):无线局域网(WALN)接入;GPRS移动电话接入;3G移动电话网接入】
:WLAN使用时必须有接入点(AP)的热点区域中才能接入】

6、IP地址的相关信息
(1)A类IP地址:最高位必须是:0,第一段数字范围:1~127;Internet有126个A类地址。【目前大量使用IPv4(32位)】
(2)B类前16位:10;C类:前24位:110
(3)IPv4中规定,每个IP地址使用4B(32为二进制)表示(其中包括网络号和主机号)。

7、我国使用的汉字编码国家标准:GB2312GB18030
(1)ASCII字符()包括:96个可打印字符、32个控制字符
(2)GB2312(两个字节)包括:一级常用汉字、二级常用汉字、图形符号(拉丁字母、俄文、等等)
(3)GB18030 采用双字节四字节存储和传输汉字(即不等长编码)
(4)Unicode/UTF-16 采用字节可变长编码,存储和传输汉字;
ASCII字符、标点符号、希腊字母、阿拉伯文、CJK汉字等都使用双字节编码,其他不常用字符使用4个字节编码。
(5)Unicode/UTF-8 采用个字节存储和传输汉字
(6)GB18030中包含了GB2312的所以有字符,且编码相同。
(7)GB18030(双字节)中的汉字和UCS/Unicode的汉字编码不相同,Unicode的UTF-8与UTF-16就是两种不同的编码方案

8Internet中负责的 选择合适路由,使发送的数据分组(packet)可以到目的计算机的IP协议(TCP/IP协议簇)
【互联网接入技术:
(1)用户安装ADSL时,只需在已有电话线的用户端配置一个ADSL MODEN设备、一个语音分离器。
(2)计算机中需要安装一个以太网网卡。

9相机容量计算
:图像数据量=图像水平分辨率X图像垂直分辨率X像素深度(色数化为2的指数的幂);
:容量=(相片数X图像数据量)/ 压缩比
:像素=图像水平分辨率 x 图像垂直分辨率
【图像数据获取过程:扫描、分色、取样】
【我国数字电视分辨率大多为1920:1080,其宽高比为16:9】

10、嵌入式系统的特点:
专用性、资源受限、隐藏性、高可靠性、实时性、软件固化

11、嵌入式系统的CPU的4个特点:支持实时处理、低功耗、结构可扩展、集成了测试电路

12、数字图像的文件格式:BMP、TIF(TIEF)、GIF、JPEG、PNG等
GIF:颜色数目少(<=256),文件特别,适用于互联网传输。
JPEG:静止图像数据压缩的国际标准,适用于处理各种连续色调或灰度图像,算法复杂度适中,软硬件皆可实现,在互联网、数码相机中得到广泛应用。

13、低端嵌入式系统一般不需要操作系统,但是系统功能很难实现现场升级。

14、MPEG-1 主要适用于数模相机、VCD、摄像机等
MPEG-2 主要适用于数字电视
MPEG-4 主要适用于手机、MP4播放器

15、路由器的主要功能(遵循IP协议把异构网络互相连接起来的关键设备)
(1)网络互连,实现不同网络互相通信;
(2)数据处理,提供包括:分组过滤、分组转发、优先级、复用、加密、压缩和防火墙的功能;
(3)网络管理,路由器提供包括配置管理、性能管理、容错管理、流量控制等功能。(将多个异构或同构的物理网络进行互连)
(4)信号的放大使用集线器来完成。
(5)协议转换器:用于传输层及以上各层的协议转换的设备。

16、比特率(码率)的计算公式:
(未压缩前)波形声音的码率 = 取样频率 X 量化位数 X 声道数
(压缩后) 码率 = 未压缩 / 压缩比(即压缩倍数)

第二章:嵌入式系统处理器

【注:左移右移的简便运算:200左移2位=200x2^2=800;右移则为除】
【注:执行左右移运算后原寄存器值不变】
【ARM内核占所有32位嵌入式处理芯片的90%左右】
【ARM处理芯片内部直接存储器访问控制器简称:DMA】
【MMU(存储器管理单元):管理虚拟内存系统的器件,虚拟地址到物理地址的映射,CPU的一部分】
【MPU (存储器保护单元):对存储器进行保护的可选组件,它允许4GB地址空间定义8对域,分别控制8个指令和8个数据内存区域。】
【NVIC:嵌套向量中断控制器】

1、ARM总线标准:AMBA

2、Thumb模式下16位,代码密度大、占用空间小,指令长度全部为16位。
【Thumb-2状态是ARMv7版本的ARM处理器所具有的状态。】
【ARM Cortex-A系列都属于ARMv7-A体系架构】
【Cortex-M3只有Thumb-2状态和调试状态】

3、能够将寄存器中指令位 “清零” 的指令操作码为:AND
能够将寄存器中指令位 “置位” 的指令操作码为:ORR

4、数据处理类指令可以分为:
数据传送指令、算出逻辑指令、比较指令
(1)分支指令
B——转移指令;
BX——带状态切换的转移指令
BL——带返回的转移指令
BLX——带返回且带状态切换的转移指令
BCC——条件跳转指令
BEQ——跳转指令

(2)伪指令
DCD——用于分配一片连续的存储单元并初始化。
DCW——用于分配一片连续的半字存储并初始化
CODE——通知编译器后续使用的指令位数 如CODE16
EQU——定义一个常量、标号(没有位数的限制)
IMPORT—— 通知编译器要使用的标号

(3)条件指令
HI——无符号大于
CS——无符号大于或等于
CC——无符号小于
LS——无符号小于或者等于

GT——带符号大于
GE——带符号大于等于
LT——带符号小于
LE——带符号小于等于

EQ——相等
NE——不相等

VS——表示溢出

功能指令
MVN——数据取反指令
EOR——异或指令
CMP——比较指令

5、目前的两种主要的闪存技术
——> NOR Flash :以字节为单位随机存取
——> NAND Flash :以页(行)为单位随机存取
【NAND Flash中
ALE:地址锁存允许
CE: 低电平有效的芯片
RE:低电平有效的读使能
R/B:准备就绪 / 忙输出

6、存储器宽度计算公式:
存储器宽度=(存储器工作频率 X 数据线宽度 / 8)X 每周期传输数据次数;
存储器总线模式:串行总线时,以 10 位为一帧数据,总线宽度 = 总线频率 / 10

7、SPI的信号线:MISO(主机输入从机输出)、MOSI(主机输出从机输入)一般使用的(时钟线)SCK、MISO、MOSI、从机选择线SSEL

8、RTOS运行过程中的的响应时间具体指:中断延时任务切换时间

9、R0~R15中:
——>用户模式堆栈指针SP——R13;
——>系统模式程序链接寄存器LR——R14;
——> PC——R15;
——> R0~R7——不分组通用

10、ARM处理器的7种异常:
:复位RESET(优先级最高)
:未定义指令UND、
:软件中断SWI
:指令预取中止PABT
:数据访问中止DSBT
:外部中断请求IRQ
:快速中断

11、Thumb-2中开关专用指令:
关闭外部中断:CPSID I
打开外部中断:CPSIE I

12、ARM汇编语言中:子程序调用指令为 BL 子程序名;子程序返回调用程序的指令为*MOV PC ,LR

13、ARM处理器的工作状态:
(1)用户模式:ARM 处理器正常的程序执行状态;
(2)系统模式(SYS):运行具备特权的操作系统任务;
(3)快速中断模式(FIQ):支持高速数据传输或通道处理;
(4)管理模式(SVC):操作系统保护模式
(5)数据访问终止模式(ABT)
(6)中断模式(IRQ):
(7)未定义指令终止模式(UND)

14、相关指令:
DCD——数据定义伪指令(用于分配连续字存储单元并用指定数据初始化)
CODE 16 ——伪指令通知编译器(通知后续指令序列为16位Tnumb指令)
EQU——等于伪指令(用于程序中的常量、标号等定义一个等效的字符名称 ,如Test EQU 15:定义标号Test的值为15)
IMPORT——用于通知编译器要使用的标号在其原文件定义中。

15S3C2410嵌入式微处理器基于ARM920T核(高端32位):
(1)内部分离的16kB大小的指令Cache和16kB大小的数据Cche;
(2)使用ARM公司的AMBA总线: 高速组件(AHB总线)、低速外设接口(APB总线)【AHB通过桥接器连接APB】
(3)芯片内部集成了许多硬件组件,也包括颞部SRAM、外部存储器控制器等。
(4)S3C2410中的RTC(实时时钟)主要功能:BCD数据、闰年产生器、告警功能、独立的电源端口、支持毫秒滴答时钟中断作为RTOS核的滴答时钟、循环复位功能等。
(5)RTC采用单独的供电引脚和单独的时钟源;
(6)实时时钟(RTC)控制寄存器
RTCCON共4位
:控制时钟计数复位、BCD计数、时钟选择、确定是否允许RTC读/写。
(7)RTC内部的数据寄存器都是8位寄存器,存放相应的BCD码值。
(8)S3C2410内部电源管理模块的四种模式:
正常模式慢速模式(不使用PLL时钟)休眠模式(仅断开ARM内核时钟FCLK)、掉电模式(断开内部电源)
(9)其所有的BANK可以访问8位、16位、32位
(10)存储器控制组件包括存储器控制器、总线控制器、外部主控器、NAND Flash控制器等
(11)地址空间供1G(8个BANK,每个BANK大小为:128MB)
(12)摄像头接口和AC97音频接口出现在S2C2440上。
(13)S3C2410中有两个中断挂起寄存器:
源中断挂起寄存器(SRCPND):决定中断属于普通还是快速
中断挂起寄存器(INTPND)
【当多个中断请求服务时, 源中断相应位写1;通过优先级仲裁当前最高优先级的中断源对应中断挂起的相应位写1】
(14)S3C2410单片机的支持所有内置硬件各组件的硬件中断,也包括24个外部可屏蔽中断EINT0~EINT23以及ADC、RTC、SPI、I2C、UART0/1、SDI、DMA0/1/2/3、LCD、WDT、TIMER0/1/2/3、电池错误中断等。
(15)S3C2410有三个UART其对应的控制器为ULCON0/1/2,用于确定传输帧的格式。

16、A/D转换:
(1)量化就是模数转换;
(2)量化后的样本一般使用8、12、16位二进制整数表示。

17、ARM复位后PC指针将无条件的指向0x00000000.(不可选)

18、ARM内核中的中断请求进行管理和控制,一般采用**向量中断(VIC)或者嵌套中断(NVIC)**的方式管理中断。

19、ARM处理器从异常中断中返回需要执行的过程:
:恢复原来被保护的用户寄存器;
:将SPSR_mode寄存器值复制到CPSR中;
:根据异常类型将PC值恢复成断点地址;
:清除 I 和 F 标志,允许 IRQ 和 FIQ 中断。

第三章:嵌入式系统硬件组成

【嵌入式最小系统由提供嵌入式处理器运行必备条件的,而硬件电路和嵌入式处理器共同构成,包括 时钟电路电源电路复位电路存储器调试测试接口

1JTAG的相关信息
1)JTAG技术属于一种嵌入式测试技术,CPU、DSP、FPGA器件都支持JTAG标准。
(1)JTAG标准允许多个芯片(电路)的边界扫描寄存器BSR通过JATG接口串联在一起,实现对多个器件的测试。
(2)通过芯片的JTAG接口可以实现在线编程功能。
2)JTAG
宿主机-目标机的开发环境中,程序调试时不占用的目标机的资源,因此目标机的初试启动程序调试、硬件接口的调试就采用JTAG
裸机状态的目标机也采用JTAG调试方式。
3)**JTAG标准【片上调试技术】**中规定的TAP接口使用以下5根信号线:
TCK、TMS、TDI、TDO、TRST
4)MCS-51不支持JTAG

2ARM内核基础嵌入式处理器芯片采用系统总线外围总线
系统总线(连接组件):电源管理与时钟控制器、测试接口、外部存储控制接口、DMA控制器、USB主机、中断控制器、Etherenet等。
外围总线(连接组件):GPIO、UART、SPI、IIC、USB设备、CAN、ADC、DAC、WDT(看门狗)、Timer(通用寄存器)、RTC、PWM(脉冲调制)
【注:最后四个主要用于定时/计数】

3、ARM按照AMBA规范,采用系统总线外围总线两层结构构建,其中系统总线连接高带宽快速组件。

4、ARM处理芯片内部有多个可用互联通信的组件:
UART、IIC、SPI、CAN、USB、Ethernet等。

5FRAM:铁电随机存取存储器(非易失性、有SRAM的高速存取、有DRAM的高集成度);
MRAM:磁性随机存取存储器(只读非易失性、随机可快速读写、速度快、功耗低);
【两个都是采用的非传统的半导体存储器】

6IIC总线只有两条信号线:数据线SDA,时钟线SCL
——>【所有操作都需要通过这两根先完成】
——> IIC总线启动,多个主机在每一个发送数据位时都要对SDA信号线电平进项检测,只要检测的电平与自己发出的电平相同就会继续占用总线。注意:总线遵循“低电平优先”原则
——>半双工通信主控器件发起数据传输操作
——>IIC总线可以挂起多个器件,主动发数据的叫主控器件,否则它是从器件
——>IIC传输数据,每次传输的字节数目没有限制。

7、8个GPIO最多可以构成64个按键。

8、UART(通称:异步收发器)的构成:发送器、接收器、控制单元、波特率发生器 等

9嵌入式最小系统包括:嵌入式处理器、时钟电路、电源电路、复位电路、存储器、调试测试接口

10、CPU使用最频繁的少量代码和数据深红SRAM作为高祖缓冲存储器(Cache)存放。

11、DDR——双倍数据速率(可预读取2位):
DDR2——四倍数据速率(可预读取4位);

12、USB相关信息
:USB总线(1.1和2.0)有4根信号线,采用半双工差分方式
:USB2.0的速度:480Mb/s
: USB3.0的速度:5Gb/s(即640MB/s)
: Mini USB 也可提供电源。
:USB总线采用主从方式(而不是多主)

13、电阻式触摸屏(软屏);
电容式触摸屏(硬屏):带多点触摸或滑动的;
14、LCD显示设备(不带控制器,无驱动)其接口标准有VGA、DVI、HDMI(现在最流行)

15、嵌入式处理器都有一个系统复位引脚为nRESET或者RESET,带n表示低电平复位,不带表示高电平复位。

在这里插入图片描述
16、CAN的相关信息(针对实时性要求高的行业,差分方式)
(1)可实现多主通信
(2)其数据帧由7个不同的域组成,域的长度可选为0~8位;
(3)CAN协议采用CRC检验并可提供相应的错误处理功能,保证数据通信可靠性。
(4)一般面向控制应用领域的ARM芯片内部已经嵌入了CAN总线控制器,外部仅需要连接CAN的收发器即可完成CAN网络。

17、通用分组无线服务技术(GPRS),其支持用AT指令集进行呼叫、短信、传真、数据传输等业务。

第四章:嵌入式系统软件

1、有关uC/OS-II的相关信息(四层软件结构:应用软件层应用程序接口层(API)uC/OS-II内核设备驱动层):
(1)uC/OS-II操作系统中的执行顺序:
Bootloader执行完毕后,调用应用程序(main()),main()的执行过程中,除了用户函数、硬件初始化函数外,按顺序执行uC/OS-II函数:
OSInit()OSTaskCreate()OSStart()
【OSInit():创建的4个链表是:任务控制块链表、时间控制块链表、标志链表、内存控制块链表】

(2)uC/OS-II系统的每个任务都处于以下5种状态之一:
休眠态就绪态运行态挂起态被中断态
【注:休眠态下任务驻留在内存中,但没有交给内核管理】

(3)uC/OS-II中相关函数的作用:
OSSched():任用调度的前导函数;
OSCtxSw():实现任务切换的函数;
OSIntExit():实现中断级的调度;
OSTickISR():时钟节拍中断服务子函数(与时间管理有关)
OSTaskCreate():与任务创建有关。
源代码
OS_CPU_C.C创建任务的自用栈空间、定义用户接口hook函数原型等
OS_CORE.C核心调度代码,功能包括系统初始化、启动到货任务调度开始运行、任务创建管理与调度、TCB初始化、就绪表初始化、ECB初始化、任务时间就绪表、空闲任务等。
OS_MEM.C内存管理,包括创建分区、获得存储块等;
OS_TACK.C :任务管理,包括改变一个任务的优先级、创建或者删除一个任务、挂起一个任务、恢复一个被挂起的任务 等 。

(4)uC/OS-II允许中断嵌套的层数最高:225层;

(5)uC/OS-II能够提供周期性时钟信号(时钟节拍),用于实现任务的正确延时和超时确认;
——>【注:节拍率在10~100Hz范围内。】

(6)uC/OS-II4事件控制块
OSSemCreate()OSMutexCreate()OSMboxCreate()OSQCreate()

(7)uC/OS-II内核提供的功能有:
任务调度、任务间通信与同步、任务管理、时间管理、存储管理等

(8)uC/OS-II只能管理64个任务,其中8个任务给系统,56个任务给用户编写,每个任务拥有自用栈,且优先级不同。
最高优先级定为 0最低优先级取值为实际定义的最大任务数减 1
最低优先级为“63”,是空闲任务

(9)uC/OS-II保护任务间数据共享和提供任务间通信
:利用OS_ENTER_CRITICAL()OS_EXIT_CRITICAL()关闭与打开中断
:利用
OSSchedlock(),OSSchedUnlock()对任务调度函数上锁和开锁。
:利用 信号量、邮箱、消息列 进行任务间通信。
:利用 内存文件 进行任务间的大规模数据共享。

(10)移植uC/OS-II到电路板上的必须条件:
: 处理器的C编译器能产生可重写代码;
:用C语言就可以打开与关闭中断;
:处理器支持中断,并能产生定时中断(一般:10~100Hz间)
:处理器支持能够容纳一定数据(几千字节)的硬件栈区;
:处理器有将栈区指针和其他CPU寄存器读出和存储到栈区或内存的指令;
内存管理单元可以不需要

(11)uC/OS-II的就绪任务等级在就绪表中,OSRdyTBl [ ]是就绪表的位图映像矩阵,每一位代表了一个优先级任务就绪状态,称为就绪位,该矩阵最多64位

(12)uC/OS-II基本不包含设备驱动程序,只有一个纯内核。

(13)uC/OS-II驱动程序属于底层,需要系统开发商自行开发。

(14)uC/OS-II的栈空间校验函数,可以确定每一个任务到底需要多少栈空间。

(15)进行任务调度的前导函数:OSSched(),其判断进行任务调度的三个条件是否满足是:
——>中断嵌套层数共享全程变量OSIntNesting = 0,即所有ISR执行完毕
——>任务加锁层数共享全程变量OSLockNesting = 0,即调度没有被禁
——>就绪表查找到的最高优先级任务的优先级比当前任务的优先级高。

(16)uC/OS-II任务管理中的空闲任务(Idle task)是系统创建的第1个任务,它是必不可少的一个系统任务,也是优先级的最低的任务,大多数情况下,uC/OC-II的每一个任务都是一个无限循环的。

(17)用户必须正在多任务调度启动以后在使能时钟节拍中断;
(18)在中断返回之前,必须调用退出中断函数void OSIntExit(void);
(19)一个任务或中断服务子程序可以通过实践控制块来向另外的任务发信号。

2Linux的相关信息(单内核,目前已经是3.0版本了)
【主要组成:用户进程、OS服务组件、Linux内核】
1)Linux内核中:进程调度板块负责:
(1)控制进程对CPU资源的使用
(2)采取调度策略是各个进程公平合理访问CPU;
(3)保证内核能及时执行硬件操作;
2)实时操作性内核是将Linux任务以及其本身作为一个优先级任务,实时任务作为优先级任务。
(4)Linux内核的主要组成(子系统):
:进程调度(SCHED)
:内存管理(MM)
:虚拟文件系统(VFS)
:网络接口(NET)
:进程间通信(IPC)
(5)Linux进程通信机制包括:信号、管道、消息队列、信息量、共享内存、套接字
(6)Linux操作系统的工具套件GND:
GCC:编译器(核心套件)
GDB:程序调试工具
(7)Linux与Unix的源代码完全不同,函数名和参数等相同,Unix行命令、驱动程序、应用程序都能在Linux上运行,但是Linux的运行速度还是没有超过Unix
(7)Linux中Bootloader提供的OS装载方式有:
:从串口或者以太网装载;
:从非易失性存储器(主要指Flash存储器)装载。
:USB接口装载。
(8)RTAL是典型的嵌入式Linux操作系统(实时应用接口)
(9)Linux内核为用户进程提供一个虚拟接口(系统调用)。
(10)OS服务组件是位于Linux操作系统内核之上一次鞥服务模块或实时程序集合。
(11)应用程序通过GLIBC调用通用函数和内核的内部功能。
(12)Linux内核为用户进程提供系统调用
(13)Linux系统最初以Unix为原型,以实现POSIX标准作为其目标。
在这里插入图片描述

3Bootloader中支持不同结构处理器最多的是U-Boot
(1)U-Boot:其以POCBoot和ARMBoot计划为基础;
支持的有:Power PC系列、X86、ARM、Mips、ALpha、IA64等
(2)U-Boot
——>全称Universal Boot loader,
——> 遵循GPL条款;
——> 其采用两个阶段完成操作系统的引导加载;
——>其对PowerPC系列处理器支持最为丰富,对Linux操作系统的支持最为完善
(3)引导加载程序Bootloader)的执行过程(主要完成的任务):
加电自检外设存在自检内存地址映射初始化外围设备内存寻址定位加载并启动操作系统
【注:过程包括两个阶段stage1(汇编实现),stage2(C语言实现,可读,可移植)】
(4)Bootloader主要完成的工作步骤如下:
:初始化处理器及外设的硬件资源配置;
:建立内存空间的映射关系,使能MMU,将系统的外存和内存地址变换激活,为最终调用操作系统内核做好准备;
:装载操作系统映像到内存;
:对Flash存储器编程;
:运行操作系统;
:传递系统启动参数;
:命令行解析和输入/输出控制;

4微内核的相关信息:
1) 微内核操作系统有:
Symbain(普通实时)、
VxWorks(强实时、抢占式、商用)、
QNX【符合POSIX基本标准和实时标准,内核四种服务:进程调度、进程间通信、底层网络通信、中断处理】
uC/OS-II(强实时,抢占式)、
iOS等
2)微内核是单内核在结构上改进后的产品(特点如下:)
(1)内核小巧,传统系统内核中的许多部分都被移出内核,采用服务器方式实现;
(2)接口一致,所有进程请求使用统一接口,进程不区分内核模式和用户模式;
(3)各个功能板块之间松弛耦合,只能完成服务器功能,系统的管理功能交给一个或多个特权服务程序;
(4)微内核功能扩充方便,但是各个功能之间的切换而引起的开销较大;
3)微内核操作系统结构中,将 任务管理、调度器、中断管理、进程间通信 编译成一个功能精简、空间紧凑的模块

5、强实时型嵌入式:
VxWorks ; pSOS ; uC/OS-II(抢占式)
(1)移植VxWorks操作系统的四种模式:
:宿主机移植
:体系结构移植
:目标板移植
:升级以前Tornado集成开发环境版本的BSP到最新版本。
6、IEEE的实时UNIX分委会认为“实时操作系统应该具备的7个特征”:
(1)具有异步I/O和中断处理能力;
(2)任务切换时间和中断延迟时间的确定;
(3)优先级中断与调度;
(4)抢占优先级;
(5)内存锁定;
(6)连续文件;
(7)同步;

7、八段数码管的二进制排序是以dp为为最高位,a为最低位的;

8单内核(宏内核)优点:
程序生成效率高;
内核切换开销小;
事件反应速度快;
运行效率高;
单内核包括:Unix、嵌入式Linux、WinCE、Mac OS、Android OS (Android操作系统,基于Linux系统开发)、DOS等【iOS不是】

9、(硬件抽象层)HAL系统库提供以下服务(操作系统与硬件之间):
:结合Newlib ANSI C标准库,向用户提供熟知的标准库函数;
:提供设备驱动,使用户可以访问系统中的设备;
:为用户提供了与HAL服务相统一的标准接口(如:数据访问、中断处理、报警设施)
:系统初始化,在main()函数之前完成软核处理器Nios与运行库环境的初试化任务;
:设备初试化,在main()函数之前完成每一个设备的实例化初始化。
注:HAL不能提供TCP/IP协议栈。

10、苹果的IOS系统的前身是 UNIX-BSD

11实时系统的任务时限包括:截止时间、任务执行预设时间
截止时间:任务开始执行时间到任务必须完成的时间间隔;
任务执行预设时间:做任务最快完成时间,且无中断响应;

12实时系统具有可预测性、可靠性、时间约束性。
实时系统对时间约束要求的严格性,使可预测性成为实时系统的一项重要性要求,即指RTOS能够对外部事件的响应时间和实时任务的执行时间进行判断,以确定被事件触发的实时任务能否在规定时间内完成。

13实时系统按响应时间分:强实时(ms,us)、普通实时(s)、弱实时(10s)

14、实时操作系统(RTOS)(专门服务于实时系统应用请求的操作系统):其实时性能指标主要根据三个指标来衡量:响应时间吞吐量生存时间【响应时间(系统从事件请求开始到任务完成的时间间隔):中断延迟时间任务切换时间
【中断服务子程序(ISR)】
【精细衡量这个时间一致性变化的术语(实时操作系统每次任务所需时间的偏差):抖动
【吞吐量:在给定时间内系统可以处理的时间总数】
【生存时间:衡量输入数据的有效等待时间,超过这个时间,处理器即使接收到输入数据,也不能够给出有用的输入数据】
【硬实时:如果任务执行时间超过截止时间后系统的效益变为负,导致严重的负效应,举例导弹控制、高铁自动驾驶】
【软实时:如果任务执行时间超过截止时间后系统的效应下降担仍保持为正,一般不产生严重后果】
【中断延迟时间:包括:最长关中断时间,从硬件开始响应中断到开始执行中断服务程序第一条指令之间的时间】

15、实时操作系统(RTOS)包括VxWorks、RTAI、RTLinux等【Windows不是】

16、任务执行时间超过截止时间,系统的总损益就为负,这种实时系统称为硬实时系统,否则为软实时系统。(一般看超过截止时间所造成的后果,如果严重就是强实时,没有太大的后果则是软实时。)

17、嵌入式应用程序经过交叉工具链生成映像文件之后,需要下载到目标机进行调试。调试完毕后映像文件必须有专用工具烧写到ROM中去,这种烧写工具俗称:编程器

18、Windows Phone 8的前驱产品Windows Mobile 两者都为微软的手机操作系统。

19、iOS的系统结构分为以下4个层次:核心操作系统、核心服务层、媒体层、触摸框架层;

20、指令集模拟器(在宿主机上模拟应用程序、在目标机上运行行为的一个软件工具)
:它接受编译器或汇编程序生成的目标代码及其指令输入,模仿目标机CPU的取值、译码、执行操作,并将中间执行结果或最终执行结果存入目标机硬件映射数据结构中。

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

22、Android的相关信息
(1)是一种以Linux为技术的半开源的代码操作系统,主要用于移动便携设备

23、嵌入式系统中,核心部分称为“内核”,而对硬件设备进行控制和管理的程序模块称为“驱动程序

24、堆层式软件架构,分为四层,从底层到高层分别是
内核、系统运行库、应用程序框架、应用

第五章:嵌入式系统开发

1、嵌入式系统与计算机系统软件的相同之处:
:嵌入式系统通常也具备引导加载程序外设驱动程序,操作系统,文件系统,网络协议栈,图形用户界面,数据库,以及各种各样的应用程序等。
【引导加载程序在引导加载操作系统时,设置相关的寄存器和资源,跳转到操作系统所在的空间,执行其引导,这个过程中可以给内核传递参数,可以控制系统启动的模式。】

2、基于操作系统的外围工具软件运行在嵌入式系统上,往往具有的特点有:内部结构精简代码轻量化占用存储资源少

3、嵌入式系统的开发流程(4个阶段):需求分析与规格说明系统设计构件设计系统集成与测试

4、以S3C2410为核心的目标机,在Linux系统下开发目标机的linux应用程序,通常使用arm-linux-gcc交叉编译器来编译应用程序。
如要对一个应用程序进行调试排除,应该在编译命令中加**-g参数**对其进行编译。

5、嵌入式系统的开发不同于通用计算机应用开发,其主要特点是
(1)使用宿主机—目标机的开发架构
(2)与底层硬件控制程序的关系密切;
(3)软硬件资源受限制
(4)需要固化程序;
与通用计算机操作系统的相比:
嵌入式操作系统具有的特点是:
(1)可移植性
(2)强调实时性
(3)内核精简
(4)抢占式多任务处理
(5)使用可重入函数
(6)可配置性、可裁剪、高可靠性

6、中央处理器(CPU)组成:
:运算器、控制器、寄存器、告诉缓冲存储器(Cache)
用户界面部分包括:
:按键、键盘、指示灯、屏幕等人机交互设备。

7、有关ADS1.2的相关信息
(1)ADS1.2把目标文件中的消息按照三种存储区域类型来进行划分:
RO段、RW段、ZI段
RO段:指代码存储区常数存储区,具有只读性质。
(2)ADS1.2采用工程项目形式管理应用程序涉及源、库、头文件
一个工程项目至少应该包含一个生成目标,ARM包含三个:Debug、Release、DebugRel
(3)利用的ADS1.2工具来进行地址映射,即在编译连接器工程时,有两种方式,即Simple连接类型Scattered连接类型
:Scattered连接类型:需要提供一个sctatter格式的配置文件,该配置文件是一个文本文件,描述ARM连接器在完成连接操作时所需要的分组及定位信息扥。
【一个scatter文件中通常要描述一个下载时域的首地址、域的大小、域的属性、若干运行时域的首地址、域的大小、域的属性、包含的输入段等信息】

8arm-linux-gcc:【针对ARM体系的目标机的编译工具的前缀命名】
加 -g 表示调试
加 -s 表示生成 .s 汇编语言文件

【使用GDB命令进入调试环境;
【在GDB调试环境下使用 file 命令装入需要调试的可执行文件;
【使用run命令来运行可执行文件;
【终止当前被调试程序运行的命令是kill命令
【GNU包括GCC、GDB;GCC是编译器、连接器工具;CDB是调试工具】

9RVDS开发工具套件中,主要包括工程管理器(IDE)编译连接器(RVCT)调试器(RVD)指令集仿真器(RVISS)等。
【调试器:能
硬件在线
调试和软件仿真调试】
【支持汇编、C语言、C++语言对源程序进行编译】

10、仿真平台(仿真开发平台)一般指嵌入式系统开发过程中使用的:
虚拟机管理软件仿真软件指令模拟器

11、嵌入式系统的调试方法中有一种使用的驻留监控软件的调试方法。
驻留监控软件:一段固化在目标机ROM中的程序
其属于 一种较低成本的方法,不需要专门的硬件调试和仿真设备】
【】

12、板级支持包(BSP)包括:初始化程序、设备驱动程序、配置文件、引导加载程序

综合性问题:

如例一:
~通信数据传输速率为115.2Kbps(说明bps说的是位,而Bps才说的是字节,即1B=8b),在与存储数据进行计算时需要换算成字节,即:115.2/8=14.4KB(每秒传输的数据量);
~在计算需要传输的数据总量的时候需要考虑到是否有 起始位、校正位、停止位。
比如:需要传送的数据为76.8KB,异步通信中每传送8个字节(即8B)就需要一位起始位和一位停止位,即真实传送的数据量计算为:76.8/8=9.6(单位都为K)9.6就对应需要10个停止与10个起始,所以总的传输量为76.8+20=96.8KB,在使用上面的速度,可计算出传输时间为96.8/14.4

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LionelMartin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值