TuyaOS开发学习笔记(4)——BLE开发搭建环境、编译烧写(NRF52832)

一、搭建环境

1.1 官方资料

TuyaOS

1.2 安装Visual Studio Code

官网下载:https://code.visualstudio.com
百度网盘:https://pan.baidu.com/s/1R62HT0PVmVzMwOXtCmIQwA 提取码:g9fb

1.3 安装Tuya Wind IDE

  1. 启动 Visual Studio Code 后,参考下图流程在插件市场搜索并安装 Tuya Wind IDE。

  2. 按下图箭头顺序所示,打开 Tuya Wind IDE 登录页面,登录的账号和密码为 涂鸦 IoT 开发平台 的账号和密码。

1.4 下载开发框架

登录后,选择 主页 > 新建开发框架

下载对应的 TuyaOS 开发框架。并且在对应的开发环境下使用。单击 完成,可下载开发包。

1.5 安装Keil 5

官网下载:http://www2.keil.com/mdk5/
百度网盘:https://pan.baidu.com/s/1nDiNSWMnoGtSzFOLNCmFhw?pwd=add3 提取码: add3

1.6 安装nRF Connect桌面版

官网下载:https://www.nordicsemi.com/Products/Development-tools/nRF-Connect-for-Desktop
百度网盘:https://pan.baidu.com/s/1XNdNUb22dvWClNkqprCJ-A?pwd=mzbc 提取码: mzbc

1.7 安装Python 3.8.10

官网下载:https://www.python.org/downloads/
百度网盘:https://pan.baidu.com/s/1ObLDWz_eXo7TGsDYaRSidw?pwd=jp8b 提取码: jp8b

1.8 安装Nordic Device family pack 8.24.1

官网下载:https://images.tuyacn.com/rms-static/c4d7aae0-333e-11ec-88c2-69da1a70031e-1634910522510.pack?tyName=NordicSemiconductor.nRF_DeviceFamilyPack.8.24.1.pack
百度网盘:https://pan.baidu.com/s/1XHUFqTnaPEfpquUYjYBLHA 提取码:vgb2

二、编译

2.1 创建应用

展开左侧 software/TuyaOS/apps 目录,并在右键单击 apps 目录后选择 Create Project

2.2 编译应用

注意:第一次编译必须使用 Visual Studio Code,脚本会自动构建编译环境,之后您可以打开 IAR 或者 Keil 等第三方开发工具进行调试。

  1. 展开左侧 software/TuyaOS/apps/xxx 目录,并在右键单击 xxx 目录后选择 Build Project。如果路径选择不正确,会在右下角报错提示。

  2. 选择 Build Project 后,在跳出的文本框内输入编译固件的版本号(格式为 x.x.x)后,按回车键确认。其中需注意,蓝牙 Mesh 和 Beacon 相关应用版本格式为 x.x,其它应用版本格式为 x.x.x。

如果提示: 未检测到Python 3.8,此命令需要Python 3.8才能运行
请按照1.7 安装Python 3.8.10

或者右键 build_app.py,选择在集成终端打开

S 保存配置,按 Exit 退出

执行编译脚本 build_app.py,第一个参数“apps/xxx/”表示app所在的路径,“xxx”表示app名称,第三个参数“1.0.0”表示版本号。

.\build_app.py apps/tuyaos_demo_ble_peripheral tuyaos_demo_ble_peripheral 1.0.0

  1. 等待 IDE 终端开始自动下载工具链,下载完成后自动编译生成固件产物并告知固件产物路径。

选择Keil UV4.exe:


编译成功:

如果提示 缺少NordicSemiconductor.nRF_DeviceFamilyPack.8.24.1
请按照1.8 Nordic Device family pack 8.24.1

编译生成固件产物在 software\TuyaOS\_output

  • tuyaos_demo_ble_peripheral_QIO_1.0.0.hex:QIO 是生产固件, 其中有 bootloader
  • tuyaos_demo_ble_peripheral_UA_1.0.0.hex:UA 是用户区固件
  • tuyaos_demo_ble_peripheral_UG_1.0.0.bin:UG 是全量升级固件

