chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

mm32-2nd-bootloader技術(shù)白皮書(shū)(5)——編譯可在QSPI Flash上運(yùn)行的程序

jf_pJlTbmA9 ? 來(lái)源:靈動(dòng)MM32MCU ? 作者:靈動(dòng)MM32MCU ? 2023-10-24 16:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

相關(guān)閱讀:

mm32-2nd-bootloader技術(shù)白皮書(shū)(1)——配置軟硬件環(huán)境

mm32-2nd-bootloader技術(shù)白皮書(shū)(2)——QSPI外設(shè)簡(jiǎn)介

mm32-2nd-bootloader技術(shù)白皮書(shū)(3)——設(shè)計(jì)實(shí)現(xiàn)QSPI Flash的下載算法

mm32-2nd-bootloader技術(shù)白皮書(shū)(4)——設(shè)計(jì)實(shí)現(xiàn)簡(jiǎn)單的2nd bootloader

引言

在前文中已經(jīng)實(shí)現(xiàn)了一個(gè)能夠在 MDK 平臺(tái)進(jìn)行下載代碼到 QSPI Flash 中的下載算法,以及一個(gè)能跳轉(zhuǎn)執(zhí)行應(yīng)用程序的 2nd Bootloader,但若想將代碼下載到 QSPI Flash上并運(yùn)行,仍需對(duì)所需執(zhí)行的代碼文件進(jìn)行少量的修改,使其能夠在 QSPI Flash 上運(yùn)行。

修改Linker文件

