国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

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

嵌入式Linux那些事 ? 來(lái)源:嵌入式Linux那些事 ? 作者:嵌入式Linux那些事 ? 2023-12-22 17:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下面簡(jiǎn)單介紹一下 R128 方案的資源劃分與啟動(dòng)流程。

資源劃分

CPU 資源劃分

這只是默認(rèn)配置方案,CPU 資源劃分可以按照需求任意修改

CPU功能說(shuō)明
M33控制核。運(yùn)行 WI-FI/BT 固件、協(xié)議棧、驅(qū)動(dòng)、休眠喚醒、安全啟動(dòng)、安全控制
C906應(yīng)用核。運(yùn)行大部分驅(qū)動(dòng)與主要應(yīng)用,控制臺(tái)
HIFI5算法核。運(yùn)行音頻相關(guān)驅(qū)動(dòng)與算法

內(nèi)存配置

R128 方案目前三個(gè)核 OS 運(yùn)行的地址范圍如下表。

這只是默認(rèn)配置方案,CPU 資源劃分可以按照需求任意修改。

CPU內(nèi)存使用地址
M33lspsram,運(yùn)行地址范圍 0x8000000 - 0x8300000
C906lspsram,運(yùn)行地址范圍 0x8300000 - 0x8800000
HIFI5hspsram,運(yùn)行地址范圍 0xC000660 - 0xC0A0660

啟動(dòng)流程

R128 方案非安全啟動(dòng)流程如下,其中 M33 為啟動(dòng)核:

這只是默認(rèn)配置方案,啟動(dòng)流程可以按照需求任意修改。

  1. BROM
    1. 加載 M33 BOOT0 至 SRAM
    2. 跳轉(zhuǎn) M33 BOOT0 運(yùn)行
  2. M33 BOOT0
    1. 初始化 LSPSRAM 與 HSPSRAM
    2. 加載 M33 RTOS 至 LSPSRAM
    3. 加載 C906 RTOS 至 LSPSRAM
    4. 加載 HIFI5 RTOS 至 HSPSRAM
    5. 跳轉(zhuǎn)運(yùn)行 M33 RTOS
  3. M33 RTOS
    1. 啟動(dòng)運(yùn)行 C906 RTOS
    2. 啟動(dòng)運(yùn)行 HIFI5 RTOS
  4. C906 RTOS
    1. 啟動(dòng)運(yùn)行用戶(hù)程序
sequenceDiagram
    BROM-- >>SRAM: load M33 Core BOOT0 to SRAM
    BROM-- >>BOOT0: Boot BOOT0 on M33
    BOOT0-- >>LSPSRAM: init LSPSRAM
    BOOT0-- >>HSPSRAM: init HSPSRAM
    BOOT0-- >>LSPSRAM: load M33 RTOS to LSPSRAM
    BOOT0-- >>LSPSRAM: load C906 RTOS to LSPSRAM
    BOOT0-- >>HSPSRAM: load HIFI5 RTOS to HSPSRAM
    BOOT0-- >>M33: BOOT0 Boot M33 RTOS
    M33-- >>C906: Boot C906 RTOS
    C906-- >>LSPSRAM: C906 RTOS Running on LSPSRAM
    M33-- >>HIFI5: Boot HIFI5 RTOS
    HIFI5-- >>HSPSRAM: HIFI5 RTOS Running on HSPSRAM
    C906-- >>HSPSRAM: APP Running on HSPSRAM

修改運(yùn)行核心

系統(tǒng)有三個(gè)不同的核心,分別是 M33,C906,HIFI5,其中M33是啟動(dòng)核心不可以關(guān)閉,另外兩個(gè)核心都可以關(guān)閉。當(dāng)不需要使用 C906 核心或者 HIFI5 DSP 核心的時(shí)候,可以將這兩個(gè)核心關(guān)閉。方法如下:

關(guān)閉 HIFI5 核心

首先,選擇好 M33 的方案,因?yàn)?HIFI5 是由 M33 來(lái)啟動(dòng)的。

source envsetup.sh
lunch_rtos r128s2_m33

直接取消勾選即可:

image1

關(guān)閉 C906 核心

首先,選擇好 M33 的方案,因?yàn)?C906 是由 M33 來(lái)啟動(dòng)的。

source envsetup.sh
lunch_rtos r128s2_m33

直接取消勾選即可:

image1

修改核心運(yùn)行內(nèi)存空間

修改到 HSPSRAM 運(yùn)行

