前文再续,书接上一回,前面我们建立了一个文件夹,用来存放我们的工程,有建了三个文件夹,现在,分别解析一下这三个文件夹里放的是什么东西。 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,这就是我们的编程环境。
|