99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

基于A(yíng)rmCortex-M內(nèi)核的MCXN947(MCX N94x)外部flash啟動(dòng)配置和燒寫(xiě)

恩智浦MCU加油站 ? 來(lái)源:恩智浦 ? 2025-06-26 09:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

MCX產(chǎn)品系列是恩智浦憑借20多年來(lái)業(yè)界領(lǐng)先的Kinetis和LPC產(chǎn)品的實(shí)力,推出的新一代可擴(kuò)展、安全且以開(kāi)發(fā)人員為中心微控制器。MCX產(chǎn)品基于ArmCortex-M內(nèi)核,采用一系列核心技術(shù),支持廣泛的工業(yè)和物聯(lián)網(wǎng)應(yīng)用。MCX作為新一代帶閃存的32位微控制器,提供了更強(qiáng)的產(chǎn)品功能,存儲(chǔ)可擴(kuò)展性,且封裝選項(xiàng)廣泛。簡(jiǎn)化系統(tǒng)設(shè)計(jì)為智能邊緣提供了最佳啟用和智能外圍設(shè)備,包括機(jī)器學(xué)習(xí)、無(wú)線(xiàn)、語(yǔ)音、電機(jī)控制模擬等。

MCX N94x是其中一款典型產(chǎn)品,具有靈活串行外設(shè)接口(FlexSPI)的控制器,支持外接存儲(chǔ)器。外部flash儲(chǔ)存容量大、靈活性高,且相對(duì)獨(dú)立于主芯片的更換或升級(jí),且具有較高的可靠性和壽命,但是與內(nèi)部flash相比,其配置和使用是一個(gè)比較復(fù)雜的過(guò)程,對(duì)于初次使用的用戶(hù)還是會(huì)有很大的阻礙,因此本文將會(huì)手把手教你配置外部NOR Flash的啟動(dòng)和燒寫(xiě)。

操作流程

本文以FRDM-MCXN947為例詳細(xì)講解如何配置外部flash的啟動(dòng)和燒寫(xiě),主要包含以下三部分內(nèi)容:

流程一:配置外部 Flash 啟動(dòng)

流程二:基于 MCUXpresso IDE 創(chuàng)建外部 Flash 工程

流程三:燒寫(xiě)到外部 Flash

硬件:FRDM-MCXN947開(kāi)發(fā)板

軟件:BlhostMCUXpresso IDE v11.8.1

流程一:配置外部Flash啟動(dòng)

(一)配置注意事項(xiàng)

配置MCXN947從外部flash啟動(dòng)的關(guān)鍵在于配置CMPA。CMPA是芯片內(nèi)的一塊可編程區(qū)域,也可以理解為芯片中的一塊特殊flash,通過(guò)配置CMPA中BOOT_CFG[bits 31:0]->BOOT_SRC(bits 1:0),定義如下:

BOOT_SRC(bits 1:0)=

00/11:Internal flash

01:FlexSPI-A flash XIP image

10:Secondary Boot loader in Bank1 IFRO (32KB).

此處我們應(yīng)配置為BOOT_CFG[bits 1:0]=0x01,手冊(cè)要求設(shè)置高16位BOOT_CFG[bits 31:16]=0x5963,其他位默認(rèn)為0x00。配置完成后bootROM會(huì)自動(dòng)引導(dǎo)外部FlexSPI NOR flash啟動(dòng)。CMPA文件cmpa_flexspi.bin大小為512byte,存放在blhost.exe同一目錄下,內(nèi)容如下圖:

3fec3d02-5228-11f0-b715-92fbcf53809c.png

(二)具體配置方法

我們可以使用兩種方法配置CMPA:blhost工具或者使用API函數(shù)。

第一種方法: 使用blhost配置CMPA

1.進(jìn)入ISP模式:按住FRDM-MCXN947開(kāi)發(fā)板上SW3(ISP鍵)=>按住釋放SW1(RESET鍵)=>釋放SW3。

2.使用CMD命令打開(kāi)blhost.exe。

3.命令行輸入“blhost -p com11 -- get-property 1”檢查是否成功進(jìn)入ISP模式,進(jìn)入ISP模式后,顯示如下圖:

4000b6b0-5228-11f0-b715-92fbcf53809c.png

