实验一 熟悉硬件平台和软件环境概要Word文件下载.docx
《实验一 熟悉硬件平台和软件环境概要Word文件下载.docx》由会员分享,可在线阅读,更多相关《实验一 熟悉硬件平台和软件环境概要Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
实验步骤
A部分阅读实验板的说明文档(即EA2440a技术说明书和实验板原理图),熟悉实验板的硬件接口及相应配置。
B部分ADS1.2初步使用
1选择“开始—〉所有程序—〉ARMDeveloperSuitev1.2”下的“CodeWarriorforARMDeveloperSuite”打开集成开发环境,如图所示。
2新建工程及编译、链接选项设置
(1)单击File菜单,选择New菜单项即弹出New对话框,如图所示。
(2)选择工程模板为ARM可执行映像(ARMExecutableImage),然后在Location项选择工程存放路径,并在Projectname项输入工程名称,单击“确定”按钮即可建立相应工程,工程文件名后缀为.mcp。
(3)编译选项设置。
点击确定按钮后出现工程窗口,在工程窗口中选择DebugRelSetting进入编译选项设置对话框。
(4)在DebugSettings对话框中选择TargetSettings选项,在Post-linker列表框中选择ARMfromELF,单击右下角的Apply按钮使其有效。
(5)设置TargetSettings在DebugSettings对话框中选择ARMLinker选项,选中Simple单选按钮,在Simpleimage选项组中设置连接的ReadOnly(只读)和Read-Write(读写)地址。
地址0x30000000是开发板上SDRAM的真实地址,是由系统的硬件决定的。
本实验中对系统可读写的内存地址并没有分配,系统将自动分配地址。
(6)点击Layout选项页,在该选项页中的Placeatbeginningofimage选项组中设置程序的入口模块。
指定在生成的代码中,程序是从2440init.s开始运行的。
Object/Symbol/项设为2440init.o,Section项设为Init。
(7)在DebugSettings对话框中选择ARMfromELF选项,设置Outputformat为Plainbinary。
也可在此对话框中设置生成的BIN文件名。
(8)最后在LanguageSettings选项中的5个子项中将“ArchitectureorProcessor”栏都选择为ARM920T。
图中只列出了ARMAssembler子项的设置情况。
单击OK按钮退出设置对话框。
注意:
为了以后建立工程的方便,可以将该工程作为工程模板,以后建立工程时就不需要再对工程进行重复设置了。
具体方法是在ADS1.2安装目录下Stationery文件夹中新建一个文件夹,例如可取名“SinoSys-EA2440aTemplate”,再将上面建立的工程文件(即.mcp的文件)拷贝到这个新建的文件夹中。
这样,在每次新建工程时就可以选择名为“SinoSys-EA2440aTemplate”的工程模板了。
3编辑源文件建立新的源文件或者添加已有的源文件皆可
选择File菜单下的New,打开New对话框。
在该对话框中选择File选项页,输入文件名称,文件存放路径并把它加入到刚才所建的工程中。
点击确定按钮后就进入了所建文件的编辑窗口了。
在编辑窗口中读者可以自己编写所要实现的程序代码。
本实验为了方便,直接将一个示例代码加入到工程中,将SourceCode\Interface中该实验的示例代码拷贝到刚才所建立的工程目录下。
在工程文件窗口中(本例为adc.mcp窗口)点击鼠标右键,选择“AddFiles”,打开添加文件对话框,选择到所建立的工程文件目录。
点击打开按钮,出现AddFilestoTarget对话框,默认选择,点击确定按钮,test1.S文件就被加到工程中了。
4编译工程
在工程窗口中按“Make”按钮,或者直接按F7快捷键,编译工程。
在出现的错误/警告窗口中选择某错误/警告信息,ADS会自动打开相应的源文件并用箭头指向出错的文本行。
错误/警告窗口。
编译成功后在工程目录下的DebugRel里会生成xx.bin文件。
该文件可以直接下载到实验板上运行。
C部分DNW软件安装和使用
嵌入式软件开发完成后,最终通过交叉编译,在目标系统上运行。
运行的方式一般包括ROM运行和RAM运行两种。
这就需要使用方便的工具来使用这些功能。
在SinoSys-EA2440a中,已经通过JTAG将一个功能比较完备的BootLoader烧写到Nor-Flash中。
在这段代码里驱动了SinoSys-EA2440a的串口和USB口,并实现了USB读写内存及Flash的烧写功能。
这就需要我们有一个方便的工具实现串口及USB口的操作,而DNW工具软件正符合我们的要求。
在PC上安装DNW工具需要先安装驱动程序,本实验主要介绍DNW工具驱动的安装及如何使用DNW工具配合BootLoader来实现内存读写和Flash的烧写功能。
总体来说,DNW就是一个串口加USB的终端工具。
打开试验箱包装,取出电源线将SinoSys-EA2440a实验板与电源相连。
取出USB线将SinoSys-EA2440a实验板和PC机USB口相连,取出串口线将SinoSys-EA2440a和PC机的串口相连。
将tools目录DNW驱动程序的内容拷贝到用户PC机上,然后去除拷贝好的全部文件的只读属性。
记住这点很重要,否则DNW不能正常工作。
将SinoSys-EA2440a实验板设置为从Nor-Flash启动,打开EA2440a电源开关。
如果是第一次使用DNW工具的话,将会发现PC机会有一个USB设备被发现,下面开始添加驱动。
选择从列表安装,点击下一步。
如下图。
选择搜索路径,找到DNW驱动程序所在路径。
点击下一步,找到匹配的驱动程序,如下图。
点击下一步,出现如下图对话框,选择“仍然继续”。
出现如下对话框,说明DNW的驱动已经安装成功,接下来就可以使用DNW工具了。
打开DNW应用程序,界面如下图。
连接串口,选择“SerialPort”菜单下的“Connect”。
现在就可以看到在上图所示的界面中对话框的标题栏中COM串口和USB口都已经连接好。
首先我们掌握使用DNW工具下载可执行文件到内存中的方法。
由于在SinoSys-EA2440a中RAM的映射地址是0x30000000,因此首先设定下载地址为0x30000000。
选择“Configuration”菜单下的“Options”,弹出如下对话框。
在这个对话框里我们可以设定COM端口,串口比特率和USB的下载地址。
我们可以按照上图所示进行设置。
单击OK按钮退出。
选择“USBPort”菜单下的“Transmit”,弹出打开文件按钮对话框,在对话框里选择要下载的可执行文件,单击打开按钮就可以把所选择的文件下载到地址为0x30000000的内存中去了。
如下图所示。
我们再来看一下通过DNW的终端功能,使用Nor-Flash中固化的一段BootLoader的方法。
首先确认SinoSys-EA2440a从Nor-Flash启动,重新打开SinoSys-EA2440a电源开关。
可以看到在DNW工具的界面上出现BootLoader的命令行菜单。
实际上当SinoSys-EA2440a设置为从Nor-Flash启动,SinoSys-EA2440a上电后,在Nor-Flash中固化的BootLoader程序将得到执行,在这段BootLoader代码中驱动了SinoSys-EA2440a开发板上的串口和USBDevice口,并通过串口将要交互的信息传送到DNW的界面上。
USB的功能就是在开发主机端通过USB下载文件。
上电后DNW界面显示初始情况下SinoSys-EA2440a等待从USB下载文件的功能,下载地址已经在前面设置过。
在DNW界面中按开发主机键盘任意键,DNW将出现BootLoader的功能菜单,如图:
在图中我们可以看到,BootLoader实现了USB的下载运行(默认就是这个方式)、下载、运行程序、测试内存、写入Nand-Flash等功能,读者可以自己试验这些功能。
我们在开发过程中如果已经在Nor-Flash中烧入这么一段BootLoader,在需要往Nand-Flash中烧写文件时,就可以通过DNW工具,很方便的将文件烧入到Nand-Flash中。
具体过程是:
先在菜单中选择功能1(DownloadOnly),通过开发主机键盘上1按键来选择,在提示的操作下选择将文件先下载到内存的某个区域中,一般我们可以在DNW中键入“0x30000000”来指定下载地址,然后在“USBPort”中选择“Transmit”,按照我们刚才介绍的方法,将我们要下载的文件复制到内存中。
再在界面中命令行菜单中选择4(DownloadImagetoNandFlash),依然通过开发主机键盘选择。
在命令行提示下指定下载到Nand-Flash的哪个Block中。
按回车键就可以把内存中的文件烧写到Nand-Flash中去了。
D部分ICE硬件仿真器安装
1安装H-JTAG(见tools目录)。
2将仿真器的JTAG数据线分别接到PC机和实验板上,FLASH选择开关选择NorFlash(左边)。
启动H-JTAG。
打开实验板电源开关。
3如果前面的的工程项目编译没有错误,在CodeWarriorforARMDeveloperSuite中,点击Project-Debug(或者按F5键),则启动AXDDebugger窗口。
在上图中,点击点击Options-configureTarget。
弹出对话框如下图。
点击Add按钮,弹出文件选择对话框。
找到H-JTAG的安装目录,选择H-JTAG.dll并打开。
点击OK完成硬件仿真器的安装。
E部分调试和运行
(1)利用AXDDebugger和ICE硬件仿真器进行调试,同时注意查看DNW接受到的调试信息。
利用AXDDebugger可以:
添加断点,程序碰到断点会暂停运行
进行单语句执行,单个函数执行等
查看ARM的寄存器状态
查看存储器地址空间
(2)断开ICE仿真器,尝试利用DNW工具运行A部分生成的xx.bin