嵌入式实训2.docVIP

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

嵌入式实训2——维信科技 一、主要目的(维信科技,山西最专业的IT实训) 熟悉ADS1.2开发环境,学会ARM仿真器的使用。使用ADS编译、下载、调试并跟踪一段已有的程序,了解嵌入式开发的基本思想和过程。 二、实训内容 本次实验配置ADS集成开发环境,新建一个简单的工程文件,并编译这个工程文件(维信科技,山西最专业的IT实训)。学习ARM仿真器的使用和开发环境的设置。下载已经编译好的文件到嵌入式控制器中运行。学会在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。 三、预备知识(维信科技,山西最专业的IT实训) C语言的基础知识、程序调试的基础知识和方法。 四、设备及工具(包括软件调试工具) 硬件:ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上、串口线(维信科技,山西最专业的IT实训)。 软件:PC机操作系统win98、Win2000或WinXP、ARM SDT 2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序。 五、实训步骤 1 配置ADS集成开发环境 (1)运行ADS1.2集成开发环境(CodeWarrior for ARM Developer Suite)。选择File|New…菜单,在对话框中选择Project,如图1-17所示,新建一个工程文件。图中示例的工程名为Exp6.mcp。点set…按钮可为该工程选择路径如图1-18所示,选中CreatFolder选项后将以图1-17中的ProjectName或图1-18中的文件名为名创建目录,这样可以将所有与该工程相关的文件放到该工程目录下,便于管理工程。 在图1-17中工程模板列表中我们选择ARM Executable Image通用模板。我们随后将一步一步的把它配置成针对我们的ARM3000开发板的模板44B0 ARM Executable Imaage,并把它拷贝到ADS1.2安装目录下的Stationery目录中(所有的工程模板都在此目录下)(维信科技,山西最专业的IT实训)。以后我们新建工程时,在工程模板列表中直接选中44B0 ARM Executable Imaage模板选项,就不必每次重新配置模板了。 图1-17 新建工程 图1-18 保存工程 (2)在新建的工程中,如图1-19所示,选择Debug版本,使用Edit | Debug Settings菜单0x0c080000是开发板上SDRAM的真实地址,是由系统的硬件决定的;0x0c200000指的是系统可读写的内存地址(维信科技,山西最专业的IT实训)。也就是说,在0x0c0800000xC1fffff之间是只读区域,存放程序的代码段,在0xC200000开始是程序的数据段。 图1-21 设置连接地址范围 (6) 在ARM Linker项的Output选项卡中,我们选择Scattered选项,如图1-22所示.标准C中如果使用malloc及其相关的函数,需要使用系统的堆(Heap)空间,可以通过scatter文件来描述系统HEAP段的位置(维信科技,山西最专业的IT实训)。针对44B0开发板,把程序的入口定位在0xc080000,并定义scatter文件为scat_ram.scf。 在图1-22中选择LinkType为Scattered, 输入scatter文件名scat_ram.scf;然后切换到Options选项卡在Image Entry Point 框中输入0xc080000。也可以在图1-22的Command Line框中直接输入-entry 0xc080000 -scatter scat_ram.scf进行上述设置(维信科技,山西最专业的IT实训)。 图1-22 通过scatter文件设置连接地址 提示: 程序移植到ADS后,程序最开始首先执行用汇编写的初始化代码——包括中断向量和内存空间的初始化。在该段代码中使用 IMPORT __main;(注意main前面是两个下划线) B __main 进行系统内部的标准C函数初始化,然后调用用户在C中定义的main()函数(注意:两个main都是小写),并且在嵌入式应用中用户C的main函数中不能有参数(int main(void))。 不能有系统定义的软中断,在汇编中可以使用 IMPORT __use_no_semihosting_swi 来检测,在C中使用 #pragma import(__use_no_semihosting_swi) // ensure no functions that use semihosting scatter文件内容如下,创建了一个RAM_LOAD的程序和数据的装

文档评论(0)

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

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

1亿VIP精品文档

相关文档