R128 的 M33 和 C906 兩個(gè)核運(yùn)行的系統(tǒng)都是默認(rèn)運(yùn)行在 LSPSRAM,這里示例如何修改到 HSPSRAM

  1. 關(guān)閉啟動(dòng) HIFI5 核心

首先,選擇好 M33 的方案,因?yàn)?HIFI5 是由 M33 來(lái)啟動(dòng)的。

source envsetup.sh
lunch_rtos r128s2_m33

由于默認(rèn) HIFI5 是運(yùn)行在 HSPSRAM 的,這里需要釋放 HSPSRAM。運(yùn)行 mrtos_menuconfig 啟動(dòng)配置。

直接取消勾選即可。

image1

  1. 將 M33 和 C906 設(shè)置成在 HSPSRAM 運(yùn)行

首先選擇 M33 的方案:

source envsetup.sh
lunch_rtos r128s2_m33

接著運(yùn)行 mrtos_menuconfig 修改啟動(dòng)地址,所需要修改的配置如下圖所示:

image2

lspsram 地址空間為 0x8000000-0x87fffff,hspsram 地址空間為 0xc000000-0xc7fffff。

這里將所需要的修改的核的地址,將8改成c即可。如修改 M33 的起始地址,將 0x08004000,修改成0x0c004000 即可,如下圖。

image3

然后保存配置,重新編譯 M33 方案。接下來(lái)修改 C906 的地址,選擇 C906 的方案

source envsetup.sh
lunch_rtos r128s2_c906

接著運(yùn)行 mrtos_menuconfig 修改啟動(dòng)地址,所需要修改的配置如下圖所示:

image4

然后保存配置,重新編譯 C906 方案。

  1. 修改配置文件

首先,確認(rèn)自己方案使用的 image_header 文件,運(yùn)行一次打包的命令 pack,從打包的 log 中能看出方案所選的文件,如下圖:

image4-1

如果需要修改 M33 的地址,則只修改 M33 的即可,C906同理。如果取消啟動(dòng) DSP,則直接注銷(xiāo)掉 DSP的配置代碼。

最后,修改 M33 和 C906 在 HSPSRAM 運(yùn)行,并且取消運(yùn)行 HIFI5 的 image_header 文件修改可如下所示:

diff --git a/r128s2/pro/configs/image_header_xip.cfg b/r128s2/pro/configs/image_header_xip.cfg
index 5c83ac1..fc87d06 100755
--- a/r128s2/pro/configs/image_header_xip.cfg
+++ b/r128s2/pro/configs/image_header_xip.cfg
@@ -30,9 +30,9 @@
         {"id": "0xa5e05a00", "bin": "boot0_spinor.fex", "attr": "0x01", "sram_offs": "0x40b0000", "ep": "0x40b0080"},
         {"id": "0xa5e05a00", "bin": "boot0_sdcard.fex", "attr": "0x01", "sram_offs": "0x40b0000", "ep": "0x40b0080"},
         {"id": "0xa5e15a01", "bin": "freertos-gz.fex", "attr": "0x01"},
-        {"id": "0xa5e05a01", "bin": "rtos_arm.fex", "attr": "0x01", "sram_offs": "0x8004000", "ep": "0x8004000"},
-        {"id": "0xa5e05a01", "bin": "rtos_riscv.fex", "attr": "0x01", "sram_offs": "0x8200000", "ep": "0x8200000"},
-           {"id": "0xa5e05a01", "bin": "rtos_dsp.fex", "attr": "0x01", "sram_offs": "0xc000000", "ep": "0xc000660"},
+        {"id": "0xa5e05a01", "bin": "rtos_arm.fex", "attr": "0x01", "sram_offs": "0xc004000", "ep": "0xc004000"},
+        {"id": "0xa5e05a01", "bin": "rtos_riscv.fex", "attr": "0x01", "sram_offs": "0xc200000", "ep": "0xc200000"},
+       //    {"id": "0xa5e05a01", "bin": "rtos_dsp.fex", "attr": "0x01", "sram_offs": "0xc000000", "ep": "0xc000660"},
         {"id": "0xa5e05a01", "bin": "etf.fex", "attr": "0x01", "sram_offs": "0x4000000", "ep": "0x4000000"},
         {"id": "0xa5e05a01", "bin": "rtos_xip_rv.fex", "attr": "0x02"},
         {}

查看代碼內(nèi)存分布

可以在 SDK 中運(yùn)行 kamp 命令查看代碼的內(nèi)存分布

