历史上的今天
返回首页

历史上的今天

今天是:2024年09月24日(星期二)

正在发生

2020年09月24日 | IAR新建一个工程的补充

2020-09-24 来源:eefocus

说明之所以补充是因为前面一篇有不完整之处,但是也有一些参考价值。两篇结合起来可以解决更多的问题。


1 打开IAR软件如下图

2 在菜单栏中点击PROJECT----creat New Project 弹出一个对话框选择STM8S Series  以及 Empty project 单击OK

3 进入工程文件的保存设置,在你要保存的工程的路径下以当前项目名称为名的文件夹,然后项目名称文件夹下依次新建APP、BSP、CFG、Libraries和Project共5个文件


APP,用于存放应用程序

BSP 存放板级支持包

CFG 存放工程配置文件

Libraries :存放工程里面使用到的开源或官方库文件。

project 存放工程,工程编译连接输出文件。

将工程命名后保存在project文件下。

4 上面完成啦工程的新建,然后就是官方库的移植,首先复制官方标准外设库路径下的Libraries文件夹下的STM8S_StdPeriph_Driver文件到工程文件名文件夹下Libraries文件下

然后复制官方标准外设库路径下Project文件夹下的STM8S_StdPeriph_Template文件夹下的man.c  stm8s_conf.h stm8s_it.c    stm8s_it.h共4个文件到APP下

6 下面在IAR中右键单击工程名称 选择ADD---Add Group选项 一次添加APP   BSP   CFG   Libraries  四个组别然后在Libraries组别下添加STMIS_StdPeriph_Driver组别

 

完成组别添加后,开始添加文件,首先右键单击APP组别,选择ADD   ADD Group,给APP组添加文件main.c    stm8s_conf.h  stms_it.c    stm8s_it.h四个文件

同样把Libraries库文件下的src文件夹下的所有文件添加到工程中的libraries中

7 下面开始配置IAR

右键单击工程选择Options弹出的对话框中选择对应的芯片

然后,按下图在C/C++ Compiler 选项中,选择Preprocessor项目,在Additional include directories栏目的编辑框中输入如下头文件包的路径

$PROJ_DIR..

$PROJ_DIR..LibrariesSTM8S_StdPeriph_Driverinc

$PROJ_DIR..APP

$PROJ_DIR..BSP

$PROJ_DIR..Cfg

并且在Defined symbols栏目的编辑框内输入STM8S105。告诉编译器使用的库。

最后,在Output Converter选项中,选择Generate additional output,格式为 Intel extended.

下面开始编译工程

第一次编译时候会提示保存工程路径我们保存在project文件夹下

如果编译整个工程的时候出现报错

因为我们用的官方库包含所有的外设,但是我们用的单片机只包含其中一部分那么我们需要把不包含的那部分不参与编译。

展开Libraries组别下的STM8S_StdPeriph_Driver,看到带红色星号的就是当前单片机不具备的外设,可以依次屏蔽他们不参与编译。

选择带星号的文件右键----option

勾上。

如果包如下错误

Fatal Error[Pe035]:#error directive: "Please select first the target STM8L device used in your APPLICATION

双击该条提示,没有定义单片机型号,其实库文件已经定义好只需要我们把注释去掉


推荐阅读

史海拾趣

意普(ESPE)公司的发展小趣事

为了提升产品质量和竞争力,意普(ESPE)公司开始注重品质管理,建立了严格的质量检测体系。同时,公司积极申请国际认证,成功获得了欧洲四级安全认证体系,进一步提升了产品的国际竞争力。这些努力不仅赢得了客户的信任,也为公司打开了国际市场的大门。

Axiomtek公司的发展小趣事

为了提升产品质量和竞争力,意普(ESPE)公司开始注重品质管理,建立了严格的质量检测体系。同时,公司积极申请国际认证,成功获得了欧洲四级安全认证体系,进一步提升了产品的国际竞争力。这些努力不仅赢得了客户的信任,也为公司打开了国际市场的大门。

兵字(BingZi)公司的发展小趣事

