因为项目的需要,这里要使用NBIOT,踩了一些坑,这里总结一下!

编译

官方给的SDK如下:

按照说明,在该目录下直接运行如下指令:".\build.bat dlvs_h0 demo"即可成功编译,但是我编译的时候不成功,报错如下:

最后发现是因为我的目录太深的原因造成的,把"MN316_OpenCPU(R14)_Standard_1.0.0.2203241036_release"文件夹重命名为"SourceCode"即可编译成功,如下:

PS F:\Documentation\Desktop\20221010\MN316_OPEN\SourceCode> .\build.bat clean
clear compiled files
PS F:\Documentation\Desktop\20221010\MN316_OPEN\SourceCode> .\build.bat dlvs_h0 demo
compile examples/adc/cm_demo_adc.c
compile examples/asocket/cm_demo_asocket.c
compile examples/ctwing/cm_demo_ctwing.c
compile examples/demo_main/cm_demo_main.c
compile examples/flash/cm_demo_flash.c
compile examples/gpio/cm_demo_gpio.c
compile examples/http/cm_demo_http.c
compile examples/i2c/cm_demo_i2c.c
compile examples/modem/cm_demo_modem.c
compile examples/mqtt/cm_demo_mqtt.c
compile examples/net/cm_demo_net.c
compile examples/onenet/cm_demo_onenet.c
compile examples/onenet/cm_demo_onenet_fota.c
compile examples/os/cm_demo_os.c
compile examples/ota/cm_demo_ota.c
compile examples/pm/cm_demo_pm.c
compile examples/pwm/cm_demo_pwm.c
compile examples/spi/cm_demo_spi.c
compile examples/sys/cm_demo_sys.c
compile examples/timer/cm_demo_timer.c
compile examples/uart/cm_demo_uart.c
compile src/cm_lib/cyclequeue/cm_cyclequeue.c
compile src/cm_lib/misc/cm_misc_bcd.c
compile src/cm_lib/misc/cm_misc_crc.c
compile src/cm_lib/misc/cm_misc_str.c
compile src/cm_lib/misc/cm_misc_time.c
Start link...
Creating flash.bin...
Creating ram.bin...
Creating .size...
Creating .lst...
Creating .dumpelf...
Calculating size...text    data     bss     dec     hex filename528248    4188   22644  555080   87848 xinyiNBSoc_M3.elf
2022-10-11 16:06:26,403 - xy_m3_packer - INFO - start generating arm allinone
2022-10-11 16:06:26,406 - xy_m3_packer - INFO - arm allinone generated
Moving files...
Done!!!
PS F:\Documentation\Desktop\20221010\MN316_OPEN\SourceCode>

vscode也是可以编译成功过的:

这里还要总结其他的坑:
1.官方提供的SDK是非常完善的,并不需要自己额外安装gcc,因为我之前使用果gcc来编译ARM内核文件并且有10.3.1的版本,这里看到readme有要说用3.8.1的说明,所以自己去安装了3.8.1,最后发现并没有什么作用,SDK默认使用自带的gcc了.

2.工程目录不能够有中文或者其他字符,只能够有英文或者数字!

这里上传本文到此所有的资料:https://download.csdn.net/download/chengdong1314/86747456
我靠了,发现上面的资料有病毒,这里删除文件夹从新上传:tools\toolchain\gcc\share:https://download.csdn.net/download/chengdong1314/86812590

烧录下载

电路板上电后实物图如下,烧录的过程中需要用到如下图的电源开关和烧录按键:

合并文件

双击打开工具:"MN316_OPEN\Logview_1.3.210601.0_CMVer1.3.6\LogView.exe"可以看到如下界面,下载之前要先合并文件,进入文件合并的功能界面:

选择合并的文件夹,这个工具编译选项不同就会有不同的文件夹,这里选择:F:\Study_Work\MN316_OPEN\MN316_OpenCPU(R14)_Standard_1.0.0.2203241036_release\out\images\DLVS\H0

选择输出文件名(和上面的选择文件夹的目录中有一个mimgx的文件名):

点击开始合并,等待合并成功:

