RDA5981开发环境搭建

article/2025/10/5 7:21:37

        最近有商家在卖带有CC2530 Zigbee模块的板子(电子垃圾),我对Zigbee还不是特别感冒(没时间研究),倒是看中了同一个板子上的RDA5981模块。我这个人有个特点,没有研究明白的东西,不会轻易出手。所以我这两天在搭RDA5981开发环境。结果环境搭好了,板子已经卖光了。只能希望卖家还会补货吧,^-^。但辛苦不能白辛苦,还是记录一下。

板子如下:

5e70b2dba4354221a7201984531cc91e.jpeg

 

目录

前言

一、为什么写本文

二、搭建步骤

1.安装KEIL MDK(为了用keil中的C编译工具)

2.GCC-ARM交叉编译安装(为了用GCC编译工具)

3.Python安装

4.Mercurial安装(感觉可以不装)

5.pip指令安装组件

6.获得RDA5981SDK

三、总结


 

前言

        RDA介绍

        RDA5981是一款全集成低功耗的WiFi芯片,支持802.11 b/g/n HT20/40模式。RDA5981内部集成了ARM CortexM4,为开发者提供了高容量可配置的芯片可用内存(SRAM)同时也支持外置PSRAM,以及一组扩展接(I2S/UART/PWM/I2C/SDMMC/USB2.0/SDIO等),可以直接与传感器、片外Codec等相连接。

        这是网上查到的关于RDA5981的介绍资料,当年也是意气风发,不知现在怎么样了。因为锐迪科的官网无法登录,好像是因为没备案,所以也就无法获得一手资料。

        后来看到

        DuerOS开放平台 | 资源中心

        这是百度的平台,平台介绍的是RDA5991,应该都差不多。RDA5981这些芯片是百度和锐迪科合作开发的。


 

一、为什么写本文

        1、网上有很多RDA5981开发环境搭建的教程。但是事过境迁,现在的系统环境已不是当年的环境,直接照搬该掉坑还是会掉的。

        2、官方的资料始终没有更新,并且不怎么好用。

        3、还有记录一下算是备忘。过两年可能也不适用了。

二、搭建步骤

步骤参考:RDA5981开发环境安装

1.安装KEIL MDK(为了用keil中的C编译工具)

        步骤略。

        将”*:\***\ARM\ARMCC\bin“加到windows环境变量里。(*视KEIL按照位置而定)

2.GCC-ARM交叉编译安装(为了用GCC编译工具)

1.从 Downloads | GNU Arm Embedded Toolchain Downloads – Arm Developer 下载gcc-arm-none-eabi-10.3-2021.10-win32.exe就可以,不要下最新的。

2.安装到最后一步,注意要选择添加环境变量。否则就要手动添加环境变量,如下:

*:\**\GNU Arm Embedded Toolchain\10 2021.10\bin(*视GCC-ARM按照位置而定)

3.Python安装

1.从 https://www.python.org/downloads/windows/ 下载2.7版本.

2.添加环境变量

**\Python27\Scripts;**\Python27(*视python按照位置而定)

如果已经安装了高版本python怎么办?在环境里将python27的路径放在其他python版本之前,这样系统会先执行python2.7

4.Mercurial安装(感觉可以不装,最好都装上)

1.从 https://www.mercurial-scm.org/ 下载最新版本。

2.安装时要注意选择添加环境变量。否则手动添加环境变量,如下:

**\Mercurial(*视Mercurial安装位置而定)

5.pip指令安装组件

1.升级pip版本:

python -m pip install --upgrade pip

2.安装mbed-cli(RDA5981开发基于mbed)

pip install mbed-cli 安装 mbed-cli工具

3.安装git(感觉可以不装,最好都装上)

pip install git

4.安装SDK相关依赖:(SDK获取见后文)

将SDK中的requirements.txt 
        project-generator==0.9.10

改成

        project-generator>=0.9.10
然后在RDA5981的SDK目录下执行:

pip install -r requirements.txt 

4.设置编译器路径,ARMCC路径是按照位置而定

mbed config --global ARM_PATH C:/Keil_v5/ARM/ARMCC 

执行完,可以用mbed config --list 看设置情况

5.编译命令:

对于win7用ARM就可以执行成功:

mbed compile -m UNO_91H -t ARM --source TESTS/TARGET_RDA/timer/ --source ./ 

对于win10要用GCC_ARM,

