《嵌入式系统开发》实验课教学指导书

上传人:桔**** 文档编号:563809198 上传时间:2024-02-10 格式:DOC 页数:62 大小:3.16MB
返回 下载 相关 举报
《嵌入式系统开发》实验课教学指导书_第1页
第1页 / 共62页
《嵌入式系统开发》实验课教学指导书_第2页
第2页 / 共62页
《嵌入式系统开发》实验课教学指导书_第3页
第3页 / 共62页
《嵌入式系统开发》实验课教学指导书_第4页
第4页 / 共62页
《嵌入式系统开发》实验课教学指导书_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《《嵌入式系统开发》实验课教学指导书》由会员分享,可在线阅读,更多相关《《嵌入式系统开发》实验课教学指导书(62页珍藏版)》请在金锄头文库上搜索。

1、嵌入式系统开发实验课教学指导书前言嵌入式系统开发是本专业的专业素质拓展课程,是实践性较强的一门课程。通过本课程的教学,掌握ARM体系结构,了解ARM汇编,能够熟练使用ARM开发工具,设计ARM启动代码。掌握操作系统基本原理,完成操作系统的移植,达到熟练掌握C语言的目的;掌握Linux原理的开发工具GCC与GDB的使用,通过在Linux下编程的实践,达到熟练掌握Linux下C编程的目的;掌握Linux下设备驱动设计方法,通过在Linux编写驱动程序的实践,达到熟练掌握 Linux下驱动编程的目的;掌握嵌入式工程师职业素养和软硬件设计规范,了解嵌入式产品开发流程,为后续项目实践奠定基础。为了高效地

2、利用有限的机时,提高上机效率,保证实验效果,根据以往教学经验,特自己编写这门课的实验指导书。本实验手册是我校嵌入式系统开发课程上机实验指导的主要依据。根据实验大纲要求,共包含7个实验。目录实验一 嵌入式系统实验平台简介1实验目的1实验内容1预备知识1实验设备及工具(包括软件调试工具)1实验内容介绍1实验二 Linux的安装和基本操作实验8实验目的8实验内容8实验三 交叉编译环境的建立和bootloader的使用11实验目的11实验内容11开发工具软件的安装与配置12实验四 多线程应用程序设计23实验目的:23实验内容:23预备知识:23实验设备及工具23实验原理及代码分析23实验步骤33思考题

3、35实验五 A/D 接口实验36实验目的36实验内容36实验设备及工具36实验原理36程序分析41实验步骤44思考题45实验六在2410-S上的移植46实验目的46实验内容46预备知识46实验设备及工具46实验原理46思考题49实验七 无线通讯实验50实验目的50实验内容50预备知识50实验设备及工具50实验原理50实验步骤54思考题55附录一 实验要求56附录二 实验成绩的考核与评定办法57附录三 实验项目设置与内容58实验一 嵌入式系统实验平台简介实验目的1熟悉嵌入式系统实验平台组成。2.了解嵌入式系统实验平台安装、使用方法。实验内容用给定的嵌入式系统实验平台,演示常用功能。预备知识C 语

4、言的基础知识、linux开发基础知识。实验设备及工具(包括软件调试工具)硬件:ARM 9嵌入式开发板、JTAG 仿真器、PC 机Pentiumn 4 ,512MB以上内存。软件:PC 机操作系统win xp、linux集成开发环境、仿真器驱动程序、实验内容介绍Linux价格低廉、功能强大,可以运行在X86,Alpha,Sparc,MIPS,MOTOROLA,PPC,NEC,ARM等硬件平台上,而且开放源代码,可以定制。我们所介绍的硬件平台是基于ARM体系结构,由北京博创兴业科技开发的UP-NetARM3000和UP-NetARM2410-S实验仪器。UP-NetARM3000的CPU为ARM7

5、TDMI内核的三星S3C44B0X01芯片,由于没有MMU(内存管理单元)只能运行uClinux,UP-NetARM2410-S的CPU为ARM920T内核的三星S3c2410芯片,由于有MMU可以运行标准的ARM-LINUX内核。通过这两个平台,我们可以学习嵌入式LINUX中的针对有MMU和无MMU的不同开发过程。UP-NetARM3000及相关产品的资料可以访问博创公司的网站 up-tech 获得。本书以UP-NetARM2410-S为例,详细介绍嵌入式 Linux的开发过程。 UP-NetARM2410-S 实验仪器介绍硬件配置UP-NetARM2410-S的硬件配置如表1所示,实物如图

6、1-1所示: 配置名称 型号 说明 CPU ARM920T 结构芯片三星S3c2410X 工作频率203MHz FLASH SAMSUNG K9F1208 64M NAND SDRAM HY57V561620ATH 32M2=64M EtherNet 网卡AX88796 两片,10/100M自适应 LCD LQ080V3DG01 8 寸16bit TFT 触摸屏 SX-080-W4R-FB FM7843 驱动LED ZLG7290 四个共阴极LED USB 接口 4 个HOST /1 个DEVICE 由AT43301 构成USB HUB UART/IrDA 2 个RS232,1 个RS485,

7、1 个IrDA 从处理器的UART2 引出AD 由S3C2410 芯片引出 3 个电位器控制输入AUDIO IIS 总线,UDA1341 芯片 44.1KHz 音频扩展卡插槽 168Pin EXPORT 总线直接扩展 GPS_GPRS 扩展板 SIMCOM 的SIM100-E 模块支持双道语音通信 IDE/CF 卡插座 笔记本硬盘,CF 卡PCMCIA 和SD 卡插座 PCMCIA 型号为DWL-650 PS2 PC 键盘和鼠标 由ATMEGA8 单片机控制IC 卡座 AT24CXX 系列由ATMEGA8 单片机控制DC/STEP 电机DC 由PWM 控制,STEP 由74HC573 控制CA