4.將配置好的CMPA文件“cmpa_flexspi.bin”寫(xiě)入CMPA,CMPA區(qū)域的起始地址是從0x1004000開(kāi)始的。在命令窗輸入“blhost -p com11write-memory0x1004000 cmpa_flexspi.bin”,成功寫(xiě)入顯示如下圖:

400e3646-5228-11f0-b715-92fbcf53809c.png

5.通過(guò)命令窗輸入“blhost -p com11 read-memory 0x1004000 0x100”還可以讀出寫(xiě)入的內(nèi)容,以確保正確寫(xiě)入,如下圖:

4024663c-5228-11f0-b715-92fbcf53809c.png

6.成功配置CMPA從外部flash啟動(dòng),按RESET鍵重啟。

第二種方法:使用API:ffr_cust_factory_page_writ配置CMPA

ffr_cust_factory_page_write(config, page_data, seal_part);

該API用于將CMPA數(shù)據(jù)寫(xiě)入CMPA區(qū)域,使用時(shí)需注意應(yīng)該在flash_init()和ffr_init()之后調(diào)用,包含了三個(gè)參數(shù),芯片手冊(cè)中對(duì)參數(shù)進(jìn)行了詳細(xì)的描述,如下圖:

config:指向內(nèi)存中flash_config_t數(shù)據(jù)結(jié)構(gòu)的指針,用于存儲(chǔ)驅(qū)動(dòng)程序運(yùn)行時(shí)狀態(tài)。

page_data:指向用戶(hù)存放cmpa數(shù)據(jù)的指針。

seal_part:如果設(shè)置為true或page_data包含非零CMAC數(shù)據(jù),則計(jì)算CMPA CMAC并將其編程到CMPA區(qū)域。

4038d2f2-5228-11f0-b715-92fbcf53809c.png

詳細(xì)代碼請(qǐng)查看附件。

流程二:基于MCUXpresso IDE創(chuàng)建外部Flash工程

外部flash和內(nèi)部flash工程配置有些不同,以MCUXpresso創(chuàng)建的工程為例進(jìn)行介紹,其它IDE同理

(一)注意事項(xiàng)

創(chuàng)建外部flash啟動(dòng)的工程,有兩種情況,一種是在工程中配置FCB,另一種是在工程中并沒(méi)有配置FCB。不同的情況對(duì)應(yīng)不同的燒寫(xiě)方法。

二)具體情況

第一種情況:工程中包含F(xiàn)CB

步驟1:配置FCB

4049bb1c-5228-11f0-b715-92fbcf53809c.png

步驟2:配置外部flash地址

當(dāng)我們基于MCXN947芯片創(chuàng)建一個(gè)新工程時(shí),默認(rèn)放在內(nèi)部flash(起始地址0x0),需要根據(jù)外部flash實(shí)際地址和大小進(jìn)行配置,此處起始地址和空間大小如下圖:

405e766a-5228-11f0-b715-92fbcf53809c.png

第二種情況:工程中不包含F(xiàn)CB:

4073e45a-5228-11f0-b715-92fbcf53809c.png

流程三:燒寫(xiě)到外部Flash

通過(guò)上面兩部分流程,外部flash啟動(dòng)和工程配置完畢,現(xiàn)在只需要把程序下載到外部flash中,程序就可以在外部flash啟動(dòng)運(yùn)行起來(lái)。有兩種下載方式,一種是使用blhost燒寫(xiě),另一種是使用IDE燒寫(xiě)。

第一種方法:使用blhost燒寫(xiě)

(一)注意事項(xiàng)

通過(guò)blhost向外部flash燒寫(xiě)程序分為兩種情況:

第一種是工程中沒(méi)有配置FCB(不包含F(xiàn)CB的image),我們需要通過(guò)blhost對(duì)Flexspi接口以及FCB進(jìn)行配置,配置完成后再將image寫(xiě)入flash;第二種是在工程內(nèi)配置了FCB,我們只需要在配置Flexspi接口后,直接把程序?qū)懭雈lash(寫(xiě)入命令“flash-image xx.s19”),不需要配置FCB,此處必須使用SREC格式(xx.s19)或者.hex鏡像文件。

(二)具體步驟

第一步:打開(kāi)blhost命令窗

在blhost.exe文件夾下啟動(dòng)cmd,打開(kāi)命令窗口。如下圖:

40867a70-5228-11f0-b715-92fbcf53809c.png

第二步:進(jìn)入ISP模式

