BC26-OpenCPU的正确打开方式PlatformIO

今天是2020年4月15日,川大公布了考研复试线,我以几分之差没能进入复试。回想起高考差一分上天津大学,仍然十分心疼。

BC26介绍

  BC26 支持NB-IOT通信使用的是MT2625主频78MHz,用户可使用ROM:195.3 KB/RAM:97.7 KB。由于支持OpenCPU,可以二次开发,节省一个MCU的成本,并且拥有较大的ROM和RAM。
  官方提供的BC26 OpenCPU SDK是在Windows平台下的编译器和make,项目管理由MakeFile实现,芯片烧录由联发科官方提供的IOT Flash Tool完成。
  由于在开发过程中我遇到了种种不便:
  1.build log输出到文件,不方便定位错误,每次需要打开文件查找“error”
  2.无法实时查找语法错误
  3.由于项目管理没有使用Cmake,编辑器的自动补全功能很有限
  4.感觉编译环境不标准,明显的错误都能通过编译,如:include "ril.h"写为了include"ril.h "多了一个空格居然不报错

BC26之Linux平台gcc尝试

  所以我尝试使自己搭建编译平台,我尝试过在Linux下安装相同版本的gcc,自己写CMakeFile,但是最后卡在了上传上
  在Linux平台上可以使用Github上的BC66(C26的海外版)下载程序(Python)。可是BC26下载APP.bin时串口921600波特率,我使用CH340 USB转串口模块下载一直出现异常;在Linux下使用Windows虚拟机+联发科官方IOT Flash Tool依然无法下载。经逻辑分析仪观察后发现,在Linux(Ubuntu 18.04)上921600波特率脉宽不稳定导致传输错误,在Windows上使用正常。所以不得不抛弃此方案。

重头戏PlatformIO

  在GitHub上寻觅Linux的BC26下载软件时,偶然发现有一个PlatformIO平台支持移远多款模块的二次开发,并且此平台支持Windows、Linux、macOS全平台,同时支持VSCode(主要支持)、Clion、Sublime Text等众多编辑器。

支持平台一览

BC26-OpenCPU的正确打开方式PlatformIO_第1张图片根据表格支持Arduino、OpenCPU等多种开放架构。

案例介绍

  所我使用的是Windows(我尝试过Ubuntu+PlatformIO但因波特率问题放弃)+VSCode+PlatformIO,安装方式如下。

VSCode

  VSCode就按照普通安装方式即可,使用此PlatformIO不需手动安装其他任何VSCode插件。

Python

  PlatformIO下载等工具使用的是Python编写,所以需要安装Python。我安装的是Python3.7,安装时注意勾选Add to PATH,以便将Python加入环境变量。

Git

  PlatformIO本身不要求Git,但是我们安装Quectel支持模块(含BC26)时PlatformIO需要使用到Git。在Git官网下载安装即可。

Quectel模块(含BC26)支持

  在前面的都安装完成后VSCode左侧会出现一个小外星人,点击此图标后即可进入PlatformIO home页面。
在这里插入图片描述

在home页面中点击Platforms,并点击Advanced Installation,在弹出的对话框中输入:

https://github.com/Wiz-IO/platform-quectel

即可安装,稍后安装完成后即可出现如下已安装模块。

BC26-OpenCPU的正确打开方式PlatformIO_第2张图片
此时点击Home,New Project即可新建BC26 OpenCPU工程。
BC26-OpenCPU的正确打开方式PlatformIO_第3张图片
程序编译下载可点击窗口下方工具栏
在这里插入图片描述
在下载程序到BC26模块时应修改项目中的platformio.ini文件,指明下载和串口监视器端口。
BC26-OpenCPU的正确打开方式PlatformIO_第4张图片
下载时应先按住BC26 Restart按键不放,待终端出现Start字样后松开Restart按键即可下载。
在这里插入图片描述
点击PlatformIO窗口下的Monitor即可打开串口监视器。
BC26-OpenCPU的正确打开方式PlatformIO_第5张图片
BC26-OpenCPU的正确打开方式PlatformIO_第6张图片

BC26 OpenCPU工程开发和官方OpenCPU SDK开发接口完全相同,不过依赖于VSCode可以得到完美的代码编辑体验,大大提升开发效率。

笔者不易,如果此篇博客对您有帮助请给个赞作为鼓励

你可能感兴趣的:(嵌入式,开发工具)