AppLayer--用于存放应用程序的C文件和头文件,属于应用层,与芯片和驱动层无关,完全分离。
DriverLayer--传感器驱动层,提供应用层接口,与应用层分离,可能会用到芯片上的外设,通过对片内外设接口的封装,也可以做到与芯片层的分离。
OnchipPeripherals--片上外设层,对ST库函数的进一步封装,该层的函数可以做到只调用官方的库函数,并对外提供接口来设置外设各项参数。
Libraries--包括CMSIS核心文件和HAL库的官方文件。
创建完上面五个文件夹之后,就可以往里面添加内容了,这里我们可以直接从之前的CubeMX工程中拷贝过来,目前只需要添加EWARM和Libraries中的内容。
EWARM
--ICF链接文件,可以直接将CubeMXEWARM目录中的两个ICF文件拷贝过来即可。
--IAR设置文件,也会在后面创建工程的时候自动生成。
--.s汇编启动文件,直接将CubeMXEWARM目录中的拷贝过来即可。
--Debug调试文件夹,用户自己创建一个空文件夹即可,后面可以在工程中将Debug路径设置为该文件。
Libraries
--可以直接将CubeMXDrivers文件下的所有内容拷贝到此文件夹下。
打开IARIDE8.30在菜单栏中点击到Project弹出选项列表,点击选项CreateNewProject,会弹出以下对话框
Toolchain-工具链,默认ARM
Projecttemplates-工程模板,有asm、C++、C等模板可选,在新建的工程中将会添加对应模板的main文件,如果工程文件要自己编写的话默认选择EmptyProject.
这里我们选择Cmain
点击OK后会弹出一个选择工程存放路径的对话框,这里我们选择刚才创建的工程文件目录EWARM来存放IAR工程文件,然后点击保存
工程创建完成后会在EWARM文件夹中生成一个main.c文件,Project.ewpIAR工程文件,和一个用于存放IAR配置信息的settings文件夹其中Project.ewp用于打开我们的IAR工程,可以直接通过菜单栏Project-->AddExistingProject-->选择Project.ewp来打开我们的工程。编译完成之后还会生成一些其他的工程文件,这里我们不需要关心
但是通过上面步骤打开一个工程未免显得有些麻烦,这里我们可以按一下ctrl+s,这是就会提示你选择保存路径,这里保存的这个东西,就是快速打开IARWorkspace的专用文件,一般我们还是选择将该文件保存在EWARM文件夹下并取名为STM32F407_Template,就可以看到生成了一个黑色图标IARIED文件:
这时候在IAR的Workspace中就可以看到我们刚才创建的工程
到这里就完成了一个最简单工程的创建,接下来就需要对该工程进行配置并且添加文件
右键工程-->Options-->GeneralOptions-->Target-->Processorvariant-->Device-->选择芯片STSTM32F407VG
Options-->C/C++Compiler-->Preprocessor直接将以下路径拷贝到Addinionalincludedirectories中
$PROJ_DIR$/../AppLayer$PROJ_DIR$/../DriverLayer$PROJ_DIR$/../OnchipPeripherals$PROJ_DIR$/../Libraries/STM32F4xx_HAL_Driver/Inc$PROJ_DIR$/../Libraries/STM32F4xx_HAL_Driver/Inc/Legacy$PROJ_DIR$/../Libraries/CMSIS/Device/ST/STM32F4xx/Include$PROJ_DIR$/../Libraries/CMSIS/Include
要根据芯片的flash大小添加宏,具体的宏在stm32f0xx.h中有说明,如:STM32F40_41xxx。继续在上一步的页面中找到Definedsymbols项,添加宏
USE_HAL_DRIVERSTM32F407xx
OutputConverter-->Output可以设置最终编译链接后输出的文件类型和名称。
Linker-->Config-->Linkerconfigurationfile勾选上Overridedefault重设默认文件,选择我们之前从CubeMX过来的ICF链接文件
GeneralOptions-->Output
之前我们在EWARM文件夹下面创建了一个Debug文件夹,这个文件夹就是用于存放在编译链接过程中生成的一系列文件,这里我们需要将该文件夹设置为生成文件的路径
Debugger-->Setup-->Driver,选择自己的仿真器,这里我们选ST-LINK
Debugger-->Setup-->Download,勾选上VerifyDownload,开启下载校验
下面列举了所有新工程和CubeMX工程有差异的配置项,用户可以根据自己的需要,决定是否修改