嵌入式系统设计大作业_第1页
嵌入式系统设计大作业_第2页
嵌入式系统设计大作业_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 1/ 7嵌入式系统设计大作业学号名:罗翔答:用于烧写FLASHFLASHjatg.exe fluted flashpgm是通过jtag 接口来烧写flash 的,由于pc 机上是没有jtag信息给目标板的jtagjtag用于调试程序同时应当留意到jtag 接口还可以用来调试程序。而调试程序如ARM 开发组件中的AXD 为了通过jtagpc 的并口转jtag标板的通信。这样,并口转jtag仿真器依据1和2的总结,并口转jtag 接口的电路是两种应用的关键,而这种电路在嵌入式开发中就叫仿真器。并口转jtag 接口的电路有很多种,有简洁有简单的,常见的仿真器Wigger,

2、EasyJTAG,Multi-ICEjtag区分只是电路不同或使用的技术不同而已。答:一:建立宿主机开发环境建立穿插编译的环境即在宿主机上安装与开发板相应的编译器Linux答:一:建立宿主机开发环境建立穿插编译的环境即在宿主机上安装与开发板相应的编译器Linux程序,内核,文件系统和应用程序CPU代码。该代码只能在开发板上执行,然后下载到开发板上运行下载和安装arm-Linux-gccarm-Linux-gcc至当前名目下profile路径 马上使的环境变量生效:运行 sourcepath,测试是否安装成功,编译程序,测试穿插工具链 minicomctrl+A+Ominicom4)务5)6)建

3、立数据共享效劳:NFS 效劳是 Linux 系统中经常使用的数据文件共享服编译嵌入式系统内核:内核配置,建立依存关系,建立内核制作文件系统3、给消灭今有哪些用于嵌入式开发的芯片名称,他们分别是哪些公司的产品?体系构造是什么? MC 68k; 答:(1) VxWorks(2)wince (3)linux (4)android (5)C/OS-5、PXA270 嵌入式开发板的接口有哪些?答:10M 10M/100M 标准以太网接口,USB 接口,红外通讯口,音频接口,存储卡口,视频和触摸屏接口摄像头接口,RTC时钟接口,调试接口,下载接口,电源接口。 和 NandFlash 的区分。NorFlas

4、hNorFlash读取速度较快 写入速度慢XIPPlace,芯片内执行存放引导程序、根文件等单片容量较小为 1-32MB10 万次NandFlash数据线复用,数据位较窄读取速度较慢 写入速度快如大容量的多媒体应用。在嵌入式系统中,常用于存放用户文件系统等密度100 万次诺依曼的构造速运行时,不能到达同时取指令和取操作数的目的从而形成传输过程的瓶颈。来自程序空间和取操作数来自数据空间,因此具有更高的执行效率,修正的哈佛总线构造还可以在程序空间和数据空间之间相互传送数据。83 10 个指令周期时,第几条指令执行完毕?答:第七条9linuxlinux设备驱动常用的数据构造,同时阅读下面代码,请给出

5、测试程序中的每条语句加以注释。设备驱动程序Keypad.c 的源代码:#include/最根本的文件,支持动态添加和卸载模块。#include/包含了文件操作相关struct的定义#include/初始化头文件#include/轮询文件#include#include#include/可以在芯片上产生周期性的中断#include/延时头文件#include/与处理器相关的硬件#include/延时头文件#include/与处理器相关的入口#defineLEDnKEY_MAJOR251#defineKEYPAD_NAME“X-Hyper250Keypad“#define KEYPAD_VERSI

6、ON “Version 0.1“ #defineEXT_KEY_CS EXT_PORT2/宏定义#defineEXT_LED_CS EXT_PORT3/宏定义#defineLED_SHOW10/宏定义/*EXT_KEY_CSLED进展数值设定,它定义在其它头文件里*/voidled_off_on/*/inti;EXT_LED_CS=0 xff;for(i=0;i8;+i)EXT_LED_CS(1i)&0 xff); /点亮相应LED灯udelay(30000);/调用udelay函数来延迟EXT_LED_CS=0 xff;/*应用程序用open来翻开设备文件,实际上调用驱动的lednkey_o

