W800开发板|SDK| HLK-W800-KIT-PRO|工具链|本地命令行编译|Windows11|WSL|(5)、海凌科W800开发板命令行编译指南

news2024/11/16 15:46:00

概况

海凌科W800开发板(HLK-W800-KIT)是海凌科电子面向开发者针对联盛德W800 芯片推出的一款多功能开发板。全功能版本与联盛德W800开发板相比,增加了温湿度传感器、RGB 灯以及音频解码器、功放可以直接在开发版验证功能。联盛德W800的csdk也可用于HLK-W800-KIT开发板。

海凌科W800开发板目前的CSDK版本为HLK-W800-KIT-PRO1.0,本文采用全功能版本进行编译测试,普通版、升级版类似。

下载工具链编译工具

以win11自带的linux版WSL为例,介绍HLK-W800-KIT-PRO编译环境的安装配置。

查看wsl版本

wsl -version

wsl所采用的工具链:

https://occ.t-head.cn/community/download?id=3885366095506644992

https://occ-oss-prod.oss-cn-hangzhou.aliyuncs.com/resource/1356021/1619529111421/csky-elfabiv2-tools-x86_64-minilibc-20210423.tar.gz

 本文下载到d:/download目录下:

cd /mnt/d/download

sudo wget https://occ-oss-prod.oss-cn-hangzhou.aliyuncs.com/resource/1356021/1619529111421/csky-elfabiv2-tools-x86_64-minilibc-20210423.tar.gz

安装工具链编译工具

解压到开发环境“/opt”路径中,或其他路径:

命令流:

cd /opt

sudo cp /mnt/d/download/csky-elfabiv2-tools-x86_64-minilibc-20210423.tar.gz .

sudo mkdir /opt/csky 

cd /opt/csky

sudo cp /opt/csky-elfabiv2-tools-x86_64-minilibc-20210423.tar.gz .

(“.”代表当前目录)

sudo tar -xvf csky-elfabiv2-tools-x86_64-minilibc-20210423.tar.gz

添加工具链bin到环境变量中:

/bin/vi ~/.bashrc

(1)该文件底部加入:export PATH=/opt/csky/bin:/usr/bin:/bin:/usr/local/bin:$PATH

(2)source ~/.bashrc  #source后立即生效。

(3) 安装 python 环境:sudo apt-get install python

如果已安装,可执行 Python3测试:

如果Python3的可执行文件路径不在系统环境变量中,可按前述方法加入。

(4) 安装 lame 音频处理工具:sudo apt-get install lame

(5) 安装编译开发工具集:sudo pip install yoctools -i Simple Index

安装时如果sudo: pip:command not found的错误,需要先安装pip:

sudo apt-get install python-pip

(6) 安装 32 位兼容库(如果系统未安装过):

sudo dpkg --add-architecture i386

sudo apt install libc6  libstdc++6

sudo apt-get update

sudo apt install libncurses5-dev lib32z1

编译:

进入W800_KIT_PRO/unione_lite_app_hb_w/solutions/unisound子目录,

cd /mnt/g/bsp/W800_aos/W800_KIT_PRO/unione_lite_app_hb_w/solutions/unisound

执行make,编译如果提示找不到Python:

加入软连接解决:

sudo ln -s /usr/bin/python3 /usr/bin/python

编译中(第一次较慢):

编译完成,生成.fls刷机文件。

利用Upgrade_Tools_V1.4.8将uni_app.fls刷入开发板进行测试:

文件路径:

W800_KIT_PRO/unione_lite_app_hb_w/solutions/unisound/out/unisound/uni_app.fls

查看目录结构:

 回退进入unione_lite_app_hb_w目录:

查看目录结构:

sudo apt install tree

tree -L 1

1为待显示的目录级数

常用组件如下:

tree -L 1 components/

官方文档对目录内容介绍如下:

 接口说明

W800-KIT-PRO 的 SDK 入口函数 int main(),位于 solutions\unisound\app\src\app_main.c

