你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

尝试STM32设备接入物联网云平台——MDK环境

[复制链接]
点点_木木 发布时间:2019-12-25 00:50
在尝试基于机智云的STM32设备接入物联网云平台,使用的开发板是淘宝上购买的STM32最小系统评估版(基于STM32F103C8T6)。机智云可以根据设备、数据点的设置自动生成一个STM32工程简化开发,这个方式很棒,可以节省很多时间,(即机智云自助开发平台的MCU代码自动生成功能)然而,糟糕的是,ST更新其官方开发IDE为STM32CubeIDE。
STM32CubeIDE是把Attolic的TrueStudio(基于Eclipse)和ST的芯片配置软件CubeMX打包在一起提供的免费开发IDE,之前是分别独立提供,还需要用户自己将二者集成。STM32CubeIDE是2019年新推出的,而机智云生成的示例代码是基于CubeMX和ARM MDK开发环境,其中CubeMX的代码库基于F103_Firmware_v1.6(CubeIDE是v1.8)。因此,只需要做几点小改动,就能成功导入机智云开发平台自动生成的MCU代码包,为己所用了。

IDE的不同引入了一些问题,具体如下:

1、生成代码的CubeMX文件(.ioc文件)无法在CubeIDE中直接打开,报错信息如下
Invalid Input: Must be project’s active .ioc file.Project’s ‘MCU_STM32F103C8x_source’ active one is ‘MCU_STM32F103C8x_source.ioc’ file
这是因为ioc文件名(STM32F103C8x.ioc)与工程文件名(MCU_STM32F103C8x_source)不一致,修改两者中其一保持一致后此问题消失。

2、然后后新的问题出现了,CubeMX器件视图里一篇空白,正常应该显示芯片管脚图,如下所示
2.png
进一步查看报错信息,如下所示
3.png
具体错误信息如下
Unable to create partInvalid Input: Must be project’s active .ioc file.com.st.stm32cube.ide.mcu.ide/META-INF/version/build_ref file not found, build reference will not be reported into properties
经过尝试,此问题是由于CubeIDE使用了高版本的CubeMX,而机智云生成的工程基于老版本的CubeMX文件,所以无法打开。解决方法如下
  • 在ST官网上下载最新版本的CubeMX软件(单独的CubeMX)
  • 用CubeMX单独打开.ioc文件,此时可以看到器件能够正常显示
  • 无需更改任何芯片配置,直接在CubeMX中选择Save保存.ioc文件
  • 此时用CubeIDE就可以打开.ioc文件


我猜测,CubeIDE由于刚刚推出,集成的CubeMX和独立安装的CubeMX还是有所差别,导致对老版本的ioc文件兼容性并不好,后续应该会随着软件升级解决,当前只能通过以上的方式修复ioc文件(其实是将其升级到最新版本的格式)后再用CubeIDE集成的CubeMX打开。

3、MDK工程的文件组织结构与TrueStudio的不同,编译时出现大量错误。

此问题我还没有找到很好的解决办法,只能采用最笨的方式,新建一个CubeIDE工程,手动移植过去。后续如果有更好的办法,我会更新在文章的后面。

至此,整个的工程移植就完成了。
收藏 评论0 发布时间:2019-12-25 00:50

举报

0个回答

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版