IAR创建STM32标准工程

一:准备阶段

        1.IAR:我使用的是IAR 8.32.1 ,至于怎么下载、破解,我觉得百度一下就可以,很容易获取到资源的。

        2.STM32标准库:这个标准库可以自行到网上下载。跳转ST(根据自己使用的版本使用)

        3.硬件资源:STM32F103ZET

二: 创建本地工程

1.STM32官方标准库的下载

 2.创建IAR的工程目录文件

2.1【Config】保存IAR工程需要的配置文件;

2.2【Library】保存STM32标准库文件和一些内核文件;

2.3【Object】保存IAR工程文件,以及IAR编译过程产生的文件;

2.4【User】保存自己写的代码文件,我主要是放Main.c文件。

3.构建工程文件 

3.1将EWARM内的文件复制进步骤2中的【Config】文件夹。

3.2将Libraries标准库文件复制进步骤2中的【Libraries】文件夹。(其中一些无用的文件可以自行删除)

        3.2.1【CMSIS\CM3\CoreSupport】 是M3核通用的文件,需要用到。

        3.2.2【CMSIS\CM3\DeviceSupport\ST\STM32F10x】STM32提供的标准库的.h文件和.c文件,其中:stm32f10x.h里定义了芯片所有寄存器的基地址,以及配置寄存器的结构体的定义;两个system_stm32f10x文件时系统默认时钟的配置,它里面的SystemInit函数会在芯片启动时调用(启动文件.s里),所以我们在main函数里不进行时钟配置也可以正常工作。

        3.2.3【CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\iar】构建IAR项目是,STM32用到的启动文件,根据你实际的芯片大小进行选择。

3.3复制用户文件到步骤2中的【User】文件夹。

        3.3.1【main.c】这个文件你可以自己创建,也可以直接复制,然后删除掉里面main函数的代码即可。

        3.3.2【stm32f10x_conf.h】 包含哪些用到的外设的头文件

        3.3.3【stm32f10x_it.h】中断函数的定义,如果用到外设的中断,可以统一在这个文件夹里写。

三:创建IAR工程 

1.创建工作空间

【IAR】->【File】->【New Workspace】

2.保存工作空间

【File】->【Save Workspase As】->【选择上一个步骤创建工程的Object文件夹】->【保存的名字和工程名字相同即可】

3.创建IAR工程

【Project】->【Create New Project】->【Empty project】->【选择上一个步骤创建工程的Object文件夹】->【保存的名字和工程名字相同即可】

4.添加分组

【工作空间鼠标右击】->【Add】->【Add Group...】->【依次先创建Libraries、User、StartUp】

5.添加文件进IAR工作空间

备注1:在这里我把.h文件也添加进来了,只是个人习惯,你也可以不用把.h文件添加进来。

备注2:如果某些.c文件没有用到,也可以添加到工程里面,然后再该文件上【右击】->【Options】->【Exclude from build】打勾,那么它就不会参加编译。

四:配置工程 

1.选择芯片型号

【Project】->【Options】->【General Options】->【Target】->【Device】

2.配置头文件路径和全局宏定义

 【Project】->【Options】->【C/C++Compiler】->【Preprocessor】

USE_STDPERIPH_DRIVER
STM32F10X_HD

3.配置stm32f10x_flash.icf文件 

【Project】->【Options】->【Linker】->【Config】 

4.选择调试器 

【Project】->【Options】->【Debugger】

五:编译工程及解决问题

1.直接编译将会出现一个Core_cm3版本的问题。

 错误的原因是因为新版本CMSIS的intrinsics.h等文件与之前的版本不兼容。

 解决办法有两个:(也可以自行百度)

1:好像是STM32导入的core版本和IAR提供的版本不一致,所以使用STM32的就好了,而且注释掉core_cm3.h93行://#include <intrinsics.h>

2:不用STM32提供的core,也就是在配置头文件路径的时候,不要导入core_cm3.h,然后使用系统提供的。

### 创建 STM32 项目在 IAR Embedded Workbench 中的步骤 创建一个针对 STM32 微控制器的项目需要遵循一系列标准流程,这些流程包括安装必要的软件、配置开发环境以及设置调试选项。以下是如何在 IAR Embedded Workbench 中创建 STM32 项目的详细指南: #### 准备工作 确保已经安装了最新版本的 IAR Embedded Workbench for ARM,并且获得了适用于 STM32 系列微控制器的支持包。可以从 STMicroelectronics 官方网站下载相应的支持文件和文档。 #### 新建项目 启动 IAR Embedded Workbench 后,通过菜单栏选择 `File > New > Project` 来打开新建项目向导。在此过程中,可以选择目标设备,例如 STM32L152VB 或其他具体的 STM32 型号。接着,按照提示完成项目的初始化设置,这通常包括指定项目保存的位置和名称。 #### 配置项目选项 进入项目选项配置界面 (`Project > Options`),在这里可以调整编译器、链接器和调试工具的相关参数。对于 STM32 设备,可能需要特别关注与内存布局相关的设置,比如 FLASH 和 RAM 的地址范围及大小[^2]。 #### 添加源代码 将应用程序所需的源代码文件添加到项目中。如果计划实现 CRC16 校验功能,则应包含相应的计算源码文件。此外,还需确保所有必要的库文件也被正确地加入到了项目构建路径中[^3]。 #### 设置调试环境 为了能够同时调试引导加载程序和应用程序,可以在项目选项中的调试部分指定额外的 ELF 输出文件以加载调试信息。这对于拥有多个入口点(如两个 main 函数)的情况尤其重要[^4]。 #### 构建并下载程序 完成上述配置后,点击构建按钮来编译整个项目。一旦构建成功,使用内置的下载功能将生成的二进制映像文件写入到目标设备的 Flash 存储器中。此时,还可以利用 IAR 提供的强大调试工具对运行时的行为进行深入分析。 ```c // 示例:简单的主函数模板 #include "stm32l1xx.h" int main(void) { // 初始化系统时钟 SystemInit(); // 主循环 while (1) { // 应用逻辑 } } ``` 以上就是使用 IAR Embedded Workbench 创建 STM32 微控制器项目的全过程。此过程不仅涵盖了基础的项目创建步骤,还涉及到了一些高级特性如多段调试等,以便开发者更好地理解和掌握该平台的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值