一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DshanMCU-R128s2 SDK 入門(mén)

嵌入式Linux那些事 ? 來(lái)源:嵌入式Linux那些事 ? 作者:嵌入式Linux那些事 ? 2023-12-22 15:40 ? 次閱讀

本章介紹基礎(chǔ)的SDK編譯,打包等操作,方便快速上手 SDK 開(kāi)發(fā)。

SDK 基礎(chǔ)知識(shí)

R128 平臺(tái)擁有三個(gè)核心,Cortex M33 核心作為啟動(dòng)和安全核心,XuanTie C906 核心作為應(yīng)用核運(yùn)行用戶(hù) APP,HIFI5 作為算法核運(yùn)行DSP算法。由于架構(gòu)不同,不同的核心需要運(yùn)行不同的 RTOS。

其中 Cortex M33 和 C906 運(yùn)行的是 FreeRTOS V10.4.3 同一個(gè)內(nèi)核支持兩個(gè)不同架構(gòu)的核心,其外設(shè)、組件、驅(qū)動(dòng)是相同的。特性如下:

  • 支持 Cortex-M33(Armv8-M)、C906(Riscv-64) 架構(gòu)
  • FreeRTOS V10.4.3 內(nèi)核
  • 支持標(biāo)準(zhǔn) posix 接口
  • 支持系統(tǒng)接口,用于內(nèi)核以外的模塊調(diào)用內(nèi)核函數(shù)的接口
  • 支持文件系統(tǒng),包含設(shè)備管理器、分區(qū)管理器、文件系統(tǒng)實(shí)體管理器等,例如 littlefs、fat 等,實(shí)現(xiàn)對(duì)不同設(shè)備類(lèi)型、分區(qū)類(lèi)型、文件系統(tǒng)類(lèi)型的集成
  • 支持 newlibc 庫(kù)

而 HIFI5 運(yùn)行的是 Cadence 所推薦的 FreeRTOS V10.2.0 內(nèi)核,其部分組件與 M33/C906 核心不同。特性如下:

  • 支持 Xtensa HIFI5 架構(gòu)
  • FreeRTOS V10.2.0 內(nèi)核
  • 支持系統(tǒng)接口,用于內(nèi)核以外的模塊調(diào)用內(nèi)核函數(shù)的接口
  • 支持 VFPU/NN 算法庫(kù)

所以在開(kāi)發(fā)過(guò)程中,M33/C906 使用的是一套 FreeRTOS SDK,HIFI5 使用的是另外的一套 FreeRTOS SDK。這里將介紹 M33/C906 的開(kāi)發(fā)入門(mén),HIFI5的相關(guān)開(kāi)發(fā)將在 DSP 章節(jié)介紹。

  • 異構(gòu)計(jì)算相關(guān)在

SDK 目錄架構(gòu)

下表是簡(jiǎn)化版本的 SDK 目錄結(jié)構(gòu),具體的說(shuō)明在 【SDK入門(mén) - SDK 架構(gòu)與目錄結(jié)構(gòu)】中說(shuō)明。

├── board               # 板級(jí)配置目錄
│   ├── common          # 公共板級(jí)配置目錄
│   │   ├── configs     # 公共板級(jí)配置
│   │   └── data        # 公共數(shù)據(jù)
│   └── r128s2          # R128 S2 芯片配置目錄
│       └── module      # R128 S2 Module 模塊板級(jí)配置目錄
├── lichee              # 系統(tǒng)源碼目錄
│   ├── brandy-2.0      # 啟動(dòng)相關(guān)目錄
│   ├── dsp             # HIFI5 FreeRTOS 系統(tǒng)、組件、應(yīng)用
│   ├── rtos            # M33/C906 FreeRTOS 系統(tǒng)、組件、應(yīng)用
│   ├── rtos-components # 公共應(yīng)用組件,libc、多媒體、lvgl
│   └── rtos-hal        # RTOS HAL驅(qū)動(dòng)
├── out                 # 打包輸出的臨時(shí)文件與最終鏡像文件
└── tools               # 用于存放打包相關(guān)的腳本、工具

初始化SDK環(huán)境

在編譯之前,需要初始化 SDK 的環(huán)境,使用下列命令初始化環(huán)境。

source envsetup.sh

image1

載入項(xiàng)目方案

使用下列命令載入方案

lunch_rtos

image2

這里我們需要開(kāi)發(fā)的是 r128s2_module_c906 方案,對(duì)應(yīng)的是 R128 模塊的最小化系統(tǒng)開(kāi)發(fā)板的 C906 核心的 RTOS。輸入 1 回車(chē)即可。

