历史上的今天
返回首页

历史上的今天

今天是:2024年09月18日(星期三)

正在发生

2019年09月18日 | IAR for STM8系列教程(一)_新建软件工程详细过程

2019-09-18 来源:eefocus

Ⅱ、准备工作

俗话说“磨刀不误砍柴工”,做好了准备工作,后面新建软件工程的工作就很容易实现了。


1.安装IAR for STM8软件工具

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


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


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


2.STM8S标准外设库下载

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


http://www.st.com/en/embedded-software/stm8-embedded-software.html?querycriteria=productId=SC1807


点击网页最左下角Show All Showing 1 to 10 of 69 entries,显示全部内容,找到STM8“标准外设库”,如下如:

当然,如果嫌麻烦也可以到我百度网盘下载(和官网一样):


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


3.整理工程文件夹

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


首先建立一个存放工程文件的文件夹:STM8S_Demo


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


解压下载标准外设库可以看见下面四个文件夹和参考资料:


_htmresc:图片文件夹(不提取)


Libraries:标准驱动库(提取大部分)


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


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


ST官网下载的标准外设库里面有很多例程源代码和其他文件,但我们主要使用Libraries目录下STM8S_StdPeriph_Driver源代码,其他参考文件用于开发学习时参考使用。因此,主要提取Libraries下的文件及文件夹到我们的STM8S_Demo工程文件夹下面。


B.新建文件和文件夹


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


App: 应用部分代码


Bsp: 底层部分代码


Doc: 说明文档


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


上面两个步骤完成之后,我们就可以看到在工程文件夹“STM8S_Demo”下面整理的文件夹:

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


Demo软件工程下载地址:


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


提示:如果网盘链接失效,可以微信公众号“底部菜单”查看更新链接。 


Ⅲ、新建软件工程

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


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


1.创建工作空间及工程

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


A.打开软件,创建新的工作空间工程(File -> New -> Workspace)

B.创建新工程(Project -> Create New Project)

C.创建一个空工程

D.选择路径,保存名称

E.空基础工程

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


2.添加文件

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


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


IAR和Keil组管理的区别:


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


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


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


A.工程中添加组

B.填写组的名称 -> OK

C.组中添加文件

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

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

3.配置工程

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


A.进入配置选项

B.选择器件

C.库配置Library Configration


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

D.预处理Preprocessor - 添加路径


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

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

E.预处理Preprocessor - 预定义


这里的预定义类似于在源代码中的#define xxx 这种宏定义。这里的STM8S103可以在stm8s.h中打开即可。

F.输出Hex文件


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

G.选择下载调试工具


根据自己情况选择的下载调试工具。


至此,一个基本工程的配置算完成了,如果源代码正确,就可以编译下载调试了。

Ⅳ、说明

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


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

推荐阅读

史海拾趣

迦美信芯(CanaanTek)公司的发展小趣事

随着公司的发展壮大,迦美信芯不仅在上海设立了总部,还在杭州、北京、深圳等地设立了全资子公司和业务办事处。此外,公司还在欧洲比利时设立了研发中心,以进一步拓展全球市场。这些布局不仅增强了公司的研发实力,也为其在全球范围内的业务拓展提供了有力支持。

Electech Electronics公司的发展小趣事

在快速发展的同时,Electech Electronics也注重环保和可持续发展。公司积极采用环保材料和绿色生产工艺,降低生产过程中的能耗和排放。此外,Electech Electronics还积极参与环保公益活动,推动电子行业的绿色发展。这些举措不仅体现了公司的社会责任感,也为公司的长期发展奠定了基础。

eLED.com Corp公司的发展小趣事

作为一家致力于LED行业的公司,eLED.com Corp深知LED产品对于节能减排的重要性。因此,公司始终将绿色环保理念贯穿于产品的研发、生产和销售过程中。通过采用环保材料和节能技术,eLED.com Corp的产品不仅具有出色的性能,还具备较低的能耗和较长的使用寿命。此外,公司还积极参与各类环保公益活动,推动LED行业向更加绿色、环保的方向发展。

格莱尔(GLE)公司的发展小趣事

