欢迎来到天天文库
浏览记录
ID:21938540
大小:269.50 KB
页数:22页
时间:2018-10-25
《专业实验嵌入式系统实验指导书2011版》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、专业实验嵌入式系统实验指导书2011年3月王恒编实验一嵌入式系统ARM驱动编程一、实验目的1.熟悉ARM环境,学会ARM仿真器的使用。使用ADS编译、下载、调试并跟踪一段已有的程序,了解嵌入式开发的基本思想和过程。2.掌握非嵌入式操作系统模式下的ARM编程。3.了解LCD基本概念与原理,熟悉用ARM内置的LCD控制器驱动LCD,掌握延时函数的使用方法,可以设计动态ARM程序。二、实验内容(2学时)1.本次实验使用ADS集成开发环境。学习ARM仿真器的使用和开发环境的设置。下载已经编译好的文件到嵌入式控制器中运行。学会在程序中设置断点,观察系统内存和变量,
2、为调试应用程序打下基础。2.学习LCD显示器的基本原理,理解其驱动控制方法。掌握两种LCD驱动方式的基本原理和方法。并用编程实现控制LCD显示的ARM程序。三、预备知识C语言的基础知识、程序调试的基础知识和方法。四、实验设备及工具硬件:ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机。软件:PC机操作系统Win2000、ARMADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序五、实验原理1.ARM程序的在线仿真与调试ADS1.2可以进行ARM程序的编写和调试。打开ADS1.2的编辑界面后,可以以工程的方式编写和组织源代码。执行菜
3、单Project
4、Make可对工程进行编译连接。在出现的错误/警告窗口中选择某错误/警告信息,ADS会自动打开相应源文件并用箭头指向出错的文本行。如果某个源文件被修改,重新编译时ADS会自动同步各文件的日期信息。ARM程序调试步骤如下:(1)在ADS中执行菜单Project
5、Debug启动ADS1.2的调试工具AXD。(2)在AXD中执行菜单Options
6、ConfigureTarget对AXD进行设置。如图1B-13所示。选择ADP即远程调试,点Configure按钮进一步设置具体参数,如图1B-14所示。-22-专业实验嵌入式系统实验指导书2011年
7、3月王恒编(3)在图1B-14中点Select按钮选择远程连接为ARMethernetdriver,点Configure按钮输入仿真器的IP地址。如果用户使用的是并行口仿真器,请输入127.0.0.1即可。(4)等待程序装载完毕以后,通过Execute
8、Go菜单以及Execute
9、Stop(或者工具栏中的相应按钮)运行或暂停程序。程序暂停后在窗口中将显示出程序暂停的位置。(5)通过Execute
10、Step菜单(或者工具栏中的相应按钮)可以单步运行程序。也可以使用Step-22-专业实验嵌入式系统实验指导书2011年3月王恒编In、StepOut菜单命令进
11、入或者跳出函数的调用。RunToCursor命令运行到光标位置。(6)程序停止后可以通过ProcessorViews
12、Sources菜单查看源文件,并可在适当位置按F9设置端点。(7)使用在ProcessorView菜单下的Registers、Variables和Memory命令可以查看工作寄存器或者内存变量。可以逐一地尝试,以方便对程序进行调试。2.LCD的驱动方法市面上出售的LCD有两种驱动类型:一种是带有驱动电路的LCD显示模块,这种LCD可以方便地与各种低档单片机进行接口,如8051系列单片机,但是由于硬件驱动电路的存在,体积比较大。这种模式常常
13、使用总线方式来驱动。另一种是LCD显示屏,没有驱动电路,需要与驱动电路配合使用。特点是体积小,但却需要另外的驱动芯片。也可以使用带有LCD驱动能力的高档MCU驱动,如ARM系列的S3C44BOX。S3C44B0X中具有内置的LCD控制器,它具有将显示缓存(在系统存储器中)中的LCD图象数据传输到外部LCD驱动电路的逻辑功能。S3C44B0X中内置的LCD控制器可支持灰度LCD和彩色LCD。在灰度LCD上,使用基于时间的抖动算法(time-basedditheringalgorithm)和FRC(FrameRateControl)方法,可以支持单色、4级灰
14、度和16级灰度模式的灰度LCD。在彩色LCD上,可以支持256级彩色。对于不同尺寸的LCD,具有不同数量的垂直和水平象素、数据接口的数据宽度、接口时间及刷新率,而LCD控制器可以进行编程控制相应的寄存器值,以适应不同的LCD显示板。与ARM自带LCD驱动器有关的寄存器可参见S3C44B0X的数据手册。3.延时函数与嵌入式系统的主函数写法voidDelay(inttime)函数可以实现延时功能,(注意函数名中的字母D是大写),其中参数time是设定的延时值,单位为0.1ms。例如延时1s,可以调用:Delay(10000);即可实现。该延时函数的精度比较高
15、,是采用S3C44B0X芯片内部的定时器来实现定时功能的。嵌入式系统的主函数一般
此文档下载收益归作者所有