(二)ECloudIDE入门STM32-官方寄存器版例程使用

说明:本系列教程基于正点原子stm32f1 nano开发板,其他开发板仅供参考!

3.1 转换插件使用方法

      由于市面上绝大部分STM32教程是基于Keil软件教学,而ECloudIDE是基于GCC编译器(gcc-arm-none-eabi),两者在工程管理上存在一些差异,无法直接使用,我们团队提供了一个转换插件用与将Keil工程转换成ECloudIDE工程。

图3.1 Keil5与GNU吉祥物  

keil2platformio码云gitee链接:https://gitee.com/wllis121/keil2ecloudide

    目前该插件只支持Keil5软件和STM32F10x系列芯片,其他芯片还在抓紧测试验证中...,此处以"实验3 按键实验"为例演示如何转换Keil工程为ECloudIDE工程

  第一步:复制"keil2platformio"插件到工程目录下

图3.2 keil2platformio文件夹拷贝位置  

  第二步: 运行""插件

    进入到实验代码路径中,运行"keil2platformio/keil2platformio.py"文件, ./USER/为xx.uvprojx文件所在目录python keil2platformio/keil2platformio.py ./USER/  运行完后会出现下面效果

图3.3 正常运行keil2platformio.py转换keil5工程效果  
图3.4 成功转换keil5生成的platformio.ini文件  

  第三步:打包上传代码至ECloudIDE

    将生成在USER下的platfomio.ini文件拷贝的本实验文件的主目录下,如图3.5所示,然后将其压缩成xx.zip文件

图3.5 更改platformio.ini文件位置,并压缩成xx.zip文件  

  第四步:修改编译错误

  修改位置1:

将第36行的"+<main.c>"修改为"+<USER/main.c>

[platformio]

include_dir = .

src_dir = .[env:KEY]

platform = ststm32

framework = cmsis

board = generic

STM32F103RB

build_flags =    

-IHARDWARE/LED   

-ISYSTEM/delay   

-ISYSTEM/sys   

-ISYSTEM/usart   

-IUSER   

-ISTM32F10x_FWLib/inc   

-ICORE   

-IHARDWARE/KEY   

-IHARDWARE/BEEP   

-D__nop=__NOP

build_src_filter =    

-<*>   

+<startup_stm32f10x_md.s>   

+<USER/main.c>   

+<HARDWARE/LED/led.c>   

+<HARDWARE/KEY/key.c>   

+<HARDWARE/BEEP/beep.c>   

+<SYSTEM/delay/delay.c>   

+<SYSTEM/sys/sys.c>   

+<SYSTEM/usart/usart.c>   

+<README.TXT>

修改位置2:

        出现图3.6所示错误时,需要将stm32f10x.h中的"#define STM32F10X_MD"宏定义打开,然后再次编译

图3.6 提示stm32f10x.h错误  
图3.7 芯片类型宏定义选项  

修改位置3:

出现如图3.8所示语法错误时,需要将keil编译器识别的汇编语法全部修改为gcc所能识别的语法

图3.8 汇编语法错误

修改前sys.c文件中的keil能识别的汇编语句,位于文件第124~144

//THUMB指令不支持汇编内联

//采用如下方法实现执行汇编指令WFI 

__asm void WFI_SET(void)

{   

WFI;         

}

//关闭所有中断

__asm void INTX_DISABLE(void)

{   

CPSID I;         

}

//开启所有中断

__asm void INTX_ENABLE(void)

{   

CPSIE I;         

}

//设置栈顶地址

//addr:栈顶地址

__asm void MSR_MSP(u32 addr)

{    MSR MSP, r0           

//set Main Stack value   

BX r14

}

修改后sys.c文件中的gcc能识别的汇编语句

//THUMB指令不支持汇编内联

//采用如下方法实现执行汇编指令WFI 

void WFI_SET(void)

{   

asm("WFI");         

}

//关闭所有中断

void INTX_DISABLE(void)

{   

asm("CPSID I");         

}

//开启所有中断

void INTX_ENABLE(void)

{   

asm("CPSIE I");         

}

//设置栈顶地址

//addr:栈顶地址

void MSR_MSP(u32 addr)

{   

asm("MSR MSP, r0");           

//set Main Stack value   

asm("BX r14");

}

第五步:编译下载

图3.9 编译工程
图3.10 下载工程

到这里我们就完成了按键实验Keil工程到ECloudIDE工程的转换,其它例子也都可以按照这个方法来进行。

官方参考文章:https://rw7mwduiy2.feishu.cn/wiki/MRMIwjnRqi0PpGkOxULcxHUbnNc

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,080评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,422评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,630评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,554评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,662评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,856评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,014评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,752评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,212评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,541评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,687评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,347评论 4 331
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,973评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,777评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,006评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,406评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,576评论 2 349

推荐阅读更多精彩内容