随着公司规模的不断扩大和产品线的日益丰富,兵字公司开始注重品牌建设和市场拓展。公司注册了“BingZi兵字”商标,并通过一系列的市场推广活动,提升了品牌的知名度和美誉度。同时,兵字公司还积极开拓国内外市场,与多家知名企业建立了长期稳定的合作关系,实现了业务的快速增长。

Atlantic Microwave Ltd公司的发展小趣事

Atlantic Microwave Ltd公司成立于电子科技蓬勃发展的年代,初期只有几名志同道合的工程师,他们怀揣着对微波技术的热情,在狭小的办公室中开始了他们的创业之旅。资金短缺、技术难题、市场认可度低等问题接踵而至。然而,团队凭借着对技术的执着追求和对市场的敏锐洞察,不断攻克技术难关,优化产品设计,逐渐在市场上站稳了脚跟。

Electric Imp Inc.公司的发展小趣事

随着第一款产品的成功,Electric Imp Inc.公司开始积极拓展市场。公司与多家知名厂商建立了合作关系,将物联网设备管理平台应用于智能家居、工业自动化、智慧城市等领域。同时,公司还加强了与高校、科研机构的合作,共同研发新技术、新产品。这些努力使得公司在物联网领域的影响力逐渐扩大。

Anaren Ceramics公司的发展小趣事

为了确保产品质量的稳定性和可靠性,Anaren Ceramics公司建立了一套完善的质量管理体系。公司严格按照国际标准进行生产和管理,从原材料的采购到产品的出厂,每一个环节都经过严格的检测和把控。这种对质量的严格把控不仅赢得了客户的信任,也为公司在电子行业中树立了良好的口碑。

问答坊 | AI 解惑

Astro不能显示cell里的poly这些层啊,

搞了两天了,不明所以啊,我刚开始学这个,有没有人给指点一下.…

查看全部问答>

Design Entry HDL中的元器件如何添加上Cadence Allegro PCB的封装

我买的那本书上没有写这项内容:Design Entry HDL中的元器件如何添加上Cadence Allegro PCB的封装 。新手奋学,请多关照。…

查看全部问答>

dos下获取cpu外频???

CPUID指令里看不到有外频的获取方法,主频倒可以通过RDTSC得到 请问有什么方法得到外频呢???谢谢…

查看全部问答>

bootloader 向kernel传送参数问题

小弟想利用bootloader向kernel传送参数,并在/proc文件夹中的一个文件中显示:    请问大侠 :          1.bootloader是怎样将参数传送给kernel?          2.kernel是 ...…

查看全部问答>

求助,msp430单片机概念

请问各位前辈,msp430单片机片内外围模块中的时钟模块怎么理解? 另外单片机到底是如何工作的? 因为马上要考试了,所以现在正在复习。看了书后非常的迷糊。可能问题问得比较傻。…

查看全部问答>

为什么DrawImage这个函数在CE4.2下用不了啊

本人现在在CE4.2下面做图片浏览器,需要调用Graphic的DrawImage函数来实现图片的按照原有比例缩放,本人开发工具采用的是C#,采用的pictureBox这个控见来显示图象,这样就有一个问题,就是如果调用调用DrawImage这个函数的话需要pictureBox先构造一个Gra ...…

查看全部问答>

一点建议,关于积分制度......

小弟来到eeworld也有一阵子了,也越来越感觉这里就像一个大家庭,也越来越像尽快融入进去,但是看着头像下面空空荡荡的军衔,总觉得有点别扭。看了一下积分制度,要到100才能再加一道杠,500才能升一级....难道说这辈子就守着一粒金砂了么 :( 所 ...…

查看全部问答>

远程配置IP地址,采集IO和温度

能够远程配置IP地址并且支持远程采集IO和动态采集温度,可以通过域名bjmonsoon.gicp.net  访问 [ 本帖最后由 bjmonsoon 于 2010-12-25 09:21 编辑 ]…

查看全部问答>

怎么使用makefsfile吧网页转换成.h文件

rt怎么把.shtml文件转换成.h文件 [ 本帖最后由 RogerKing 于 2011-5-14 20:27 编辑 ]…

查看全部问答>