image

可以在最后查看內(nèi)存的總使用情況

image

配置XIP

R128-S2 內(nèi)置 NOR FLASH,可以將運(yùn)行效率要求不高的代碼保存在 XIP 段中,減少內(nèi)存的占用。

配置 XIP 需要把對(duì)應(yīng)的函數(shù)和庫(kù)文件加入 xip.lds.S 中,具體語(yǔ)法請(qǐng)參照 ld 語(yǔ)法。

image

image

配置多個(gè)堆內(nèi)存

有些時(shí)候當(dāng)不需要使用 DSP 核心或者 DSP 核心內(nèi)存使用量較少時(shí),可以配置多個(gè)堆內(nèi)存,將一部分內(nèi)存放置于不同的 RAM 上使用。這里以 R128-S2 關(guān)閉 DSP 核心并將 HSPSRAM 分配給 C906 核心使用為例:

配置前內(nèi)存分布情況

配置前進(jìn)入 C906 核心運(yùn)行 free 命令查看當(dāng)前內(nèi)存使用分布情況。

image

關(guān)閉 DSP 核心

首先,選擇好 M33 的方案,因?yàn)?DSP 是由 M33 來(lái)啟動(dòng)的。

source envsetup.sh
lunch_rtos r128s2_m33

由于默認(rèn) DSP 是運(yùn)行在 HSPSRAM 的,這里需要釋放 HSPSRAM。運(yùn)行 mrtos_menuconfig 啟動(dòng)配置。

直接取消勾選即可。

image

修改后請(qǐng)重新編譯 M33 核心的固件。

image

將 HPSRAM 全部分配給 C906 使用

選擇好 C906 的方案,運(yùn)行配置界面

source envsetup.sh
lunch_rtos r128s2_c906
image-20231017135824514

image

找到 Kernel Options

image

找到 Heap Memory Manager (Use heap-4 to allocate memory) --->

image

選中 Use heap-multiple to allocate memory

image

配置 Default Heap Ram 為 heap in lpsram 配置默認(rèn)內(nèi)存堆為 lpsram

image

勾選 lpsram heap 和 lpsram heap dynamic address,意思是 lpsram 的內(nèi)存是動(dòng)態(tài)分布的

image

配置 lpsram heap size 的大小是0x600000,因?yàn)榍懊?2M 給 M33 使用,所以剩下 6M

image

配置 hpsram heap 使能 HPSRAM,并配置 hpsram heap start address 為 0xc000000,hpsram heap size 為 0x7FFFFF 表示將 HPSRAM 全部分配給 C906 核心使用。

image

將 HPSRAM 部分分配給 C906 使用

如果 HPSRAM 需要運(yùn)行 DSP,可以分配部分給 C906 使用,配置 hpsram heap start address為 0xc400000,0xc000000 是 HPSRAM 的開(kāi)始地址,前面 4M 已經(jīng)分配給 DSP 使用;并配置 hpsram heap size 為 0x400000 意思是可以用的 HPSRAM 大小是 4M。

image

配置后的內(nèi)存分布情況

編譯打包燒錄后,可以使用 free 命令查看配置后的內(nèi)存分布情況。可以看到 HPSRAM 的8M內(nèi)存全部分配給 C906 使用了,C906 一共可以用 4M LPSRAM + 8M HPSRAM = 12M RAM

image

審核編輯 黃宇