文件里(如下图)。

int main():

  1. board_yoc_init() : 初始化整个 sdk,初始化的内容包括:flash 管理模块、设备驱动模块、日志打印模块、gpio 功能模块、离线语音 AI 模块、key-value 存储模块、cli 命令模块。
  2. aos_get_app_version() : 获取 APP 当前固件版本信息接口。
  3. event_service_init () : 事件服务初始化接口。
  4. app_sys_init() : 系统初始化标志位设置。
  5. board_base_init() : uart,iic 注册驱动程序。
  6. sys_event_init() : 注册系统异常处理,若错误,会调用到回调函数,可以做异常处理。
  7. cli_reg_cmds() : cli 注册命令,可参考示例添加自己的命令。
  8. csi_codec_init() : 音频解码驱动初始化。
  9. local_audio_init() : 本地音频文件初始化。
  10. app_iot_init() : IOT 事件初始化。
  11. app_button_init() : 添加 gpio 按键事件初始化。
  12. app_fota_init() : OTA 服务初始化。
  13. app_network_init() : wifi 使能,注册 smartliving wifi 发放方式,包括 smartconfig 和设备 ap。
  14. kws_start() : 使能语音识别。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java虚拟机内存分布

java虚拟机内存分布 Java虚拟机在执行java程序的过程中会把它所管理的内存划分为如下若干个不同的数据区域。 1.程序计数器 程序计数器是线程私有的,它占用的空间相对较小,用来记录当前线程字节码执行到哪一步。字节码解释器通过改变这个计数器的值来获…

Portraiture2023最新版人像图像后期处理软件

2023全新发布Portraiture 4是专注于图像后期处理软件研发的 Imagenomic, LLC产品之一,在摄影爱好者中有点影响力。Portraiture可以将繁琐复杂的人像磨皮操作极致简化,不论是普通爱好者或专业后期处理人员,均能一键完成。凭借优秀的AI算法和多…

uniapp 悬浮窗(应用内、无需授权) Ba-FloatWindow2

简介(下载地址) Ba-FloatWindow2 是一款应用内并且无需授权的悬浮窗插件。支持多种拖动;自定义位置、大小;支持动态修改。 支持自动定义起始位置支持自定义悬浮窗大小支持贴边显示支持多种拖动方效果:不可拖动、任意…

python--matplotlib(1)

前言 Matplotlib画图工具的官网地址是 http://matplotlib.org/ Python环境下实现Matlab制图功能的第三方库,需要numpy库的支持,支持用户方便设计出二维、三维数据的图形显示。 正文 1.arange函数 arange函数需要三个参数,分别为起始点、终止…

MyBatisPlus ---- 多数据源

MyBatisPlus ---- 多数据源1. 创建数据库及表2. 引入依赖3. 配置多数据源4. 创建用户service5. 创建商品service6. 测试适用于多种场景:纯粹多库、读写分离、一主多从、混合模式等 目前我们就来模拟一个纯粹多库的一个场景,其他场景类似 场景说明&#x…

一文了解Hotspot虚拟机下JAVA对象从创建到回收的生命周期

Java虚拟机是Java的核心和基础,他是Java编译器和操作系统平台之间处理器,能实现跨平台运行Java程序。本文主要讲解的是虚拟机如何管理对象,即Java对象在JVM虚拟机中被创建到回收的流程 Java对象从创建到回收的生命周期对象创建流程1.类加载检…

MyBatis 的一级、二级缓存机制

目录标题缓存什么是缓存为什么使用缓存什么样的数据能使用缓存,什么样的数据不能使用适用于缓存不适用于缓存MyBatis 一级缓存、二级缓存关系1. 一级缓存1.1 什么是一级缓存mybatis1.2 一级缓存配置1.3 什么情况下会命中一级缓存mybatis清除一级缓存的几种方法1.4 内…

Delphi 10.4.2使用传统代码提示方案(auto complete)(转)

