当前位置:首页 > 公众号精选 > 嵌入式大杂烩
[导读]点击上方「嵌入式大杂烩」,选择「置顶公众号」第一时间查看嵌入式笔记! 前阵子小熊派发布了一款超高性价比的4G开发板(19.8元包邮),但是板子仅限量1000套。小熊派官方也给我送了一块,我们一起来学习学习: 开发板硬件资源介绍 板子做得小巧精致,控制核

点击上方「嵌入式大杂烩」,选择「置顶公众号」第一时间查看嵌入式笔记!

前阵子小熊派发布了一款超高性价比的4G开发板(19.8元包邮),但是板子仅限量1000套。小熊派官方也给我送了一块,我们一起来学习学习:

开发板硬件资源介绍


板子做得小巧精致,控制核心用的是移远的EC100Y LTE Cat1无线通信模组,该模组可对所有用户开放二次开发;EC100Y LTE Cat1模组两侧座子/排针是E53接口,可接小熊派的E53拓展模块,如:


小熊派4G开发板与其E53接口拓展模块配合来使用就可以做各种丰富的实验。EC100Y LTE Cat1模组下方是一个SIM卡槽,支持全网通。

SIM卡卡槽左侧预留了几个排针孔,连着两个串口,可根据需要焊接排针来使用。板子顶部是一个小辣椒天线。

板子左下角有一个摄像头接口与一个音频输入/输出接口。板子右下角是4个按键:BOOT按键、RESET按键、POWER按键、用户按键。板子最下方是一个USB口。

开发板入网测试

1、SIM卡槽插入一张手机卡

SIM卡插入一张手机卡,支持全网通,我这里用的是移动4G卡。

2、串口助手发送AT指令进行测试

AT+CPIN?    : 查询SIM卡状态
AT+CSQ      : 查询信号质量
AT+CGATT?   : 查询是否附着网络


以上图片是入网成功的情况,如果不成功则需要检查SIM卡有没有插反、COM号有没有选对等等。

开发板OPENMCU开发

OPENMCU是一种以模块作为主处理器的应用方式。这里就是把移远的EC100Y LTE Cat1无线通信模组作为主处理器的应用。

1、SDK软件开发包


我们主要需要关注的是ql-application文件夹,一般的开发主要都是在这里面添代码。

2、生成固件

(1)编译环境

一种方法是自己搭建相关编译环境,另一种方法是直接用SDK包里面的编译工具。SDK包中相关的工具在ql-cross-tool中。

为了简单省事,我们直接使用SDK包给我们提供的编译工具。

(2)编译流程

(图片来自移远官方文档)

可见,固件打包需要用到一些镜像,主要分为四大块:kernel镜像bootloader镜像app镜像其它镜像

SDK包中有两个编译相关的批处理文件:build.batbuild_all.bat。其中:

build_all.bat:提供整体编译的功能,即双击这个批处理文件就会执行上面四大块镜像的编译及打包生成固件的过程。但一般我们都只是修改APP相关的代码,没有必要全部编译。

所以,SDK包中给我们提供了build.bat批处理文件,我们可以在命令行指定一些参数来执行相应的过程,如:

build.bat bootloader命令:只编译bootloader
build.bat kernel命令    :只编译kernel
build.bat app命令       :只编译app
build.bat firmware命令  :生成固件包

因为我们平时开发基本上只是修改了app,所以大多数情况下都是只需要这两条命令:

build.bat app命令       :只编译app
build.bat firmware命令  :生成固件包

win7环境下在sdk路径下快捷操作进入cmd窗口的方法:


与上面操作相同,在win10环境下可在sdk路径下进入Power shell窗口。当然,win10下也可以进入cmd窗口,然后再进入sdk路径。

其中,在Power shell窗口中运行的编译命令与在cmd窗口中运行的编译命令有点不一样,在Power shell窗口中需要加上.\,如:


执行这个编译命令时,会自动找到ql-cross-tool里的编译工具来编译我们的程序。

生成固件操作:


固件存放的路径:


我们并没有编译bootloader与kernel,那么生成固件需要的bootloader镜像与kernel镜像又是从哪来?

其实,SDK包给我们提供了一组出厂的镜像,存放在路径ql-sdk\ql-config\quec-project\aboot\images下:


所以,当我们执行完编译app的命令,并执行生成固件包的命令时,大致过程如下:


当我们需要恢复出厂设置的时候,可以下载出厂自带的那组镜像,此时我们需要先执行如下清除命令:

build.bat kernel/bootloader/app clean命令

