版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
最新资料整理推荐最新资料整理推荐PAGEPAGE5么?举例说明。答:问题一:嵌入式系统是以应用为中心,以计算机为基础,其软硬件可裁剪配置,对功能、可靠性、成本、体积、功耗有严格约束的一种专用计算机系统。问题二:比较项目比较项目嵌入式系统普通计算机系统引导代码BootLoader引导,针主板的BIOS引导对不同电路进行移植OSWindowsCEVxWorksWindows、Linux,不Linux移植驱动程序每个设备都必须针对OS电路板进行开发接下载协议栈移植OS提供开发环境借助服务器进行交叉在本机可开发调试编译仿真器需要不需要答:硬件微处理器外围电路嵌入式系统的控制核心I/O电源等外设USB、LCD、键盘等软件设备驱动接口负责嵌入式系统与外设的信息交互实时操作系统包括与硬件相关的底层软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等可编程应用接口为编制应用程序提供各种编程接口库应用软件答:R13:也记作SP,在ARM堆栈指针SP;在ThumbR14:也记作程序连接寄存器LR(LinkRegister),用于保存子程序调用或异常中断处理返回时程序的返回地址。R15:也记作程序计数器PC,用于标示下一条将要执行的指令地址。CPSR:程序状态寄存器,包含条件标识位、中断标识位、当前处理器模式等状态和控制位。SPSR:备份的程序状态寄存器。在异常中断处理过程中,用于保存被中断处理程序的执行现场和处理器状态。()中断。ARM统功能,也可以是用户自定义的功能。或者该地址不允许当前指令访问,则产生该中断。外部中断:当处理器的外部中断请求引脚有效,而且的ICPSRF()ADRR0,TABLEADRR1,DATALDR R0,[R1]LDR R0,=DATATABLEEQUMOV R0,TABLESPACE20答:R0=DATA1这组数据在存储器中所存放的起始地址,由编译器分R1=0x0C0D0E0F; R2=0xF; R3=0x8020; [0x8020]=R1答:AREASWITCH,CODE,READONLYENTRYAND R2,R0,0x3 ;R2 R0MOV R2,R2,LSL#30 BIC R0,R0,0x3 ;将R0的低两位清AND R3,R1,0xC0000000 ;R3R1的高两位MOV R3,R3,LSR#30 ;将高两位移动到低两BIC R1,R1,0xC0000000 ;将R1的高两位清0ORR R0,R0,R3 ;R1R0最新资料整理推荐最新资料整理推荐PAGEPAGE16位ORR R1,R1,R2 ;R0R1位END答://main.cInclude“stdio.h”extern int sum (intnum[],intmain(){int array[10]={20,30,23,5,15,64,6,15,72,73};int HE=sum(array,10);printf(“Thesumofarrayis%d”,HE);}//huibian.sAREA ASM,CODE,READONLYEXPORT sumsum MOV R2,#0LOOP LDR R3,[R0],ADD R2,R2,R3SUB R1,R1,CMP R1,0BNE LOOPMOV R0,R2MOV PC,END()要求很强的实时性,支持快速而明确的上下文切换块来达到系统所需要的功能具有快速有效的中断和异常处理能力具有优化的浮点支持能够进行动态的内存管理略。略略按照要求完成以下操作。创建文件夹testmkdirtest进入testcdtest在test目录下用Vitest.c,其内容如下:#include<stdio.h>intmain()#include<stdio.h>intmain(){inta,i=0;a=0;while(i<20){a=a+3;printf("thevalueof\n",a);sleep(1);i=i+1;return}}vitest.c保存退出test.c。按照下面的要求编译test.c。使用gcc-otest.otest.ctest.o。使用gcc-g-ogtest.otest.cgtest.o。比较gtest.o与test.o比test.o执行gtest.otest.o。使用GDBgtest.o。进入GDBgdbgtest.o列出源文件内容。list在程序a0;breakpointprintf("thevalueofa%d\n",a)个断点。run查看变量aprinta查看变量a执行下一个源程序行,从而执行其整体中的一个函数。从断点开始继续执行到下一个断点。查看变量aa不停地执行continue,直到程序结束。退出GDB。根据要求编写Makefile#include"stdio.h"intmain(intargc,char**argv){display1("hello");display2("hello");}五个文件分别是main.cdisplay1.hdisplay1.c#include"stdio.h"intmain(intargc,char**argv){display1("hello");display2("hello");}display1.hdisplay1.hvoiddisplay1(char*print_str);display2.hvoiddisplay2(char*print_str);display1.c#include"display1.h"voiddisplay1(char*print_str){printf("Thisisdisplay1print%sn",print_str);}display2.c#include"display2.h"voiddisplay2(char*print_str){printf("Thisisdisplay2print%sn",print_str);}如果上述文件在同一个目录,请编写Makefile如果按照下面的目录结构存放文件,请编写Makefile件。|bin|obj|include|srcMakefile
存放生成的可执行文件存放.o文件存放display1.hdisplay2.h存放main.c、display1.c、display2.c和如果按照下面的目录结构存放文件,请编写Makefile件。|bin|obj|include|src
存放生成的可执行文件存放.o文件存放display1.h和display2.h存放main.cMakefile|src/display1|src/display1|src/display2存放display1.c和Makefile存放display2.c和Makefilesrc下面的makefileSRC_DIR=.INC_DIR=../includeOBJ_DIR=../objBIN_DIR=../bininclude$(SRC_DIR)/test/makefileinclude$(SRC_DIR)/test1/makefiledisplay1下面的makefileall:$(OBJ_DIR)/display1.o$(OBJ_DIR)/display1.ogcc-o$(BIN_DIR)/display1$^display2下面的makefile$(OBJ_DIR)/display2.o:$(SRC_DIR)/display2/display.cgcc-c$<-o$@3-1答:建立宿主机开发环境,包括操作系统及编译器等配置宿主机相关服务及软件,如minicom3.建立引导加载程序BootLoader移植内核kernel建立根文件系统root6.建立应用程序的Flash开发应用程序烧写内核、根文件系统和应用程序发布产品3-2答:Stage1:硬件设备初始化。为加载BootLoaderStage2RAM复制BootLoaderStage2RAM设置好堆栈。堆栈指针的设置是为执行CStage2:初始化本阶段要使用到的硬件设备。检测系统内存映射MemoryMa。将内核映像和根文件系统映像从FlashRAM中。为内核设置启动参数。3-3答:数据结构file_operationsregister_chrdev注册。unregister_chrdev的卸载。/open动程序通过函数release读写设备:read函数将数据从内核复制到应用程序空间,write函数则将数据从应用程序空间复制到内核。I/Oioctl以外的I/O3-4答:register_chrdev(0,”demo”,&demo_fops);mknod/dev/democ2200insmoddemo.o参见exam4-1参见exam4-2参见exam4-3略略5-3C:\Qt\4.3.2>sqlite3exam.dbSQLiteversion3.5.4Enter".help"forinstructionsEnterSQLstatementsterminatedwitha";"sqlite>createtablebook(IDIntegerprimarykey,Namevarchar(20),Typevarchar(10),CountInteger);sqlite>insertintobookvalues(1,'SQLite3','Database',10);sqlite>insertintobookvalues(2,'Qt4','GUI',20);sqlite>select*frombook;1|SQLite3|Database|102|Qt4|GUI|20sqlite>5-4#include<stdio.h>#include<sqlite3.h>intmain(){sqlite3*db=NULL;intrc;char*Errormsg;intnrow;intncol;char**Result;inti=0;rc=sqlite3_open("exam.db",&db);if(rc){fprintf(stderr,"can'topendatabase:%s\n",sqlite3_errmsg(db));sqlite3_close(db);return1;}elseprintf("opendatabasesuccessly!\n");char*sql="createtablebook(IDIntegerprimarykey,Namevarchar(20),Typevarchar(10),CountInteger)";sqlite3_exec(db,sql,0,0,&Errormsg);sql="insertintobookvalues(1,'SQLite3','Database',10)";sqlite3_exec(db,sql,0,0,&Errormsg);sql="insertintobookvalues(2,'Qt4','GUI',20);";sqlite3_exec(db,sql,0,0,&Errormsg);sql="select*frombook";sqlite3_get_table(db,sql,&Result,&nr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论