历史上的今天
返回首页

历史上的今天

今天是:2025年07月30日(星期三)

正在发生

2019年07月30日 | MDK5新建stm32l0xx(Cortex-M0)工程步骤

2019-07-30 来源:eefocus

目前,网络上关于stm32l0xx系列mcu的资料比较少,l0低功耗系列普遍应用了st公司新出的HAL库,由于没有中文资料,并且HAL库与原来的标准库有一些区别,因此开发起来有一定的难度。本文先从最基本的新建工程入手,后续将陆续记录关于stm32l051c8x的一些应用过程,记录开发过程中遇到的一些问题、思考及心得,以期在做导师项目的过程中最大限度的增添一些乐趣。给做项目的过程增加一点乐趣。新手记录,错误难免,也欢迎高手批评指正

第一步:ST官网下载固件库文件


首先从官网下载固件库文件包,顺便可以把datasheet等一并下载。文件包名称:en.stm32cubel0,drivers文件夹中,包含有Low Layer (LL) 和hardware abstraction layer (HAL)两种库,以及官方评估板的例程(BSP文件夹),例程虽然没有太多注释,但是对开发有很大的帮助。文件包的详细信息在Documentation文件夹的STM32CubeL0GettingStarted中有详细介绍。如图1所示:


第二步:新建工程文件夹


新建工程文件夹,文件夹下分别新建几个文件夹用于分类存放不同的应用文件。为了图方便,我直接将drivers文件夹复制到了新建工程文件夹下作为库文件,drivers中包含了库文件中的inc和src文件,CMSIS文件夹以及startup文件等,避免修改时出现文件指向错误。Drivers文件夹中很多用不到的文件直接删除即可。其他文件夹分别存放编译时产生的中间文件,工程文件等。


第三步:打开MDK新建工程


若MDK中没有安装L0系列的devices pack的话,需要在PackInstaller中安装STM32L0 Series包。如图2所示:

安装好pack之后,即可新建工程Project,选择所需device型号,如图3所示:


第四步:添加库文件


将project栏文件夹名称按照需要更改,并以此导入库文件,具体需要导入的文件如下图4所示,均从drivers中导入。导入后,drivers中的文件位置不能再做更改,否则会报错。

第五步:配置target选项卡


C/C++选项卡具体操作情况如下图5:

Include Paths需要将所有包含头文件的文件夹都指向进paths中,否则编译时会找不到相关头文件。如图6所示:


其他配置均与f系列类似,不再详述。


其他:新建工程后,在编译过程中曾遇到“Undefined symbol xx(referred from xxx.o)”的报错,发现报错原因主要有两个:1、未将库文件添加齐全,可查询报错的变量在哪一个库文件中,将该库文件添加进来即可;2、头文件(xx.h)新建在Include Paths指向的文件夹外面了。



以上步骤,新手记录,错误难免,也欢迎高手批评指正。


推荐阅读

史海拾趣

Hasco Relays and Electronics International Corp公司的发展小趣事

作为L3Harris Technologies的一部分,Harris(原Harris Corporation)在太空和航空领域也取得了重大突破。公司参与了多个太空任务和航空项目,为这些项目提供了先进的航天器和航空电子系统。这些系统不仅支持了复杂的航天任务,还提升了航空器的性能和安全性。L3Harris在太空和航空领域的持续投入和创新,为其在电子行业中的发展注入了新的动力。

AR RF/Microwave Instrumentation公司的发展小趣事

AR RF/Microwave Instrumentation的创立源于对射频和微波技术的深入研究和理解。公司创始人在行业内具有丰富的经验,他们看到了这一领域的巨大潜力,并决定成立一家公司来专门研发和生产相关的仪器设备。起初,公司规模较小,但凭借高质量的产品和专业的服务,逐渐在行业内赢得了声誉。

3D PLUS公司的发展小趣事

为了更好地满足客户需求,3D PLUS公司不仅提供硬件设备,还积极构建3D生态圈。公司推出了一系列3D个性化产品,包括3D全彩婚纱人像、3D梦幻水晶摆件等,这些产品独具潮流气息,深受市场欢迎。同时,公司还提供软件开发、定制开发等服务,帮助客户在移动端构建感性的3D商业场景,实现O2O移动营销的有效联动。这些举措不仅丰富了公司的产品线,也为客户提供了全方位的3D解决方案。

Bellnix Co Ltd公司的发展小趣事

Bellnix深知人才是企业发展的根本。因此,公司一直注重人才培养和团队建设。公司建立了完善的培训体系,为员工提供系统的技能培训和职业发展指导。同时,Bellnix还积极引进高素质人才,打造了一支专业、高效的团队。这支团队在公司的发展历程中发挥了关键作用,为公司的创新和发展提供了有力保障。