分别清除这三大模块编译生成的一些文件,然后再打包生成固件。

(3)实操:输出helloworld实验

sdk包中已经给我们做好了一个hello例程:


一般printf都是重定向到串口,小熊派4G开发板也有引出debug串口的排针孔,我们可以焊接排针来使用;但是小熊派这里给我们提供了另一种更方便的方法,重新封装一个打印函数,打印信息通过USB口输出。

还需要注意的是Makefile文件的修改。这里需要修改两个Makefile文件,一个是ql-sdk\ql-application\threadx\interface\init\example下的Makefile文件:


另一个是ql-sdk\ql-application\threadx\下的Makefile文件:

编译、生成固件前面已经介绍过了。下面看一下如何下载固件到板子里:

打开aboot工具,找到我们编译生成的.zip后缀的固件,点击start:


下载成功,点击back返回。然后按下板子的RESET键复位板子。


这里需要随意发送一串字符串触发我们的输出,至于为什么要这样,后续还需研究研究。

另外,有些电脑可能识别不出这个USB串行设备,那打印输出的信息就没办法从USB口输出。

我有两台电脑,刚开始用另一台开发,发现一直识别不出这个USB串行设备,各种重启、重装驱动的方法也都试过,还是没用。然后我换用另一台电脑,另一台电脑竟然可以识别。所以可能原因有:

① 电脑USB口输出电流不足。小熊派这个USB口的输入的电流有一定的要求,电脑的USB口输出的电流不足板子可能就不正常;

② 操作系统的问题。我一台电脑装的是win7、另一台电脑装的是win10。装win10的那台电脑可以正常识别这个USB串行设备,win7的那一台识别不了。

(4)实操:LED实验

我们创建一个example_led.c文件,与上面的example_helloworld.c放在同一个路径下,并编写如下代码:

左右滑动查看全部代码>>>

#include "ql_application.h"
#include "ql_gpio.h"
#include <stdio.h>

/* led配置表 */
static quec_gpio_cfg_t led_gpio_cfg[] =
{
 /*---引脚号-----------引脚方向---------引脚边沿--------内部上下拉--------引脚电平---*/
 {GPIO_PIN_NO_75, PIN_DIRECTION_OUT, PIN_NO_EDGE, PIN_PULL_DISABLE, PIN_LEVEL_LOW},

 // 其它GPIO配置......
};

/* led测试任务 */
static void led_test(void * argv)
{
 /* 用户LED引脚初始化 */
 ql_gpio_init(led_gpio_cfg[0].gpio_pin_num, led_gpio_cfg[0].pin_dir, led_gpio_cfg[0].pin_pull, led_gpio_cfg[0].pin_level);

 while(1)
 {
  ql_gpio_set_level(led_gpio_cfg[0].gpio_pin_num, PIN_LEVEL_LOW);
  ql_rtos_task_sleep_s(1);
  ql_gpio_set_level(led_gpio_cfg[0].gpio_pin_num, PIN_LEVEL_HIGH);
  ql_rtos_task_sleep_s(1);
 }
}

application_init(led_test, "led_test"22);

这里需要注意的是:这里的引脚号并不是原理图上标的(原理图上标的是引脚名)。

每个引脚都有好几种模式/功能,我们需要查看《Quectel_EC100Y_QuecOpen硬件设计手册V1.0.pdf》的功能复用表查看真正的引脚号:


这里我们创建了一个led配置表,方便添加、修改LED的配置。创建表的形式有时候更清晰一些,关于表驱动的相关文章:

C语言精华知识:表驱动法编程实践

空间换时间,查表法的经典例子

修改同目录下的Makefile文件:

编译、生成固件,下载固件,可以看到LED闪烁的现象。

以上就是本次的分享,关于小熊派4G开发板更多教程资料可查看小熊派B站视频:

4G Cat.1开发实战教程" data-miniprogram-imageurl="http://mmbiz.qpic.cn/mmbiz_jpg/PnO7BjBKUzibcora7LAed2uv9Q5aribd392fgF6jGQ3iche9RBCkwkPicfHJdXlGI2vY02wjGpic0SBuDUyvtCrI4hg/0?wx_fmt=jpeg" data-miniprogram-type="card" data-miniprogram-servicetype="0">


猜你喜欢

C语言、嵌入式应用:TCP通信实例分析

一些不可不知的计算机网络基础

AT指令测试ESP8266通信模组并获取天气数据

最后

若觉得文章不错,转发分享、在看,也是我们继续更新的动力。

在公众号内回复更多资源,可免费获取嵌入式资料。期待你的关注~


免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