全志R128 DSP开发工具安装教程

资料准备

要编译和仿真DSP,需要以下资料:

  • DSP 核 SDK,SDK 需要包含DSP 编译源码。
  • Cadence Xtensa 的 Windows IDE 工具 (Xplorer‑8.0.13 版本), Windows 版本 DSP 的 package 包。
  • Cadence Xtensa 的 License,用于服务器代码编译和Xplorer 仿真使用。

其中 Allwinner 提供 DSP 核 SDK 源码包,IDE 工具和 Licence 需要向 Cadence 申请。Allwinner 不提供 IDE 工具和 Licence 的授权。

  • 申请链接:https://www.cadence.com/en_US/home/tools/ip/tensilica-ip/technologies.html
  • Xplorer 下载链接:https://www.cadence.com/en_US/home/tools/ip/tensilica-ip/sdk-download.html

如果已经拥有授权,需要获取开发的相关资料,请准备以下内容申请:

  • 公司名称
  • 项目背景
  • 公司获得的 Cadence 授权相关证明

可以通过客服,或者前往 全志在线开发者论坛 发帖询问,有相关的专人对接。

Linux 环境搭建

XCC 安装

把 XCC 工具链压缩包放在目录下:

<root>/XtDevTools/install/

进行解压,解压后工具链应该存放在:

<root>/XtDevTools/install/RI‑xxxx‑linux/XtensaTools

package 包安装

DSP 核配置包由数字设计提供,一般为一个tgz 压缩包,可使用以下命令自动安装:

./build.sh

环境变量

envsetup.sh 环境变量主要宏如下:

  1. PATH 添加编译工具链bin/路径;
  2. LM_LICENSE_FILE license服务器地址;
  3. XTENSA_SYSTEM DSP核心配置包安装后的路径;
  4. XTENSA_CORE DSP核心配置包名称;
  5. XTENSA_TOOLS_DIR XCC工具链位置。

当想自定义编译环境或者排除编译环境问题,可以通过检查以上宏是否设置正确。

环境变量命令

envsetup.sh 脚本同时导出一些命令,用于快速执行某些命令操作。

  1. croot // 快速跳转到DSP FreeRTOS SDK 根目录
  2. doobjdump // 执行objdump 命令反编译DSP elf 文件
  3. dogenlds // 重新生成链接脚本
  4. callstack // 执行栈回溯结果解析命令
  5. mdsp // 编译dsp

编译代码

配置环境变量
source build/envsetup.sh

image-20230729230351382

编译代码

执行./build.sh 编译

下载固件

  1. 把 DSP FreeRTOS SDK 目录下的 dsp_raw.bin 拷贝到 R128 根SDK 下的 board/r128s/xxx/bin/ 下,并重命名为rtos_dsp_sun20iw2p1.fex
  2. R128 SDK 下重新打包烧录,即可更新DSP 固件。

Windows 环境

安装 Xtensa Xplorer

Windows 下直接双击安装文件进行安装。

image-20230729231257263

然后同意许可文件

image-20230729231319708

记得修改下载的地址

image-20230729231353206

选择 “否”

image-20230729231428471

点击 Next -> Next -> Next -> Next

image-20230729231445603

开始安装

image-20230729231538883

去掉这个勾

image-20230729231745728

选择工作环境

image-20230729231801562

初始化中

image-20230729231813252

License 配置

在这里配置 License 即可

image-20230729231941432

安装 package 包

检查 package

image-20230729232029991

没有对应package,我们要手动安装:

image-20230729232040566

选择此项

image-20230729232058105

找到 package 的 tgz 文件

image-20230729232105249

导入即可

image-20230729232136046

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

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

相关文章

数据结构:第7章:查找(复习)

目录 顺序查找&#xff1a; 折半查找&#xff1a; 二叉排序树&#xff1a; 4. (程序题) 平衡二叉树&#xff1a; 顺序查找&#xff1a; ASL 折半查找&#xff1a; 这里 j 表示 二叉查找树的第 j 层 二叉排序树&#xff1a; 二叉排序树&#xff08;Binary Search Tree&…

FDM3D打印系列——RX-78-2高达胸像打印

