在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

mm32-2nd-bootloader配置軟硬件環境

靈動MM32MCU ? 來源:靈動MM32MCU ? 2023-03-08 13:51 ? 次閱讀

1

引言

需求

MM32F5 系列微控制器具備 QSPI 接口,可以外接 QSPI Flash,擴大可使用的 Flash 空間,從而滿足那些需要大 Flash 空間應用的需求,讓 Flash 空間的大小不再成為限制應用開發的瓶頸。

但使用 QSPI Flash 之前,還需要對 QSPI 接口進行配置,然后才能執行存儲在 QSPI Flash 上的代碼,這讓應用程序的開發變得復雜。

因此,需要一些解決方案,能夠讓用戶盡可能無感地使用 QSPI Flash 存儲應用程序。

案例

以 MM32F5277E9PV 微控制器為例,這個微控制器搭載著 ArmChina STAR-MC1 內核,主頻可達 120MHz,擁有 256KB Flash 和 128KB SRAM,使用這塊芯片,可以實現一些 “復雜的應用”,例如,運行一個帶有 GUI 功能的應用。

在編譯這個 “復雜的應用” 時,編譯器可能會報錯,顯示缺少足夠 Flash 空間;這個應用可能包含了圖片,字庫,好幾個協議棧,所需要的 Flash 空間非常大,一般微控制器不會擁有這么大的片內 Flash。因此,需要外接一個 QSPI Flash 來解決這個問題。

MM32F5270 系列微控制器帶有 QSPI 接口,可以使用 QSPI Flash 來擴展微控制器可使用的 Flash 空間;如果擔心外接 QSPI Flash 占據 PCB 空間,則可使用 MM32F5280 系列微控制器,該微控制器合封有一塊 1MB ~ 2MB 的 QSPI Flash,無需考慮 QSPI Flash 的電路,節省 PCB 面積。

通過外接 QSPI Flash,就可以擁有足夠的空間來實現這個 “復雜的應用”。但開發應用時,仍希望像使用片內 Flash 那樣使用 QSPI Flash:下載程序的時候,直接點擊 IDE 的下載按鈕,就能下載程序;調試代碼的時候,直接點擊調試按鈕,就能進行軟件調試;只需少量修改代碼,就能讓應用程序保存在 QSPI Flash 中,讓微控制器直接執行。

為了讓 IDE 下載程序到 QSPI Flash 中,需要有一個合適的下載算法。為了讓編譯器知道應用程序要保存在 QSPI Flash 中,需要修改 Linker 文件,讓編譯器知道 QSPI Flash 的地址范圍。為了讓微控制器執行存儲在 QSPI Flash 中的程序,還需要實現合適的 2nd Bootloader ,引導微控制器去執行 QSPI Flash 中的程序。

目標

在 MDK 平臺上實現定制化的下載算法,可將應用程序下載到 QSPI Flash 中。

盡可能少地改動應用程序代碼,使其能夠存儲在 QSPI Flash 中。

實現簡單的 2nd Bootloader,使其能夠引導微控制器執行存儲在 QSPI Flash 中的應用程序。

在上述的 2nd Bootloader 的基礎上,實現量產下載,更新應用程序等特殊功能。

2

配置硬件環境

硬件環境

QSPI Flash

工欲善其事,必先利其器,想在 QSPI Flash 上存儲應用程序,就需要選擇一款合適的 QSPI Flash 芯片。

選型時,需要重點關注工作電壓的范圍,部分 QSPI Flash 的工作電壓在 1.8V 左右,如果使用 3.3V 供電,是沒辦法正常工作的,反之亦然。

除了電壓范圍外,部分 QSPI Flash 芯片在默認情況下,是不允許使用四線模式的,原本 QSPI 的 D2 & D3 引腳會被用于寫保護使能(WP)和 HOLD 使能。讓 QSPI Flash 允許使用四線模式的方法,需參照使用的 QSPI Flash 芯片手冊進行操作。建議使用默認處于四線模式的 QSPI Flash,或者在設計 2nd Bootloader 時,能在跳轉到應用程序之前,將四線模式打開。

MM32F5 系列的微控制器支持大多數常見的 QSPI Flash,表1中列舉的 QSPI Flash 芯片為經過實際測試可用的 QSPI Flash 芯片:

表1 測試可用的 QSPI Flash 列表

91b44c0e-baa6-11ed-bfe3-dac502259ad0.png

MCU

硬件電路設計時,需要了解微控制器的哪些引腳可作為 QSPI 接口,表2 是 MM32F5270 系列微控制器的 QSPI 接口引腳:

表2 MM32F5270 系列微控制器 QSPI 接口引腳

91c624a6-baa6-11ed-bfe3-dac502259ad0.png

其引腳配置如下:

引腳模式:復用推挽輸出。

引腳速度:高速模式,QSPI 的 SCK 時鐘最快可達 60MHz,因此應配置成高速模式。

引腳復用功能號:巧合的是,當引腳作為 QSPI 接口時,復用功能號均為 AF10。

表3 為MM32F5280 系列微控制器的引腳:

表3 MM32F5280的QSPI引腳

91d4b32c-baa6-11ed-bfe3-dac502259ad0.png

可以發現,MM32F5280 系列微控制器只有一組引腳可作為 QSPI 接口,并且這些引腳并沒有引出到芯片外部,這是由于 MM32F5280 系列微控制器內部合封了 QSPI Flash,其引腳已經在芯片內部與 QSPI Flash 相連,不需要再引出至芯片外部。

雖然 MM32F5280 片內合封了 QSPI Flash,對應的引腳也直接與其相連,但在使用這塊 QSPI Flash 時,仍需配置相應的引腳,其配置方法與 MM32F5270 完全一致。

由于 MM32F5280 系列微控制器將其 QSPI Flash 合封在了芯片內部,因此在 PCB 設計時,可減少外圍元件的數量,降低了產品成本。

當使用 MM32F5270 + QSPI Flash 的方案時,由于 QSPI 信號線暴露在微控制器外部,易受到外部電磁環境的干擾,可能無法以最快的速度(SCK 的頻率為 60MHz)訪問 QSPI Flash,但這個問題在 MM32F5280 上就不會出現。

當然,也正是由于 MM32F5280 系列微控制器的 QSPI Flash 合封在了芯片內部,如果想用使用更大的 Flash 時,還是需要使用 MM32F5270 + QSPI Flash 的方案。

Board

PLUS-F5270開發板

PLUS-F5270 板載華邦的 W25Q64JVSIQ,Flash 大小為 8MB (64Mb),3.3V 供電,默認情況下,四線模式處于打開狀態。

MM32F5270 連接該 QSPI Flash 所使用的引腳號如圖2所示:

9267086c-baa6-11ed-bfe3-dac502259ad0.png

圖2 MM32F5270連接的QSPI Flash引腳

在PLUS-F5270開發板上,MM32F5270芯片與QSPI Flash W25Q64的引腳對應關系如表4所示。

927c3890-baa6-11ed-bfe3-dac502259ad0.png

表4 PLUS-F5270開發板上MM32F5270與QSPI Flash W25Q64的引腳對應關系

在設計 MM32F5270 + QSPI Flash 的應用時,建議優先采用 PF6(QSPI_CS)、PG7(QSPI_SCK)、PG6(QSPI_D0)、PF8(QSPI_D1)、PF10(QSPI_D2)、PG8(QSPI_D3) 引腳,從而可使用 MM32F5280 MCU 無縫替換 MM32F5270。

軟件工具

在開發調試 MM32F5270 + QSPI Flash 這個 “復雜的應用” 時,需要一些軟件工具:

開發平臺