第一次載入方案會(huì)解壓工具鏈,解壓完成后會(huì)提示方案載入成功:

image3

第二次開(kāi)始就會(huì)跳過(guò)解壓工具鏈,并且會(huì)記錄上一次選擇的方案。

image4

更換項(xiàng)目方案

在開(kāi)發(fā)過(guò)程中如果需要開(kāi)發(fā) M33 核心方案,需要重新執(zhí)行 lunch_rtos 選擇 M33 方案。

image5

配置 RTOS 基本設(shè)置與軟件包配置

SDK 提供了 mrtos_menuconfig 命令來(lái)配置基本SDK配置與軟件包。相關(guān)文檔位于 [RTOS軟件包配置]。下圖為進(jìn)入的配置界面。

image6

編譯系統(tǒng)

可以使用 m 命令或者 mrtos 命令編譯RTOS系統(tǒng)。

image7

打包系統(tǒng)

使用 p 或者 pack 命令打包系統(tǒng)

image8

注意,打包如果出現(xiàn)

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

則是因?yàn)橄到y(tǒng)配置勾選啟用了這個(gè)核心但是實(shí)際沒(méi)有編譯這個(gè)核心的 RTOS 系統(tǒng),導(dǎo)致找不到這個(gè)核心的 RTOS 的固件。這時(shí)候需要編譯完成 RTOS 系統(tǒng)然后重新打包。例如報(bào)錯(cuò) err: failed to open bin file rtos_arm.fex

image9

則需要編譯對(duì)應(yīng)的 arm 核心的固件,在這里是 m33 核心。lunch_rtos 選擇 M33 核心,然后 m 編譯。

image10

此時(shí) pack 就可以通過(guò)了

image8

擴(kuò)展命令

了解上面的命令即可開(kāi)始開(kāi)發(fā) RTOS ,不過(guò) SDK 還提供了一些其他命令簡(jiǎn)化使用。

一鍵編譯 + 打包

SDK 提供了 mp 命令以供一鍵編譯 + 打包方案。

編譯 U-boot

可以使用 muboot 命令編譯 u-boot

image11

編譯完成后會(huì)自動(dòng)拷貝生成的鏡像到指定位置等待打包

image12

編譯 boot0

可以使用 mboot0 編譯 boot0,編譯完成后會(huì)自動(dòng)拷貝生成的鏡像到指定位置等待打包

image13

編譯 U-boot + boot0

可以使用 mboot 命令編譯 U-boot + boot0

image14

編譯完成后會(huì)自動(dòng)拷貝生成的鏡像到指定位置等待打包

image15

文件夾跳轉(zhuǎn)快捷命令

