CSK6环境搭建

news2024/11/29 12:55:01

前期准备

开发板测试

(1)根据这个视频教程来进行测试:示例工程快速上手

Ubuntu环境搭建

(1)聆思官方推荐使用Linux开发,因此我于是采用VMware搭建Ubuntu的方式进行开发。不清楚Ubuntu搭建的请看:VMware虚拟机安装Ubuntu20.04详细图文教程
(1)注意点:尽量直接在Ubuntu中进行操作,不要使用MobaXterm这种终端工具。因为测试发现,一些操作在终端工具里面会执行不成功,但是在Ubuntu中又可以。具体原因不清楚

VScode安装

(1)聆思官方在VScode中做了一些插件配置,因此推荐使用VScode和插件组合使用,这样降低开发难度。在Ubuntu20.04中安装VScode教程请看:Ubuntu20.04下安装VSCode(配置C/C++开发环境)

CSK6环境搭建

环境安装

(1)为了保证软件源的时效性,先执行如下指令

sudo apt update
sudo apt upgrade

在这里插入图片描述

(2)安装依赖文件,lisa zep 工具,并初始化 CSK6 SDK 所需的开发环境。最终,该命令会在 ~/.listenai 目录下,安装 CSK6 的集成开发环境以及 CSK SDK 的拉取,执行完毕后开发者能快速进行 CSK6 的应用开发。

sudo apt install --no-install-recommends git wget
wget -qO- https://cdn.iflyos.cn/public/cskTools/lisa-zephyr-install.sh | bash

在这里插入图片描述

(3)测试系统环境,如果提示有版本更新,就输入y。

lisa info zephyr

在这里插入图片描述

(4)最后再输入一次如下命令检测环境是否正常,如果与下图一致,表示环境正常。

lisa info zephyr

在这里插入图片描述

(5)在本人测试过程中,发现执行检测环境的命令时,会出现如下报错,解决办法就是在Ubuntu中输入如下三条命令。
注意:如果使用MobaXterm此类终端工具执行如下命令,可能会出现错误,具体原因不明。

 lisa info zep
 lisa zep use-env --clear
 lisa zep use-env csk6

在这里插入图片描述

VScode插件安装

(1)进入VScode的插件商城,搜索CSK。下载如下四个插件

在这里插入图片描述

(2)安装 Cortex Debug

在这里插入图片描述

(2)安装 C/C++

在这里插入图片描述

编译例程

例程编译

(1)打开VScode,按照如下步骤创建一个例程。

在这里插入图片描述

(2)配置开发板信息

在这里插入图片描述

(3)编译
<1>

在这里插入图片描述

<2>有可能会出现如下编译失败的问题,那么就需要先把~/.listenai文件夹删除,重新进行一次如上的环境搭建。

rm -rf ~/.listenai

在这里插入图片描述

(4)烧录程序
<1>确定USB是和虚拟机连接成功。

在这里插入图片描述

<2>烧录程序

在这里插入图片描述

USB权限不够

(1)在烧录程序的时候,可能会遇到如下问题。出现一大堆这种黄色的标识符,表示USB设备的权限不够。记住下面我标注的两个部分

在这里插入图片描述

(2)进入/etc/udev/rules.d/99-myusb.rules加入如下内容,在ATTR{idVendor}==后面加上VID的数字,在ATTR{idProduct}==后面加上PID的数字。

sudo vim /etc/udev/rules.d/99-myusb.rules
# 加入如下内容
SUBSYSTEM=="usb", ATTR{idVendor}=="0d28", ATTR{idProduct}=="0204", MODE="0666"

(2)保存文件并退出编辑器。重新加载 udev 规则,之后就可以烧录程序了。

sudo udevadm control --reload-rules
sudo udevadm trigger

测试结果

(1)配置串口,波特率115200,8数据位,无校验位,1停止位

在这里插入图片描述

(2)开发板和串口连接上之后,点击复位按键,串口端出现数据打印信息。