Delphi 10.4重点是实现了LSP,但现在最新的10.4.2还是不成熟,无法满足日常需要,不过没关系,可以设置为原有的方案,如下图:具体操作:Tools->Options->Editor->language->Code Insight…

迷宫问题图解 : 基于骨架提取、四邻域

目录 1. 迷宫的连通域 2. How to remove branch ? 3. 基于4邻域的 remove 分支 3.1 找到分支的端点 3.2 4邻域的 remove 分支 3.3 循环移除分支 3.4 code 4. 迷宫路线 4.1 预处理 4.2 提取骨架 4.3 分支的端点 4.4 去除分支的端点 4.5 循环去除分支 4…

Java-合并两个链表

每日一题 Java-合并两个链表 给你两个链表 list1 和 list2 ,它们包含的元素分别为 n 个和 m 个。 请你将 list1 中下标从 a 到 b 的全部节点都删除,并将list2 接在被删除节点的位置。 下图中蓝色边和节点展示了操作后的结果: 请你返回结果…

linux下redis安装 及常用命令

安装及常用命令 redis的yum方式安装 先查看是否已经安装redis执行命令 rpm -qa | grep redis如果存在,将存在的卸载:(-y 代表自动选择) yum remove xxx -y在线安装redis yum install redis安装本地已经下载好的redis安装包 yum localinstall redis6.2…

基于Spring、Spring MVC、MyBatis的招聘管理系统

文章目录项目介绍主要功能截图:首页账户管理招聘建议部分代码展示设计总结项目获取方式🍅 作者主页:Java韩立 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 …

流程引擎之Camunda简介

背景Camunda 是支持 BPMN(工作流和流程自动化)、CMMN(案例管理) 和 DMN(业务决策管理) java 框架。Camunda 基于Activiti5 保留了 PVM,其开发团队也是从 activiti 中分裂出来的。Camunda 来自拉…

KubeSphere实战

文章目录一、KubeSphere平台安装1、Kubernetes上安装KubeSphere1.1 安装docker1.2 安装Kubernetes1.3 前置环境之nfs存储1.4 前置环境之metrics-server1.5 安装KubeSphere2、Linux单节点部署KubeSphere3、Linux多节点部署KubeSphere(推荐)二、KubeSphere实战1、多租户实战2、中…

Spring中的数据校验--进阶

分组校验 场景描述 在实际开发中经常会遇到这种情况:添加用户时,id是由后端生成的,不需要校验id是否为空,但是修改用户时就需要校验id是否为空。如果在接收参数的User实体类的id属性上添加NotNull,显然无法实现。这时…

【飞桨AI-Python小白逆袭大神课程】作业3-《青春有你2》选手数据分析

目录 一、数据准备 1、文件数据以json文件格式保存: 二、数据分析 2、数据分析四剑客: (1)Numpy (2)pandas (3)Matplotlib (4)PIL (5&#x…

操作系统题目收录(十一)

1、操作系统采用分页存储管理方式,要求()。 A:每个进程拥有一张页表,且进程的页表驻留在内存中B:每个进程拥有一张页表,但只有执行进程的页表驻留在内存中C:所有进程共享一张页表&a…

django项目实战(django+bootstrap实现增删改查)

目录 一、创建django项目 二、修改默认配置 三、配置数据库连接 四、创建表结构 五、在app当中创建静态文件 六、页面实战-部门管理 1、实现一个部门列表页面 2、实现新增部门页面 3、实现删除部门 4、实现部门编辑功能 七、模版的继承 1、创建模板layout.html 1&…

Django框架之模型视图--Session

Session 1 启用Session Django项目默认启用Session。 可以在settings.py文件中查看,如图所示 如需禁用session,将上图中的session中间件注释掉即可。 2 存储方式 在settings.py文件中,可以设置session数据的存储方式,可以保存…

基于springboot的网上图书商城的设计与实现(程序+详细设计文档)

大家好✌!我是CZ淡陌。在这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路! 🍅更多优质项目👇&…