- 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.

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17718

    瀏覽量

    358218
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    722

    瀏覽量

    22631
  • RTOS
    +關(guān)注

    關(guān)注

    24

    文章

    837

    瀏覽量

    120573
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1057

    瀏覽量

    47341
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    DshanMCU-R128s2-DEVKIT應(yīng)用開(kāi)發(fā)案例

    本文章為DshanMCU-R128s2-DEVKIT應(yīng)用開(kāi)發(fā)案例,本文案例(點(diǎn)亮一顆 LED 燈)代碼可以到全志在線(xiàn)-在線(xiàn)文檔或者復(fù)制鏈接前往下載。
    的頭像 發(fā)表于 09-28 16:26 ?1045次閱讀
    <b class='flag-5'>DshanMCU-R128s2</b>-DEVKIT應(yīng)用開(kāi)發(fā)案例

    基于DShanMCU-R128s2-DevKit開(kāi)發(fā)智能手表

    本項(xiàng)目基于DShanMCU-R128s2-DevKit開(kāi)發(fā),用意是提供一個(gè)綜合的示例進(jìn)行學(xué)習(xí)參考。
    的頭像 發(fā)表于 11-01 15:32 ?1000次閱讀
    基于<b class='flag-5'>DShanMCU-R128s2</b>-DevKit開(kāi)發(fā)智能手表

    DshanMCU-R128s2全志R128視頻教程

    基于DShanMCU-R128S2_DevKit的入門(mén)教程
    的頭像 發(fā)表于 12-26 14:05 ?814次閱讀

    DshanMCU-R128s2芯片簡(jiǎn)介

    DshanMCU-R128s2芯片簡(jiǎn)介
    的頭像 發(fā)表于 12-22 09:55 ?1185次閱讀
    <b class='flag-5'>DshanMCU-R128s2</b>芯片簡(jiǎn)介

    DshanMCU-R128s2芯片參數(shù)

    MB LS PSRAM R128 S2)/8 channels (R128 S3) - One LEDC used to control the external intellige
    的頭像 發(fā)表于 12-26 10:57 ?1458次閱讀

    DshanMCU-R128s2芯片手冊(cè)與資料

    : Xplorer Software (SDK) Download Xtensa Xplorer 授權(quán)申請(qǐng): Cadence Tensilica Offerings Xtensa Xplorer 試用申請(qǐng): request an evaluation license 其余手冊(cè)將在
    的頭像 發(fā)表于 12-26 11:02 ?984次閱讀

    DshanMCU-R128s2 R128 模組

    R128-S2-N16R16 R128-S2 Arm Cortex-M33 C906 RISC-V HIFI5 DSP 1MByte 8Mbyte 8Mbyte 16M NOR Flash 2 Audio
    的頭像 發(fā)表于 12-26 11:11 ?1403次閱讀
    <b class='flag-5'>DshanMCU-R128s2</b> <b class='flag-5'>R128</b> 模組

    DshanMCU-R128s2 R128 DevKit 開(kāi)發(fā)板

    針對(duì) R128 模組,百問(wèn)科技推出了 R128 DevKit 開(kāi)發(fā)板作為快速開(kāi)發(fā)評(píng)估工具。 特性: 板載 R128-S2-N16R16 模組 板載 2.4G RF 陶瓷天線(xiàn) 板載 USB Type
    的頭像 發(fā)表于 12-22 12:02 ?902次閱讀
    <b class='flag-5'>DshanMCU-R128s2</b> <b class='flag-5'>R128</b> DevKit 開(kāi)發(fā)板

    DshanMCU-R128s2 R128 EVT 開(kāi)發(fā)套件

    針對(duì) R128 模組,百問(wèn)科技推出了 R128 EVT 開(kāi)發(fā)套件作為快速開(kāi)發(fā)評(píng)估工具。
    的頭像 發(fā)表于 12-22 15:16 ?1080次閱讀
    <b class='flag-5'>DshanMCU-R128s2</b> <b class='flag-5'>R128</b> EVT 開(kāi)發(fā)套件

    DshanMCU-R128s2 SDK 架構(gòu)與目錄結(jié)構(gòu)

    R128 S2 是全志提供的一款 M33(ARM)+C906(RISCV-64)+HIFI5(Xtensa) 三核異構(gòu) SoC,同時(shí)芯片內(nèi)部 SIP 有 1M SRAM、8M LSPSRAM、8M
    的頭像 發(fā)表于 12-22 15:57 ?1030次閱讀
    <b class='flag-5'>DshanMCU-R128s2</b> <b class='flag-5'>SDK</b> 架構(gòu)與目錄結(jié)構(gòu)

    DshanMCU-R128s2 Hello World!

    載入方案選擇 r128s2_module_c906 $ source envsetup.sh $ lunch_rtos 1 編輯程序 打開(kāi)你喜歡的編輯器,修改文件: lichee/rtos
    的頭像 發(fā)表于 12-22 17:24 ?823次閱讀
    <b class='flag-5'>DshanMCU-R128s2</b> Hello World!

    DshanMCU-R128s2 配置引腳復(fù)用

    解析 sys_config.fex 的驅(qū)動(dòng)配置位于 licheertos-componentsawsys_config_script 中。 對(duì)于配置引腳復(fù)用,只需要修改 boardr128s2{PROJECT}configsys_config.fex 文件即可。 GPIO描述
    的頭像 發(fā)表于 12-22 17:36 ?902次閱讀

    DshanMCU-R128s2啟動(dòng)與資源劃分

    下面簡(jiǎn)單介紹一下 R128 方案的資源劃分與啟動(dòng)流程。 資源劃分 CPU 資源劃分 這只是默認(rèn)配置方案,CPU 資源劃分可以按照需求任意修改 CPU 功能說(shuō)明 M33 控制核。運(yùn)行 WI-FI/BT
    的頭像 發(fā)表于 12-22 17:46 ?888次閱讀
    <b class='flag-5'>DshanMCU-R128s2</b>啟動(dòng)與資源劃分

    DshanMCU-R128s2硬件設(shè)計(jì)參考

    R128 DevKit 開(kāi)發(fā)板 硬件工程開(kāi)源地址:https://oshwhub.com/gloomyghost/r128-module 電路圖
    的頭像 發(fā)表于 12-26 09:46 ?1213次閱讀

    DshanMCU-R128s2術(shù)語(yǔ)表

    RISC-V 架構(gòu)的 64 位元處理器單元 HIFI5 Cadence 推出的 Cadence Tensilica HiFi 5 DSP 32 位處理器單元 R128 全志推出的一款包含
    的頭像 發(fā)表于 12-25 10:07 ?838次閱讀