因为项目的需要,这里要使用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 filename
528248 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.bin
Total length: 0x6C65C addr 2711f000 2711f000
Update Header
downloading ram.bin
Total length: 0x15970 addr 2718c000 2001d000
Update Header
downloading dram32_3ffd3800_2C800.bin
Total length: 0xB090 addr 270af000 3ffd3800
Update Header
downloading iram32_40000000_40000.bin
Total length: 0x3FFBC addr 270d3000 40000000
Update Header
downloading sram32_50000000_C000.bin
Total length: 0xBE4C addr 27113000 20000000
Update Header
downloading flash32_5102A000_85000.bin
Total length: 0x74228 addr 2702a000 2702a000
Update Header
downloading secondary_bootloader_backup.bin
Total length: 0x75B4 addr 2701e000 20010000
Update Header
downloading secondary_bootloader_prime.bin
Total 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测试流程结束!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)