0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DshanMCU-R128s2 SDK 入门

嵌入式Linux那些事 来源:嵌入式Linux那些事 作者:嵌入式Linux那些事 2023-12-22 15:40 次阅读

本章介绍基础的SDK编译,打包等操作,方便快速上手 SDK 开发。

SDK 基础知识

R128 平台拥有三个核心,Cortex M33 核心作为启动和安全核心,XuanTie C906 核心作为应用核运行用户 APP,HIFI5 作为算法核运行DSP算法。由于架构不同,不同的核心需要运行不同的 RTOS

其中 Cortex M33 和 C906 运行的是 FreeRTOS V10.4.3 同一个内核支持两个不同架构的核心,其外设、组件、驱动是相同的。特性如下:

  • 支持 Cortex-M33(Armv8-M)、C906(Riscv-64) 架构
  • FreeRTOS V10.4.3 内核
  • 支持标准 posix 接口
  • 支持系统接口,用于内核以外的模块调用内核函数的接口
  • 支持文件系统,包含设备管理器、分区管理器、文件系统实体管理器等,例如 littlefs、fat 等,实现对不同设备类型、分区类型、文件系统类型的集成
  • 支持 newlibc 库

而 HIFI5 运行的是 Cadence推荐FreeRTOS V10.2.0 内核,其部分组件与 M33/C906 核心不同。特性如下:

  • 支持 Xtensa HIFI5 架构
  • FreeRTOS V10.2.0 内核
  • 支持系统接口,用于内核以外的模块调用内核函数的接口
  • 支持 VFPU/NN 算法库

所以在开发过程中,M33/C906 使用的是一套 FreeRTOS SDK,HIFI5 使用的是另外的一套 FreeRTOS SDK。这里将介绍 M33/C906 的开发入门,HIFI5的相关开发将在 DSP 章节介绍。

  • 异构计算相关在

SDK 目录架构

下表是简化版本的 SDK 目录结构,具体的说明在 【SDK入门 - SDK 架构与目录结构】中说明。

├── board               # 板级配置目录
│   ├── common          # 公共板级配置目录
│   │   ├── configs     # 公共板级配置
│   │   └── data        # 公共数据
│   └── r128s2          # R128 S2 芯片配置目录
│       └── module      # R128 S2 Module 模块板级配置目录
├── lichee              # 系统源码目录
│   ├── brandy-2.0      # 启动相关目录
│   ├── dsp             # HIFI5 FreeRTOS 系统、组件、应用
│   ├── rtos            # M33/C906 FreeRTOS 系统、组件、应用
│   ├── rtos-components # 公共应用组件,libc、多媒体、lvgl
│   └── rtos-hal        # RTOS HAL驱动
├── out                 # 打包输出的临时文件与最终镜像文件
└── tools               # 用于存放打包相关的脚本、工具

初始化SDK环境

在编译之前,需要初始化 SDK 的环境,使用下列命令初始化环境。

source envsetup.sh

image1

载入项目方案

使用下列命令载入方案

lunch_rtos

image2

这里我们需要开发的是 r128s2_module_c906 方案,对应的是 R128 模块的最小化系统开发板的 C906 核心的 RTOS。输入 1 回车即可。

第一次载入方案会解压工具链,解压完成后会提示方案载入成功:

image3

第二次开始就会跳过解压工具链,并且会记录上一次选择的方案。

image4

更换项目方案

在开发过程中如果需要开发 M33 核心方案,需要重新执行 lunch_rtos 选择 M33 方案。

image5

配置 RTOS 基本设置与软件包配置

SDK 提供了 mrtos_menuconfig 命令来配置基本SDK配置与软件包。相关文档位于 [RTOS软件包配置]。下图为进入的配置界面。

image6

编译系统

可以使用 m 命令或者 mrtos 命令编译RTOS系统。

image7

打包系统

使用 p 或者 pack 命令打包系统

image8

注意,打包如果出现

err: failed to open bin file rtos_xxx.fex
Generate image file failed
ERROR: mkimage run error

则是因为系统配置勾选启用了这个核心但是实际没有编译这个核心的 RTOS 系统,导致找不到这个核心的 RTOS 的固件。这时候需要编译完成 RTOS 系统然后重新打包。例如报错 err: failed to open bin file rtos_arm.fex

image9

则需要编译对应的 arm 核心的固件,在这里是 m33 核心。lunch_rtos 选择 M33 核心,然后 m 编译。

image10

此时 pack 就可以通过了

image8

扩展命令

了解上面的命令即可开始开发 RTOS ,不过 SDK 还提供了一些其他命令简化使用。

一键编译 + 打包

SDK 提供了 mp 命令以供一键编译 + 打包方案。

编译 U-boot

可以使用 muboot 命令编译 u-boot

image11

编译完成后会自动拷贝生成的镜像到指定位置等待打包

image12

编译 boot0

可以使用 mboot0 编译 boot0,编译完成后会自动拷贝生成的镜像到指定位置等待打包

image13

编译 U-boot + boot0

可以使用 mboot 命令编译 U-boot + boot0

image14

编译完成后会自动拷贝生成的镜像到指定位置等待打包

image15

文件夹跳转快捷命令

