• RTL8720DN开发笔记一 环境搭建与mqtt实例


    简介

    RTL8720DN是一款支持双频WiFi的Soc芯片,即2.4GHz或5.8GHz频段,可以告别在选择WiFi网络时仅支持2.4G的尴尬,不仅如此,RTL8720DN还支持了低功耗蓝牙BLE5.0,内部集成了两颗MCU,分别为ARM V8M(KM4 兼容Cortex-M33)高性能MCU与ARM V8M(KM0 兼容Cortex-M23)低性能MCU,大小核切换可以用于高性能处理与低功耗场景的应用

    特性
    • 供电:3.3±5% V

    • 512Kb SRAM可扩展4Mb PSRAM

    • 支持2M Flash(可扩展)

    • 支持 802.11a/b/g/n Wi-Fi 2.4GHz、5GHz

    • 支持BLE 5.0

    • KM4核支持200MHz、KM0核支持20MHz

    • USB Host/Device

    • SD Host

    • 最大支持54路GPIO PIN脚

    • 支持SWD调试(使用IAR IDE开发)

    系统架构

    在这里插入图片描述

    环境搭建

    工程源码

    使用官方开源的标准SDK,sdk下载地址;官方提供了windows和Linux系统编译环境,其中windows环境下已经支持Cygwin和IAR

    Windows系统
    • 在windows系统下,可以使用Cygwin作为GCC开发环境,x86下载地址
    • 安装时勾选make与bc工具
      在这里插入图片描述
      在这里插入图片描述
    IAR工程项目

    sdk已经集成了IAR的工程项目,IAR工程路径ambd_sdk\project\realtek_amebaD_va0_example\EWARM-RELEASE\Projectxx.eww

    Linux系统
    • Linux系统下同样需要安装工具
      • libc6-i386:GNU C库
      • lib32ncurses5:针对64位平台的32位终端处理
      • make:make工具
      • bc:bc math计算工具
      • gawk:文本替换工具
      • ncurses:应用在make menuconfig调取配置界面
    编译
    • 以linux系统终端为例(cygwin同理),进入sdk中GCC工程目录,使用make进行编译;
    //KM0
    cd /{path}/ambd_sdk/project/realtek_amebaD_va0_example/GCC-RELEASE/project_lp 
    make all
    //KM4
    cd /{path}/ambd_sdk/project/realtek_amebaD_va0_example/GCC-RELEASE/project_hp
    make all
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    • 编译镜像路径分别为
      • ambd_sdk/project/realtek_amebaD_va0_example/GCC-RELEASE/project_lp/asdk/image/
      • ambd_sdk/project/realtek_amebaD_va0_example/GCC-RELEASE/project_hp/asdk/image/
    下载

    使用sdk路径下ambd_sdk\tools\AmebaD\Image_Tool工具进行固件下载;

    • 使用模块的PA7(TX)、PA8(RX)进行烧录
    • 复位前下拉PA7引脚进入下载模式,释放后会打印0x15(baud 115200)
    • 第一次烧录需要进行一次全擦除
      在这里插入图片描述

    系统启动

    • 重新复位系统,打印如下日志,系统启动成功
      在这里插入图片描述

    MQTT例程

    使能mqtt
    • 通过命令make menuconfig调取配置工具, 进入MQTT Config开启mqtt功能,退出后保存
      在这里插入图片描述
      在这里插入图片描述
    MQTT例程配置
    • 代码路径example/mqtt/example_mqtt.c, 修改prvMQTTTask任务中的mqtt配置参数
    connectData.MQTTVersion = 3;
    connectData.clientID.cstring = "client";
    char* address = "gpssensor.ddns.net";
    char* sub_topic = "LASS/Test/Pm25Ameba/#";
    char* pub_topic = "LASS/Test/Pm25Ameba/FT1_018";
    
    • 1
    • 2
    • 3
    • 4
    • 5

    运行测试

    编译烧录固件后,启动系统,等待连接mqtt成功
    在这里插入图片描述

    通过客户端发送消息,可以看到接收到的订阅消息log
    在这里插入图片描述

  • 相关阅读:
    AtCoder Beginner Contest 258「ABCDEFG」
    Docker搭建Mylar
    3DTile是不是没有坐标的选择?
    Ruoyi-vue项目新建模块的SQL输出的配置
    Mybatis-plus的分页查询
    2022年全国最新消防设施操作员(中级消防设施操作员)真题题库及答案
    倾向得分匹配PSM案例分析
    【C语言】字符函数和字符串函数的详细教学和模拟实现
    【opencv】debug报错HEAP CORRUPTION DETECTED
    申报高企的条件你真的满足了吗?
  • 原文地址:https://blog.csdn.net/libin55/article/details/126069490