IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 【御芯微WIoTa?自组网协议开发套件试用体验】二次开发概述 -> 正文阅读

[嵌入式]【御芯微WIoTa?自组网协议开发套件试用体验】二次开发概述

前言

UCM200和UCM202都是一颗内置了MCU和射频前端的模组,他们都支持二次开发。但是ucchip将射频部分都封装起来以lib库的形式提供给用户开发,在一定程度上会使得开发不那么方便,也不能完全释放射频的性能。但是基础的外设都是开放的,对于一些常见的场合,客户完全可以使用一个模组来完成全部的项目开发。

源码地址如下:

开发环境准备&编译

之前的文章,已经详细介绍了IDE的安装和使用,这里不再过多赘述。下载完源码后,找到根目录下的rtconfig.py文件,确定这里的路径和你的IDE编译工具链的位置是否一致,如果不一致则需要更改。

EXEC_PATH   = r'D:/Program Files (x86)/UCCHIP_IDE/riscv-gnu-toolchain/bin/'

在这里插入图片描述
然后直接使用rt-thread env工具编译项目,关于rt-thread env的使用,请参考这里
编译完成后会生成.elf可执行文件:

LINK rtthread.elf
riscv32-unknown-elf-size rtthread.elf
   text    data     bss     dec     hex filename
 227068    3688   10532  241288   3ae88 rtthread.elf

同时会接着执行一些flash相关的指令,我们继续分析rtconfig.py接下来的代码

    POST_ACTION = SIZE + ' $TARGET\n'
    POST_ACTION += 'packages/current_version.exe PS/app/include/uc_wiota_version.h' + '\n'
    #POST_ACTION += 'riscv32-unknown-elf-objdump -d rtthread.elf > rtthread.asm' + '\n'
    POST_ACTION += 'bintools.exe -u $TARGET ' + TARGET_NAME + '\n'
    POST_ACTION += 'cp -f flat.bin ' + TARGET_NAME + '\n'
    POST_ACTION += 'rm -f flat.bin \n'

这里是一些和芯片相关的操作,应该是生成特定的bin文件。同时这里应该也加了一个bootloader固件进去,这个bootloader可以使用ymodem来更新固件。
接着就在根目录生成了rtthread.bin固件。

烧录

将根目录生成的rtthread.bin固件通过下载工具烧录到开发板即可,具体的烧录工具请联系ucchip提供。
在这里插入图片描述

运行&&调试

烧录完成后,按下复位按键即可运行。和烧录器在一起的那个串口是UART0,这里用作AT口

AT口是UART0 115200 8N1
debug口是UART1 406800 8N1

从GitHub下载下来的代码,模式运行的就是AT固件,所以调试方法和之前的AT固件调试一样,这里不再过多赘述。

二次开发

  1. 首先将main.c里面的代码全都删除干净,只跑一个led灯闪烁的代码
#include <rtthread.h>
#include <rtdevice.h>
#include <board.h>

#include "uc_wiota_api.h"

/* defined the LED0 pin */
#define LED0_PIN 2

int main(void)
{
    /* set LED0 pin mode to output */
    rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT);
    app_task_init();
    while (1) {
        rt_pin_write(LED0_PIN, PIN_HIGH);
        rt_thread_mdelay(1000);
        rt_pin_write(LED0_PIN, PIN_LOW);
        rt_thread_mdelay(1000);
    }
}
  1. 编译下载烧录运行,如果led灯正常闪烁,则说明最小系统是正常的,接着进行第三步

  2. 分析AT指令的执行顺序,每个AT指令都有对应的函数调用,我们只需要将对应的函数放在main.c里面调用即可完成一个基本的wiota的测试
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  3. 按照上面的步骤完成wiota函数调用后,一个基本的测试demo即开发完成,烧录运行后可以配合AP的AT固件来做一个调试

  4. AP的二次开发流程同设备端

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:39:38  更:2022-07-17 16:40:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 16:23:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码