mbed compile -m UNO_91H -t GCC_ARM --source TESTS/TARGET_RDA/timer/ --source ./ 

  我遇到的情况是这样的:win7用KEIL ARM下的C语言编译工具就可以;win10要用GCC_ARM中的C编译工具,否则报错。

其中各参数选项含义: 
 -m 指定 MCU Target 名称 
 -t 指定编译器工具链 
 --source 指定参与编译的源码目录 
 -c 编译前 clean BUILD 目录 
编译完成后将产生文件:.\BUILD\UNO_91H\ARM\timer.bin,可以将其烧录到硬件板卡 Flash
中运行

6.安装Msys2(windows 下的linux命令环境,官方第一步就安装这个,也可以不安装): (替代windows命令行)
下载地址: www.msys2.org 

安装完在windows系统变量中增加一个变量名:MSYS2_PATH_TYPE,变量值:inherit

这样Msys2就可以获得windows的环境变量,可以在msys2执行windows中python,pip,git,hg,gcc,arm中的命令。

6.获得RDA5981SDK

官方网站上不去,所以上github搜到一个:GitHub - Edragon/RDA-RDA5981

其中的RDA5981_SDK_MbedOS515_V1.3.5应该是比较新的SDK,编译的时候把其中的”测试模式 SDK V1.3.5“删掉,否则报错。

三、总结

1、mbed是个好东西,代码量很少就可以实现很多功能。

2、同时安装keil arm和gcc arm是因为总有一款适合你。

3、git和Mercurial是mbed需要的。

4、python依赖库好多版本太低了,需要改下版本。

5、python必须2.7。

6、pip最好升级到尽可能高的版本。

7、GCC-ARM 不用高版本,10版本够了。

8、注意加环境变量,PATH

9、一些命令:

python --version

pip --version

mbed --version

mbed config --list

msys2下:echo $PATH

 

 

目前为止,我还没有得到RDA5981这个模块,因此经验有限,如果安装有什么问题就当我没说^-^

 

 

 


http://chatgpt.dhexx.cn/article/j8RSBkSJ.shtml

相关文章

Apache添加PHP模块重启apache服务报错

根据网上教程,在Apache中添加php模块: LoadModule php7_module C:\Program Files\php\php-7.3.4-Win32-VC15-x64\php7apache2_4.dll AddType application/x-httpd-php .php LoadModule php7_module modules/libphp7.so PHPIniDir C:\Program Files\php\…

linux上apache目录在哪,Linux下Apache目录明细

与Apache服务器相关的重要目录和文件如下: /etc/httpd/是Apache服务器的根目录 /etc/httpd/conf/httpd.conf是Apache服务器的主配置文件,其中包含指定文档root的配置 /var/www/html/是Apache服务器的文档根目录 /etc/init.d/httpd是Apache服务器启动脚本…

windows下apache简单配置php解释器

目录 1. apache部署 1.1. 下载安装包 1.2 安装 1.3 文件配置 1.4 进入cmd,执行httpd -k install -n apache 1.5 服务启动 1.6 服务验证 1.7 apache服务搭建至此结束。 2. php环境部署 2.1 php包下载 2.2 添加环境变量 3. apache下加载php解释器 3.1 编写…

宝塔面板定时重启apache、mysql、php5.6等Shell命令

定时重启apache service httpd restart 定时重启mysql service mysqld restart 定时重启php5.6 service php-fpm-56 restart 定时重启php5.7 service php-fpm-72 restart 还有一种定时重启php5.6的方法 /etc/init.d/php-fpm-56 restart 停止推送 php /www/wwwroot/y…

linux环境下,重启Apache服务httpd出现以下错误

重点查看红线圈出的错误信息 之后修改配置/etc/httpd/conf/httpd.conf未见,由错误信息已知是文件的355行组织了它重启,所以只需将其注释掉或者删掉即可。 保存文件 重新启动即可

重启apache下php,怎么重启apache

怎么重启apache? windows下重启Apache ● 首先右击“此电脑”,点击“管理”; ● 在打开的“计算机管理”程序中,双击“服务和应用程序”。 ● 在打开的“计算机管理”程序中,双击“服务”。 ● 在所有的服务列表中&…

安装、启动与停止Apache服务

安装、启动与停止Apache服务 安装Apache相关软件 [rootcentos7 ~]# rpm -q httpd [rootcentos7-1 ~]# mkdir /opt/centos //创建目录/opt/centos [rootcentos7-1 ~]# mount /dev/cdrom /opt/centos //挂载光盘到/opt/centos 下 mount: /dev/sr0 写保护…