前面我們已經(jīng)配置好了CMPA,可以直接進(jìn)入ISP模式,進(jìn)行以下操作:按住SW3(ISP鍵)=>按住釋放SW1(RESET鍵)=>釋放SW3。

第三步:配置FlexSPI接口

分為以下兩步:

1.在Blhost命令行輸入“blhost -p com11 fill-memory 0x20020000 4 0xc0000001”,運(yùn)行成功顯示如下圖:

4095b31e-5228-11f0-b715-92fbcf53809c.png

2.在Blhost命令行輸入“blhost -p com11configure-memory 0x9 0x20020000”,運(yùn)行成功顯示如下圖:

40a6e8dc-5228-11f0-b715-92fbcf53809c.png

第四步:配置FCB

注意:如果工程中已經(jīng)配置了FCB,則不需要執(zhí)行此步,直接跳到第五步。

分為以下三步:

1.在Blhost命令行輸入“blhost -p com11 flash-erase-region 0x80000000 0x10000”,對(duì)外部flash進(jìn)行擦除,運(yùn)行成功顯示如下圖:

40b726d4-5228-11f0-b715-92fbcf53809c.png

2.在Blhost命令行輸入“blhost -p com11 fill-memory 0x20020000 4 0xf000000f”,運(yùn)行成功顯示如下圖:

40c6a4b0-5228-11f0-b715-92fbcf53809c.png

3.在Blhost命令行輸入“blhost -p com11 configure-memory 0x9 0x20020000”,運(yùn)行成功顯示如下圖:

40d87cd0-5228-11f0-b715-92fbcf53809c.png

第五步:將目標(biāo)二進(jìn)制文件下燒寫(xiě)到FlexSPI NOR flash中

(一)注意事項(xiàng)

如果工程中沒(méi)有配置FCB,執(zhí)行方法1,如果配置了FCB,執(zhí)行方法2.

(二)具體方法

方法1:

把生成的.bin文件通過(guò)blhost“write-memory”進(jìn)行寫(xiě)入。

在Blhost命令行輸入

“blhost -p com11 write-memory 0x80001000 MCXN947_Project.bin”命令成功顯示如下圖:

40eb123c-5228-11f0-b715-92fbcf53809c.png

方法2:

在blhost命令行輸入“blhost -p com11 -- flash-imagefrdmmcxn947_hello_world_qspi_xip.s19”,成功顯示如下圖:

4101cee6-5228-11f0-b715-92fbcf53809c.png

第六步:完成下載后,重新啟動(dòng)。

按下RESET,重新啟動(dòng)開(kāi)發(fā)板,燒寫(xiě)到外部flash中的程序就啟動(dòng)運(yùn)行。

第二種方法:MCUXpresso IDE一鍵下載

注意事項(xiàng):此種方法只用于工程中配置了FCB的情況。

本節(jié)我們以官方demo“frdmmcxn947_hello_world_qspi_xip工程為例”,

從該工程中我們可以看到在“source”文件夾中的“mcxn_flexspi_nor_config.c”文件,里面對(duì)FCB進(jìn)行了詳細(xì)的配置,包含了對(duì)QSPI以及LUT的配置,如下圖:

411d062a-5228-11f0-b715-92fbcf53809c.png

第一步:配置下載算法

FCB是放在flash偏移地址0X08000400開(kāi)始用于FlexSPI NOR boot的頭代碼,在“MCU settings”我們可以看到QSPI_FLASH以及QSPI_FCB的起始地址及其大小,如下圖:

41373392-5228-11f0-b715-92fbcf53809c.png

“Driver”->“MCXN9xx_SFDP_FlexSPI.cfx”是MCXN9xx系列芯片的外部flash下載算法文件,通過(guò)該下載算法IDE可以直接將程序下載到外部flash。對(duì)于不同的芯片在MCUXpresso IDE中,我們可以點(diǎn)擊“MCXN9xx_SFDP_FlexSPI.cfx”出現(xiàn)“…”按鈕,打開(kāi)就可以看到不同芯片的下載算法文件了,如下圖:

414a67f0-5228-11f0-b715-92fbcf53809c.png

415bc19e-5228-11f0-b715-92fbcf53809c.png

MCUXpresso IDE默認(rèn)自帶了非常多的flash下載算法,文件后綴名是.cfx。即使是同一顆芯,可以看到其有多個(gè).cfx可選,這分別對(duì)應(yīng)了不同的flash種類(lèi)以及與主芯片連接端口。

