精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

i.MX RT的FlexRAM配置問題

jf_pJlTbmA9 ? 來源:恩智浦MCU加油站 ? 作者:恩智浦MCU加油站 ? 2023-10-24 15:46 ? 次閱讀

本文以i.MXRT1050為例來做說明,其它i.MX RT10xx系列在FlexRAM的使用上是一樣的,只是容量大小有差別。

一、文檔說明

i.MX RT1050一共有512KB內部FlexRAM,默認的情況是128KB ITCM,128KB DTCM,256KB的OCRAM。在實際的使用中,有些客戶需要重新分配各個存儲區(qū)的大小,來均衡自己應用所需要的ITCM, DTCM以及OCRAM容量。

通過官方應用筆記Using the i.MX RT FlexRAM,我們可以知道一些關于FlexRAM的知識以及配置的限制等。

重新配置FlexRAM的分區(qū)情況,主要可以通過FUSE或者IOMUXC_GPR_GPR17寄存器去配置,具體關系如下:

wKgZomUDy8uAPi-MAAEt8rBZ-JU755.png

如果修改fuse,那么以后就難以重新修改,因為fuse的位只能從0到1,不能從1到0,所以,在實際的調試過程中,可以通過修改內部寄存器方式臨時修改FlexRAM的分區(qū)配置。

最近發(fā)現(xiàn)有部分網(wǎng)友在使用寄存器重新分區(qū)FlexRAM的過程中,出現(xiàn)了各種各樣的問題,比如不能debug,debug問題解決之后,又出現(xiàn)debug可以運行,但是下載進去,重新復位代碼不能起來的問題。

本篇文章針對需要配置FlexRAM功能的網(wǎng)友,總結了在MCUXPresso IDE下具體的重新配置i.MX RT1050 FlexRAM ITCM、DTCM以及OCRAM大小的步驟, 其他i.MX RT芯片系列方法也是類似,只是具體的寄存器分區(qū)大小,按照實際的芯片寄存器去配置。

二、FlexRAM配置分析

i.MXRT1050 默認的FlexRAM配置為:128KB ITCM、128KB DTCM和256KB的OCRAM。那么如果需要配置FlexRAM為:128KB ITCM、256KB DTCM和128KB的OCRAM,應該怎么做呢?

從上面的表格,我們可以看出,可以將IOMUXC_GPR_GPR17配置為下表的黃色行數(shù)據(jù):

wKgaomUDy82AafRLAAEuNKeQwqg165.png

IOMUXC_GPR_GPR17寄存器中每2位表示一個Bank,定義如下:

00b—bank is not used.

01b—bank is configured for OCRAM.

10b—bank is configured for DTCM.

11b—bank is configured for ITCM.

i.MX RT1050共有512KB FlexRAM, 做16等分,則每個bank 為512KB/16=32KB。

所以需要128KB ITCM, 256KB DTCM, 128KB的OCRAM時,分配如下:

ITCM:4個bank,共4個11b

DTCM: 8個bank, 共8個10b

OCRAM: 4個bank, 共4個01b

FlexRAM分區(qū)地址關系如下:

wKgaomUDy86AS0CJAABrk8iVT-k081.png 相關的寄存器配置如下: IOMUXC_GPR->GPR17 = 0x5AAFFAA5; IOMUXC_GPR->GPR16 |= 0x7; IOMUXC_GPR->GPR14 = (9<<20) | (8<<16);

三、MCUXPresso IDE的配置步驟

下面在MIMXRT1050-EVKB開發(fā)板上以SDK 的led_blinky MCUXpresso工程為例,給出具體操作步驟。

首先下載最新的SDK并且在MCUXpresso IDE中導入led_blinky工程。

修改MCU Settings的memory配置

wKgZomUDy8-AEjzKAAFY1VXzlgU166.png

將DTCM, ITCM, OCRAM改為實際需要的大小后,點擊apply。

在startup文件里的Reset代碼部分添加FlexRAM的代碼:

FLEXRAM->TCM_CTRL = 4;

IOMUXC_GPR->GPR17 = 0x5AAFFAA5;

IOMUXC_GPR->GPR16 |= 0x7;

IOMUXC_GPR->GPR14 = (9<<20) | (8<<16) ;

