IAR for ARM系列教程(一)_新建软件工程详细过程

article/2025/9/13 11:21:22

推荐

分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!http://www.captainbed.net/strongerhuang

 

我的网站:https://www.strongerhuang.com

我的知乎:https://www.zhihu.com/people/strongerHuang.com

 

Ⅰ、写在前面

本文使用目前(2016年11月25日)最新版本的IAR for ARM V7开发环境、以STM32的处理器为例给大家讲述新建一个软件工程的详细过程。

 

其它版本IAR其它处理器新建软件工程的过程类似,或许存在略微的差异,但也可以参考本文内容。

 

为方便广大STM32学习者,我将在下面把STM32F0 - F4各个系列芯片新建好的Demo软件工程、相关的工具和文档提供给大家下载

 

本文内容已经整理成PDF文件,提供给大家下载:

http://pan.baidu.com/s/1eSeDSu2

 

Ⅱ、本文要点

网上很多人问:“我之前用IAR for ARM V5V6建立好的工程,在IED升级到V7之后,打开以前的工程,编译出来一大堆错误?”。

IAR for ARM在版本升级之后,工具链存在略微的差异,下面新建工程过程将会说到这些问题。

 

按照Keil(MDK-ARM)新建软件工程的思路,将内容分为准备工作新建工程两大步骤来讲述。

 

本文基于STM32F1系列芯片为例来讲述(其它芯片类似),将简单描述一下准备STM32F1标准外设库、Demo源代码(LED闪烁例程)。

 

本文讲述的内容以简单为主,只讲述新建工程中常规的配置,其他大部分使用默认配置。更多详细配置和教程敬请等待我公众号或博客的更新。

 

Ⅲ、 准备工作

俗话说“磨刀不误砍柴工”,准备工作虽然看上去与题目关系不大,但也是本文的重点,做好了准备工作,后面新建软件工程的工作就很容易实现了。

 

1.安装IAR for ARM软件工具

本文必备工具,这里不多说,详情请看我的另一篇文章【IAR for ARM介绍、下载、安装与注册】:

博客:http://blog.csdn.net/ybhuangfugui/article/details/52562533

PDF:http://pan.baidu.com/s/1eSeDSu2

 

2.STM32标准外设库下载

官网下载链接(需要ST账号登陆):

http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software.html?querycriteria=productId=SC961

 

根据芯片型号下载对应的标准外设库(如芯片为STM32F103ZE,则下载对应的STM32F10x_StdPeriph_Lib),如下图:

也可以到我百度网盘下载(和官网一样):

http://pan.baidu.com/s/1qYbBKMK

 

3.整理工程文件夹

这一小节的内容可根据自己习惯来整理,我整理的文件及文件夹结构是按照常规的整理方式。你如果觉得合理,可以引用;如果觉得不习惯这个结构方式,可以自己整理。

 

首先建立一个存放工程文件的文件夹:STM32F103ZE(IAR)_Demo

 

A.提取ST标准外设库文件

ST官网下载的标准外设库里面有很多源代码文件,但我们只需要使用部分文件。因此,需要提取使用的文件及文件夹到我们的工程中。

 

解压“STM32F10x_StdPeriph_Lib”,可以看到在主目录下面有四个文件夹:

