Select Folder for Objects:选择编译之后的目标文件存储在哪个目录里,默认位置为工程文件的目录里。此处选在目标文件存放在uetest/run中。
Name of Executable:生成的目标文件的名字,缺省是工程的名字。
Create Executable:生成OMF以及HEX文件。OMF文件名同工程文件名但没有带扩展名。
Debug Information:用于Debug版本,生成调试信息,否则的话无法进行单步调试。 Create Batch File:生成用于实现整个编译过程的批处理文件,使用这个文件可以脱离IDE对省程序进行编译。
Create Hex File:这个选项默认情况下未被选中,如果要写片做硬件实验就必须选中该项。这一点是初学者易疏忽的,在此特别提醒注意一定要要选中,否则编译之不生成Hex文件。
Big Endian:编码格式,与CPU相关,如果CPU采用的是Big Endian编码则勾选上。 Browse Information:产生用于在源文件快速定位的信息。
Create Library:生成lib库文件,默认不选。 4) C/C++设置
在Define宏中添加宏定义:STM32F10X_HD,USE_STDPERIPH_DRIVER
Include Paths:指定头文件的查找路径,可以添加多个,这里我们将工程文件中的路径全部加入。如下所示:
5) Debug设置
左边是对应uVision4的模拟环境,右边是针对仿真器,这里选择右边的Cortex-M/R J-LINK/J-Trace,同时勾选Run to main,这样在调试的时候,会从main函数开始。
如果已经将J-LINK仿真器连接到你的电脑,点击“Settings”你将进入ARM Target Driver Setup 界面;
J-Link/J-Trace Adapter:
--Serial No:列出了当前连接到主机的所有J-LINK适配器的串号,你可以通过列表选
择要使用的J-LINK适配器。
--J-LINK Version,Device Family以及Firmware Version分别列出了当前选择的J-LINK
适配器的版本,设备家族和固件版本。
-- Port:根据和开发板接口的类型选择端口,有JTAG和SW两种,勾选SWJ表示支持
两种方式。
--Max Clock:指定和开发板的最高通信时钟。
--JTAG Device Chain:显示当前通过适配器连接上的开发板。
--Automatic Detection:自动监测,选择系统将自动检测连接上的开发板,建议使用。 --Manual Configuration:手动配置,通过手动设置ID CODE,Device Name和IR len等
属性来查找设备。 Debug:
--Cache Code:通知调试器已经下载的程序代码不会改变,选中的话uVision将不会从目标系统读取程序代码。
--Cache Memory:决定调试程序期间程序停止运行的时候,是否更新存储器显示。 --Verify Code Download:比较目标存储器和调试器上的应用程序的内容。
--Download to Flash:将代码下载到所有的存储器区域,如果不选中,调试器不会把代码下载到Flash Download Setup中制定的存储器地址范围。 6) Utilities标签页的设置
Configure Flash Menu Command
Use Target Driver for Flash Programming:列表选择和调试接口一致的驱动。点击Settings按钮。出现如下界面:
Download Function:定义了Flash烧写的时候进行的操作。
Erase Full Chip:前面三项要选一,烧写程序之前擦除整个Flash存储器。 Erase Sectors:烧写程序之前擦除程序要使用的扇区。 Do not Erase:不进行擦除操作
Program:使用当前uVision工程的程序烧写ROM。 Verify:验证Flash ROM的内容和当前工程中的程序一致。 Reset and Run:在烧写和验证完成之后复位开发板并且运行程序。
RAM for Algorithm:指定用于烧写程序的RAM区域,通常是微控制器上的一段片上空间。
Start:起始地址。 Size:大小。
此处可以通过点击Add添加,点击Add你将看到如下的选择列表,可以根据你选用的芯片选择合适的,也可以自己手动添加。
到此为止工程设置就结束了,接下来需要对工程进行编译。 单击编译所有文件的按钮,完成对软件工程的编译。
编译单个文件编译修改文件编译所有文件编译完成
3.3调试程序
编译通过只是说明我们的代码没有语法错误,至于源程序中存在的其他错误,必须通过调试才能发现并解决,事实上,除了极简单的程序以外,绝大部分的程序都要通过反复调试才能得到正确的结果,因此,调试是软件开发接下来我们需要运行我们的程序来验证是否达