玩51单片机的朋友都知道,编译软件一般用的是keil c,可以在上面编写自己的程序,如流水灯,液晶显示,AD转换等程序。ARM 也有编译软件,现在大多数人用的是 ADS 1.2,这个软件包含了 AXD调试软件,使用起来非常方便。
今天我们就来建立自己的第一个原程序,在串口上输入一行字符串.
首先安装 ADS 1.2.阳初的送的光盘里面有
打开 ADS,出现对话框,点击菜单 file->new,新建一个工程。
点击左边框的 “ARM Executable Image”,在 project name,输入我们的工程名字 2410test. 点击 set 按钮可以设置工程的存放位置。
确定之后,再点击 project->add file,添加文件,这些文件包括2410的头文件定义,和我们的主程序,一般后缀名是 *.s , *.h , *.c;这些文件在我提供的程序包里面有得下载。
点击 OK , 如果出现错误提示,也接着点击确定。知道文件都添加进去。
接着点击 DebugRel Setting 按钮,就是鼠标的所指的图标,我们要设定参数
将 Post-Linker 选为 ARM from ELF. 设定连接器的类型。
接着点击左边的 ARM Assembler, 处理器选择 ARM920T,这个是ARM9 CPU的类型,浮点类型Floating Point ,选择 Pure-endian softfp.
接着点击左边的 ARM C Compiler ,选择跟上图一样的设置。
再点击左边的 ARM Linker, 在 Simle image, RO Base 代表代码段的起始地址,RW Base 代表数据段的起始地址。 RO 的地址是由 2410 的内部存储器分配地址决定的,自己可以看看2410的手册,我发上一张地址分配图。SDRAM 的起始地址是 0x3000_0000,所有的程序都是由这里开始运行的。RW 的地址的设定可以根据你的代码大小设定。我们设定为
0x3300_0000,保证不能覆盖代码段的地址。
接着选择 Options, 在 镜像进入地址 写上 0x3000_0000.
接着选择 Layout ,在 Object/Symbol 输入 2410Init.o , 这个是由 2410Init.s 编译出来的文件。在 Section 输入 Init ,这个是 2410Init.s 里面的程序入口地址,大家看看这个文件的代码就知道了!
再点击左边的 ARM fromELF, 在 Ouput format 选择生成的烧录生成文件类型,选择
Intel 32 bit Hex, 32位十六进制,在 Output file name, 输入生成的文件名 2410test.hex.
所有的设置就全部搞定了,点击ok 返回。
点击 make 按钮编译。然后会出现详细的信息。如果你查询你刚才的工程目录,就出现了很多编译文件,其中在文件夹里410test\2410test_Data\DebugRel 出现了 2410test.axf 和 2410test.hex 文件。第一个文件是用来做调试用的。第二个文件可以直接烧录到板子。
用户377235 2012-4-9 08:50
用户99191 2007-11-14 22:29