start 上一节我们介绍过QS100的编译,这节我们介绍下如何使用QS100开发板进行下载以及运行基础的demo。先介绍下基本的软件工程结构: APPLIB – 一些第三方库 ARCH – 因为这芯片是基于
start
上一节我们介绍过QS100的编译,这节我们介绍下如何使用QS100开发板进行下载以及运行基础的demo。先介绍下基本的软件工程结构:
APPLIB – 一些第三方库
ARCH – 因为这芯片是基于M3内核的,一些关于M3内核的启动文件和内核文件
DOC – 接口文档说明
DRIVERS – 一些外设接口文件,源文件在下面以库的形式提供
firmware – 编译生成后的文件
KERNEL – 系统内核,有多个系统,目前使用的是ZeusOS
SYSAPP – 系统的一些app实现
TARGETS – 底层的一些库,链接脚本,mk文件
tools – 工具,主要是python
USERAPP – 用户demo
Makefile
requirements.txt – python的一些依赖库
zos.py – 操作命令行实现,因为SDK的编译是基于makefile的,用python封装成了命令行模式,更方便些。主要支持编译,下载等
zos_init.py – 环境初始化
上面介绍完,实际上该工程不是很大,理解起来还是很清楚的。工程基于makefile构建,所以我们看makefile就可以知道大体构成了。另外M3内核是不是听着很熟悉,是的,我们常用的stm32F1系列就是用的改内核。
编译,下载

使用串口线,要在设备管理器能看到设备哦,串口线的TX,RX分别连接模块的RX,TX。串口线5V输出接模块的5V in管脚,然后共地。下载之前长按模块的BOOT按键,然后在上一步的控制台输入python zos.py -dl comx这里的comx根据实际的串口设置。
如果出现下面图所示就代表开始下载了:

长按模块的RST_WAKE管脚,然后松开,如果看到下图的标注就代表重启了:

在basic.mk中我们可以看到:

实际上所有的demo文件已经包含进去编译了,但是假如需要使用某一个demo,首先需要注释掉一些东西:

如图所示,出现的都注释掉,这是加入了控制台,默认我们也可以通过控制台进行执行。我们这里说的是直接下载进去就运行。
比如说我们直接在zos_main.c中直接调用demo_uart_init,这时候会因为隐式声明的原因发生报错,一般我们可以在调用demo_uart_init的源文件里加上该函数的声明前面在加上extern就可以了。
据此,该模块的开发就介绍完毕了,往后会持续更新该模块的demo,感兴趣的可以加群交流