本文將 MindSDK 的 PLUS-F5270 hello_world 樣例工程作為所需執(zhí)行的文件,可通過(guò) MindSDK 官網(wǎng) (https://mindsdk.mindmotion.com.cn/) 獲取該樣例,如圖 1 所示。

wKgaomUDyeeAPtGjAACYsSnePz0705.png

圖1 通過(guò)官網(wǎng)獲取 MindSDK PLUS-F5270 hello_world樣例工程

打開(kāi) hello_world 樣例工程,在Options for Target選項(xiàng)的Linker頁(yè)面下,找到Scatter File選項(xiàng),該選項(xiàng)中內(nèi)容為 Linker 所使用的 Scatter File 文件路徑,點(diǎn)擊該選項(xiàng)右側(cè)的Edit,此時(shí)樣例工程中會(huì)彈出對(duì)應(yīng)的 Scatter File 文件界面,如圖 2 所示。

wKgZomUDyemAGMhlAABwZ-T2r9Q427.png

圖2 打開(kāi)scatter file文件界面

在彈出的 mm32f5277e_flash.scf 文件中,需要根據(jù) QSPI 的存儲(chǔ)器映像配置__ROM_BASE的數(shù)值,QSPI 外設(shè)的基礎(chǔ)地址為 0x90000000,這個(gè)地址值來(lái)自于微控制器的用戶手冊(cè)的 “地址映射” 章節(jié),如圖 3 所示。因此,__ROM_BASE的數(shù)值應(yīng)該為 0x90000000。

wKgZomUDyeqAW5w0AADqlRbgj2I868.png

圖3 QSPI 外設(shè)的存儲(chǔ)器映像編址范圍

QSPI Flash 的大小為8MB,其中 8MB = 8 * 1024 *1024 = 8388608,換算為 16 進(jìn)制是 0x00800000,因此,__ROM_SIZE的數(shù)值應(yīng)該為 0x00800000。

Scatter File文件的內(nèi)容修改如下:

...
/*---------------------FlashConfiguration----------------------------------
;FlashConfiguration
;FlashBaseAddress<0x0-0xFFFFFFFF:8>
;FlashSize(inBytes)<0x0-0xFFFFFFFF:8>
;
*----------------------------------------------------------------------------*/
#define__ROM_BASE0x90000000
#define__ROM_SIZE0x00800000
...

修改源代碼

在配置好 Linker 所需的 Scatter File 文件后,需要對(duì)將要執(zhí)行的文件進(jìn)行檢查,去除可能會(huì)影響到 QSPI Flash 運(yùn)行的代碼,需要檢查的點(diǎn)如下:

檢查時(shí)鐘初始化部分:

是否存在復(fù)位 QSPI 模塊的時(shí)鐘或復(fù)位 QSPI 所使用的 GPIO 引腳時(shí)鐘的情況

若存在復(fù)位 QSPI 模塊,則處理器將無(wú)法從 QSPI Flash 中讀取下一個(gè)要執(zhí)行的指令。

若存在復(fù)位 QSPI 使用引腳的時(shí)鐘,則運(yùn)行到引腳時(shí)鐘復(fù)位后,GPIO 復(fù)位,引腳不再作為 QSPI 的接口,因此將會(huì)影響到 QSPI 與 QSPI Flash 之間的通信

在 “hello_world” 工程中,以上代碼可能會(huì)出現(xiàn)在 board 目錄下的 “clock_init.c” 中。

檢查引腳初始化部分:

是否占用 QSPI 所使用的引腳

若引腳初始化時(shí),占用 QSPI 所需引腳,將會(huì)影響與 QSPI Flash 的通信

在 “hello_world” 工程中,以上代碼可能會(huì)出現(xiàn)在 board 目錄下的 “pin_init.c” 中。

不能出現(xiàn)以間接模式操作 QSPI Flash 的代碼

若執(zhí)行間接模式操作 QSPI Flash 的代碼,會(huì)中斷直接讀模式,而直接讀模式是執(zhí)行存儲(chǔ)在 QSPI Flash 的應(yīng)用程序的基礎(chǔ),因此,執(zhí)行間接模式操作 QSPI Flash 的代碼會(huì)使應(yīng)用程序跑飛。

在 “hello_world” 工程中,沒(méi)有執(zhí)行間接模式操作 QSPI Flash 的代碼。

添加下載算法到可執(zhí)行文件

該可執(zhí)行樣例最終將在 QSPI Flash 中存儲(chǔ)并運(yùn)行,因此,需要添加根據(jù)實(shí)際所使用的 QSPI Flash芯片而配置的下載算法到樣例工程中,以幫助調(diào)試器將指定位置的數(shù)據(jù)寫(xiě)入 Flash。

以配置完成的 PLUS-F5270 hello_world 樣例工程為例,打開(kāi)Options for Target的Debug頁(yè)面,選擇Settings選項(xiàng)進(jìn)入Cortex Jlink/JTrace Target Driver Setup頁(yè)面的Flash Download,選擇Add選項(xiàng),進(jìn)入下載算法選擇列表,選擇前文中設(shè)置好的MM32F5270 QSPI FlashLoader下載算法,點(diǎn)擊Add進(jìn)行添加,如圖 4 所示。

wKgaomUDyeyAKPSpAAJerYMOsEQ867.png

圖4 添加下載算法到可執(zhí)行文件中

此處需注意,若下載算法的大小大于Flash Download中RAM for Algorithm的Size選項(xiàng)中的大小,會(huì)導(dǎo)致在下載時(shí)出現(xiàn) "Cannot Load Flash Programming Algorithm" 的問(wèn)題,此時(shí)需適當(dāng)將Size的大小調(diào)大一些,本文中設(shè)置Size為 0x2000。

驗(yàn)證

配置完成在 QSPI Flash 上運(yùn)行的可執(zhí)行文件后,可嘗試使用下載算法將整個(gè)工程下載到 QSPI Flash 中并使用 2nd Bootloader 執(zhí)行這個(gè)工程。

先將前文中實(shí)現(xiàn)運(yùn)行在片內(nèi) Flash 的 2nd Bootloader 下載到 PLUS-F5270 開(kāi)發(fā)板中,再將已經(jīng)配置好的添加了下載算法的 hello_world 樣例工程下載到開(kāi)發(fā)板中的 QSPI Flash 中。下載成功后復(fù)位微控制器,通過(guò)串口調(diào)試器可看到輸出字符 "hello_world"。

wKgZomUDye6ACooQAABuyug3hqw365.png

圖5 使用QSPI Flash的hello_world樣例工程運(yùn)行結(jié)果

在調(diào)試模式下,可以從 Disassemby 窗口觀察到進(jìn)入main函數(shù)后地址處于 0x90000950,屬于 QSPI Flash 的范圍內(nèi),由此可見(jiàn),整個(gè) hello_world 下載到 QSPI Flash中并且正確運(yùn)行。

wKgZomUDyfCAcJK8AARl77P_q-k140.png

圖6 通過(guò)調(diào)試查看樣例起始地址

至此,已經(jīng)驗(yàn)證了下載算法可用, 2nd Bootloader 可用,修改后的樣例工程也可用。

但仍需驗(yàn)證下中斷是否可用,本文修改 hello_world 工程,驗(yàn)證 SysTick_Handler() 能否正確執(zhí)行。

volatileuint32_tsystime=0u;

intmain(void)
{
uint8_tch;

BOARD_Init();

printf("hello,worldrn");

SysTick_Config(CLOCK_SYSTICK_FREQ/1000u);

while(1)
{
if(systime>1000)
{
systime=0;
putchar('*');
}
}
}

voidSysTick_Handler()
{
systime++;
}

將修改后的樣例工程下載并運(yùn)行在 QSPI Flash 上,其結(jié)果如圖 7 所示。

wKgZomUDyfGACNTNAAB8k4Eo2d8694.png

圖7 驗(yàn)證SysTick中斷可用的樣例結(jié)果

至此,也驗(yàn)證了中斷也可正確執(zhí)行。

總結(jié)

為了編譯可在QSPI Flash上運(yùn)行的可執(zhí)行文件,需要作出以下兩件事:

修改 Linker 文件,將 ROM 的位置和大小修改為 QSPI Flash 的映射地址和大小

修改源代碼中所有可能會(huì)影響訪問(wèn)QSPI Flash的代碼,例如 GPIO 的配置,時(shí)鐘的配置等

可以發(fā)現(xiàn)編譯可在 QSPI Flash上運(yùn)行的可執(zhí)行文件并不難,因此可以輕松將應(yīng)用程序遷移到 QSPI Flash 里。

來(lái)源:靈動(dòng)MM32MCU

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

審核編輯 黃宇

聲明:本文內(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)投訴
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1713

    瀏覽量

    154621
  • bootloader
    +關(guān)注

    關(guān)注

    2

    文章

    241

    瀏覽量

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

    關(guān)注

    3

    文章

    1093

    瀏覽量

    51127
  • QSPI
    +關(guān)注

    關(guān)注

    0

    文章

    47

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    編譯可在QSPI Flash運(yùn)行程序

    在前文中已經(jīng)實(shí)現(xiàn)了一個(gè)能夠在 MDK 平臺(tái)進(jìn)行下載代碼到 QSPI Flash 中的下載算法,以及一個(gè)能跳轉(zhuǎn)執(zhí)行應(yīng)用程序2nd Bootload
    的頭像 發(fā)表于 03-31 09:50 ?4556次閱讀
    <b class='flag-5'>編譯</b><b class='flag-5'>可在</b><b class='flag-5'>QSPI</b> <b class='flag-5'>Flash</b><b class='flag-5'>上</b><b class='flag-5'>運(yùn)行</b>的<b class='flag-5'>程序</b>

    mm32-2nd-bootloader技術(shù)白皮書(shū)(7)——性能評(píng)估

    ?引言 上文描述了如何將一個(gè)樣例工程下載到 QSPI Flash運(yùn)行,那么就會(huì)有一個(gè)新的問(wèn)題:將應(yīng)用程序存儲(chǔ)在 QSPI
    的頭像 發(fā)表于 06-03 09:35 ?1996次閱讀
    <b class='flag-5'>mm32-2nd-bootloader</b><b class='flag-5'>技術(shù)</b><b class='flag-5'>白皮書(shū)</b>(7)——性能評(píng)估

    mm32-2nd-bootloader技術(shù)白皮書(shū)——配置軟硬件環(huán)境

    MM32F5 系列微控制器具備 QSPI 接口,可以外接 QSPI Flash,擴(kuò)大可使用的 Flash 空間,從而滿足那些需要大
    發(fā)表于 03-08 13:49 ?527次閱讀

    MiniGUI技術(shù)白皮書(shū) Tech WhitePaper

    MiniGUI技術(shù)白皮書(shū) Tech WhitePaper1 MiniGUI 簡(jiǎn)介
    發(fā)表于 03-28 12:23

    BFD技術(shù)白皮書(shū) 華為

    BFD技術(shù)白皮書(shū) 華為BFD(雙向轉(zhuǎn)發(fā)檢測(cè))是一套用來(lái)實(shí)現(xiàn)快速檢測(cè)的國(guó)際標(biāo)準(zhǔn)協(xié)議,提供一種輕負(fù)荷、持續(xù)時(shí)間短的檢測(cè)。與以往的其他“HELLO”檢測(cè)機(jī)制相比,具有許多獨(dú)到的優(yōu)勢(shì)。華為公司已經(jīng)在高端網(wǎng)絡(luò)產(chǎn)品實(shí)現(xiàn)了BFD
    發(fā)表于 12-12 10:12

    【經(jīng)典】智能電網(wǎng)白皮書(shū)資料匯編

    【經(jīng)典】智能電網(wǎng)白皮書(shū)資料匯編 工作、電路設(shè)計(jì)、方案設(shè)計(jì)等實(shí)戰(zhàn)中很多時(shí)候遇到的問(wèn)題在網(wǎng)上找不到好的解決辦法,主要是因?yàn)楣ぷ髦薪佑|的各個(gè)產(chǎn)品、電子元器件都是各大公司的產(chǎn)品,而這些公司產(chǎn)品、適合技術(shù)
    發(fā)表于 12-23 20:15

    最新的智能電網(wǎng)的白皮書(shū)資料

    ,因而遇到的這些問(wèn)題并非那些打從資料、技術(shù)方案所能解決的,所以自己就養(yǎng)成了搜集各大公司智能電網(wǎng)的白皮書(shū)的習(xí)慣。 下面各大公司2010年最新的智能電網(wǎng)的白皮書(shū)資料,在這里分享出來(lái),有需要的童鞋可以去看
    發(fā)表于 12-23 21:08

    【PPT】ASIC安全管理技術(shù)白皮書(shū)

    【PPT】ASIC安全管理技術(shù)白皮書(shū) 附件下載:
    發(fā)表于 02-24 11:32

    ZigBee白皮書(shū)

    ZigBee白皮書(shū)
    發(fā)表于 08-20 09:50

    數(shù)字/下變頻器:VersaCOMM?白皮書(shū)

    數(shù)字/下變頻器:VersaCOMM?白皮書(shū)
    發(fā)表于 07-08 09:33

    歐盟5GPPP 5G架構(gòu)白皮書(shū)概要介紹

    白皮書(shū)的總體情況該白皮書(shū)總結(jié)了歐盟5GPPP的16個(gè)項(xiàng)目在過(guò)去一年中的研發(fā)成果(涉及從5G物理層架構(gòu)到總體架構(gòu)、5G邏輯與功能架構(gòu)、
    發(fā)表于 07-11 06:24

    5G射頻測(cè)試技術(shù)白皮書(shū)解析

    5G射頻測(cè)試技術(shù)白皮書(shū)詳解
    發(fā)表于 01-13 06:33

    mm32-2nd-bootloader配置軟硬件環(huán)境

    MM32F5 系列微控制器具備 QSPI 接口,可以外接 QSPI Flash,擴(kuò)大可使用的 Flash 空間,從而滿足那些需要大
    的頭像 發(fā)表于 03-08 13:51 ?1499次閱讀

    mm32-2nd-bootloader技術(shù)進(jìn)階設(shè)計(jì):實(shí)現(xiàn)Ymodem更新代碼

    前文中實(shí)現(xiàn)了一款簡(jiǎn)單的 2nd Bootloader,能夠跳轉(zhuǎn)執(zhí)行存儲(chǔ)在 QSPI Flash 中的應(yīng)用程序,但
    的頭像 發(fā)表于 06-09 09:28 ?3887次閱讀
    <b class='flag-5'>mm32-2nd-bootloader</b><b class='flag-5'>技術(shù)</b>進(jìn)階設(shè)計(jì):實(shí)現(xiàn)Ymodem更新代碼

    FLASH燒寫(xiě)/編程白皮書(shū)

    白皮書(shū):如何燒寫(xiě)Flash——不同場(chǎng)景不同需求下的選擇認(rèn)識(shí)Flash?NAND vs. NOR如何燒寫(xiě)/編程不同方案比較
    發(fā)表于 07-28 16:05 ?0次下載