Changing secondary_bootloader_prime.bin
secondary_bootloader_prime.bin Changed
Changing secondary_bootloader_backup.bin
secondary_bootloader_backup.bin Changed
Changing flash.bin
flash.bin Changed
Changing ram.bin
ram.bin Changed
Changing dram32_3ffd3800_2C800.bin
dram32_3ffd3800_2C800.bin Changed
Changing iram32_40000000_40000.bin
iram32_40000000_40000.bin Changed
Changing sram32_50000000_C000.bin
sram32_50000000_C000.bin Changed
Changing flash32_5102A000_85000.bin
flash32_5102A000_85000.bin Changed
Changing FACTORY_NV.hex
FACTORY_NV.hex Changed
Changing rfnv.hex
rfnv.hex Changed
Packaging secondary_bootloader_prime.bin
Packaging secondary_bootloader_backup.bin
Packaging flash.bin
Packaging ram.bin
Packaging dram32_3ffd3800_2C800.bin
Packaging iram32_40000000_40000.bin
Packaging sram32_50000000_C000.bin
Packaging flash32_5102A000_85000.bin
Packaging FACTORY_NV.hex
Packaging rfnv.hex
secondary_bootloader_prime.bin Generating Key
secondary_bootloader_backup.bin Generating Key
flash.bin Generating Key
ram.bin Generating Key
dram32_3ffd3800_2C800.bin Generating Key
iram32_40000000_40000.bin Generating Key
sram32_50000000_C000.bin Generating Key
flash32_5102A000_85000.bin Generating Key
FACTORY_NV.hex Generating Key
rfnv.hex Generating Key
secondary_bootloader_prime.bin Writing Header
secondary_bootloader_backup.bin Writing Header
flash.bin Writing Header
ram.bin Writing Header
dram32_3ffd3800_2C800.bin Writing Header
iram32_40000000_40000.bin Writing Header
sram32_50000000_C000.bin Writing Header
flash32_5102A000_85000.bin Writing Header
FACTORY_NV.hex Writing Header
rfnv.hex Writing Header
secondary_bootloader_prime.bin Writing Data
secondary_bootloader_backup.bin Writing Data
flash.bin Writing Data
ram.bin Writing Data
dram32_3ffd3800_2C800.bin Writing Data
iram32_40000000_40000.bin Writing Data
sram32_50000000_C000.bin Writing Data
flash32_5102A000_85000.bin Writing Data
FACTORY_NV.hex Writing Data
rfnv.hex Writing Data
Merse File Success

到这里合并文件的工具就结束了!

烧录代码

切换到"文件下载"界面,选择好串口,然后选择刚才合并的文件:

接下来要结合硬件做如下动作:
1.按照"烧录按键"的时候先关闭电源开关
2.然后点击"开始下载"按钮即可看到进度条开始走动了

3.等待两个进度条都走完代表下载成功了

Waiting
Start Check Baudrate
Check Baudrate OK
Board Version 0x202
Start Check OTP
Check OTP Finish
start down secondBoot
Update Header
down secondBoot success
Erasing Flash
Erase Addr From 0X27012000 to 0X270195B4
Erase Success
Erase Addr From 0X2701E000 to 0X270255B4
Erase Success
Erase Addr From 0X2711F000 to 0X2718B65C
Erase Success
Erase Addr From 0X2718C000 to 0X271A1970
Erase Success
Erase Addr From 0X270AF000 to 0X270BA090
Erase Success
Erase Addr From 0X270D3000 to 0X27112FBC
Erase Success
Erase Addr From 0X27113000 to 0X2711EE4C
Erase Success
Erase Addr From 0X2702A000 to 0X2709E228
Erase Success
Erase Addr From 0X27000000 to 0X27002FFF
Erase Success
Erase Factory Nv
Erase Addr From 0X27003000 to 0X27005FFF
Erase Success
Erase Flash Sucess
Start Initializing Flash
Initializing Flash Finish
Start DownloadFileInfo
downloading flash.binTotal length: 0x6C65C  addr 2711f000 2711f000
Update Header
downloading ram.binTotal length: 0x15970  addr 2718c000 2001d000
Update Header
downloading dram32_3ffd3800_2C800.binTotal length: 0xB090  addr 270af000 3ffd3800
Update Header
downloading iram32_40000000_40000.binTotal length: 0x3FFBC  addr 270d3000 40000000
Update Header
downloading sram32_50000000_C000.binTotal length: 0xBE4C  addr 27113000 20000000
Update Header
downloading flash32_5102A000_85000.binTotal length: 0x74228  addr 2702a000 2702a000
Update Header
downloading secondary_bootloader_backup.binTotal length: 0x75B4  addr 2701e000 20010000
Update Header
downloading secondary_bootloader_prime.binTotal length: 0x75B4  addr 27012000 20010000
Update Header
DownloadFileInfo Finish
WriteNv 27003000 4096
Update Factory Nv
Update Sha
Update Sha Checksum
DownloadFile Success
hh:0 mm:28 ss:781

测试

这里打开串口助手,波特率为9600,然后从新运行代码(上下电)可以看到如下打印:

这里按照上图的信息发送命令"CM:ADC"可以看到开发板回应如下:

如下图把手按在热敏电阻上再次发送命令可以看到ADC值有变化了:



到这里简单的ADC测试流程结束!

