- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- 小学语文二年级册重点复习资料.doc
- 小学语文五年级册第三单元第19课:《草船借箭》教案.doc
- 小学语文五年级册第五单元综合性学习.doc
- 小学语文五年级册课程纲要.doc
- 小学语文所有背的课文1.doc
- 小学语文教学批式阅读探究.doc
- 小学语文教师的本解读.doc
- 小学语文新旧课对比表.doc
- 小学语文目录(教).doc
- 小学语文第二册文教学设计2.doc
- 2025年网络文学平台版权运营模式创新与版权保护体系构建.docx
- 数字藏品市场运营策略洞察:2025年市场风险与应对策略分析.docx
- 全球新能源汽车产业政策法规与市场前景白皮书.docx
- 工业互联网平台安全标准制定:安全防护与合规性监管策略.docx
- 剧本杀剧本创作审核标准2025年优化与行业自律.docx
- 2025年新能源电动巡逻车在城市安防中的应用对城市环境的影响分析.docx
- 全渠道零售案例精选:2025年行业创新实践报告.docx
- 2025年网约车司乘纠纷处理机制优化与行业可持续发展报告.docx
- 2025年宠物烘焙食品市场法规政策解读:合规经营与风险规避.docx
- 2025年宠物行业数据安全监管政策影响分析报告.docx
文档评论(0)