準備IDE的調試腳本.scp文件

RT1050_connect_128Kocram_128Kitcm_256Kdtcm.scp 內容為:

100REM===============================
110REMRT1050_connect.scp
120REM
130REMCopyright2019NXP
140REMAllrightsreserved.
150REM===============================
160print"RT1050ConnectScript"
170REMprobelist
180p%=probefirstfound
190remprobeopenbyindexp%
200wireswdconnectp%
210selectprobecorep%0
220cminitapdpthis
230cmhaltthis
235goto320
240remtrapinbootrom
250cmwatchsetthis00x400F8004RW
260cmresetvectorcatchclearthis
270print"Resettingandtrapping"
280cmsysresetreqthis
290print"Backfromreset"
300cmresetvectorcatchsetthis
310cmwatchclearthis0
320print"DisablingMPU"
330s%=Peek32this0xE000ED94
340s%=s% 0xFFFFFFFE
350Poke32this0xE000ED94s%
360REM======ConfigureFlexRAM======
370print"ConfigureFlexRAMfor128KBOCRAM,128KBI-TCM,256KBD-TCM"
380REMTCMCTRLPoke0x400B0000-toforceRAMclockingandsetwaitstates=b100
390Poke32this0x400B00000x4
400REMIOMUXC_GPR170x400AC044-thissetsbitfieldallocationofFlexRAM32KBbankstoOC256KBb01,I128KBb11,D128KBb10
410Poke32this0x400AC0440x5AAFFAA5
420REMIOMUXC_GPR160x400AC040-thissetsenablesforIandDTCMandthesourceoftheTCMconfig=0x200007
430Poke32this0x400AC0400x200007
440print"Finished"
450REM===============================
460end

將這個超長文件名的文件,RT1050_connect_128Kocram_128Kitcm_256Kdtcm.scp拷貝到IDE安裝目錄下:

C:nxpMCUXpressoIDE_11.1.0_3209idebinariesScripts

拷貝完之后,在debug configuration界面的script connect 中添加這個腳本文件:

wKgZomUDy9GAG8bHAALqKFOMhg8935.png

修改stack的起始位置

將STACK的位置由end改為start,這樣可以解決燒錄之后,重新上電不運行的問題。

wKgaomUDy9OAWPRMAAF72f3nZN8735.png

下面就可以編譯代碼,并且運行,測試結果如下:

wKgZomUDy9WAUg51AATmqGEqn4M728.png

可以發(fā)現(xiàn),寄存器的FlexRAM情況確實是需要的配置情況,燒錄之后,退出debug重新上電,可以發(fā)現(xiàn)led還是可以閃爍,說明功能已經正常工作。

本文最初發(fā)表在“恩智浦中文社區(qū)”,可以在原帖那里下載到代碼。

來源:恩智浦MCU加油站

免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯(lián)系小編進行處理


審核編輯 黃宇

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

    關注

    31

    文章

    5250

    瀏覽量

    119197
  • i.MX
    +關注

    關注

    1

    文章

    44

    瀏覽量

    35484
