title: Pico W 基于 C/C++ SDK 适配 RT-Thread Wi-Fi 经验总结
date: 2023-11-22 22:19:33
tags:
Pico W 基于 C/C++ SDK 适配 RT-Thread Wi-Fi 经验总结
前言:
Pico W 作为 Raspberry Pi Pico 的衍生版本,主要增加了无线通信的功能,通过搭载 CYW43439 无线芯片,支持 2.4 GHz Wi-Fi 4 及蓝牙5.0 ,其余和 Raspberry Pi Pico 基本相同,外部引脚也相互兼容。
也可以参考我之前文章中介绍的使用 Clion 搭建开发调试下载环境,同样适用。这里需要注意的一点是,当你首次烧录使板载 LED 闪烁的程序时,开发板可能没有相应的现象,这可能不是你下载失败了,也不是你的开发板是坏的,而是 Pico W 的板载 LED 由无线模块控制,想要使其闪烁需要参照官方 Pico-Example 中 Pico W 的具体示例:pico w/wifi/blink
准备工作
开发环境搭建完成后,接下来就可以根据树莓派官方的 SDK 和 Example 调一调程序,逐渐梳理清楚逻辑和各模块之间的依赖关系。例如先运行一个最简单的 Wi-Fi scan 的示例程序,其主要逻辑是先 cyw43_arch_init() 初始化模块,再通过 cyw43_arch_enable_sta_mode() 使能为 STA 模式,最后使用cyw43_wifi_scan() 开始扫描并注册扫描完成回调函数打印扫描结果,整体的逻辑和 API 还是很简洁明了的。
主要依赖于英飞凌提供的 cyw43-driver 驱动库,接下来我们开始通过分析 Cmake 文件确定各模块之间的调用关系和对一些宏定义的依赖关系。以下是一部分我通过 Cmake 文件大致整理的关系图:

通过这样的关系图,我们能更直观快速的将官方的 SDK 和 Example 等 Cmake 工程移植为 RT-Thread 所使用的 Scons 工程。<

本文详细描述了如何基于C/C++SDK适配RT-Thread,使用PicoW开发板的Wi-Fi功能,包括开发环境设置、Wi-Fi扫描示例、FreeRTOS与RT-Thread的集成,以及移植过程中遇到的问题和解决方案。

1361

被折叠的 条评论
为什么被折叠?