https://v.youku.com/v_show/id_XNjI4OTQ2NjkyNA.html   大家好&#xff0c;我是阿赵。   2024年的第一篇博客&#xff0c;做一个3D打印作品&#xff0c;RX-78-2高达胸像打印。 成年男人是很少收得到礼物的&#xff0c;所以礼物都要自己准备。这个模型&#xff0c;就算是我…

【时钟】分布式时钟HLC|Logical Time|Vector Clock|True Time

目录 简略 详细 附录 1 分布式系统不能使用NTP的原因 简略 分布式系统中不同于单机系统不能使用NTP(网络时间协议&#xff08;Network Time Protocol&#xff09;)来获取时间&#xff0c;所以我们需要一个特别的方式来获取分布式系统中的时间&#xff0c;mvcc也是使用time保证读…

数据结构 day6 栈+队列+二分查找+插入排序

插入排序 #include <stdio.h> #include<string.h> #include<stdlib.h> int main(int argc, const char *argv[]) {int a[]{41,50,66,38,32,49,18};int nsizeof(a)/sizeof(a[0]);int i,j,t;for(i1;i<n;i){int ta[i];for(ji-1;j>0;j--){if(t<a[j]){a…

论文阅读: AAAI 2022行人重识别方向论文-PFD_Net

本篇博客用于记录一篇行人重识别方向的论文所提出的优化方法《Pose-Guided Feature Disentangling for Occluded Person Re-identification Based on Transformer》&#xff0c;论文中提出的PDF_Net模型的backbone是采用《TransReID: Transformer-based Object Re-Identificati…

app自动化测试(Android)–触屏操作自动化

导入TouchAction Python 版本 from appium.webdriver.common.touch_action import TouchActionJava 版本 import io.appium.java_client.TouchAction;常用的手势操作 press 按下 TouchAction 提供的常用的手势操作有如下操作&#xff1a; press 按下 release 释放 move…

【vue】ffmpeg实现web在线转码播放:

文章目录 一、效果&#xff1a;二、文档&#xff1a;三、实现&#xff1a;【1】安装ffmpeg【2】引入并初始化【3】案例&#xff1a; 一、效果&#xff1a; 二、文档&#xff1a; ffmpeg HTML: HyperText Markup Language | MDN 纯前端使用ffmpeg实现视频压缩_js实现前端视频压…

项目经验简单总结

引擎 unity 2020 语言 C# lua python(用于工具链) java (用于SDK对接) js&#xff08;PC WEB SDK对接&#xff09; 编辑器 VS VSCODE IDEA eclipse 项目开发模块规划分 主项目工程&#xff0c;UI资源项目工程&#xff0c;模型场景资源项目工程 主项目工程&#xff1a;所有的…

STM32F407-14.3.10-表73具有有断路功能的互补通道OCx和OCxN的输出控制位-00x10

如上表所示&#xff0c;MOE0&#xff0c;OSSI0&#xff0c;CCxE1&#xff0c;CCxNE0时&#xff0c;OCx与OCxN的输出状态取决于GPIO端口上下拉状态。 ---------------------------------------------------------------------------------------------------------------------…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取相机当前数据吞吐量(C++)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK里函数来获取相机当前数据吞吐量&#xff08;C&#xff09; Baumer工业相机Baumer工业相机的数据吞吐量的技术背景CameraExplorer如何查看相机吞吐量信息在NEOAPI SDK里通过函数获取相机接口吞吐量 Baumer工业相机通过NEOAPI SDK获…

分布式【雪花算法】

雪花算法 背景&#xff1a;在分布式系统中&#xff0c;需要使用全局唯一ID&#xff0c;期待ID能够按照时间有序生成。 **原理&#xff1a;**雪花算法是 64 位 的二进制&#xff0c;一共包含了四部分&#xff1a; 1位是符号位&#xff0c;也就是最高位&#xff0c;始终是0&am…

Android Studio实现课表

本文章主要展示课表的实现&#xff0c;里面包含很多控件的用法&#xff0c;比如吐司Toast、通知Notification、ListView&#xff0c;数值选择器NumberPicker&#xff0c;SeekBar同editText的关联。抽屉导航栏 还有一些其他的功能&#xff0c;比如InputFilter自定义的字符过滤器…