MN316_OPEN(NBIOT)物联网模块环境搭建相关推荐

  1. NB-IoT(7)---开发环境搭建及模组驱动开发

    NB-IoT(7)---开发环境搭建及模组驱动开发 STM32CubeMX安装及使用 1.STM32CubeMX介绍 2.STM32CubeMX安装 3.STM32CubeMX使用 STM32Cube ...

  2. OpenHarmony 物联网设备开发环境搭建

    前言 我们介绍的是华为官方推荐的 Windows + Ubuntu 混合开发的环境,使用Windows平台的DevEco Device Tool 进行可视化界面进行相关操作,通过远程连接的方式对接Ub ...

  3. 【opencv4】opencv视频教程 C++(opencv教程)1、opencv介绍和环境搭建

    下一讲:[opencv4]opencv视频教程 C++(opencv教程)2.加载,修改,保存图像 [opencv_C++] 入门强推!!![B站最全] 文章目录 opencv介绍和环境搭建 open ...

  4. 千锋Python环境搭建大全

    千锋互联作为中国IT培训的领军品牌,一直把握技术趋势,给大家带来最新的技术分享! 千锋互联python主流开发环境免费分享视频文档中,就有写一个helloworld程序的示范.火速前来下载吧 所谓&q ...

  5. AliOS Things物联网操作系统学习第一步:Windows下AliOS Things开发环境搭建

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 人工智能编程入门博客 之前如果想要使用AliOS Things开发ESP8266模块的固件,开发环境 ...

  6. ESP32s3-EYE ESP-IDF环境搭建Ubuntu18.04 Micropython环境搭建Pycharm 物联网

    提示:该项目建立于ubuntu18.04版本,esp-idf版本为4.4.1,ESP32S3-EYE开发板由乐鑫公司提供,在此表示感谢.项目中的rPPG技术来源于github上的nasir,本项目所有 ...

  7. Neo4j ① <图论>图,节点,关系,属性<知识图谱和图库>图谱,图库,优势<基础>模块,应用场景,环境搭建,浏览器

    目录 第一部分 图 和 Neo4j 1.1 图论 1.1.1 图论起源 --- 柯尼斯堡(Konigsberg)七桥问题 1.1.2 图 和 节点 1.1.3 节点关系表达 1.1.4 属性图模型规则 ...

  8. 物联网设备固件分析:Firmadyne固件模拟环境搭建

    0x01 前言 本文介绍了在对固件进行分析的环境准备部分,主要是对Firmadyne这个工具的环境搭建,最后搭建完用Netgear的路由器固件进行测试. 更新:直接看评论,用配好的docker镜像: ...

  9. 物联网实践|Huawei LiteOS开发环境搭建及在Hi3861上跑Demo

    简介 本次实践是为尝试在嵌有华为海思芯片的Hi3861WIFI物联网开发板上配置开发环境并使用配套开发工具(HUAWEI DevEco Device Tool或HUAWEI LiteOS Studio ...

最新文章

  1. php reactphp wss_php无限级分类 - ▄︻┻┳000000000000000000000000000000000000 - OSCHINA - 中文开源技术交流社区...
  2. 深度丨当AI变得无处不在,人类社会将发生这五大变化!
  3. html动态报警图片,报警记录.html
  4. python3.7.2教程-python 3.7极速入门教程2 Hello与变量
  5. android 全局进度条,Android:如何在中心显示全屏进度条
  6. java gui 控制台_在GUI面板中创建Java控制台
  7. mysql myisam写入性能_(转)innodb 与 myisam 读写性能分析
  8. 空间滤波_空间频率 、 光波方向 与 空间滤波 4f系统
  9. build shop
  10. 结对编程-四则运算生成
  11. Java二级多少分算过_计算机二级考多少分算过
  12. ca证书申请流程有哪些?
  13. floyd与传递闭包
  14. HANA 数据库备份还原总结
  15. 神工鬼斧惟肖惟妙,M1 mac系统深度学习框架Pytorch的二次元动漫动画风格迁移滤镜AnimeGANv2+Ffmpeg(图片+视频)快速实践
  16. 别傻了!不能只会给别人开热点,要尝试华为手机的WiFi分享功能
  17. 【HDU】1535 Invitation Cards 最短路
  18. 写一段python求和代码
  19. 电脑横机服务器维修,国产电脑横机操作和维修方法
  20. 阅读《Detection of EEG-Based Eye-Blinks Using A Thresholding Algorithm》小结

热门文章

  1. Turbot4机器人入门教程-配置网络
  2. 5G传输速度与USB和WIFI传输速度对比
  3. 【机器学习】如何成为当下合格的算法工程师
  4. 计算机知识交流的平台,「电脑」-一个分享电脑知识的平台
  5. LeetCode 46.全排列
  6. Markdown图片路径的改变方法
  7. 对图像处理中的面向对象和基于基元的理解
  8. mmwave studio使用
  9. 谁能解释一下,这是什么骚操作???
  10. java throw 什么意思_Java中throw和throws有什么区别?