三、了解编程环境
前文再续,书接上一回,前面我们建立了一个文件夹,用来存放我们的工程,有建了三个文件夹,现在,分别解析一下这三个文件夹里放的是什么东西。
inc文件夹里放的是头文件,一共六个,以后我们自己的头文件也可以放到这里来。
stm32f4xx.h 包含了stm32f4的寄存器结构体的定义(类似于C51的reg52.h)
core_cm4.h 内核功能的定义,比如NVIC相关寄存器的结构体
core_cmInstr.h 包含一些内核核心专用指令
core_cmFunc.h 内核核心功能接口头文件
core_cm4_simd.h 包含与编译器相关的处理
system_stm32f4xx.h system_stm32f4xx.c的头文件
user里面放的是system_stm32f4xx.c文件和用户自己定义的文件(比如main.c)。system_stm32f4xx.c里面是系统初始化的设置,包括时钟的配置等
startup里放的startup_stm32f4xx.s是启动文件,是一个汇编文件。不同的编译器应该用不同的启动文件。它的作用包括:
1. 设定SP的初值
2. 设置PC的初值
3. 设置中断向量表的地址
4. 配置时钟
5. 设置堆栈
6. 调用mian等
这个启动文件是先调用system_stm32f4xx.c里面的SystemInit()在调用main的。
然后就是IAR的操作。
以下这几个按钮时最常用的
第一个是编译
第二个是生成可执行文件
第三个是设置断点
第四个是下载调试
第五个是在线调试
我们写好程序,然后按编译,在按第二个,如果编译没错,连接提示错误的话,原因很可能是之前Linker configuration file的文件没选对,或者一开始的芯片类型没选对等
OK,这就是我们的编程环境。