嵌入式期末复习总结整理 - 图文(2)

2019-01-26 18:55

《嵌入式整理提纲》——YOYO左转

硬件资源的分配、管理以及任务的调度。前后台通过同步信号或数据进行交互。

(二) 嵌入式应用软件的开发方式:

在宿主机上建立开发环境,进行应用程序编码和交叉编译,然后在宿主机和目标机之间建立连接,将应用程序下载到目标机上进行交叉调试。经过调试和优化,最后将应用程序固化到目标机中实际运行。

(三) RISC体系结构的特点: ①一个大而统一的寄存器文件

②Load/Store结构,数据处理的操作只针对寄存器的内容,而不是直接对存储器进行操作。 ③简单的寻址模式,所有装载/保存的地址都只由寄存器内容和指令域决定。 ④统一和固定长度的指令域,简化了指令的译码。 ⑤使用流水线降低指令寻址周期。

(四) 异常发生时,ARM对异常作出的响应: ①保存返回地址到 LR_ ②将CPSR复制到相应的SPSR

③根据异常类型,设置CPSR相应的模式位 ④设置PC为相应的异常向量

(五) Bootloader的功能:

Bootloader是操作系统内核运行之前的一段小程序。通过这段小程序,初始化最基本的硬件设备并建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。Bootloader包含两个阶段,阶段一即Boot阶段具有引导功能,初始化硬件配置,通常用汇编语言编写;阶段二即Load阶段完成加载功能,即将操作系统映像文件从ROM中加载到RAM,并将控制权交给操作系统,通常用C语言编写。

(六) Nand Flash和Nor Flash在性能上的区别: 1) NOR的读速度比NAND稍快一些 2) NAND的写入速度比NOR快很多。

6

《嵌入式整理提纲》——YOYO左转

3) NAND的4ms擦除速度远比NOR的5s快。 4) 大多数写入操作需要先进行擦除操作。

5) NAND的擦除单元更小,相应的擦除电路更少。

(七) 可剥夺和任务切换的概念:

任务切换:当多任务内核决定运行另外的任务时,它将任务的当前状态,即CPU寄存器中的全部内容,保存在任务的堆栈中。入栈工作完成以后,把将要运行的任务的当前状况从该任务的栈中重新装入CPU的寄存器, 并开始下一个任务的运行。 可剥夺:CPU总是运行就绪条件下优先级最高的任务。

(八) uCOS-II移植的基本要求:

1) 处理器的C编译器能产生可重入代码 2) 在程序中可以打开或关闭中断

3) 处理器支持中断,并且能产生定时中断 4) 处理器支持硬件堆栈

5) 处理器有堆栈指针和入栈、出栈的指令

编程:1、流水灯;2、串口;3、信号量;4、Nand Flash

7

《嵌入式整理提纲》——YOYO左转

#include

#define TASK_STK_SIZE 128 OS_STK

static void App1(void *pdata); static void App2(void *pdata); static void printf_task_info(INT8U i);

void main(int argc, char *argv[] ) { }

void App1(void *pdata) {

pdata=pdata; {

OS_Printf(\OS_Printf(\

while (TRUE)

OSInit(); /* Initialize \-II\OSTaskCreate( App1,

NULL,

(OS_STK *)&App1Stk[TASK_STK_SIZE-1], (INT8U)10);//任务1等级为10 NULL,

(OS_STK *)&App2Stk[TASK_STK_SIZE-1], (INT8U)5);//任务2的等级为5,比任务1高

App1Stk[TASK_STK_SIZE];

OS_STK App2Stk[TASK_STK_SIZE];

OSTaskCreate( App2,

OSStart(); /* Start multitasking */

OSTimeDlyHMSM(0, 0, 3, 0); /* waiting for 3s */ } }

void App2(void *pdata) {

INT8U i; INT8U err;

INT8U pname[10]=\pdata=pdata; {

OS_Printf(\

while (TRUE)

8

《嵌入式整理提纲》——YOYO左转

}

OS_Printf(\OSTimeDlyHMSM(0, 0, 4, 0);

OS_Printf(\ OS_Printf(\OSTaskSuspend(10); OSTimeDlyHMSM(0, 0, 4, 0);

OS_Printf(\ OS_Printf(\OSTaskResume(10);

OSTimeDlyHMSM(0, 0, 4, 0);

OS_Printf(\ OS_Printf(\if(i=OSTaskDel(10) != 0) { } getchar();

printf(\return;

}

9


嵌入式期末复习总结整理 - 图文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:快递服务质量提升策略

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: