STM32L476移植华为LiteOS系列教程---更换芯片后应该修改的地方 7

举报
樊心昊 发表于 2020/05/12 12:05:53 2020/05/12
【摘要】 摘要:假如你需要移植LiteOS_Lab到STM32F103xx或者其他系列的例如M0、M3等上,本篇帖子就是为你写的。首先,我贴一幅图,转自百度百科:https://baike.baidu.com/item/Cortex-M/1363782?fr=aladdin这张图片向大家分别展示M0、M3、M4分别对应的架构版本。这里简单的说一个小知识:STM32和ST公司和ARM公司合作的,ARM公...

摘要:假如你需要移植LiteOS_Lab到STM32F103xx或者其他系列的例如M0、M3等上,本篇帖子就是为你写的。


首先,我贴一幅图,转自百度百科:https://baike.baidu.com/item/Cortex-M/1363782?fr=aladdin

image.png

这张图片向大家分别展示M0、M3、M4分别对应的架构版本。

这里简单的说一个小知识:STM32和ST公司和ARM公司合作的,ARM公司设计好相应的核提供给ST公司,ST公司再去设计各种外设(ADC、Flash)等等,上图中的V6M、V7M在这些就是ARM公司设计的。


一、SDK配置

现在转回正题,我们打开IoT Studio为自己的特定芯片开发移植LiteOS_Lab时,要进行的一个操作就是SDK配置,选择我们用到的组件,不知道大家是否注意到,有着这样一个选项:

image.png

这个选项就是用于配置我们的芯片的架构,按照上图中的来配置即可,armv6-m这里没有显示,但是ubuntu下可以手动填写,大家等后面新版本的IoT Studio出来以后,就可以看到该选项了,这里我给大家贴个Ubuntu上的配置图片,如果大家需要我出一份关于搭建Ubuntu的LiteOS开发环境请留言。

image.png

这就是Kconfig的功劳,上期说过,配置并保存之后会生成一个.config文件,用于让Makefile引用其中的配置项,用于控制编译,下图是.config的部分内容:

image.png

看到了吧,这里定义了一个CONFIG_ARCH_CPU_TYPE    := "armv7-m"

我想你和我一样一定也想知道是哪个Makefile引用了该配置,请你打开这个路径:iot_link/os/liteos/liteos_imp.mk,你可以看到如下图

image.png

相信你一定能看出来,这三个不同的路径对应了三种架构的芯片的汇编起始文件和一些列芯片相关的文件

二.makefile配置

首先,我们来看下GCC/Makefile

image.png

同样的,我们也需要将这里的CPU、FPU等一些列信息修改为芯片的相应信息。

再来看下project.mk

image.png

我们需要将这些引用Hal库的路径也修改为芯片对应的路径。

三、其他地方

例如你的main.c文件或者其他包含了stm32L4xxxx.h的文件也应该进行相应修改,你也可以直接编译,根据错误信息去修改。


PS:这是是我目前发现的问题,大家在将LiteOS_Lab移植到自己的芯片上时,可以选择相近芯片的Demo来入手,这样可以避免发生过多的问题,例如我用的是STM32L476我就选择小熊派的STM32L431这样就方便很多了。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。