2.3 清除编译内容

.\build_app.py apps/tuyaos_demo_ble_peripheral tuyaos_demo_ble_peripheral 1.0.0 clean

三、烧录

3.1 脚本烧录(方式一)

  1. 在 Visual Studio Code 左侧目录栏的 software\TuyaOS\.log\hex\material 上,右键单击,选择 在文件资源管理器中显示:

  1. 双击 load_softdevice_bootloader_app.bat 脚本,即可进行涂鸦的固件烧录。

说明:此处烧录为全固件烧录,烧录后需要进行授权。

3.2 Keil烧录(方式二)

  1. 在 Visual Studio Code 左侧目录栏的 software\TuyaOS\.log 上,右键单击,选择 在文件资源管理器中显示:

  1. 双击 Demo.uvprojx,点击 Load 即可进行应用层的固件烧录。

说明:此处烧录为应用层固件烧录,不会覆盖已授权信息,但须先烧录一次全量固件。


3.3 nRF Connect桌面版烧录(方式三)

  1. 在 nRF Connect 中,选择 Programmer

  1. 选择设备

  2. 选择文件

说明:此处烧录为应用层固件烧录,不会覆盖已授权信息,但须先烧录一次全量固件。


3.4 查看调试信息

  1. 在开始菜单中搜索 J-Link RTT Viewer Vx.xx (x.xx 版本号)并打开
  2. 在 Target device 中选择 NRF52832_XXAA ,确认无误单击 OK。

  1. 在 File 中选择 Connect,重启设备后看到打印信息


• 由 Leung 写于 2024 年 10 月 14 日

• 参考:Tuya Wind IDE

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/447094.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

肽合同制造(CDMO):北美和欧洲是全球最大肽合同制造(CDMO)消费地区

据 HengCe 最新调研,2023年中国肽合同制造(CDMO)市场销售收入达到了 万元,预计2030年可以达到 万元,2024-2030期间年复合增长率(CAGR)为 %。本研究项目旨在梳理肽合同制造(CDMO)领域产品系列&am…

前端布局与响应式设计综合指南(末)

​🌈个人主页:前端青山 🔥系列专栏:Css篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Css篇专栏内容:前端布局与响应式设计综合指南(末) 目录 61、为什么要初始化CSS样式 62、CSS3 有哪些新特性 63、…

microsoft edge浏览器卡死问题

win11经常遇到microsoft edge浏览器卡死的情况,有时候是一会没用浏览器就全部卡死,有时候是锁屏或者电脑休眠浏览器就不能用,找了很多的办法都没好使,用以下方法好使了: edge浏览器中打开 edge://settings/system 把 …

【从零开始的LeetCode-算法】2135. 统计追加字母可以获得的单词数

给你两个下标从 0 开始的字符串数组 startWords 和 targetWords 。每个字符串都仅由 小写英文字母 组成。 对于 targetWords 中的每个字符串,检查是否能够从 startWords 中选出一个字符串,执行一次 转换操作 ,得到的结果与当前 targetWords …

nemo-guardrails简单应用

环境:openEuler、python 3.11.6、nemoguardrails 0.10.1、Azure openAi 背景:工作需要,进行调研期间,发现问题太多,且国内网站好多没说明具体问题 时间:20241014 说明:搭建过程中主要是下载h…

apache.poi读取.xls文件时The content of an excel record cannot exceed 8224 bytes

目录 问题描述版本定位:打印size最大的Record定位:RefSubRecord解决代码 问题描述 使用apache.poi读取.xls文件时有The content of an excel record cannot exceed 8224 bytes的报错。待读取的文件的内容也是通过apache.poi写入的,我的文件修…

深入剖析递归算法:原理、特点、应用与优化策略

在上一篇文章👉【剖析十大经典二叉树题目】中,运用到了大量的递归算法,故本文将解析递归算法。 目录 💯引言 💯递归算法的定义与原理 ⭐定义 ⭐原理 💯递归算法的特点 ⭐简洁性 ⭐可读性 ⭐通用性 …