Ansys里不同材料属性按照不同颜色显示出来

在plotctrls里面,有numbers的设置,按照材料或者实常数可以将不同部位编号。 编好号之后,就可以对所选的构件染色了 希望有所帮助。

AD生成BOM表_材料清单 (Bill of Material)

打开Altium Designer软件,然后在原理图界面(XXX.SchDoc),选择 Reports(报告)>> Bill of Materials(材料清单)。 显示如下界面: 选择所需要的BOM表表头,BOM表头_comment_Description_desi…

SAP HUM 如何将HU里的物料号换成另外一个物料号?

SAP HUM 如何将HU里的物料号换成另外一个物料号? 比如HU 183221204047,里面的物料号是10000191, 业务因故包错了物料号,希望在继续使用HU号码的前提下将物料号由10000191替换成10000192. 这意味着,需要将该HU拆掉,然后…

NetSuite关于客户料号的管理

NetSuite关于客户料号的管理 NetSuite关于客户料号的管理解决方案步骤 NetSuite关于客户料号的管理 NetSuite中有成熟的解决方案处理客户料号与系统物料编码对应的问题。主要需要安装bundle, ID为47193。 安装Bundle后,可以分配客户的料号与系统中物料…

批次号/订单号生成

概述 在系统内部或与其他系统进行对接对编码有一定自定义规则,包括批次号、订单号,比如 PCH20170727152245000001 编码规范 开头字母 年月日时分秒 序号 ,使用存储过程和不使用存储过程两种方式,数据都是存在 mysql 数据库中。…

SAP消耗性物料采购前台操作及后台配置

提示:本人工作之余的学习记录,仅供参考 文章目录 前言 企业里除了库存物料采购外,经常存在非库存物料的采购,由于零星小物件比较多,例如中性笔、文件夹、一次性纸杯、A4纸等办公用品,创建物料,…

一、T100之料件管理

T100之料件管理 一、料件集团数据和据点级数据的区别二、料件基础资料设置2.1 料件分群(先要建好分群,基础资料中要用到)2.2 企业层次参数设置aoos0102.3 据点级数据集团控制设置作业(aooi090)2.4 aooi2502.5 aooi2602.6 aimi010(产品分类码维护作业)2.7 aimi1502.8…

SAP PP 笔记(二)物料

Organizational levels for the material master record and Organization structures:物料主档的组织架构,建立这个料号有哪些层次,比如有集团、工厂、仓位这个层次,也可能有销售区域层次等Material type - industry sector&…

数据库原理与技术 作业及答案 复习用

目录 第一章 绪论 作业第二章 关系数据库 作业第3章 关系数据库标准语言SQL 作业1第3章 关系数据库标准语言SQL 作业2第3章 关系数据库标准语言SQL 作业3⭐第4章 数据库安全性 作业⭐SQL 综合练习⭐第6章 关系数据理论 作业 新⭐第7章 数据库设计 作业 新⭐HBase作业 新 第一章…

金蝶新建生产领料单,单据编号不能自动填写

今天接到分厂电话,生产领料单新建后,单据编号栏为空。过去检查后,确实如此,一番百度后解决,记录如下: 进入K3后,点击系统设置---系统设置---仓储管理---单据类型 ,双击打开&#xf…

SAP中客户来料加工流程评测

客户来料加工,即对于加工方来说,生产成品所需要的部分或全部原材料的来源并非自己采购,而是由客户提供。从业务的模式上看,对于加工方有以下几个特点: 1、对于加工方而言,客户提供物料无需做价值管理,只需做数量管理;从现实业务角度可以想象,物料的接收,消耗会增加和…

ERP实施-生产模块-无物料号订单

系统功能:事务代码:CO07-不参考物料代码创建生产订单。 适用场景: 1.返工业务-结算规则对应正常生产订单; 2.工装生产-结算规则对应财务内部订单号或者项目WBS,生产完工后由财务确认是否转固; 3.售后返修-结算到返修销…

Type-C扩展坞常用料号大全|音视频芯片|cc协议芯片|PD芯片|HUB芯片|网口芯片|音频芯片

最近一段时间因为重返职场,把市面上做Type-C 接口相关的常用料号做了整理。自己对CS型号的也更加了解,如何进行方案优化,降低BOM成本。慢慢整理,不断学习,持续更新记录,欢迎大家一起谈论学习。 音视频芯片…