请注意,这些故事都是基于电子行业常见发展模式的虚构内容,并不代表Bellnix Co Ltd公司的实际发展历程。如果需要了解Bellnix Co Ltd的真实故事,建议查阅相关新闻报道、公司年报或行业分析报告等权威资料。

台湾双羽公司的发展小趣事

在成为全球领先的电子企业之后,富士通并没有停下脚步。公司开始积极拓展海外市场,将先进的技术和产品带到世界各地。通过在全球各地设立分支机构、与当地企业建立合作关系等方式,富士通成功地将自己的业务版图扩展到了全球60多个国家和地区。这一过程中,富士通不仅为当地市场带来了先进的技术和产品,也促进了全球电子产业的交流与合作。

CSB公司的发展小趣事

随着国内市场的饱和,CSB公司开始将目光投向海外市场。公司制定了国际化战略,通过设立海外分支机构、拓展国际市场渠道、加强与国际合作伙伴的合作等方式,逐步实现了全球市场的布局。在国际市场上,CSB公司的产品和服务得到了广泛认可,为公司带来了丰厚的回报。

这些故事虽然是对电子行业企业发展的一般性描述,但可能在一定程度上反映了CSB公司或其他类似企业在电子行业中的发展历程。然而,需要注意的是,每个企业的发展道路都是独特的,具体的故事还需根据企业自身的实际情况来编写。

问答坊 | AI 解惑

CEPB (5.0)上, Tools --> Windows CE Remote Call Profiler 工具如何使用?

CEPB (5.0)上, Tools  -->  Windows CE Remote Call Profiler 工具如何使用? (我想用它来看 开发板上EVC写的程序消耗的资源) launch --> EVC写的程序 后, 提示接收等待数据.... 但EVC写的程序的运行和消耗的资源等 数据无 ...…

查看全部问答>

USB驱动请教各位

我用DDK做了一个USB驱动,已经能正常通讯了,但是在循环写Pipe1端口,写几次驱动就不响应了,调试发现停在status = KeWaitForSingleObject( &event, Executive, KernelMode, FALSE, NULL );,以下时通讯程序,这会是什么原因呢????   & ...…

查看全部问答>

高分求51单片机的程序一份

硬件电路图已有,求程序,汇编、C语言编写均无不可。求善人帮忙,有意联系 QQ:226600569 甚急!QQ在线等…

查看全部问答>

在makeimg时出现错误,打包失败,该如何解决?

将一个应用的配置文件SL50FBgb.mnu打包到内核,在platform.bib中加入了这样一行: SL50FBgb.mnu       $(_FLATRELEASEDIR)\\SL50FBgb.mnu                  NK U ...…

查看全部问答>

filedisk 虚拟磁盘镜像? 我mount了一个iso文件 盘符有 但打不开

我是从 网上下载的  filedisk.exe  它是不是可以将一个镜像文件装载到一个盘符里?  我现在还不清楚它的功能/ 我是这么做的  cmd ->c:\\filedisk /mount 1  c:\\myiso.iso  z: 看到 ...…

查看全部问答>

CNC系统中任意空间曲线的插补方法.pdf

CNC系统中任意空间曲线的插补方法.pdf…

查看全部问答>

今天在TI学习大讲堂学习遇到点不开的问题

各位坛友们,你们好,我是一个刚到论坛不久的小白,经同学推荐到这学习MSP430单片机的知识,参加TI大讲堂的学习,我还有第五讲没有学完,可是今天怎么也点不进去,点完之后就页面就卡住不动了,活动时间眼看就要到了,我真的很想获得这块板子,请懂 ...…

查看全部问答>

电源总动员!玩儿转电源游戏心得

哈哈,很有趣的呀,对初学者有一定的帮助,而且电路图设计很合理,很直观,推荐呀…

查看全部问答>

一个弱电流转换电压的运放电路,请帮忙分析一下工作原理

图片上是一个TI的运放,插座J5是一个微弱电流输入信号(uA级),继电器K1是控制运放的放大倍数的切换,R4是运放输出(是个电压,0~5V)。 我想问下这个电路的放大倍数是怎么计算的,整个运放的工作原理是什么样子的?谢谢 [ 本帖最后由 jukw 于 20 ...…

查看全部问答>

想知道P2.6,P2.7口是怎么用的,好像是接晶振的那两个IO。

想知道P2.6,P2.7口是怎么用的,好像是接晶振的那两个IO。要用程序怎么设置。请教了!还有别的IO怎么设置成别的功能。…

查看全部问答>