7、pen函数*/intlednkey_open(structinode*inode, structfile*filp)/翻开设备文件MOD_INC_USE_COUNT;/模块自身通过return(0);/*success*/int lednkey_release(struct inode *inode, struct file *filp)/释放设备文件 4 4/ 7led_off_on;MOD_DEC_USE_COUNT;return(0);ssize_tlednkey_read(structfile*filp,char*Putbuf,size_tlength,loff_t*f_pos/)*按

8、键读取函数*/unsignedshortBottonStatus; /按键状态unsignedcharBottontmp0;inti;BottonStatus=(EXT_KEY_CS&0 xff);for(i=0;i8;+i)if(BottonStatusi)&1)0 ) /推断哪个按键按下Bottontmp(i+1);copy_to_user(Putbuf,&Bottontmp,length);/*将数据从内核态拷贝到用户态,这是由定义在里的特别函数实现在不同的空间传输任意字节的数据*/returnlength;ssize_tlednkey_write(structfile*filp,con

9、stchar*Getbuf,size_tlength,loff_t*f_pos)intnum;unsignedcharUsrWantLed;copy_from_user(&UsrWantLed,Getbuf,length);/将数据从用户态拷贝到核心态num = ( (UsrWantLed)&0 xff/确定哪一位要进展设定EXT_LED_CS(1(num-1);/点亮相应LED灯return(0);intlednkey_ioctl(structinode*inode,structfile*filp,unsignedintcmd,unsignedlongarg)/lednkey_ioctlsw

10、itch(cmd)caseLED_SHOW:if(arg)led_off_on;break;return0;/以下这些驱动函数是与用户的应用程序里对设备文件操作的函数相对应的structfile_operationslednkey_fopsopen:lednkey_open,read:lednkey_read,write:lednkey_write,ioctl:lednkey_ioctl, release:;static int _init xhyper250_keypad_init(void)/*初始化设备函数,在函数名之前加上这个属性之后,系统会在初始化完成之后丢弃初始化函数,收回它所占用

11、的内存,以减小内核所占用的 内存空间,它只对内建的驱动起作用*/intresult;result = register_chrdev(LEDnKEY_MAJOR, “lednkey“, &lednkey_fops);/*向操作系统注册一个主号为251,设备名为“lednkey“,并传递设备驱动程序的指针为lednkey_fops全局变 量register_chrdev是内核供给的函数,作用是完成注册的字符设备*/printf(“%s%sinitialized.n“,KEYPAD_NAME,KEYPAD_VERSION);led_off_on;return0;staticvoid_exitxhy

12、per250_keypad_exit(void)/向操作系统卸载设备函数unregister_chrdev(LEDnKEY_MAJOR,“lednkey“);led_off_on;module_init(xhyper250_keypad_init);/显式声明初始化设备函数module_exit(xhyper250_keypad_exit); /显式声明卸载设备函数测试文件的源代码如下:#include #include #include #include #include#include#defineLED_SHOW10/宏定义intfd;staticchar*dev_name=“/dev/

13、keypad“;intmain(intargc,char*argv)intdata=0,pre_data;fdopen(dev_nameO_RDWR/使用函数open翻开设备keypadif(!(fd=0)printf(“%sfileopenfailedn“,dev_name);exit(-1);/翻开失败,显示出错信息printf(“nkeypadApp:pressthepushbuttonseeshowled-ExitCtrl-Cn“,dev_name);/翻开成功,提示用户输入ioctl(fd,LED_SHOW,1);/循环显示LED,看LED是否正常while(1)dopre_data=data;read(fd,(char*)&data,sizeof(data);data=(data&0 xff);while(data=0);if(pre_data=0)printf(“W

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论