- croot:        Jump to the top of the tree.
- cboot:        Jump to uboot.
- cboot0:       Jump to boot0.
- cbin:         Jump to uboot/boot0 bin directory.
- cconfigs:     Jump to configs of target.
- cout:         Jump to out directory of target.
- cdsp:         Jump to dsp.
- chal:         Jump to rtos-hal.
- ccomponents:  Jump to rtos-components.
- cbuild:       Jump to rtos build dir.
- cprojects:    Jump to rtos projects dir.

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16021

    浏览量

    343675
  • 命令
    +关注

    关注

    5

    文章

    638

    浏览量

    21849
  • RTOS
    +关注

    关注

    20

    文章

    776

    浏览量

    118800
  • SDK
    SDK
    +关注

    关注

    3

    文章

    966

    浏览量

    44718
收藏 人收藏

    评论

    相关推荐

    DshanMCU-R128s2 烧写固件

    编译系统源码后,打包后生成的系统文件称之为固件。固件一般为.img格式。把固件下载到开发板或者产品上的过程称之为 烧写固件 。
    的头像 发表于 12-22 15:08 636次阅读
    <b class='flag-5'>DshanMCU-R128s2</b> 烧写固件

    小时候画在手腕上的表,我用全志R128让他真正动了起来

    ——NWatch,并把他移植到了R128开发板上。 项目简介 本项目基于ZakKemble的开源项目NWatch,与原作者的NWatch不一样的是,作者将其移植到DShanMCU-R128s2
    发表于 11-09 17:03

    DshanMCU-R128s2-DEVKIT应用开发案例

    本文章为DshanMCU-R128s2-DEVKIT应用开发案例,本文案例(点亮一颗 LED 灯)代码可以到全志在线-在线文档或者复制链接前往下载。
    的头像 发表于 09-28 16:26 554次阅读
    <b class='flag-5'>DshanMCU-R128</b>s2-DEVKIT应用开发案例

    基于DShanMCU-R128s2-DevKit开发智能手表

    本项目基于DShanMCU-R128s2-DevKit开发,用意是提供一个综合的示例进行学习参考。
    的头像 发表于 11-01 15:32 432次阅读
    基于<b class='flag-5'>DShanMCU-R128</b>s2-DevKit开发智能手表

    DshanMCU-R128s2全志R128视频教程

    基于DShanMCU-R128S2_DevKit的入门教程
    的头像 发表于 12-26 14:05 233次阅读

    DshanMCU-R128s2芯片简介

    DshanMCU-R128s2芯片简介
    的头像 发表于 12-22 09:55 393次阅读
    <b class='flag-5'>DshanMCU-R128s2</b>芯片简介

    DshanMCU-R128s2芯片参数

    Star MCU , up to 192 MHz - Memories - 1MB SRAM - SiP 8 MB/16 MB Flash - 8 MB H S PSRAM in R128
    的头像 发表于 12-26 10:57 441次阅读

    DshanMCU-R128s2芯片手册与资料

    : Xplorer Software (SDK) Download Xtensa Xplorer 授权申请: Cadence Tensilica Offerings Xtensa Xplorer 试用申请: request an evaluation license 其余手册将在R
    的头像 发表于 12-26 11:02 312次阅读

    DshanMCU-R128s2 R128 模组

    R128 模组 针对 R128 芯片,百问科技提供推出了一种型号模块,如下表所示 型号 SoC CPU0 CPU1 DSP SRAM LS-PSRAM HS-PSRAM Flash DAC
    的头像 发表于 12-26 11:11 372次阅读
    <b class='flag-5'>DshanMCU-R128s2</b> R<b class='flag-5'>128</b> 模组

    DshanMCU-R128s2 SDK 架构与目录结构

    HSPSRAM 以及 16M NORFLASH。 本文档作为 R128 FreeRTOS SDK 开发指南,旨在帮助软件开发工程师、技术支持工程师快速上手,熟悉 R128 FreeRTOS
    的头像 发表于 12-22 15:57 291次阅读
    <b class='flag-5'>DshanMCU-R128s2</b> <b class='flag-5'>SDK</b> 架构与目录结构

    DshanMCU-R128s2 Hello World!

    本文将介绍使用 R128 开发板从串口输出 Hello World 的方式介绍 SDK 软件开发流程。 载入方案 我们使用的开发板是 R128-Devkit,需要开发 C906 核心的应用程序,所以
    的头像 发表于 12-22 17:24 285次阅读
    <b class='flag-5'>DshanMCU-R128s2</b> Hello World!

    DshanMCU-R128s2启动与资源划分

    下面简单介绍一下 R128 方案的资源划分与启动流程。 资源划分 CPU 资源划分 这只是默认配置方案,CPU 资源划分可以按照需求任意修改 CPU 功能说明 M33 控制核。运行 WI-FI/BT
    的头像 发表于 12-22 17:46 294次阅读
    <b class='flag-5'>DshanMCU-R128s2</b>启动与资源划分

    DshanMCU-R128s2硬件设计指南

    原理图设计 硬件系统框图 R128是一颗专为“音视频解码”而打造的全新高集成度 SoC,主要应用于智能物联和专用语音交互处理解决方案。 单片集成 MCU+RISCV+DSP+CODEC+WIFI
    的头像 发表于 12-25 09:41 405次阅读
    <b class='flag-5'>DshanMCU-R128s2</b>硬件设计指南

    DshanMCU-R128s2硬件设计参考

    R128 DevKit 开发板 硬件工程开源地址:https://oshwhub.com/gloomyghost/r128-module 电路图
    的头像 发表于 12-26 09:46 503次阅读

    DshanMCU-R128s2术语表

    RISC-V 架构的 64 位元处理器单元 HIFI5 Cadence 推出的 Cadence Tensilica HiFi 5 DSP 32 位处理器单元 R128 全志推出的一款包含
    的头像 发表于 12-25 10:07 253次阅读