收藏 人收藏

    評論

    相關推薦

    i.Mx RT平臺內存建議

    哪些超總線存儲器被推薦用于NXP的I.MX RT平臺。CyPress的超閃存/HyrRAM MCP設備與NXP的I.MX RT系列兼容嗎?應用筆記和用戶體驗將不勝感激。 以上來自于百
    發(fā)表于 09-05 14:33

    i.MX RT1020到i.MX RT1010的遷移手冊

    i.MX RT1020到i.MX RT1010的遷移指南
    發(fā)表于 12-12 06:25

    使用i.MX RTFlexRAM的教程

    使用i.MX RTFlexRAM
    發(fā)表于 12-12 07:36

    i.MX RT1060到i.MX RT1064的遷移手冊

    i.MX RT1060到i.MX RT1064的遷移指南
    發(fā)表于 12-12 07:21

    01:i.MX RT系列產品的介紹與演示

    i.MX RT產品是今年市場上最受歡迎的跨界MCU產品。本講座將對i.MX RT系列做一個簡要的介紹,包括主要特性和主要外設。然后會分享能夠加快用戶設計進度的各種攻略。作為無閃存的MC
    的頭像 發(fā)表于 01-23 07:21 ?2905次閱讀
    01:<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>系列產品的介紹與演示

    01:i.MX RT的市場應用和參考解決方案

    i.MX RT產品是今年市場上最受歡迎的跨界MCU產品。i.MX RT定位為一款MCU產品,它可以重復利用傳統(tǒng)的Arm MCU生態(tài)系統(tǒng)。除此之外,本次講座還將簡要介紹
    的頭像 發(fā)表于 01-21 07:13 ?3235次閱讀
    01:<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>的市場應用和參考解決方案

    02:i.MX RT系列產品的介紹與演示

    i.MX RT產品是今年市場上最受歡迎的跨界MCU產品。本講座將對i.MX RT系列做一個簡要的介紹,包括主要特性和主要外設。然后會分享能夠加快用戶設計進度的各種攻略。作為無閃存的MC
    的頭像 發(fā)表于 01-21 07:04 ?2183次閱讀
    02:<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>系列產品的介紹與演示

    恩智浦i.MX RT1170開創(chuàng)GHz MCU時代

    自2017年上市以來,i.MX RT系列取得了優(yōu)秀的市場表現(xiàn)。i.MX RT1170跨界MCU是恩智浦i.MX
    的頭像 發(fā)表于 03-22 11:14 ?3325次閱讀

    恩智浦i.MX RT1170在將該系列帶上了更高的層面

    自2017年上市以來,i.MX RT系列取得了優(yōu)秀的市場表現(xiàn)。i.MX RT1170跨界MCU是恩智浦i.MX
    的頭像 發(fā)表于 05-18 11:15 ?3628次閱讀

    i.MX RT開發(fā)筆記-08 | i.MX RT1062嵌套中斷向量控制器NVIC(按鍵中斷檢測)

    系列文章目錄i.MX RT開發(fā)筆記-01 | 初識 i.MX RT1062 跨界MCUi.MX RT
    發(fā)表于 12-01 13:51 ?2次下載
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>開發(fā)筆記-08 | <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1062嵌套中斷向量控制器NVIC(按鍵中斷檢測)

    RT-Thread & NXP 發(fā)布 i.MX RT 系列 BSP 新框架

    前言i.MX RT 是 NXP 推出的跨界處理器系列。該系列下又包括 i.MX RT1020、i.MX
    發(fā)表于 12-07 13:06 ?2次下載
    <b class='flag-5'>RT</b>-Thread & NXP 發(fā)布 <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b> 系列 BSP 新框架

    i.MX RT超低功耗模式捉蟲記

    SNVS模式是i.MX RT10XX和i.MX RT11XX系列MCU中功耗最低的狀態(tài),其標志性特點是除SNVS電源域保持供電,其余的電源域均處于斷電狀態(tài)。
    發(fā)表于 02-08 15:14 ?0次下載
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>超低功耗模式捉蟲記

    適用于i.MX RT500和i.MX RT600 MCU的Xtensa音頻框架介紹

    在眾多的恩智浦i.MX RT跨界處理器當中,您可能會發(fā)現(xiàn)有些系列除了Arm內核之外還結合了高性能的DSP,利用集成DSP的技術優(yōu)勢,可提供高性能音頻數(shù)字信號處理能力,并包含特定算法操作,可實現(xiàn)完全
    的頭像 發(fā)表于 11-10 09:39 ?2385次閱讀

    RT-Thread文檔_野火 I.MX RT1052上手指南

    RT-Thread文檔_野火 I.MX RT1052 上手指南
    發(fā)表于 02-22 18:25 ?2次下載
    <b class='flag-5'>RT</b>-Thread文檔_野火 <b class='flag-5'>I.MX</b> <b class='flag-5'>RT</b>1052上手指南

    理解i.MX RT中FlexSPI外設lookupTable里配置訪問行列混合尋址Memory的參數(shù)值

    理解i.MX RT中FlexSPI外設lookupTable里配置訪問行列混合尋址Memory的參數(shù)值
    的頭像 發(fā)表于 10-30 17:23 ?410次閱讀
    理解<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>中FlexSPI外設lookupTable里<b class='flag-5'>配置</b>訪問行列混合尋址Memory的參數(shù)值