8、N BUS 由 MCP2510 和TJA1050 构成Double DA MAX504 两个10 位DAC 端口调试接口 JTAG 14 针、20 针表1-1 UP-NetARM2410-S 的硬件配置 图1-1 UP-NetARM2410-SS3c2410 芯片介绍S3c2410X 芯片集成了大量的功能单元,包括:1 内部,存储器,外部,16KB数据CACH,16KB指令CACH,MMU; 2 内置外部存储器控制器(SDRAM 控制和芯片选择逻辑); 3 LCD控制器(最高4K色 STN和256K彩色TFT),一个LCD专用DMA; 4 4 路带外部请求线的DMA; 5 三个通用异步串行端口

9、(IrDA1.0, 16-Byte Tx FIFO, and 16-Byte Rx FIFO),2通道SPI;6 一个多主IIC 总线,一个IIS 总线控制器; 7 SD 主接口版本1.0 和多媒体卡协议版本2.11 兼容; 8 2 个USB HOST ,一个USB DEVICE(); 9 4个PWM定时器和一个内部定时器; 10看门狗定时器; 11117个通用IO; 1224个外部中断; 13电源控制模式:标准、慢速、休眠、掉电; 148通道10位ADC和触摸屏接口; 15带日历功能的实时时钟; 16芯片内置PLL; 17设计用于手持设备和通用嵌入式系统; 18 16/32位RISC体系结构

10、,使用ARM920T CPU核的强大指令集; 19ARM带MMU的先进的体系结构支持WINCE、EPOC32、LINUX; 20. 指令缓存(catch)、数据缓冲、写缓冲和物理地址TAG RAM,减小了对主存储器带宽和性能的影响; 21. ARM920T CPU 核支持 ARM 调试的体系结构; 22. 内部先进的位控制器总线(AMBA2.0,AHB/APB) . 其结构图如图1-2所示: 图1-2 S3c2410X 芯片系统管理:1 小端大端支持; 2 地址空间:每个BANK128MB(全部1G 字节); 3 每个BANK 可编程为8/16/32 位数据总线; 4 bank 0 到bank

11、 6 为固定起始地址; 5 bank 7 可编程BANK 起始地址和大小; 6 一共8个存储器BANK; 7 6 个存储器BANK 用于ROM, SRAM 和其他; 8 2个存储器BANK用于ROM, SRAM和同步DRAM;9 每个存储器BANK可编程存取周期; 10支持等待信号用以扩展总线周期; 11支持SDRAM掉电模式下的自刷新; 12支持不同类型的ROM用于启动NOR/NAND Flash, EEPROM和其他。 芯片封装:272-FBGA封装图如图1-3所示: 图1-3 272-FBGA 封装嵌入式Linux 开发流程嵌入式linux开发,根据应用需求的不同有不同的配置开发方法,但

12、是一般都要经过以下过程: 建立开发环境。操作系统一般使用REDHATLINUX,版本7到9都可以,选择定制安装或全部安装,通过网络下载相应的GCC交叉编译器进行安装(比如arm-linux-gcc、arm-uclibc-gcc) ,或者安装产品厂家提供的交叉编译器。 配置开发主机。配置MINICOM,一般参数为波特率115200,数据位8位,停止位1,无奇偶校验,软硬件控制流设为无。在WINDOWS 下的超级终端的配置也是这样。MINICOM 软件的作用是作为调试嵌入式开发板信息输出的监视器和键盘输入的工具;配置网络,主要是配置NFS网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程

13、。 建立引导装载程序BOOTLOADER,从网络上下载一些公开源代码的BOOTLOADER,如U-BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根据自己具体芯片进行移植修改。有些芯片没有内置引导装载程序,比如三星的ARM7、ARM9系列芯片,这样就需要编写烧写开发板上flash的烧写程序,网络上有免费下载的WINDOWS下通过JTAG并口简易仿真器烧写ARM外围flash芯片的程序。也有LINUX下公开源代码的J-FLASH程序。如果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。这是让系统可以正常运行的第一步。如果你购买了厂家的仿真器当然比较容易

14、烧写flash了,但是其中的核心技术是无法了解的。这对于需要迅速开发应用的人来说可以极大地提高开发速度。 下载别人已经移植好的LINUX操作系统,如UCLINUX、ARM-LINUX、PPC-LINUX等,如果有专门针对你所使用的CPU移植好的LINUX操作系统那是再好不过,下载后再添加自己的特定硬件的驱动程序,进行调试修改,对于带MMU的CPU可以使用模块方式调试驱动,对于UCLINUX这样的系统好像只能编译进内核进行调试。 建立根文件系统,从下载使用BUSYBOX软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他的程序。默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,包括:、/etc/profile、/etc/.profile等,自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs 、genromfs等工具产生烧写映象文件。 建立应用程序的flash磁盘分区,一般使用JFFS2或YAFFS文件系统,这需要在内核中提供这些文件系统的驱动,有的系统使用一个线性flash(NOR型)512K32M,有的系统使用非线性flash(NAND型)8512M,有的两个同时使用,需要根据应用规划flash的分区方案。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号