聲明:本文內(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)注

    147

    文章

    18924

    瀏覽量

    398063
  • R128
    +關(guān)注

    關(guān)注

    0

    文章

    41

    瀏覽量

    413
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    ESP32-S2-MINI-2:高性能、高集成度的物聯(lián)網(wǎng)Wi-Fi模組解析

    CPU和片上系統(tǒng) 內(nèi)置ESP32-S2FH4或ESP32-S2FN4R2芯片,Xtensa單核32位 LX7微處理器,支持高達(dá)240MHz的時(shí)鐘頻率 128KB ROM 320KB SRAM 16KB RTC SRAM 4MB
    的頭像 發(fā)表于 02-04 17:43 ?1037次閱讀
    ESP32-<b class='flag-5'>S2-MINI-2</b>:高性能、高集成度的物聯(lián)網(wǎng)Wi-Fi模組解析

    NXP S912XB128F2CALR核心參數(shù)詳解:汽車(chē)級(jí)MCU選型必備

    在汽車(chē)電子控制系統(tǒng)朝著小型化、高可靠性方向發(fā)展的當(dāng)下,NXP S912XB128F2CALR作為16位汽車(chē)級(jí)MCU,憑借適配車(chē)載極端環(huán)境的硬件配置的靈活的接口設(shè)計(jì),成為車(chē)身控制、車(chē)載電源管理等場(chǎng)景的熱門(mén)選型。本文結(jié)合該芯片核心參數(shù)與實(shí)際應(yīng)用場(chǎng)景,整理一份實(shí)用選型參考,助力工程師快速匹配項(xiàng)目需求。
    的頭像 發(fā)表于 12-31 16:30 ?359次閱讀

    車(chē)載控制芯片怎么選?S912XB128F2CALR對(duì)比普通MCU的優(yōu)勢(shì)

    汽車(chē)電子對(duì)可靠性的要求簡(jiǎn)直到了苛刻的地步。在飛馳的汽車(chē)?yán)?,一顆小小的MCU故障可能帶來(lái)嚴(yán)重后果,所以汽車(chē)級(jí)芯片必須像磐石般可靠。今天咱們聊聊NXP的S912XB128F2CALR這款16位汽車(chē)級(jí)MCU,它和普通MCU到底有什么本質(zhì)區(qū)別。
    的頭像 發(fā)表于 12-31 16:29 ?376次閱讀

    ADC128S052:高性能12位A/D轉(zhuǎn)換器的深度解析

    ? 在電子工程師的日常設(shè)計(jì)中,模擬 - 數(shù)字轉(zhuǎn)換器(ADC)是連接現(xiàn)實(shí)世界模擬信號(hào)與數(shù)字系統(tǒng)的關(guān)鍵橋梁。今天,我們將深入探討德州儀器(TI)的兩款明星產(chǎn)品:ADC128S052與ADC128S
    的頭像 發(fā)表于 11-30 14:53 ?820次閱讀
    ADC<b class='flag-5'>128S</b>052:高性能12位A/D轉(zhuǎn)換器的深度解析

    ADC128S052/ADC128S052-Q1 8 通道高速低功耗 ADC 產(chǎn)品總結(jié)

    ADC128S052x 是一款低功耗、八通道 CMOS 12位模擬轉(zhuǎn)數(shù)字設(shè)備 轉(zhuǎn)換為吞吐量的轉(zhuǎn)換器規(guī)定為 從200千每秒到500千千每秒。該轉(zhuǎn)換器基于逐次近似寄存器 采用內(nèi)部軌道保持電路的架構(gòu)。它可以配置為最多可接受八人 輸入信號(hào)位于IN0至IN7。
    的頭像 發(fā)表于 11-19 14:07 ?702次閱讀
    ADC<b class='flag-5'>128S</b>052/ADC<b class='flag-5'>128S</b>052-Q1 8 通道高速低功耗 ADC 產(chǎn)品總結(jié)

    STM32H7R3/S3:高性能微控制器的新標(biāo)桿

    3 MCU是一款高性?xún)r(jià)比解決方案,采用帶有高速外部存儲(chǔ)器接口的啟動(dòng)閃存MCU,確保實(shí)時(shí)就地執(zhí)行(XiP)功能。此外,該微控制器支持高達(dá)WSVGA分辨率的2D GUI,且CPU負(fù)載有限,從而為實(shí)時(shí)任務(wù)提供更多資源
    的頭像 發(fā)表于 10-21 11:39 ?938次閱讀
    STM32H7<b class='flag-5'>R</b>3/<b class='flag-5'>S</b>3:高性能微控制器的新標(biāo)桿

    性能標(biāo)桿·可靠典范 | 金升陽(yáng)LM-R2S系列機(jī)殼電源煥新上市

    一、產(chǎn)品介紹 在工業(yè)電源領(lǐng)域,金升陽(yáng)始終以技術(shù)創(chuàng)新為驅(qū)動(dòng)力,結(jié)合市場(chǎng)需求,對(duì)電源產(chǎn)品進(jìn)行持續(xù)性?xún)?yōu)化?;贚M-R2系列的成熟技術(shù)與市場(chǎng)認(rèn)可,金升陽(yáng)正式推出升級(jí)版LM-R2S系列機(jī)殼開(kāi)關(guān)電源。新品在
    發(fā)表于 05-30 15:24 ?1525次閱讀
    性能標(biāo)桿·可靠典范 | 金升陽(yáng)LM-<b class='flag-5'>R2S</b>系列機(jī)殼電源煥新上市

    金升陽(yáng)推出升級(jí)版LM-R2S系列機(jī)殼開(kāi)關(guān)電源

    在工業(yè)電源領(lǐng)域,金升陽(yáng)始終以技術(shù)創(chuàng)新為驅(qū)動(dòng)力,結(jié)合市場(chǎng)需求,對(duì)電源產(chǎn)品進(jìn)行持續(xù)性?xún)?yōu)化?;贚M-R2系列的成熟技術(shù)與市場(chǎng)認(rèn)可,金升陽(yáng)正式推出升級(jí)版LM-R2S系列機(jī)殼開(kāi)關(guān)電源。新品在傳承前代核心優(yōu)勢(shì)的基礎(chǔ)上,在產(chǎn)品性能、工藝結(jié)構(gòu)及可靠性層面實(shí)現(xiàn)跨越式提升,省心省成本,為工
    的頭像 發(fā)表于 05-10 10:05 ?1261次閱讀
    金升陽(yáng)推出升級(jí)版LM-<b class='flag-5'>R2S</b>系列機(jī)殼開(kāi)關(guān)電源

    求助,關(guān)于S32K342 IAR啟動(dòng)代碼問(wèn)題求解

    與鏈接類(lèi)似的問(wèn)題S32K344 IAR 啟動(dòng)代碼問(wèn)題 (SW32K3_S32M27x_RTD_R21-11_5.0.0_D2410) export the project from SDK
    發(fā)表于 04-10 07:12

    云游戲的基礎(chǔ)資源類(lèi)型

    的x86架構(gòu)并發(fā)規(guī)格(XL2超大型、L1大型、M1中型、S1小型),支持多檔畫(huà)質(zhì)適配?。 渲染技術(shù)?:通過(guò)GPU完成實(shí)時(shí)畫(huà)面渲染后,利用視頻編碼壓縮技術(shù)(如H.264/H.265)降低傳輸壓力?。 網(wǎng)絡(luò)傳輸資源? 網(wǎng)絡(luò)架構(gòu)?:依
    的頭像 發(fā)表于 04-09 10:18 ?674次閱讀
    云游戲的基礎(chǔ)<b class='flag-5'>資源</b>類(lèi)型

    FD60-36S24B3R2 FD60-36S24B3R2

    電子發(fā)燒友網(wǎng)為你提供AIPULNION(AIPULNION)FD60-36S24B3R2相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有FD60-36S24B3R2的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,F(xiàn)D60-36S24B3R2真值表,
    發(fā)表于 03-21 18:33
    FD60-36<b class='flag-5'>S24B3R2</b> FD60-36<b class='flag-5'>S24B3R2</b>

    PFD50-36S24B3R2 PFD50-36S24B3R2

    電子發(fā)燒友網(wǎng)為你提供AIPULNION(AIPULNION)PFD50-36S24B3R2相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有PFD50-36S24B3R2的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,PFD50-36S24B3R2
    發(fā)表于 03-21 18:31
    PFD50-36<b class='flag-5'>S24B3R2</b> PFD50-36<b class='flag-5'>S24B3R2</b>

    FD50-36S24B3(R)2 FD50-36S24B3(R)2

    電子發(fā)燒友網(wǎng)為你提供AIPULNION(AIPULNION)FD50-36S24B3(R)2相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有FD50-36S24B3(R
    發(fā)表于 03-21 18:31
    FD50-36<b class='flag-5'>S</b>24B3(<b class='flag-5'>R</b>)<b class='flag-5'>2</b> FD50-36<b class='flag-5'>S</b>24B3(<b class='flag-5'>R</b>)<b class='flag-5'>2</b>

    FN1-12S15WH6R3 FN1-12S15WH6R3

    電子發(fā)燒友網(wǎng)為你提供AIPULNION(AIPULNION)FN1-12S15WH6R3相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有FN1-12S15WH6R3的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,F(xiàn)N1-12S15WH6R3真值表,
    發(fā)表于 03-19 18:45
    FN1-12<b class='flag-5'>S15WH6R</b>3 FN1-12<b class='flag-5'>S15WH6R</b>3

    如何從R52_0使用SD Boot啟動(dòng)S32z ?

    有人能夠從 R52_0 使用 SD Boot 啟動(dòng) S32z 嗎? 如果是,如何初始化 IVT 工具并創(chuàng)建圖像 blob? 我能夠從 SD 卡啟動(dòng) M33,但
    發(fā)表于 03-17 06:10