{
stack.o (+ZI) } RAM +0 }
4)定义retarget.c函数,重新定位标准C库中stdio的一些相关函数。主要有: struct __FILE { int handle; /* Add whatever you need here */}; FILE __stdout; //文件的定义
int fputc(int ch, FILE *f) //fputc函数 int ferror(FILE *f)
//ferror函数
void _sys_exit(int return_code) //系统退出函数 int __raise(int signal, int argument)
__value_in_regs struct __initial_stackheap __user_initial_stackheap(unsigned R0, unsigned SP, unsigned R2, unsigned SL)//用户的堆空间和栈空间函数
具体定义,可以参考init/retarget.c
(5)在第(4)步中如果不选择简单的连接地址设置,则需按图1-7所示设置C编译器。在Debug Settings对话框中选择ARM C Compiler项,在ATPCS选项卡中选择ARM/Thump interwork,或者在命令行中添加-apcs /interwork。
{ } { } { }
exception.o (+RO) heap.o (+ZI) * (+RW,+ZI)
HEAP +0 UNINIT
EXCEPTION_EXEC 0 OVERLAY ;exception region
图1-7 设置ARM C Compiler
(6)在第四步中如果选择简单的地址连接设置,在Debug Settings对话框中选择ARM Linker项,如图1-8。在Layout选项卡的Place at beginning of image框中设置程序的入口模块。指定在生成的代码中,程序是从startup.s开始运行的。Object 设为startup.o,section设为init。
图 1-8 设置入口模块
(7)在Debug Settings对话框中选择ARM fromELF项,如图1-9。在Output file name框中设置输出文件名为system.bin,这就是要下载到开发板的嵌入式应用程序文件。
图1-9 设置输出文件名
(8)回到如图1-10所示的工程窗口中,选择Release版本,使用Edit | Release Settings菜单对Release版本进行参数设置。
(9)参照第(3)、(4)、(5)、(6)、(7)步在Release Settings对话框中设置Release版本的Post-linker、连接地址范围、入口模块和输出文件。
(10)回到如图1-3所示的工程窗口中,选择Targets选项卡,如图1-10所示。选中DebugRel版本,按Del键将其删除。DebugRel子树是一个折衷版本,通常用不到,所以在这里删除。
图 1-10 删除DebugRel版本
(11)设置完成后,可以将该新建的空工程文件作为模板保存以便以后使用。将工程文件名改为2410 ARM Executable.mcp。然后在ADS1.2软件安装目录下的Stationery目录下新建名为2410 ARM Executable Image的模板目录,再将刚设置完的2410 ARM Executable.mcp工程模板文件存放到该目录下即可。这样以后新建工程的时候如图2-1所示就能看到以2410 ARM Executable Image为名字的模板了。
提示:
1)建议用户直接将光盘Template/ADS下的2410 ARM Executable Image子目录直接拷贝到ADS1.2安装目录下的Stationery目录中,这样也能在图1B-1所示的新建工程对话框中看到这个模板,其中具有已经设置好的针对本开发板的参数。注意ARM Linker Linktype设置为Scattered,请参阅第(4)步内容。
2)如果用户原来已安装了ARM SDT软件的话,再安装ADS1.2后可能导致ARM SDT不能正常使用,需要用户更改系统环境变量:ARMINC设置为%ARMSDTPATH%\\INCLUDE,ARMLIB设置为 %ARMSDTPATH%\\LIB,其中%ARMSDTPATH%指ARM SDT的安装目录。
(12)新建工程后,可以执行菜单Project | Add Files把和工程相关的所有文件即除inti的所有文件加入到工程中。ADS1.2不能自动按文件类别对这些文件进行分类,需要的话用户可以执行菜单Project | Create Group创建文件组,然后分别将不同类的文件加入到不同的组,以方便管理。如图2-11所示。更为简单的办法是,在新建工程时ADS创建了和工程同名的目录,在该目录下按类别创建子目录并存放工程文件。选中所有目录拖动到任务栏上的ADS任务条上,不要松开鼠标当ADS窗口恢复后再拖动到工程文件窗口,松开鼠标。这样ADS将以子目录名建立同名文件组并以此对文件分类。
图 1-11 加入工程文件
(13)编译并双击图1-11中的Main.c打开该文件,可以查看Main()函数的内容,这时也可运行程序。图1-11的例程是ARM的串口实验。
读者可以查看其他源文件的内容以对系统运行有所了解。可以发现ADS的文本编辑器已经有了很大的改善,文本按语法分颜色显示,读者可以根据喜好在Edit菜单下的Preferences窗口中进行设置。并可以很好的支持中文注释。
超级终端设置及映象文件下载方法
一、超级终端设置
1、运行Windows系统下的超级终端(HyperTerminal)应用程序,新建一个通信终端。如果要求输入区号、电话号码等信息请随意输入,出现如图1-12所示对话框时,为所建超级终端取名为arm,可以为其选一个图标。单击“确定”按钮。
图1-12 创建超级终端
2、在接下来的对话框中选择ARM开发平台实际连接的PC机串口(如COM1),按确定后出现如图1-13所示的属性对话框,设置通信的格式和协议。这里波特率为115200,数据位8,无奇偶校验,停止位1,无数据流控制。按确定完成设置。
图1-13 设置串行口
3、完成新建超级终端的设置以后,可以选择超级终端文件菜单中的保存,将当前设置保存为一个特定超级终端到桌面上,以备后用。用串口线将PC机串口和平台UART0正确连接后,