在这里插入图片描述
在这里插入图片描述

参考

(1)聆思文档中心:环境搭建
(2)B站:CSK6配套开发工具使用教程
(3)C站:VMware虚拟机安装Ubuntu20.04详细图文教程
(4)C站:Ubuntu20.04下安装VSCode(配置C/C++开发环境)
(5)聆思文档中心:示例工程快速上手

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

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

相关文章

Linux——缓冲区与实现C库的fopen,fwrite,fclose

目录 一.缓冲区 1缓冲区的概念 2.缓冲区存在的意义 3.缓冲区刷新策略 4.什么是刷新&#xff1f; C语言的缓冲区在哪里&#xff1f; ​编辑 仿写C库里的fopen&#xff0c;fclose&#xff0c;fwrite。 mystdio.h mystdio.c main.c(向文件中写入20次msg) 一.缓冲区 1…

stack容器

stack容器 文章目录 stack容器一、头文件二、stack基本概念三、stack常用接口 一、头文件 #include <stack>二、stack基本概念 概念: stack是一种先进后出(First In Last Out,FILO)的数据结构&#xff0c;它只有一个出口 栈中只有顶端的元素才可以被外界使用&#xff0…

C++『异常』

✨个人主页&#xff1a; 北 海 &#x1f389;所属专栏&#xff1a; C修行之路 &#x1f383;操作环境&#xff1a; Visual Studio 2022 版本 17.6.5 文章目录 &#x1f307;前言&#x1f3d9;️正文1.异常基本概念1.1.C语言异常处理方式1.2.C异常处理方式 2.异常的使用2.1.异常…

perl单行命令统计项目中代码单行过长的信息

项目中单行代码太长是不便于阅读和维护的&#xff0c;这里用perl单行命令实现项目中的单行过长的代码信息统计&#xff0c;方便修改。为方便说明&#xff0c;这里以一个开源项目为例&#xff0c;github链接evpp。以commit id 477033f938fd47dfecde43c82257cd286d9fa38e 为例&am…

陀螺仪LSM6DSV16X与AI集成(4)----Qvar触摸电容配置

陀螺仪LSM6DSV16X与AI集成.4--Qvar触摸电容配置 概述视频教学样品申请源码下载生成STM32CUBEMX串口配置IIC配置CS和SA0设置串口重定向参考程序初始换管脚获取ID复位操作BDU设置Qvar 功能的实现和配置设置量程和速率配置过滤链激活 Qvar 功能获取Qvar数据演示 概述 Qvar&#x…

2-5、包含多个段的程序

语雀原文链接 文章目录 1、概述2、代码段中使用数据示例1&#xff1a;不指定程序入口示例2&#xff1a;指定程序入口原理梳理 3、在代码段中使用栈例子1例子2 4、数据、代码、栈放入不同的段例子1&#xff1a;end start指定程序入口第一步&#xff1a;设置栈顶第二步&#xff…

Golang channle(管道)基本介绍、快速入门

channel(管道)-基本介绍 为什么需要channel&#xff1f;前面使用全局变量加锁同步来解决goroutine的通讯&#xff0c;但不完美 1)主线程在等待所有goroutine全部完成的时间很难确定&#xff0c;我们这里设置10秒&#xff0c;仅仅是估算。 2)如果主线程休眠时间长了&#xff0c…

tgf - 一个开箱即用的golang游戏服务器框架

tgf框架 tgf框架是使用golang开发的一套游戏分布式框架.属于开箱即用的项目框架,目前适用于中小型团队,独立开发者,快速开发使用.框架提供了一整套开发工具,并且定义了模块开发规范.开发者只需要关注业务逻辑即可,无需关心用户并发和节点状态等复杂情况. 使用介绍 创建业务逻辑…

m1通过源码编译xgboost4j的jar

1、下载源码 git clone --recursive https://github.com/dmlc/xgboost cd xgboost 编译xgboost的动态链接库dylib&#xff0c;m1源码编译xgboost的动态链接库dylib文件 2、编译XGBoost的jar文件&#xff1a; A、如果没有安装maven可以通过以下命令进行安装&#xff0c;如果安…