第二步:下載程序

點(diǎn)擊編譯那妞,編譯成功后,點(diǎn)擊“GUI Flash Tool”燒寫(xiě),如下圖:

4174c27a-5228-11f0-b715-92fbcf53809c.png

成功燒寫(xiě)后,如圖:

4187145c-5228-11f0-b715-92fbcf53809c.png

小結(jié)

綜上,本文詳細(xì)講解了MCXN947外部flash的啟動(dòng)配置,并通過(guò)blhost和MCUXpresso IDE都可以成功的將程序燒寫(xiě)到外部flash。在用blhost工具下載時(shí),需要注意工程中是否配置了FCB,下載步驟會(huì)有所不同。

作者:Alice Yang

恩智浦致力于打造安全的連接和基礎(chǔ)設(shè)施解決方案,為智慧生活保駕護(hù)航。

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

    關(guān)注

    10

    文章

    1679

    瀏覽量

    151885
  • 恩智浦
    +關(guān)注

    關(guān)注

    14

    文章

    5981

    瀏覽量

    116983
  • 燒寫(xiě)
    +關(guān)注

    關(guān)注

    0

    文章

    58

    瀏覽量

    14636
  • N94
    N94
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    5378
  • 32位微控制器
    +關(guān)注

    關(guān)注

    1

    文章

    8

    瀏覽量

    1907

原文標(biāo)題:MCX N94x外部flash啟動(dòng)配置和燒寫(xiě)

