Keil和IAR单片机编程软件,是当前流通度庞大的两款单片机编程软件。而对于单片机编程软件的使用,各自存在一定区别。本文中,将为大家讲解IAR单片机编程软件建立stm32工程的详细方法,希望大家通过本文能够有所收获哦。
版本1:
stm32是一个当下非常流行的微控制器,很多人都加入了学习stm32的行列中,常用的stm32编译器有IAR和mdk两种,接下来是利用stm32固件库3.5在IAR下的建立的工程模板历程:
1、在常用的文件夹下新建立一个文件夹,根据个人喜好,分别建立如下几个文件夹,用于分别存放固件库中的文件和用户自己的文件。
2、将固件库E:STM32stm32固件库3.5STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10xstartupiar目录下的汇编文件复制到刚刚建好的模板目录下F:STM32-IARdemoCMSISStartup
3、将固件库E:STM32stm32固件库3.5STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10x目录下的文件复制到刚刚建好的模板目录下F:STM32-IARdemoCMSISSystem下
4、将固件库E:STM32stm32固件库3.5STM32F10x_StdPeriph_Lib_V3.5.0LibrariesSTM32F10x_StdPeriph_Driver目录下的驱动文件复制到模板目录下F:STM32-IARdemoFWLIB
5、将固件库E:STM32stm32固件库3.5STM32F10x_StdPeriph_Lib_V3.5.0ProjectSTM32F10x_StdPeriph_TemplateEWARM目录下的.icf文件复制到模板目录F:STM32-IARdemoConfig中
6、将固件库目录E:STM32stm32固件库3.5STM32F10x_StdPeriph_Lib_V3.5.0ProjectSTM32F10x_StdPeriph_Template下的F:STM32-IARdemoUser下
到此为止,建工程前的准备工作已经做好,接下来就是打开IAR进行建立工程了,打开IAR->File->New->Workspace,建立好工作空间后,选择Project->Create New Project 建立一个新的工程,接下来将鼠标放在界面左侧的工作空间处点击鼠标右键选择Add,添加工作组如下图,文件名模板文件夹中的名字相同。
加下来分别将模板文件家中的.C文件添加进工程
到此为止需要添加的文件已全部添加进来了,接下来是对IAR的配置,依旧是将鼠标放在左侧的工作空间上点击右键选择Options进行配置,在General Options-Target-Device选择自己使用的相应芯片型号,General Options下其他选项保持默认即可。
接下来是CC++Compler按下图进行设置
接下来的几项一次按接下来的图片设置就好
接下来是最容易忽视的一个问题,图片上画圈的位置一定要选上,不然编译将出错
最后在工程中加入main函数编译通过,一个模板就建好了
版本2:
关键字:IAR单片机 编程软件 stm32工程
引用地址:
IAR单片机编程软件建立stm32工程的方法解析
推荐阅读最新更新时间:2024-11-10 00:02
PLC基础编程软件的四种形态解析
PLC和DCS、SCADA并列为工业控制领域的三大支柱。为摆脱基本依赖进口的局面,改革开放以来,国内许多企业、高校和研究单位前赴后继,投入了这三大系统的开发研制。比较而言,最有成效的应该是DCS,以中控、和利时等为代表的科技企业引领了我国DCS技术和市场应用的方向,占领了相当部分的市场份额。尽管芯片等基础元器件还不得不部分依赖进口,但在软件方面已经立足于自行开发,积累了相当的经验和诀窍。SCADA也有像亚控这样的企业持续深耕,积累了相当多的客户,技术上也形成了一些特色,正在向融合性平台方面发展。那么,PLC的状况如何,是不是很乐观呢?本文试图在这一方面进行探讨,可能挂一漏万,诚恳地希望各位读者指正和补充。 总的来说,这些年来我
[嵌入式]
IAR 编写程序的代码比单片机的flash大了会出现故障Error[e16]
Error : Segment NEAR_ID (size: 0x15 align: 0) is too long for segment definition. At least 0xb more bytes needed. The problem occurred while processing the segment placement command -Z(CODE)TINY_ID,NEAR_ID=_..X_INTVEC_SIZE-_..X_FLASH_END , where at the moment of placement the available memory ranges were CODE:ff6-ff
[单片机]
STM32高级开发(7)-浅析样例工程的Makefile
上一篇中我们为大家介绍了makefile的最简单的用法和关于它的学习资料,本篇建立在大家已经稍许看过makefile的教程上,结合我们的 arm 工具链来具体分析上一篇中makefile的配置和作用。 样例工程的Makefile 首先还是先放上我们样例工程中的makefile文件。 #工程的名称及最后生成文件的名字 TARGET = LED_project #设定临时性环境变量 export CC = arm-none-eabi-gcc export AS = arm-none-eabi-as export LD = arm-none-eabi-ld export OBJ
[单片机]
西门子STEP7编程软件中的对象与对象体系
对象具有下列功能: 对象属性的载体, 文件夹, 功能的载体(例如,启动特定的应用程序)。 作为属性载体的对象 对象既可以具有功能,也可以具有属性(例如设置)。在选择对象时,可用它来执行下列功能之一: 使用菜单命令编辑》打开对象来编辑对象。 使用菜单命令编辑》对象属性打开对话框,并设置对象特定的选项。 文件夹也可作为属性的载体。 作为文件夹的对象 文件夹(目录)可包含其他文件夹或对象。其在打开文件夹时均会显示。 作为功能载体的对象 当打开对象时,将显示一个窗口,可在其中编辑对象。 对象或者是一个文件夹,或者是功能的载体。其中站是一个例外:它们既是文件夹(对于可编程模块),也是功能的载体(用于组态硬件)。 如果双击一个站,
[嵌入式]
Ethernet IP转Modbus网关模块与汇川PLC通讯在编程软件中的配置
Ethernet/IP和Modbus是工业通讯中两种常见的通讯协议,而汇川PLC支持Ethernet/IP,EthernetCAT协议,在实际项目中经常需要与485Modbus从站设备进行通讯。为了实现这一诉求,可在PLC与从站中间加个Ethernet/IP转Modbus网关(XD-MDEP100)模块,就可解决此类问题。 Ethernet/IP转Modbus网关模块 本文将详细介绍如何在汇川PLC编程软件中配置Ethernet/IP转Modbus网关模块(XD-MDEP100)与从站通讯方法,帮助工程师和技术人员更好地实现设备间的数据交互和通讯。 Ethernet/IP转Modbus网关模块 一、MODBUS-RTU 技
[嵌入式]
IAR下STM8S207单片机各模块的无库例程
简介:TIM/ADC/CLOCK/EEPROM/SPI/UART/WWDG/IWDG等不使用库的应用例程,包含SPI双机通讯、定时器的捕获、PWM各功能的实现等;原理图有2个错误:1,晶振电容为22P;2,按键电容位置错; 以下模块全部已调试通过: #include ioSTM8S207S8.h #include Includes.h #include Constants.h #include Functions.h #include Globals.h /* Author: EighthArmy @ July.2010 */ /******************************************
[单片机]
STM32手动创建工程-HAL库,超详细
自从ST公司推出了STM32CubeMX软件,使得开发者开发成本和时间大大缩小,通过这款软件,用户可以选择芯片和配置时钟、外设等等,可以直接生成工程代码,虽然功能逻辑还是要自己补充,但是已经省去原来工程创建和繁琐的外设配置。 但是对于初学者要懂得手动创建一个完整的工程,有利于加深对工程目录结构和各类驱动文件的理解,本文将带领读者手动创建基于HAL库的STM32工程项目。 1.新建本地工程文件夹 电脑本地新建“Template_HAL”文件夹,在该文件夹下新建5个文件夹,如下图所示 2.添加HAL库 将HAL库添加到工程文件夹中,HAL库下载和说明我在另外一篇文章中有详细介绍。 3.新建工程 打开Keil-MDK,新
[单片机]
FreeModbus for stm32(Keil工程)——精简Modbus slave协议
1、测试环境Keil MDK 4.7a stm32f103c8, PB12为输出线圈,可以通过Modbus Poll来控制线圈的输出状态。 2、通过ModbusProt.h配置硬件、数据缓冲区大小和功能码配置 3、移植要点为Port.c和Port.h 定时器操作在stm32平台下基本不用改 a、定时器初始化; xMBPortTimersInit() b、开定时器及中断; vMBPortTimersEnable() c、关定时器及中断; vMBPortTimersDisable() d、定时器溢出中断服务程序;TIME_IQR_HANDLER() 串口操作: a、串初始化; xMBPortS
[单片机]