关于安信可NonOS SDK环境搭建及编译及下载相关分享

1. 背景条件

首先这里记录下本人测试的软件的版本等信息:

① SDK 一体化开发环境(IDE1.5): 开发工具清单 | 安信可科技(这个安信可官方的链接)

② 烧录WiFi固件工具:ESP_DOWNLOAD_TOOL(版本:V3.8.5), 

        链接:https://pan.baidu.com/s/1wyPqut5KV1qhhBxbIA2-ew 
        提取码:5uc2

③ 最新的NONOS的SDK

        下载地址:https://github.com/espressif/ESP8266_NONOS_SDK

        我直接选用的当前最新版本 V3.0.5, 因为我对github不熟悉, 不知道这个master指的是哪个版本, 所以我直接按图片操作的. 选择版本后, 点击图片上的绿色按钮, 会有下拉列表, 选择Download ZIP进行下载

2. 开发环境安装

        因为安信可官方说这个安装环境是以python 2.8为基础的, 上一步中下载的安信可的一体化开发环境中已经集成了python 2.8, 所以不需要再另外的python下载安装, 很多教程都说最好自己的电脑中在安装前不要存在任何版本的python, 但是我不知道如果存在其它版本的会出现啥子情况, 但是我也是照办了, 不会的小伙伴可以进行如下操作: WIN+R  → CMD → 命令提示框里输入where python, 就可以看出来当前电脑里面所有的python 了. 因为我用不到python, 所以网上说的一些python共存什么之类的, 没研究. 如果你在后续编译过程中出现了这样那样的问题, 不妨看下是不是这里出现了问题.

剩下的就是安装了,  右键 管理员身份运行, 安装路径要没有空格, 我自己的安装路径是这个: D:\AiThinkerIDE_V1.5.2

关于一体化开发环境的下载再说一句, 因为这个文件是百度网盘下载的, 里面的文件结构需要说明一下

虽然下载了4个文件, 但是除了AiThinkerIDE_V1.5.2.exe外, 其它的都是在安装时安装程序自己调用的, 不需要自己做另外的处理, 

这是官方的安装说明: http://aiclouds3.0-docs.aithinker.com/#/2.device/configuration_windows

3. 编译

简单的说一下过程吧, 就不截图了, 只说一下自己遇到的一些认知上不足的点

File → Import → Existing Code as Makefile Project → 这一步开始有疑问了

官方说这里选Cygwin GCC, 有些博主说选Cross GCC, 我这两个都选过了, 我感觉结果都一样, 并没有什么差别, 或许有一些我没有看到的差别, 声明下先, 我没有误导,  当然最好听官方的. 我继续上一步开始说.

去掉C++的√, 通过浏览, 找到NonOS SDK的根目录, Finish, 就OK了

往后的做法是: 

① 处理解压出来的NonOS SDK文件, 这一步在导入前做也可以

        先将drive_lib中的makefile给删掉(也有说给它加个bak的扩展名, 都是同一个道理, 让编译器找不到它), 

        再把third_party这个文件夹删除掉

        最后把需要作为模板的工程从example文件夹中拿出来, 放到example文件夹同级目录, 我拿的是peripheral_test这个工程.

        有些博主说, 要把drive_lib改名, 亲测不用, 可能删除makefile就有同等作用吧
        有些博主说, 要把拿出来的文件夹改名成app, 个人感觉也是没有必要, 因为还有后续操作

② 工程设置

右键点击已经导入的工程的名字, 点击弹出的菜单的最后一项Properties, 进行两步设置

第一步: 填入build command:
make COMPILE=gcc BOOT=new APP=1 SPI_SPEED=40 SPI_MODE=DIO SPI_SIZE_MAP=6
        
这一步先简单说明下, 有的博主写该句的时候 没有写最前面的"make"一词, 可想而知, 系统肯定会报错, 具体错误不说, 因为我就犯过这个错误. 有些博主不填这里, 比如半颗心脏, (这里没有任何不敬), 他是直接修改了整个工程的makefile文件, 但效果是一样的. 为了内容的延续性, 后续再讲解以上语句的含义.

第二步: 填入Build location
其实这里就是填写要编译的工程的路径, 以我的为例, 我将peripheral_test添加到了默认字符串的结尾. 按理说也没有必要非要将要模板工程拿到SDK的根目录下, 就再example文件夹下放着就可以, 但考虑到不动源工程, 中途出了错误, 还可以返回, 还是拿出来一份吧.

③ 开始编译

右键工程, 官方说让先Clean Project下, 那就照做喽, 又不麻烦
然后再点击Build Project, 正常来讲, 工程就应该编译成功了

但是我发现有时候进行完以上设置后, Build Project会变灰, 不让点, 我的做法是, 关闭该软件, 重启下, 就恢复正常了, 如果有朋友知道为啥Build Project会变灰, 请留言告诉我

成功的样子是这样的

④ 简单解析下build command

make COMPILE=gcc BOOT=new APP=1 SPI_SPEED=40 SPI_MODE=DIO SPI_SIZE_MAP=6

当前是按照上面填写的

make 应该是一种命令 

COMPILE=gcc  我把它理解成编译器

SPI_SPEED=40 SPI_MODE=DIO SPI_SIZE_MAP=6 这分别是烧录时SPI的频率和模式, 以及所烧录的芯片的flashSize的类型,  你应该了解8266板载flash是spi接口的, 它是需要通过spi进行烧录程序的, 8266有两个spi, 其中一个是专门干这活的

BOOT=new  安信可把SDK分成是不是可以云端升级, boot=none 就是不能云端升级, boot=new就是可以进行云端升级, boot的数值不同, 生成的文件也是不同过的,  同样下载的文件也是不一样的, 后续将截图区分 

APP=1 不了解, 可能是跟BOOT的数值是相呼应的

如果把build command改成

make COMPILE=gcc BOOT=none APP=0 SPI_SPEED=40 SPI_MODE=DIO SPI_SIZE_MAP=6

所以 BOOT的数值就根据你自己的来 顺道把APP的数值也改了

4. 下载

因为下载程序时, 需要设置一些选项, 如果设置的选项不对, 下载程序也会运行不正常, 而且, 设置的选项应该跟build command对应,

我就是因为用了最新的下载软件, 搞得我郁闷了很长时间, 应该是选项没有选对, 关键最新的下载好像没有这些选项, 或者我没有找到

最后 我不知道为什么boot=none时, 编译可以正常通过, 但是下载后程序运行不正常, 串口打印如下, 有精通此道的朋友帮忙分析下~~~

  • 26
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值