文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    《電子發(fā)燒友電子設(shè)計(jì)周報(bào)》聚焦硬科技領(lǐng)域核心價(jià)值 第20期:2025.07.14--2025.07.18

    /6771345.html 10、基于ArmCortex-M內(nèi)核MCXN947MCX N94x外部
    發(fā)表于 07-18 21:36

    《電子發(fā)燒友電子設(shè)計(jì)周報(bào)》聚焦硬科技領(lǐng)域核心價(jià)值 第19期:2025.07.7--2025.07.11

    練? http://www.socialnewsupdate.com/d/6771345.html 10、基于ArmCortex-M內(nèi)核MCXN947MCX
    發(fā)表于 07-11 20:36

    《電子發(fā)燒友電子設(shè)計(jì)周報(bào)》聚焦硬科技領(lǐng)域核心價(jià)值 第18期:2025.06.30--2025.07.4

    /6771345.html 7、基于ArmCortex-M內(nèi)核MCXN947MCX N94x外部
    發(fā)表于 07-04 19:37

    《電子發(fā)燒友電子設(shè)計(jì)周報(bào)》聚焦硬科技領(lǐng)域核心價(jià)值 第17期:2025.06.23--2025.06.27

    檢測(cè)電阻的高頻失真難題 http://www.socialnewsupdate.com/d/6756099.html 4、基于ArmCortex-M內(nèi)核MCXN947MCX
    發(fā)表于 06-27 18:24

    如何在MCXN947微控制器上配置安全啟動(dòng)和生命周期

    本文檔旨在介紹如何在MCXN947微控制器上配置安全啟動(dòng)和生命周期,以確保產(chǎn)品在量產(chǎn)階段的安全性,防止代碼被竊取和篡改,并且能夠安全地升級(jí)更新固件。通過(guò)本應(yīng)用筆記,開(kāi)發(fā)者可以更好地理解和實(shí)施安全
    的頭像 發(fā)表于 06-26 09:49 ?1137次閱讀
    如何在<b class='flag-5'>MCXN947</b>微控制器上<b class='flag-5'>配置</b>安全<b class='flag-5'>啟動(dòng)</b>和生命周期

    如何在MCXN947板的FlexSPI接口接HyperRAM

    MCXN947芯片是一款高度集成的微控制器,具有強(qiáng)大的處理能力、豐富的外設(shè)支持和高級(jí)安全特性,適用于多種復(fù)雜應(yīng)用。其中有個(gè)非常重要的外設(shè)為FlexSPI。
    的頭像 發(fā)表于 06-04 09:39 ?1050次閱讀
    如何在<b class='flag-5'>MCXN947</b>板的FlexSPI接口接HyperRAM

    MCXN947怎么驅(qū)動(dòng)FRDM-STBI-A8974三軸陀螺儀?

    MCXN947怎么驅(qū)動(dòng)FRDM-STBI-A8974三軸陀螺儀
    發(fā)表于 04-14 10:50

    MCXN947如何配置和外擴(kuò)PSRAM?

    mcxn947自帶的ram太小了,無(wú)法滿(mǎn)足需求,想外擴(kuò)一塊psram,比如樂(lè)鑫的esp-psram64芯片,這個(gè)需求有哪個(gè)案例可以參考嗎?
    發(fā)表于 03-31 06:54

    MCXN947使用ADC并編寫(xiě)代碼,總是報(bào)警告是怎么回事?

    我使用 MCXN947,我想使用 ADC 并編寫(xiě)代碼,但警告總是發(fā)生。然后我創(chuàng)建了一個(gè)新項(xiàng)目進(jìn)行調(diào)試,它仍然發(fā)生了。 我試著打掃,但還是沒(méi)用。 警告:無(wú)法將 \'main\' 從主機(jī)編碼 (CP1252) 轉(zhuǎn)換為 UTF-32。 這通常不會(huì)發(fā)生,請(qǐng)?zhí)峤?bug 報(bào)告。
    發(fā)表于 03-20 08:17

    關(guān)于將Flash寫(xiě)入FRDM-MCXN947的問(wèn)題求解

    這次我想問(wèn)一個(gè)關(guān)于使用 MCXN947Flash 寫(xiě)入另一個(gè)板的問(wèn)題。 我嘗試使用 FRDM-MCXN947 的寫(xiě)入方法作為參考寫(xiě)入此板,但發(fā)生了錯(cuò)誤。 下面是當(dāng)時(shí)控制臺(tái)的內(nèi)容。 NXP
    發(fā)表于 03-17 06:29

    使用NXP MCX-N板卡搭建環(huán)境及點(diǎn)燈

    FRDM-MCXN947開(kāi)發(fā)板是一個(gè)基于MCXN947器件的低成本設(shè)計(jì)的評(píng)估板。MCXN947器件將兩個(gè)Arm Cortex-M33微控制器和神經(jīng)處理單元(NPU)集成在一個(gè)封裝中。
    的頭像 發(fā)表于 02-12 09:07 ?754次閱讀
    使用NXP <b class='flag-5'>MCX-N</b>板卡搭建環(huán)境及點(diǎn)燈

    恩智浦MCX N23的官方評(píng)估板FRDM-MCXN236詳解

    寫(xiě)在前面 在上一篇文章(隆重介紹MCX N家族又一顆新星)中,小編帶大家認(rèn)識(shí)了這個(gè)MCX N系列的新成員,本篇文章將會(huì)為大家介紹MCX
    的頭像 發(fā)表于 11-14 09:43 ?1710次閱讀
    恩智浦<b class='flag-5'>MCX</b> <b class='flag-5'>N</b>23的官方評(píng)估板FRDM-<b class='flag-5'>MCXN</b>236詳解

    NXP MCX N23和MCX N94/54的不同之處

    繼2024年一月份發(fā)布了MCXN94/54系列之后,NXP又在6月份發(fā)布了N系列的第二款產(chǎn)品,MCX N23系列,下面小編就為大家揭開(kāi)它的神秘面紗,來(lái)看看這款產(chǎn)品有何特點(diǎn),了解一下它和
    的頭像 發(fā)表于 11-01 12:35 ?1288次閱讀
    NXP <b class='flag-5'>MCX</b> <b class='flag-5'>N</b>23和<b class='flag-5'>MCX</b> <b class='flag-5'>N94</b>/54的不同之處

    MCXN947系列高性能微控制器產(chǎn)品介紹

    基于A(yíng)rm? Cortex?-M33的雙核邊緣人工智能新品MCXN947系列,搭配功能強(qiáng)大且完全開(kāi)源的AWTK GUI框架,可輕松令產(chǎn)品方案實(shí)現(xiàn)成本與性能的完美平衡。
    的頭像 發(fā)表于 08-06 16:14 ?1893次閱讀
    <b class='flag-5'>MCXN947</b>系列高性能微控制器產(chǎn)品介紹

    FRDM-MCXN947的純Linux命令行環(huán)境搭建

    10000-commandfile /mnt/MyNAS/walker/work/rt-thread/bsp/nxp/mcx/mcxn/frdm-mcxn947/flash.jlin
    發(fā)表于 07-28 22:55