邮件营销软件:10个创新邮件营销策略,提升投资回报率(一)

电子商务和电子邮件营销密不可分。尽管电子商务在蓬勃发展&#xff0c;而很多人对邮件营销颇有微词。但是在电子商务中&#xff0c;邮件营销的确是一种有效营销方式。在本文中&#xff0c;我们将讨论一下邮件营销在电子商务中的有效运用&#xff0c;帮助您的企业在今年尽可能地…

045:Vue读取本地上传JSON文件,导出JSON文件方法

第045个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…

HibernateJPA快速搭建

1. 先创建一个普通Maven工程&#xff0c;导入依赖 <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><depe…

windows 10多用户同时远程登陆配置【笔记】

系统环境&多用户访问情况&#xff1a; 1、【win】【R】键入【gpedit.msc】 2、依次选择【计算机配置】→ 【管理模板】 → 【Windows组件】 → 【远程桌面服务】 → 【远程桌面会话主机】 →【连接】 2.1、右键 【允许用户通过使用远程桌面服务进行远程连接】 编辑 …

Go语言基础知识学习(一)

Go基本数据类型 bool bool型值可以为true或者false,例子&#xff1a; var b bool true数值型 类型表示范围int8有符号8位整型-128 ~ 127int16有符号16位整型-32768 ~ 32767int32有符号32位整型-2147783648 ~ 2147483647int64有符号64位整型uint8无符号8位整型0 ~ 255uint16…

linux通过命令切换用户

在Linux中&#xff0c;你可以使用su&#xff08;substitute user或switch user&#xff09;命令来切换用户。这个命令允许你临时或永久地以另一个用户的身份运行命令。以下是基本的用法&#xff1a; 基本切换到另一个用户&#xff08;需要密码&#xff09;&#xff1a;su [用户…

C# 静态构造函数与类的初始化

静态构造函数&#xff1a; 基本概念&#xff1a; 静态构造函数用于初始化任何静态数据。 静态构造函数的常见特性&#xff1a; 静态构造函数不使用访问修饰符或不具有参数。因为静态构造函数由系统调用&#xff0c;无法人为调用&#xff0c;所以就不存在public、private等。…

Gazebo 跟踪8字形和U形轨迹(1) — 错误处理

Gazebo 跟踪8字形和U形轨迹(1) — 错误处理 整个过程还是比较曲折的&#xff0c;主要都是一些细小的问题&#xff0c;跑了很多遍模型才发现 参考轨迹生成问题不大&#xff0c;主要是参考横摆角和参考曲率部分有问题 atan和atan2 首先看下两者的区别 atan 函数&#xff1a;…

智能监控型电源老化房方案

电源适配器专用老化房主要适用于充电器等电源成品&#xff08;半成品&#xff09;作一般性老化测试。其负载主体采用程控式电子负载&#xff0c;保证其稳定度和可调节性。该老化车配备电脑操作监控系统。 模拟量采集/老化房采集软件 一、老化房功能&#xff1a; 1 负载主体&am…

32.768KHz时钟RTC晶振精度PPM值及频差计算

一个数字电路就像一所城市的交通&#xff0c;晶振的作用就是十字路口的信号灯&#xff0c;因此晶振的品质及其电路应用尤其关键。数字电路又像生命体&#xff0c;它的运行就像人身体里的血液流通&#xff0c;它不是由单一的某个器件或器件单元构成&#xff0c;而是由多个器件及…

xtts和ogg不选择?

不选择ogg的理由&#xff1a; 1.需要在源端创建用户赋权&#xff0c;启用数据库最小日志&#xff0c;附加日志等操作--对生产影响较大 2.外键约束过多&#xff0c;割接启用可能很慢https://www.modb.pro/db/201126--割接停机时间影响 3.初始化配置expdp导出可能快照过旧&#x…