




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1-1 什么是嵌入式系统?嵌入式系统和普通计算机系统的区别是什么?举例说明。答:问题一:嵌入式系统是以应用为中心,以计算机为基础,其软硬件可裁剪配置,对功能、可靠性、成本、体积、功耗有严格约束的一种专用计算机系统。问题二:比较项目嵌入式系统普通计算机系统引导代码BootLoader引导,针对不同电路进行移植主板的BIOS引导OSWindowsCE、VxWorks、Linux等,需要移植Windows、Linux,不移植驱动程序每个设备都必须针对电路板进行开发OS中含有大多数,直接下载协议栈移植OS或者第三方供应商提供开发环境借助服务器进行交叉编译在本机可开发调试仿真器需要不需要1-2 简述嵌入式系统的构成答:硬件微处理器嵌入式系统的控制核心外围电路嵌入式系统的内存、I/O端口、复位电路、电源等外设USB、LCD、键盘等软件设备驱动接口负责嵌入式系统与外设的信息交互实时操作系统包括与硬件相关的底层软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等可编程应用接口为编制应用程序提供各种编程接口库应用软件1-3答:R13:也记作SP,在ARM指令集中虽然没有强制,但是通常用于堆栈指针SP;在Thumb指令集中强制其作为堆栈指针。R14:也记作程序连接寄存器LR(Link Register),用于保存子程序调用或异常中断处理返回时程序的返回地址。R15:也记作程序计数器PC,用于标示下一条将要执行的指令地址。CPSR:程序状态寄存器,包含条件标识位、中断标识位、当前处理器模式等状态和控制位。SPSR:备份的程序状态寄存器。在异常中断处理过程中,用于保存被中断处理程序的执行现场和处理器状态。1-4答:(1)复位异常中断:当系统上电、复位、软件复位时产生该类型中断。(2)未定义指令异常中断:当ARM处理器或系统中的协处理器认为当前指令未定义时,产生该中断。通常利用该中断模拟浮点向量运算。(3)软件中断:可用于用户模式下特权操作的调用,既可以是系统功能,也可以是用户自定义的功能。(4)指令预取中止异常中断:如果处理器预取的指令地址不存在,或者该地址不允许当前指令访问,产生该类型的中断。(5)数据访问中止异常中断:如果数据访问的目标地址不存在,或者该地址不允许当前指令访问,则产生该中断。(6)外部中断:当处理器的外部中断请求引脚有效,而且CPSR的I控制位被清除时,产生该类型的中断(7)快速外部中断:当处理器的快速中断请求引脚有效,而且CPSR的F控制位被清除时,产生该中断。1-5答:(1)ADRR0, TABLE(2) ADRR1, DATALDRR0, R1(3)LDRR0, =DATA(4)TABLEEQU 800MOVR0, #TABLE(5)TABLESPACE201-6答:R0=DATA1这组数据在存储器中所存放的起始地址,由编译器分配;R1=0x0C0D0E0F; R2=0xF;R3=0x8020;0x8020=R11-7答:AREASWITCH, CODE, READONLYENTRYANDR2, R0, 0x3;R2 R0的低两位MOVR2, R2, LSL #30;将低两位移动到高两位BICR0, R0, 0x3;将R0的低两位清0ANDR3, R1, 0xC0000000;R3R1的高两位MOVR3, R3, LSR #30;将高两位移动到低两位BICR1, R1, 0xC0000000;将R1的高两位清0ORRR0, R0,R3;R1的高两位写入到R0的低两位ORRR1, R1, R2;R0的低两位写入到R1的高两位END1-8答:/ main.cInclude “stdio.h”externintsum(int num, int n);main()intarray10=20, 30, 23, 5,15,64,6,15,72,73 ;intHE=sum(array, 10);printf(“The sum of array is %d”, HE);/huibian.sAREAASM, CODE, READONLYEXPORT sumsumMOVR2, #0LOOPLDRR3, R0, #4ADDR2, R2, R3SUBR1, R1, 1CMPR1, 0BNELOOPMOVR0, R2MOVPC, LREND 1-9答:(1)要求很强的实时性,支持快速而明确的上下文切换(2)具有高度的可裁剪性,支持动态链接,能够通过装卸某些模块来达到系统所需要的功能(3)具有快速有效的中断和异常处理能力(4)具有优化的浮点支持(5)能够进行动态的内存管理2-1 略。2-2 略2-3 略2-4 按照要求完成以下操作。(1)创建文件夹test。 mkdir test(2)进入test目录。 cd test(3)在test目录下用Vi编辑一个新文件test.c,其内容如下:#include int main() int a,i=0; a=0; while(i20) a=a+3; printf(the value of a=d n,a); sleep(1); i=i+1; return 0; vi test.c(4)保存退出test.c。(5)按照下面的要求编译test.c。使用gcc -o test.o test.c编译,生成test.o。使用gcc -g -o gtest.o test.c编译,生成gtest.o。比较gtest.o 与 test.o的大小,哪个大?为什么?gtest.o 比 test.o 大,因为前者加入了一些调试信息。(6)执行gtest.o与test.o。2-5 使用GDB调试上面的程序gtest.o。(1)进入GDB调试环境,读入调试程序。 gdb gtest.o(2)列出源文件内容。list(3)在程序a = 0;处设置一个断点。 breakpoint (4)在程序printf(the value of a = %d n,a);处设置一个断点。(5)执行该程序。 run (6)查看变量a的值。 print a(7)查看变量a的类型。(8)执行下一个源程序行,从而执行其整体中的一个函数。(9)从断点开始继续执行到下一个断点。(10)查看变量a的值,看看a是否有变化?(11)不停地执行continue,直到程序结束。(12)退出GDB。2-6 根据要求编写Makefile文件。五个文件分别是main.c、display1.h、display1.c、display2.h、display2.c,具体的代码如下:#include stdio.hint main(int argc,char *argv) display1 (hello); display2(hello);display1.hvoid display1 (char *print_str);display2.hvoid display2 (char *print_str);display1.c#include display1.hvoid display1(char *print_str) printf(This is display1 print sn,print_str);display2.c#include display2.hvoid display2 (char *print_str) printf(This is display2 print sn,print_str);(1)如果上述文件在同一个目录,请编写Makefile文件。(2)如果按照下面的目录结构存放文件,请编写Makefile文件。|-bin存放生成的可执行文件|-obj存放.o文件|-include存放display1.h和display2.h文件|-src存放main.c、display1.c、display2.c和Makefile(3)如果按照下面的目录结构存放文件,请编写Makefile文件。|-bin存放生成的可执行文件|-obj存放.o文件|-include存放display1.h和display2.h文件|-src存放main.c和Makefile|-src/display1存放display1.c和Makefile|-src/display2存放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 $sqlite3 exam.dbSQLite version 3.5.4Enter .help for instructionsEnter SQL statements terminated with a ;sqlite create table book(ID Integer primarykey,Name varchar(20),Type varchar(10),Count Integer);sqlite insert into book values(1,SQLite3,Database,10);sqlite insert into book values(2,Qt4,GUI,20);sqlite select * from book;1|SQLite3|Database|102|Qt4|GUI|20sqlite5-4#include#includeint main()sqlite3 *db=NULL;int rc;char *Errormsg;int nrow;int ncol;char *Result;int i=0;rc=sqlite3_open(exam.db,&db);if(rc)fprintf(stderr,cant open database:%sn, sqlite3_errmsg(db);sqlite3_close(db);return 1;elseprintf(open database successly!n);char *sql=create table book(ID Integer primary key,Name varchar(20),Type varchar(10),Count Integer);sqlite3_exec(db,sql,0,0,&Errormsg);sql=insert into book values(1,SQLite3,Database,10);sqlite3_exec(db,sql,0,0,&Errormsg);sql=insert into book values(2,Qt4,GUI,20);sqlite3_exec(db,sql,0,0,&Errormsg);sql=select * from book;sqlite3_get_table(db,sql,&Result,&nro
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山西体育职业学院《C语言》2023-2024学年第二学期期末试卷
- 贵阳康养职业大学《微波测量技术及仪器》2023-2024学年第二学期期末试卷
- 宁波工程学院《成本会计学》2023-2024学年第二学期期末试卷
- 吉林城市职业技术学院《传感与检测技术》2023-2024学年第二学期期末试卷
- 九江职业技术学院《云计算和大数据技术》2023-2024学年第二学期期末试卷
- 南京城市职业学院《商务决策模型》2023-2024学年第二学期期末试卷
- 2024年发电机组、内燃发电机组及旋转式变流机项目资金需求报告代可行性研究报告
- 核磁共振成像设备维护保养培训
- 学生个人规划课件
- 小学生感恩教育主题班会
- 2024年辽宁省大连市初中学业水平考试模拟道德与法治试卷
- 斯大林培训课件
- 外研版(2019)选择性必修第二册Unit 3 Times change!Understanding ideas 课件
- 《工程建设标准强制性条文电力工程部分2023年版》
- 心理干预各论家庭治疗
- 湖北省武汉市2024届高中毕业生四月调研考试数学试卷
- 游艇俱乐部圈层策划方案
- 白癜风科普讲座课件
- 第16课《看病用药有学问》 课件
- 善待他人班会课件
- 交通事故起诉书模板
评论
0/150
提交评论