_htmresc:图片文件夹(不提取

Libraries:库文件夹(提取大部分

Project:  示例工程(提取少部分

Utilities: 公共代码、评估板代码(不提取)

 

我们使用标准外设库主要提取的文件是Libraries下面的文件,但有些文件及文件夹也是多余的。因此,我将多余的文件及文件夹去掉,保留需要的文件和文件夹。

 

这里强调一点:Libraries里面的startup启动文件有些需要修改。我们使用之前的库(如F1、F2的库),这些库是使用老版本的IAR for ARM V5或V6版本编写的,在V7版本上使用这些库就不兼容,需要将text:CODE:REORDER改为text:CODE:NOROOT:REORDER

 

B.新建文件和文件夹

除了标准外设库文件之外,我们需要建立存放自己代码的文件和文件夹。我这里主要需要新建三个文件夹:

App: 应用部分代码

Bsp: 底层部分代码

Doc: 说明文档

 

在自己新建的文件夹下面还需要新建自己的文件,文件里面添加源代码,我们提供的Demo工程,实现的功能比较简单,就是一个LED闪烁。这里不描述,具体可以在最后下载查看。

 

上面两个步骤完成之后,我们就可以看到在“STM32F103ZE(IAR)_Demo”下面整理的文件夹:

 

至此,准备工作算完成了,上面提取的文件、新建的文件里面具体的内容请下载Demo工程查看

 

Ⅳ、新建软件工程

新建一个简单、基础的软件工程大概需要有三个步骤:创建工程、添加文件和配置工程。

上面的准备工作做好之后,就可新建自己的软件工程了,下面将一步一步讲述从零开始新建一个软件工程的详细过程。

 

1.创建工程

创建工程的步骤是基础,也比较简单。

 

A.打开软件,创建新工程(Project -> Create New Project)

 

B.创建一个空工程

 

C.选择路径,保存名称

 

D.空基础工程

 

至此,一个空的基础工程就创建好了,需要进一步添加文件到工程和配置工程。

 

2.添加文件

准确的来说,应该是添加组(文件夹)和添加文件。直接的说,就是将你自己的源代码(前面提取的库、新建的文件等)添加到工程中。

 

这里的工程项目管理可根据自己的想法来定义(类似于自己分类、命名文件夹和文件),我这里按照常规的方式进行管理项目。

 

IAR和Keil组管理的区别

IAR可以添加多级组,类似于文件夹下可以再建文件夹,一直下去。

Keil只能添加单级组,类似于文件夹下面只能添加文件,而不能在添加文件夹。

 

为了简单、遵循Keil组结构,我们在IAR中分组方式也按照Keil方式分组,先在工程中添加组,再在组中添加文件......一次循环下去直到完成。

 

A.工程中添加组

 

B.填写组的名称 -> OK

 

 

C.组中添加文件

 

D.按住Ctrl,鼠标选中要添加的文件

 

 

E.依次添加(按照上面步骤循环),直到添加完成

 

3.配置工程

配置工程对于初学者来说,大部分内容只需要默认即可,这里只讲述几个常见的配置,能满足基本的功能。更多配置可进入我微信公众号或博客查看。

 

A.进入配置选项

 

B.选择器件

 

C.库配置Library Configration

第一Library:如果需要使用某些标准的库函数接口(如我们使用的printf and scanf),就需要选择Full(见下图)。

 

第二CMSIS:是微控制器软件接口标准(Cortex Microcontroller Software Interface Standard)的意思。IAR for ARM在V5和 V6、V7版本之间存在差异,很多人用新版本IAR编译以前工程出现错误的原因就在于此(如STM32F1的库就使用较老版本的CMSIS,我们使用新版本IAR就需要勾选这里)。

 

D.预处理Preprocessor - 添加路径

添加的路径最好是相对路径,而不是绝对路径。使用绝对路径工程位置改变之后就找不到文件,就会出错。可以点击按钮选择路径,也可以通过复制文件路径进行配置。

·

·

一步一步添加,直到最后完成

·

·

 

E.预处理Preprocessor - 预定义

这里的预定义类似于在源代码中的#define xxx 这种宏定义。这里的STM32F10X_HD可以在stm32f10x.h中打开即可,USE_STDPERIPH_DRIVER这个宏定义我已经定义在在stm32f10x.h文件中。

 

F.输出Hex文件

很多初学的朋友都会问怎么输出 Hex( 可直接下载的程序文件),只需要按照下面配置即可输出Hex文件。

 

G.选择下载调试工具

根据自己情况选择的下载调试工具。使用ST-Link的朋友需要注意,有些时候ST-Link默认的接口是JTAG,需要改为SWD才能使用(见下图)。

 

 

Ⅴ、下载

为方便广大STM32学习者,我将常见的STM32“Demo软件工程”已经建好,里面包含Keil(MDK-ARM)新建的工程供大家下载。

 

STM32F0工程模板:

http://pan.baidu.com/s/1pKSkSxt

 

STM32F1工程模板:

http://pan.baidu.com/s/1c1AWupM

 

STM32F2工程模板:

http://pan.baidu.com/s/1o8yGWg6

 

STM32F3工程模板:

http://pan.baidu.com/s/1boVXh2f

 

STM32F4工程模板:

http://pan.baidu.com/s/1qYzYMuS

 

注意:由于许多网盘近年来受到影响都相继停止服务或关闭了,如果网盘链接失效,请在微信公众号查看更新链接,或微信联系作者。

 

Ⅵ、说明

上面新建软件工程主要是针对初学者,写的比较基础的。若要了解更多关于Keil的使用教程,可以进入我微信公众号或博客查看。

 

以上内容仅供参考,若有不对之处,敬请谅解。

 

Ⅶ、最后

我的网站:https://www.strongerhuang.com

我的微信公众号(ID:strongerHuang)还在分享STM8、STM32、Keil、IAR、FreeRTOS、UCOS、RT-Thread、CANOpen、Modbus…等更多精彩内容,如果想查看更多内容,可以关注我的微信公众号。

微信公众号

http://chatgpt.dhexx.cn/article/dCMYmY6u.shtml

相关文章

IAR 系列教程

https://www.strongerhuang.com/categories/EWSTM8%E7%B3%BB%E5%88%97%E6%95%99%E7%A8%8B/ https://blog.csdn.net/ybhuangfugui/article/details/81436533

IAR操作指南

IAR中的参数变量表 __iar_program_start在哪里定义/main之前做了什么 在main()之前,IAR都做了啥 cortex-m3启动代码详解 在IAR中利用AStyle插件格式化代码 IAR配色方案 --styleallman --pad-oper --max-code-length150 --add-braces --align-pointername --max-con…

IAR 使用教程 –以KS22为例

IAR 使用教程 –以KS22为例 IAR 版本: 1 新建立一个工程 1.1打开IAR ,如果之前已经建立过工程想新建立一个工程,那么按照如下操作: 1.2 新建一个工程: 1.3 新建一个空的工程,或者可以选择其他的,其他的会加…

IAR环境配置教程(CC2530版)

我们先来看一下如何创建在IAR中创建一个我们自已的工程。 注意:本教程只是配置在线调试。 温馨提示:在建立工作区和新建工程以及C语言文件的时候会产生多个文件及文件夹,可以提前建立一个文件夹,方便保存哦。 1、建立自已的工程…

NXP K60使用IAR烧录教程

1.软件安装 1)IAR破解版安装教程参考https://jingyan.baidu.com/article/851fbc37903a1d3e1f15ab03.html 2)J-link驱动安装 1.官网上有各版本的驱动https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack 在这里下载适合自己J-…

IAR使用技巧

一、状态栏的解析 Compile:只对目前打开的c文件进行语法检查,不对它进行link; Make:对工程所有打开的c文件进行语法检查和link(只编译有改动的文件或者设置变动的文件); Rebuild All&#xff1a…

IAR教程之IAR常用功能简介

IAR常用功能简介 本教程适用于初次接触IAR的同学,简单介绍IAR的下载和调试。 IAR配置选择 IAR可以一套代码使用多种配置,龙邱的MK60FX和MK60DN就是通过不同配置公用一套代码。 代码颜色设置 用户关键字 上面颜色设置中有一项是设置用户关键字颜色的&…

IAR 使用与注册

安装使用 基本介绍 IAR Systems是全球领先的嵌入式系统开发工具和服务的供应商。公司成立于1983年,提供的产品和服务涉及到嵌入式系统的设计、开发和测试的每一个阶段,包括:带有C/C编译器和调试器的集成开发环境(IDE)、实时操作系统和中间件…

GD32使用IAR编程详细教程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、IAR的补丁环境安装和固件库说明二、搭建编程环境三、系统时钟配置 前言 由于STM系列单片机价格疯涨,不少嵌入式的开发人员都想着找一款国内的单…

IAR FOR STM8 简单使用教程

一、创建工程 1.先创建一个workplace.选择File>New>Workplace 2.创建一个新的工程,选择Project>Creat New Project,如果用的是IAR FOR STM8 就默认无需更改。保存并输入Project名字,在workplace窗口中显示如下 3.在添加文件到工程之前&#xf…

IAR使用教程

转载至:https://www.cnblogs.com/nanase/p/9028351.html 面向尚未熟悉且初次使用该软件的新手(比如我。。。) 1、建立新工作区 File-->>New Workspace 2、建立新项目 1) Project-->>Create New Project... 2) 选择如下模板&…

IAR的基本使用

IAR 一、IAR介绍 是一款和keil类似的开发工具软件 二、IAR的使用 2.1创建工程 2.1.1 建立新工作区 File–>>New Workspace 2.1.2 建立新项目 Project–>>Create New Project… 选择Empty project空项目选择项目的保存目录并创建项目文件名 2.2 编译、Mak…

IAR的基本使用教程

文章目录 IAR的基本使用教程1. IAR颜色字体大小设置2. 其他设置(行号、文件编码)3. 新建用户源文件和头文件模块并添加到工程4. 编译输出可执行文件5. 软件仿真单步调试6. 自带终端打印 IAR的基本使用教程 1. IAR颜色字体大小设置 Tools–>Options 双击展开Editor&#xf…

pip更新命令以及使用清华镜像快速安装OpenCV-python

pip更新命令以及使用清华镜像快速安装OpenCV-python 1.pip更新: 首先尝试使用pip install --upgrade pip进行安装,如果安装出现这种情况: 则使用以下命令: python -m pip install -U --force-reinstall pip2.使用清华镜像快速安…

ubuntu更新pip

You are using pip version 9.0.3, however version 10.0.0 is available. You should consider upgrading via the pip install --upgrade pip command. 当我们用pip安装python包的时候 会发现pip 又又又又又又又又又又又又又又又又又又更新了 于是,我们按照提示 p…

Anaconda/pip常见命令

目录 一、Conda使用 1.1 conda基础命令 1.2 添加第三方源 二、pip常见命令 一、Conda使用 1.1 conda基础命令 打开anaconda Prompt 输入conda list 就会显示已经安装好的库 如果这些库中没有自己需要的库就可以用 anaconda search -t conda tensorflow 查找需要的库这样就会…

关于Python环境下WindowsMac 升级pip的方法最佳实践(附pip常用命令)

升级pip的最佳实践 升级pip有很多种方法,以下列举我使用的两种方法,并对它们的优缺点进行总结: Mac电脑中操作 使用pip install --user --upgrade pip命令升级pip,该方法会在用户的/User/xxx/Library/Python/3.8/lib/python/si…

镜像安装pip更新python库

目录 打开cmd命令提示符输入以下代码进行更新 通过外网加速 : 先安装镜像提高下载速度 当在执行pip更新时,出现失败或警告,再次执行pip命令报错时,分别按顺序执行以下2条命令即可完成修复。 打开cmd命令提示符输入以下代…

如何更新pip工具

安装keras出现错误: 由于我的pip工具是22.0.4版本而下载keras需要22.1.2版本所以我们需要更新pip工具 方法: 1.window键R打开命令行窗口 2.在命令行使用命令: python -m pip install --upgrade pip (但是比较新的版本无法识别…

pip更新方法

我们在pycharm中更新pip常会有如下错误提示无法完成pip更新,但是pip不更新会影响其他扩展包的安装: You are using pip version 9.0.1, however version 19.0.2 is available.You should consi der upgrading via the ‘python -m pip install --upgrade pip’ command.pip更新…