嵌入式軟件的開發需要一個軟件平臺,這個軟件平臺可以是 MDK,IAR,ARMGCC 等,本文將以 MDK 為例,開發并調試所需要的軟件。在官網(https://www.keil.com/download/product)頁面上,可下載MDK-ARM的安裝包并啟動安裝,使用 MDK 進行工程的調試與下載。

需要注意,MDK 的軟件版本最低為 5.37,且需使用 AC6 編譯器,舊版本 AC5 編譯器不支持編譯 STAR-MC1 平臺的軟件。

下載算法

不同于 SRAM,修改 Flash 中的內容時,需要先將 Flash 中的數據整塊擦除,再通過特殊的方法將數據寫入到 Flash 中,而不是直接往指定地址進行寫操作。因此,需要有一段中間程序,能夠幫助調試器將指定位置的數據,寫入到 Flash 中。

這段中間程序就叫做下載算法,它運行在 SRAM 中,在修改 Flash 中的內容前,調試器會先將下載算法通過 SWD 或其他調試接口加載到 SRAM 中并執行,然后再加載存放到 Flash 中的數據,讓存儲在 SRAM 中的下載算法將數據寫入到 Flash 中。

獲取下載算法有三種方式:

1

從 MCU 廠商的官網中下載相應 MCU 的 PACK 包中獲取。

2

從 MDK 的 Pack Installer 中獲取。

3

使用開發平臺提供的模板文件自行制作。

2nd Bootloader

2nd Bootloader 將會引導微控制器執行存放在 QSPI Flash 中的應用程序,之所以稱為 2nd Bootloader,是為了區分固化在微控制器內部的 1st Bootloader。當然,2nd Bootloader 也可以固化到微控制器中,作為 1st Bootloader 來使用,但那樣就失去了可定制化的意義。

2nd Bootloader 執行存儲在 QSPI Flash 上的應用程序之前,會先初始化 QSPI 外設,以及所用到的 GPIO 引腳,讓微控制器能夠通過訪問地址的形式訪問 QSPI Flash,就像訪問片內 Flash 那樣。當然,這只是 2nd Bootloader 最基本的功能,在此基礎上,還可以增加一些定制化的功能,例如為量產而準備的串口 + Ymodem 下載固件功能,或者增加 OTA 升級的方案。





審核編輯:劉清

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

    關注

    48

    文章

    7564

    瀏覽量

    151517
  • FlaSh
    +關注

    關注

    10

    文章

    1637

    瀏覽量

    148124
  • GUI
    GUI
    +關注

    關注

    3

    文章

    661

    瀏覽量

    39720
  • SRAM芯片
    +關注

    關注

    0

    文章

    65

    瀏覽量

    12107
  • QSPI接口
    +關注

    關注

    0

    文章

    14

    瀏覽量

    3371

原文標題:靈動微課堂 (第245講)|mm32-2nd-bootloader技術白皮書(1)——配置軟硬件環境

文章出處:【微信號:MindMotion-MMCU,微信公眾號:靈動MM32MCU】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    mm32-2nd-bootloader技術白皮書——配置軟硬件環境

    MM32F5 系列微控制器具備 QSPI 接口,可以外接 QSPI Flash,擴大可使用的 Flash 空間,從而滿足那些需要大 Flash 空間應用的需求,讓 Flash 空間的大小不再成為限制應用開發的瓶頸。
    發表于 03-08 13:49 ?292次閱讀

    支持過程級動態軟硬件劃分的RSoC設計與實現

    系統(RSoC),提出了一種過程級硬件透明編程模型,給出了過程級的硬件封裝方案;在分析軟硬件過程根本區別的基礎上,針對硬件過程開發了專門的管理模塊,并利用部分動態重構等技術,實現了
    發表于 05-28 13:40

    基于SoPC的狀態監測裝置的嵌入式軟硬件協同設計

    硬件部分,來滿足系統的性能指標。面向SoPC的軟硬件協同設計流程從目標系統構思開始。對一個給定的目標系統,經過構思,完成其系統整體描述,然后交給軟硬件協同設計的開發集成環境,由計算機
    發表于 01-22 16:41

    基于EDA 的嵌入式系統軟硬件劃分方法

    基于EDA 的嵌入式系統軟硬件劃分方法Hardware/Software Partitioning Method Based on Estimation of Distribution 摘要:針對嵌入式系統軟硬件協同設計中的軟硬件
    發表于 12-05 16:34 ?26次下載

    基于USB的串行通信軟硬件設計

    本文是基于USB的串行通信軟硬件設計的詳細介紹
    發表于 10-17 17:38 ?127次下載
    基于USB的串行通信<b class='flag-5'>軟硬件</b>設計

    USB的串行通信軟硬件設計

    USB的串行通信軟硬件設計
    發表于 09-04 10:08 ?14次下載
    USB的串行通信<b class='flag-5'>軟硬件</b>設計

    基于FPGA的軟硬件協同測試設計影響因素分析與設計實現

    軟硬件的開發階段中,測試結果直接關系到這個軟硬件能否順利進行調試應用。其中,硬件的測試往往容易受外界因素的影響,如環境、計算機設備等,可以通過一些仿真軟件來避免外界
    發表于 11-18 05:46 ?1929次閱讀

    軟硬件協同設計機遇與挑戰分析

    軟硬件協同設計是指對系統中的軟硬件部分使用統一的描述和工具進行集成開發,可完成全系統的設計驗證并跨越軟硬件界面進行系統優化,軟硬件協同設計是嵌入式技術發展的一大趨勢,本PPT文件是賽靈
    發表于 11-25 03:45 ?726次閱讀

    基于FPGA芯片的軟硬件平臺的使用

    基于FPGA芯片的軟硬件平臺的使用
    發表于 07-01 09:35 ?20次下載

    為什么要從“軟硬件協同”走向“軟硬件融合”?

    軟件和硬件需要定義好交互的“接口”,通過接口實現軟硬件的“解耦”。例如,對CPU來說,軟硬件的接口是指令集架構ISA:ISA之下的CPU處理器是硬件,指令集之上的各種程序、數據集、文件
    的頭像 發表于 12-07 14:23 ?2738次閱讀

    mm32-2nd-bootloader技術進階設計:實現Ymodem更新代碼

    前文中實現了一款簡單的 2nd Bootloader,能夠跳轉執行存儲在 QSPI Flash 中的應用程序,但 2nd Bootloader 如果僅僅只是用于跳轉執行程序的話,豈不是
    的頭像 發表于 06-09 09:28 ?1962次閱讀
    <b class='flag-5'>mm32-2nd-bootloader</b>技術進階設計:實現Ymodem更新代碼

    國產軟硬件龍芯系列迅為2K1000開發板配置 nand flash

    國產軟硬件龍芯系列迅為2K1000開發板配置 nand flash
    的頭像 發表于 04-12 14:10 ?1178次閱讀
    國產<b class='flag-5'>軟硬件</b>龍芯系列迅為<b class='flag-5'>2</b>K1000開發板<b class='flag-5'>配置</b> nand flash

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

    mm32-2nd-bootloader技術白皮書(5)——編譯可在QSPI Flash上運行的程序
    的頭像 發表于 10-24 16:14 ?502次閱讀
    <b class='flag-5'>mm32-2nd-bootloader</b>技術白皮書(5)——編譯可在QSPI Flash上運行的程序

    軟硬件融合的概念和內涵

    跟很多朋友交流,當提到軟硬件融合的時候,他們會這么說:“軟硬件融合,難道不是顯而易見嗎?我感覺在二三十年前就已經有這個概念了。”在他們的想法里,其實:軟硬件融合等同于軟硬件協同,甚至等
    的頭像 發表于 10-17 14:36 ?1565次閱讀
    <b class='flag-5'>軟硬件</b>融合的概念和內涵

    機器視覺系統讀取二維碼-軟硬件配置方案

    機器視覺系統讀取二維碼-軟硬件配置方案
    的頭像 發表于 05-24 00:56 ?643次閱讀
    機器視覺系統讀取二維碼-<b class='flag-5'>軟硬件</b><b class='flag-5'>配置</b>方案
    主站蜘蛛池模板: 男女爱爱福利| 午夜视频在线观看免费观看在线观看| 午夜神马影院| 我不卡午夜| 日本黄页网址| 国产巨大bbbb天美| 亚洲性夜| 亚洲精品在线视频观看| 久婷婷| 一级无毛片| 手机在线黄色| 男人天堂色男人| 国产日本三级在线播放线观看| 97菊爱网| 免费一级黄| 欧美成人性色区| 老师喂我吃她的奶水脱她胸罩| 亚洲国产精品嫩草影院| 日本午夜片成年www| 狠狠插综合网| 五月天婷五月天综合网在线| 九九精品影院| 亚洲一区三区| 性视频网| 毛片多多| 亚洲国产第一区二区香蕉| 奇米小说| 57pao成人永久免费视频| 种子 在线播放| 日韩综合色| 国产毛片一区二区三区精品| 五月天婷婷在线观看| 国产免费午夜| 男女交性动态免费视频| 四虎永久免费地址| 黄色视屏在线免费观看| 天天射天天射天天射| 四虎黄色网| 调教r18车肉高h男男| 日本一卡二卡≡卡四卡精品| 国产高清视频在线播放www色|