步骤五 工程基本配置
1.硬件选项配置
μVision 3可根据目标硬件的实际情况对工程进行配置。通过单击目标工具栏图标或者单击菜单项Project→Options for Target,在弹出的Target页面中可指定目标硬件和所选择设备片内组件的相关参数,如图2-5所示。
图2-5 处理器配置对话框
所填写的内容包括RAM、ROM的起始地址及大小。同时还可以选择是否使用Thumb模式,是否使用RTX内核等。如果我们没有配置ROM等信息,在编译过程中会提示“ROM1”没有定义之类的错误。
2.处理器启动代码配置
通常情况下,ARM程序都需要初始化代码用来配置所对应的目标硬件。当创建一个应用程序时,μVision 3会提示使用者自动加入相应设备的启动代码。μVision 3提供了丰富的启动代码文件,可在相应文件夹中获得。例如,针对Keil开发工具的启动代码放在…\ARM\Startup文件夹下,针对GNU开发工具的启动代码在…\ARM\ GNU\Startup文件夹下,针对ADS开发工具的启动代码在文件夹…\ARM\ADS\ Startup下。以LPC2106处理器为例,其启动代码文件为...\Startup\Philips\Startup.s,可把这个启动代码文件复制到工程文件夹下。
在使用ULINK仿真器时,首先为仿真器选择合适的驱动,并为下载应用程序和可执行文件进行配置,关于仿真的设置如图2-6和图2-7所示。
图2-6 仿真器驱动配置图
图2-7 仿真器下载应用程序配置图
3.工具配置
工具选项(Utilities)主要设置Flash的下载选项,如图2-8所示。
在图2-8所示对话框中选“Use Target Driver for Flash Programming”,再选择“ULINK ARM Debugger”,同时勾选“Update Target before Debugging”选项。这时还没有完成设置,还需要选择编程算法,单击“Settings”按钮,将弹出如图2-9所示的对话框。
图2-8 “Utilities”配置对话框
图2-9 Flash下载选项设置
单击图2-9的对话框中的“Add”按钮,将弹出如图2-10所示的对话框,在该对话框中选对需要的Flash编程算法。例如,对STR912FW芯片,由于其Flash为256KB,所以需要选择图2-10所标注的Flash编程算法。
图2-10 选择Flash编程算法
4.调试设置
μVision 3调试器提供了两种调试模式,可以从Project→Options for Target对话框的Debug页内进行选择,如图2-11所示。
图2-11 调试器的选择
使用仿真器调试时,选择菜单项Project→Project-Option for Target或者直接单击,打开Option for Target对话框的Debug页,弹出2-12所示对话框,可进行调试配置。
图2-12 选择ULINK USB-JTAG仿真器调试
如果目标板已上电,并且与ULINK连接好,单击图2-12中右侧的“Settings”按钮,将弹出如图2-13所示的对话框,正常则可读取目标板芯片ID号。如果读不出ID号,则需要检查ULINK与PC或目标板的连接是否正确。
5.编译配置
μVision IDE目前支持RealView、Keil CARM和GNU三种编译器,从菜单栏的Project→Manage→Component,Environment and Books…或者直接单击工具栏中的图标,打开其Folder/Extensions 页进入编译器选择界面。我们使用RealView编译器,如图2-14所示。
图2-13 读取设备ID
图2-14 选择编译器
选择好编译器后,打开Option for Target对话框的C/C++页,出现如图2-15所示的编译属性配置页面(这里主要说明RealView编译器的编译配置)。
图2-15 编译器配置页
各个编译选项说明如下:
● Enable ARM/Thumb Interworking:生成ARM/Thumb指令集的目标代码,支持两种指令之间的函数调用。
● Optimization:优化等级选项,分四个档次。
● Optimize for Time:时间优化。
● Split Load and Store Multiple:非对齐数据采用多次访问方式。
● One ELF Section per Function:每个函数设置一个ELF段。
● Strict ANSI C:编译标准ANSI C格式的源文件。
● Enum Container always int:枚举值用整型数表示。
● Plain Char is Signed:Plain Char类型用有符号字符表示。
● Read-Only Position Independent:段中代码和只读数据的地址在运行时候可以改变。
● Read-Write Position Independent:段中的可读/写的数据地址在运行期间可以改变。
● Warning:编译源文件时,警告信息输出提示选项。
6.汇编选项设置
打开Option for Target对话框的Asm页,出现如图2-16所示的汇编属性配置界面。
图2-16 汇编配置界面
各个汇编选项说明如下:
● Enable ARM/Thumb Interworking:生成ARM/Thumb指令集的目标代码,支持两种指令之间的函数调用。
● Read-Only Position Independent:段中代码和只读数据的地址在运行时候可以改变。
● Read-Write Position Independent:段中的可读/写的数据地址在运行期间可以改变。
● Thumb Mode:只编译THUMB指令集的汇编源文件。
● No Warnings:不输出警告信息。
● Software Stack-Checking:软件堆栈检查。
● Split Load and Store Multiple:非对齐数据采用多次访问方式。
7.链接选项设置
链接器/定位器用于将目标模块进行段合并,并对其定位,生成程序。既可通过命令行方式使用链接器,也可在μVision IDE中使用链接器。单击图标,打开Option for Target对话框的Linker页,出现如图2-17所示的链接属性配置页面。
图2-17 链接配置页
各个链接选项配置说明如下:
● Make RW Sections Position Independent:RW段运行时可改变。
● Make RO Sections Position Independent:RO段运行时可改变。
● Don’t search Standard Libraries:链接时不搜索标准库。
● Report ‘might fail’ Conditions as Err:将‘might fail’报告为错误提示输出。
● R/O Base:R/O段起始地址输入框。
● R/W Base:R/W段起始地址输入框。
8.输出文件设置
在Project→Option for Target的Output页中配置输出文件,如图2-18所示。
输出文件配置选项说明如下:
● Name of Executable:指定输出文件名。
● Debug Information:允许时,在可执行文件内存储符号的调试信息。
● Create HEX File:允许时,使用外部程序生成一个 HEX文件进行Flash编程。
● Big Endian:输出文件采用大端对齐方式。
● Create Batch File:创建批文件。
图2-18 输出文件配置页
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。