格莱尔积极响应国家“双碳”政策,将绿色生产理念贯穿于企业发展的全过程。公司不仅实现了产品的无铅化生产,还注重节能减排和资源循环利用。通过优化生产工艺、引进环保设备等措施,格莱尔有效降低了生产过程中的能耗和排放,为企业的可持续发展奠定了坚实的基础。

AEMC Instruments公司的发展小趣事

除了提供优质的产品外,AEMC Instruments公司还注重服务升级和客户关怀。公司建立了完善的客户服务体系,提供售前咨询、售后技术支持等全方位服务。同时,公司还定期举办技术培训和交流活动,帮助客户更好地使用和维护产品。这些举措不仅提高了客户的满意度和忠诚度,也促进了公司与客户的长期合作关系。

以上五个故事是基于AEMC Instruments公司的发展情况所做出的概括性描述,旨在展示公司在电子行业中的成长历程和取得的成就。当然,具体的发展故事还需要根据公司的实际情况和历史记录来深入挖掘和呈现。

Amidon Associates Inc公司的发展小趣事

随着产品的不断完善和升级,AEMC Instruments公司开始积极拓展市场。公司加强与国际市场的合作,通过参加国际展会、建立全球分销商网络等方式,将产品推向全球。同时,公司还积极寻求与国际知名企业的合作,共同研发新产品和技术,以进一步提升产品的竞争力。这些举措不仅扩大了公司的市场份额,也提高了公司的国际知名度。

问答坊 | AI 解惑

基于IIS音频系统设计(2)

嵌入式系统硬件设备种类繁多,且缺乏PC中标准的体系结构,所以必须为各种设备编写驱动程序。 ARM 驱动程序的主要任务是控制音频数据在硬件中流动,并为音频应用提供标准接口。由于嵌入式系统资源有限,且处理器能力不强,所以在音频设备的驱动程序 ...…

查看全部问答>

Protel DXP 2004实用教程CD版本

Protel DXP 2004实用教程CD版本…

查看全部问答>

电磁炉线圈改造不工作原因?

我把电磁炉线圈改造成筒状,就是对管状的物体加热,改造后怎么会不加热,通电后显示正常,就是将铁管穿入线圈选择加热后不加热,状态就和没有锅一样,在穿入的铁管上有轻微的间隔的“叮”声。请教大家我如何改造才能实现我的要求呢?…

查看全部问答>

收到礼物了

收到礼物了,打开一看,咦,是。。。 雨衣????? 拉开拉锁,展开,奥,原来是。。。原来是。。。。   包包!! EEWORLD的礼物,都这么创意啊,谢谢啊。  …

查看全部问答>

关于sopc的问题,请高手指点,谢谢了

最近毕业设计要做2fsk的sopc解码,不知道该如何下手…

查看全部问答>

wince 升级到 R3 版本

请问大家有没有把 WINCE 升级到 R3 版本呢? 我用的是 PXA270 的MCU ,升级后出出现堆栈溢出, !!! Committed last page of the stack (0xd0230018), SEH bypassed, thread terminated !!! Exception \'User Stack Overflow\' (-3): Thread-Id=0 ...…

查看全部问答>

为什么用直联线也可以通呢?

我们开发的嵌入式设备两台间用直连线和交叉线都可以通,谁知道原因呢?我用的是Realtelk的8201网卡芯片?…

查看全部问答>

VS2003下,如何把pictureBox1.Image保存为文件呢

我是用VS2003开发的,做了一个签名程序,可是当我想把签名生成的Bitmap保存时,就遇到了这个问题! 希望高手能帮忙解答一下…

查看全部问答>

又遇怪事,STM32IAR优化产生的SPI问题

硬件相同,甚至板子都没掉电,只是换用不同的优化重新仿真,使用IAR高度优化时SPI1的SCK无波形:高度优化时: 下载 (69.93 KB) 2010-7-21 14:35 中度优化时: 下载 (93.56 KB) 2010-7-21 14:35 ...…

查看全部问答>

Ltib怎么加上TFTP? 谢谢

我使用的是8315E开发板, 在使用LTIB进行编译的时候我一直使用的缺省方式, 没有修改配置项, 然后编译之后生成的内核下载到开发板之后发现用不了TFTP   所以请教各们朋友:   怎么在LTIB编译的时候修改配置项?   谢谢…

查看全部问答>