【拼多多】拼多多批发 | 拼多多手机端 | anti_content |

所有的anti_content都可以用官网的anti_content的生成

MySQL 的数据类型

1.整数类型 1.1 tinyint tinyint 为小整数类型,存储空间为1个字节(8位),有符号范围-128 ~ 127,无符号范围 0 ~ 255,此类型通常在数据库中表示类型的字段,如某一字段 type 表示学科,其中 “type1” 表示语文…

Light灯光组件+组件的相关操作+游戏资源的加载

Light灯光组件 Type: Directional:平行光,模仿的是太阳光 Spot:聚光灯 Area:区域光 Color: 颜色值 Mode: RealTime:实时 Mix:混合 Baked:烘焙 Intersity: 光照强度 Indirect Multiplier:光照强度乘数 Shadow Type:影子设置:…

【python学习】1-2 配置python系统环境变量

1.点击“我的电脑”右键,点击属性,点击“高级系统设置”,再点击环境变量。 2.选择“系统变量”中的Path后,点击编辑。 3.点击新建,添加如图两个路径,即是python安装的路径位置后,点击确定。

C# 实现调用函数,打印日志(通过反射代理、非IOC)

🎈个人主页:靓仔很忙i 💻B 站主页:👉B站👈 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:C# 🤝希望本文对您有所裨益,如有不足之处&#xff…

大数据ETL数据提取转换和加载处理

什么是 ETL? 提取转换加载(英语:Extract, transform, load,简称ETL),用来描述将资料从来源端经过抽取、转置、加载至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。 ETL&…

某知名国企面试题

引言 金九银十,求职热潮再度来袭。最近,有位同学去一家知名国企应聘,回来后带回了一套面试题。这套面试题非常典型,其中包含了许多供应链金融方面的典型问题。这些问题很有分享的价值,大家也可以先自己独立思考一下&a…

PFC和LLC的本质和为什么要用PFC和LLC电路原因

我们可以用电感和电容的特性,以及电压和电流之间的不同步原理来解释PFC(功率因数校正)和LLC(谐振变换器)。 电感和电容的基本概念 电感(Inductor): 电感是一种储存电能的组件。它的电流变化比较慢,电流在电感中延迟,而电压变化得比较快。可以把电感想象成一个“滞后…

接口自动化测试介入项目管理流程

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 下图为接口自动化测试介入梧桐项目管理流程图 前景和目标: 现在公司的项目流程都是全部开发完成后提交到测试环境进行测试,导致测试人员在…

基于FPGA的以太网设计(三)

通过前文介绍了RGMII接口时序我们可以知道,RGMII接口是在时钟信号的上升沿和下降沿均进行数据的传输,而FPGA则在时钟的单沿传输数据,因此我们需要编写代码将RGMII接口转换为GMII接口。 由于前面的介绍我们知道RTL8211默认工作在延时状态&…

深入计算机语言之C++:类与对象(上)

🔑🔑博客主页:阿客不是客 🍓🍓系列专栏:从C语言到C语言的渐深学习 欢迎来到泊舟小课堂 😘博客制作不易欢迎各位👍点赞⭐收藏➕关注 前面我们学习了关于c语言的一些基础知识&#xff…

Lucene 倒排索引

倒排索引是什么? 【定义】倒排索引(Inverted Index)是一种用于信息检索的数据结构,尤其适用于文本搜索。它与传统索引的主要区别在于,传统索引是根据文档来查找词语的位置,而倒排索引则是根据词语来查找文…

穷举vs暴搜vs深搜vs回溯vs剪枝(一)

文章目录 全排列子集找出所有子集的异或总和再求和全排列 II电话号码的字母组合 全排列 题目:全排列 思路 通过深度优先搜索的方式,不断枚举每个数在当前位置的可能性,然后回溯到上一个状态,直到枚举完所有可能性得到正确的结果 r…