之前在 “XMCD – i.MX RT11xx系列簡(jiǎn)單易用的特定外設(shè)配置功能”的文章給大家介紹了XMCD功能的基礎(chǔ)知識(shí)和用法,不過(guò)前面是以RT1170為例介紹的,本文將基于RT1180著重介紹XMCD的特點(diǎn)以及使用時(shí)的注意事項(xiàng)。
XMCD offset
與RT1170 固定的XMCD偏移位置不同,RT1180的XMCD偏移量因啟動(dòng)設(shè)備而異。下表列出了使用不同啟動(dòng)設(shè)備時(shí)的XMCD偏移量。
XMCD支持配置以下外設(shè):
SDRAM (SEMC接口)
XMCD配置HyperRAM/APMemory
XMCD利用FlexSPI RAM 配置塊來(lái)配置連接到FlexSPI接口的HyperRAM或者APMemory PSRAM設(shè)備。
與RT1170相比,RT1180在使用XMCD時(shí)有一個(gè)limitation需要特別注意:
圖1 RT1180 FlexSPI AHBCR寄存器
如上圖所示,RT1180的FlexSPI模塊開(kāi)放了AHB Boundary Alignment功能且默認(rèn)設(shè)置為No limit,該功能在RT1170中沒(méi)有開(kāi)放且默認(rèn)設(shè)置為1KB。
RT1180 XMCD對(duì)于該功能保持了默認(rèn)值設(shè)置,也就是對(duì)AHB讀寫操作的邊界不做任何限制,因此對(duì)于那些規(guī)定了讀寫操作無(wú)法跨邊界的外設(shè)來(lái)說(shuō),F(xiàn)lexSPI AHB讀寫一旦跨邊界,則會(huì)出錯(cuò)。 比如圖2中的Dual-die的HyperRAM,圖3中的Apmemory廠商的OPI PSRAM,都有不能跨邊界操作的要求。
基于此,若需要用到RT1180 XMCD去配置初始化HyperRAM或者APMemory PSRAM外設(shè)時(shí),盡量選用沒(méi)有這些限制的HyperRAM/PSRAM。若實(shí)在需要使用,則建議在應(yīng)用程序中將AHBCR寄存器中的ALIGNMENT域設(shè)為非0值后再對(duì)HyperRAM/PSRAM進(jìn)行讀寫操作。
圖2 Dual-die HyperRAM
圖3 Apmemory OPI PSRAM
XMCD配置SDRAM XMCD利用SEMC SDRAM配置塊來(lái)配置連接到SMEC接口的SDRAM設(shè)備。相較于RT1170,RT1180在完整版配置方式中新增了圖4中的幾種配置。
1. SEMC模塊DCCR寄存器相關(guān)配置
當(dāng)dccr_en設(shè)為0時(shí)會(huì)使用默認(rèn)的DCCR寄存器值(默認(rèn)值為0xB),設(shè)為1時(shí)用戶可以通過(guò)dccr_sdramen以及dccr_sdramval自定義設(shè)置DCCR寄存器。
2. SEMC模塊SDRAMCRx寄存器相關(guān)配置
當(dāng)sdramcr0_en, Sdramcr1_en, Sdramcr2_en, Sdramcr3_en設(shè)為1時(shí)用戶可以自定義SDRAMCRx寄存器的值,設(shè)為0時(shí)則會(huì)將SDRAMCRx寄存器配置成默認(rèn)的值,默認(rèn)配置值如下所示:
SDRAMCR0 = 0x00000F30U | (port_size & 0x3U);(port_size為用戶定義的)
SDRAMCR1 = 0x00772A22;
SDRAMCR2 = 0x00010A0D;
SDRAMCR3 = 0x21210409;
若選用的SDRAM的相關(guān)參數(shù)符合默認(rèn)配置則可以直接選用默認(rèn)配置,若有區(qū)別則需要用戶自定義配置。
圖4 RT1180新增配置數(shù)據(jù)結(jié)構(gòu)
使用XMCD
4.1 使用SDK
RT1180 SDK中加入了XMCD功能,采用簡(jiǎn)化配置HyperRAM或者SDRAM,通過(guò)USE_HYPERRAM或USE_SDRAM宏定義選擇初始化不同的外設(shè),注意只能定義其中一個(gè)宏,因?yàn)閄MCD不能同時(shí)初始化這兩種外設(shè)。
任意打開(kāi)一個(gè)示例工程,切換到flexspi_nor_hyperram_debug都會(huì)包含XMCD初始化HyperRAM的代碼。
圖5 工程文件中的XMCD
4.2 使用SEC工具
MCUXpresso Secure Provisioning Tool(SEC)是一款可以生成和配置可啟動(dòng)可執(zhí)行文件的工具,可以支持XMCD功能進(jìn)行FlexSPI和SEMC外設(shè)的配置。配置界面如圖6所示:
圖6 XMCD配置界面
用戶首先需要準(zhǔn)備一份應(yīng)用程序,該應(yīng)用程序鏈接到對(duì)應(yīng)外設(shè)地址中,且不用帶boot header,然后導(dǎo)入工具的Source executable image處。
XMCD下拉欄選擇FlexSPI RAM或者SEMC SDRAM,然后點(diǎn)擊Edit即可進(jìn)行對(duì)應(yīng)外設(shè)的簡(jiǎn)化配置,如圖7所示:
圖7 XMCD配置選擇
配置完成后執(zhí)行Build image生成可啟動(dòng)文件,最后利用Write image下載到板卡即可。
參考
1. i.MX RT1180 Reference Manual
2. XMCD – i.MX RT11xx系列簡(jiǎn)單易用的特定外設(shè)配置功能
-
模塊
+關(guān)注
關(guān)注
7文章
2811瀏覽量
52275 -
寄存器
+關(guān)注
關(guān)注
31文章
5492瀏覽量
127683 -
接口
+關(guān)注
關(guān)注
33文章
9255瀏覽量
155391
原文標(biāo)題:RT1180 XMCD功能預(yù)覽
文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
恩智浦i.MX RT1180 EtherCAT外設(shè)中SM FMMU功能介紹及應(yīng)用

恩智浦MCU方案 單顆i.MX RT1180實(shí)現(xiàn)EtherCAT+伺服控制

基于恩智浦i.MX RT1180芯片的EtherCAT+伺服電機(jī)控制方案

恩智浦i.MX RT1180跨界MCU助力下一代伺服控制系統(tǒng)

RT1180 FlexSPI Follower模塊簡(jiǎn)介

插齒機(jī)的性能特點(diǎn)有哪些?使用插齒機(jī)時(shí)有哪些注意事項(xiàng)?
RT1180內(nèi)建外設(shè)是否與RT1170內(nèi)建外設(shè)寄存器兼容?
膽機(jī)使用的注意事項(xiàng)
掌握液壓缸的特點(diǎn)及相關(guān)應(yīng)用與注意事項(xiàng)
XMCD – i.MX RT11xx系列簡(jiǎn)單易用的特定外設(shè)配置功能

恩智浦i.MX RT1180跨界處理器如何選型

評(píng)論