001-SLM130(NB-IOT,EC616)OpenCPU学习开发-硬件使用说明,编译下载和运行第一个程序(Mini板)
作者:互联网
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnEC616_SLM130" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
<iframe frameborder="0" height="1500" name="ifd" scrolling="auto" src="https://mnifdv.cn/resource/cnblogs/LearnEC616_SLM130" width="100%"></iframe>
实物图
模组搭载的EC616芯片简要
1,SLM130模组使用的是移芯EC616的NB-IOT芯片(全网通);
2,Cortex-M3内核(可直接使用Jlink或ST-Link下载调试程序);
3,MCU主频可达204MHz; 支持MPU;
4,低功耗(PSM:800nA; DRX:110uA; RX:10mA; TX:24mA);
5,EC616芯片实际有26个GPIO可用; 可配置为(3路UART, 2路SPI, 2路IIC, 4路12-bit ADC, 6路PWM, 6路GPIO输入计数,
6个AON GPIO能够在深度睡眠的时候,仍保持有效输出); 6路FEM IO或MIPI RFFE; 6路定时器;
6,网络通信UDP, TCP, MQTT(S), CoAP, HTTP(S), LWM2M;
SLM130模块引脚说明
1.引脚图
2.引脚功能说明
BOOT : 模组上电前拉低该引脚,模组进入程序下载模式, 运行状态保持悬空
RST : 复位模组,低电平有效
IO12 : 默认作为AT指令数据输出引脚; 第二功能(SPI0_SCLK, I2C1_SCL, UART1_TXD, PWM1)
IO13 : 默认作为AT指令数据输入引脚; 第二功能(SPI0_MISO, I2C1_SDA, UART1_RXD, PWM0)
ADC1 : ADC采集引脚(0-3.3V)
BAT : 模组供电引脚(2.2V ~ 4.5V), 极限电压5V!
SWDIO : SWD下载仿真调试引脚
SWCLK : SWD下载仿真调试引脚
IO14 : 通用GPIO; 第二功能(UART1_RXD, SPI0_MISO, UART0_RXD, PWM4)
IO11 : 通用GPIO; 第二功能(UART1_CTSn, SPI0_MOSI, UART0_CTSn, PWM3)
IO15 : 通用GPIO; 第二功能(UART1_TXD, SPI0_SCLK, UART0_TXD, PWM5)
IO16 : 通用GPIO; 第二功能(UART1_RTSn, SPI0_SSn0, UART0_RTSn, PWM2)
ADC2 : ADC采集引脚(0-3.3V)
IO19 : 通用GPIO; 第二功能(UART2_TXD, PWM5)
WAK :模组休眠唤醒引脚,低电平有效
IO7 : 通用GPIO; 第二功能(SPI0_MOSI, I2C0_SCL, UART1_CTSn, PWM5)
IO6 : 通用GPIO; 第二功能(SPI0_SSn0, I2C0_SDA, UART1_RTSn, PWM4)
IO8 : 通用GPIO; 第二功能(I2C0_SDA, PWM1)
IO10 : 通用GPIO; 第二功能(I2C0_SCL, SPI1_SSn1 PWM0)
IO17 : 通用GPIO; 第二功能(I2C1_SCL, PWM2)
IO2 : 通用GPIO; 第二功能(UART0_RTSn, UART2_RXD, SPI1_SSn0, PWM0)
IO3 : 通用GPIO; 第二功能(UART0_CTSn, UART2_TXD, SPI1_MOSI, PWM1)
AON2 : 通用GPIO(模组休眠时可保持引脚状态)
IO0 : 通用GPIO; 第二功能(SPI0_SSn1, UART2_RXD)
IO9 : 通用GPIO; 第二功能(I2C1_SDA, PWM3)
IO4 : 通用GPIO; 第二功能(UART0_RXD, I2C1_SDA, SPI1_MISO, PWM2)
IO5 : 通用GPIO; 第二功能(UART0_TXD, I2C1_SCL, SPI1_SCLK, PWM3)
下载默认的AT指令程序(用来熟悉下下载流程)
1,打开串口烧录软件
2,选择 config_ec616.ini
这个 config_ec616.ini 文件只是个记录软件配置的文件哈, 不用理会...
3,默认就会添加上BootLoader文件和app文件
上面两个文件其实就是官方开发的AT指令程序,因为官方开发的底层默认有OTA(升级程序)功能, 所以呢才有BootLoader和APP两个文件.
其实呢这两个文件在这里
4,使用USB转串口模块连接电脑并连接开发板(推荐的接法)
下载程序是先让模组进入下载模式:BOOT接低电平,然后复位下模组, 模组就进入了下载模式
烧录软件本身会控制串口模组的DTR和RTS产生这样的信号, 咱就不需要手动控制模组进入下载模式了
5,使用USB转串口模块连接电脑并连接开发板(没有DTR和RTS, 需要手动控制模组进入下载模式)
一直按着BOOT按键--> 然后按下RST按键 --> 松开RST按键 -->松开BOOT按键
6,我就使用带DTR和RTS的模组连接测试
7,选择对应的串口, 然后点击下载
8,下载成功之后
9,复位下模组,程序就正常运行了
10,下载程序的口默认也是AT指令通信的口, 可以用串口调试助手测试下咱刚下载的AT指令固件
编译SDK开发的工程
1,安装keil5 (现在叫做MDK了)
从上面咱知道了EC616其实是ARM的内核, 所以编译呢需要使用ARMCC编译工具;
安装Keil5自行安装哈, 如果不会安装可以百度一下.
2,解压 ec616_sdk_rel_sdk_V001.037_20210526 文件
3,官方提供的SDK例程
注意哈, 那个BootLoader并不是升级程序例程, 咱在上面下载AT指令的时候说了哈, 官方开发的底层默认有OTA(升级程序)功能,
官方把BootLoader给咱只是为了咱在烧录程序的时候把这个程序烧录上........
4,先设置下交叉编译器 ARMCC的路径
使用记事本打开 KeilBuild.bat
路径根据自己keil的安装路径修改哈, 我的ARMCC的路径是 E:\MDK5\ARM\.....
所以呢, (根据自己的路径设置完以后,保存关闭)
5,先把那个BootLoader编译一下(忘了说了, 保证是英文目录哈)
6,先把那个BootLoader编译一下(忘了说了, 保证是英文目录哈)
输入 KeilBuild.bat ec616_0h00-bootloader
然后点回车
编译完成
7,编译之后的文件在这里
outbuildlog.txt 是编译的日志文件
编译BootLoader就会生成个BootLoader文件夹
里面有编译好的bin文件
8,编译driver_example例程
9,输入 KeilBuild.bat ec616_0h00-driver_example 然后回车
注意了没, 编译官方提供的工程的时候 KeilBuild.bat ec616_0h00-(编译的工程名字)
不要为我为啥要这样子规定, 因为不是我做的底层和编译规则! 按照人家制定的规则来哈.
提示: 第一次编译,编译时间有点长...........
9,同样也会在 out\ec616_0h00 生成编程的文件
下载 driver_example 程序(串口方式)
1.在下载软件上替换BootLoader.bin文件, 选中那行 然后鼠标右键
选择咱上面编译的BootLoader文件
2.同样的替换掉下面的文件
3.然后按照前面说的下载步骤点击下载程序
4,复位下模组,程序就正常运行了
5,咱刚才下载的 driver_example程序功能是串口1收到什么数据就回复什么数据
刚才的那个下载口就是串口1, 咱可以打开串口调试助手测试下
下载 driver_example 程序(SWD方式)
1,安装keil的EC616的开发支持包
把Eigencomm.EC616.1.0.4.pack 拷贝到keil的安装目录,双击安装即可
2,使用Jlink或者ST-Link连接开发板
3,打开
4, 选择 driver_example 编程文件夹
5, 后面的名字改为 driver_example
提示:上面实际上就是指定 xxxxxxx.axf 文件路径
6, 选择自己的下载器
7, 设置flash下载配置
8, 然后点击下载即可
9, 下载完成以后测试即可
补充
1,关于编译的其它指令
标签:OpenCPU,SLM130,模组,EC616,引脚,编译,串口,GPIO,下载 来源: https://www.cnblogs.com/yangfengwu/p/16069952.html