嵌入式上机报告西电2014版.docVIP

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式上机报告西电2014版

嵌入式系统基础 实验报告 评语: 成绩 教师: 年月日 班级:031113 学号 姓名:刘 涛 地点:E-505 时间:2013年5月 实验一:ARM系统初始化 (一)实验目的: 了解“EELIOD实验平台”的基本硬件组成 了解ARM汇编程序设计的基本技巧 了解嵌入式系统的一般引导过程 掌握常见ARM开发工具软件的使用 (二)实验原理: 1、程序介绍 本实验通过一个简短的Boot引导程序介绍ARM开发平台的启动过程,同时该引导程序也可作为通用的引导代码供其它程序直接调用。本实验由boot.s和main.c两个文件构成。boot.s汇编文件的详细注解请参考附录F——“系统启动代码详注”。 本实验其它源代码可参考示例工程——Ex1-boot。其中main.c文件主要实现对平台中的八个LED灯循环流水点亮。 2、硬件连接 图4.1为8LED的设计框图。由图4.2可知,LED-CS4为八个LED的控制芯片74HC574的片选,而LED-CS4接在3-8译码器74LCx138的Y5输出上,如图4.3。74LCx138译码器的片选信号B_CS4对应CPU的nCS4,如图4.4。由图4.5可知,nCS4对应的基址为0所以八个LED控制芯片的物理地址为000x500000。 图4.1 8LED连接框图 图4.2 8LED设计图 图4.3 8LED片选信号 图4.4 外设片选信号设计 图4.5 外设片选信号设计 平台上数码管的设计和8LED的设计类似。4个数码管分两组控制,如图4.6所示。 图4.7、图4.8给出了数码管的设计,如图所示,两组的片选信号为LED-CS2和LED-CS3。由图4.3可知数码管的物理地址为00 图4.6 数码管连接框图 图4.7 数码管设计图 图4.8 数码管设计图 (三)实验步骤: 1、分析程序代码 结合以上说明,对本实验所提供的汇编源代码进行分析,深入理解针对具体的硬件实现,软件是如何配合工作的。 2、程序的编译和下载 利用示例工程源代码,在ADS开发环境下实现工程的建立、编辑、编译、连接并生成映像文件,最终下载到实验平台上。 3、观察系统运行情况,对系统进行源码调试。 将映像文件下载到SDRAM中进行运行调试,具体请参考第三章——“ADS开发环境”。 4、对程序进行扩展 在掌握I/O端口控制方法的基础上,根据EELIOD平台数码管设计原理,实现数码管的控制。如用数码管显示一组特定的数字。 (四) ①LED控制 通过对LED的地址直接写入数据即可完成对LED的控制,在高级语言中一般无法直接完成对内存指定地址的操作,但在C语言中可以利用指针来完成该操作。同时由于PXA270内部带有高速缓存Cache,所以需要用关键字volatile来限定该指针使得每次对指针的操作都直接操作到内存,而不通过Cache。 ②数码管控制 数码管基本控制原理与LED控制相同,只是地址换成数码管的地址。实验板上共有4个数码管,4个数码管分成两组,每组用一个地址;在一组内,用16位二进制(半字)来控制两个数码管;注意要使数码管正常工作,每个该半字的第8位和第16位必须为0来控制三极管打开使得数码管通电。 (五) #include stdio.h #define LED_CS4 (*((volatile unsigned char *)(0)) #define LED_VALUE (0xff) unsigned int data[]={0x40,0x30,0x79,0x79,0x79,0x24,0x10,0x30}; int i; char test[] = I am test!\n; void Delay(unsigned int x) { unsigned int n, j, k; for (n =0; n =x; n++) for (j = 0; j 0xff; j++) for (k = 0; k 0xff; k++); } void DELAY() { int x=10,n,j,k; for (n =0; n =x; n++) for (j = 0; j 0xff; j++) for (k = 0; k 0xff; k++); } int main(vo

文档评论(0)

feng1964101 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档