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

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

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

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

如何通過(guò)STM32CubeMX制作外部Flash的燒寫(xiě)驅(qū)動(dòng) (.stdlr)

STM32單片機(jī) ? 來(lái)源:STM32單片機(jī) ? 作者:STM32單片機(jī) ? 2021-01-08 17:56 ? 次閱讀

通過(guò) STM32CubeMX制作外部Flash的燒寫(xiě)驅(qū)動(dòng) (.stdlr)

前言

目前,越來(lái)越多的應(yīng)用需要擴(kuò)展外部的Flash來(lái)滿足存儲(chǔ)需求。那么,在調(diào)試及批量生產(chǎn)的過(guò)程中,需要對(duì)外擴(kuò)的Flash進(jìn)行燒錄操作。由于STM32 ST-LINK Utility以及STM32CubeProgrammer中,對(duì)Flash支持的型號(hào)有限,只能覆蓋一部分MCU和Flash的型號(hào),無(wú)法完全滿足客戶的需求。而且,它提供的external loader的制作模板存在覆蓋的芯片型號(hào)較少,且無(wú)法前期QSPI Flash調(diào)試的問(wèn)題。本文旨在提供一種通過(guò)stm32CubeMX制作external Flash loader的方法。客戶可以根據(jù)自己的型號(hào),進(jìn)行定制化的生成。本文中,以某客戶實(shí)際使用的MCU(STM32H750) 和Flash(S25LP128F) 為例進(jìn)行講解。

準(zhǔn)備工作

安裝STM32CubeIDE

安裝MCU對(duì)應(yīng)型號(hào)的HAL庫(kù)

External loader開(kāi)發(fā)

External Loader的開(kāi)發(fā)分成三個(gè)部分,第一部分是使用STM32CubeMX進(jìn)行工程的配置及生成。第二部分是外部Flash的驅(qū)動(dòng)調(diào)試,主要包含初始化,擦除,寫(xiě)入以及讀出等操作。第三部分調(diào)用驅(qū)動(dòng)函數(shù)進(jìn)行external loader的生成,包括外部Flash信息的定義,包括Flash容量的大小,page的大小,以及Sector相關(guān)的信息;第三步中external loader所需要的代碼及對(duì)應(yīng)器件的驅(qū)動(dòng),可以在下面的GitHub倉(cāng)庫(kù)中獲取,同時(shí)也歡迎大家將自己調(diào)試好的器件驅(qū)動(dòng)提交到該倉(cāng)庫(kù)。

地址:

https://github.com/WellinZHANG/External_Loader

使用STM32CubeMX生成工程

此處,我們使用STM32CubeIDE集成的STM32CubeMX進(jìn)行工程的配置和生成。

新建工程

選擇對(duì)應(yīng)的器件,填入工程名稱,并選擇存放位置:

d80f9e9c-5194-11eb-8b86-12bb97331649.png

d851d1c2-5194-11eb-8b86-12bb97331649.png

管腳配置

按照硬件原理圖選擇好對(duì)應(yīng)的Flash管腳,此處選擇為Bank2,配置如下圖。注意調(diào)整管腳的速度為High,同時(shí)使能QSPI的中斷。FlashSize值設(shè)置為N,F(xiàn)lash的大小配置2N+1。

d87ae382-5194-11eb-8b86-12bb97331649.png

d8ac1b8c-5194-11eb-8b86-12bb97331649.png

時(shí)鐘配置

根據(jù)板子上的時(shí)鐘源,進(jìn)行對(duì)應(yīng)的時(shí)鐘配置,此處采用內(nèi)部作為系統(tǒng)PLL的時(shí)鐘源。

d916912e-5194-11eb-8b86-12bb97331649.png

生成工程

切換到Code Generator選項(xiàng)卡,勾選“Generate perioheral initialization as pair of ‘.c/.h’files per peripheral”選項(xiàng)。

d949fd5c-5194-11eb-8b86-12bb97331649.png

調(diào)試QSPI驅(qū)動(dòng)

從開(kāi)篇提到的GitHub倉(cāng)庫(kù)中獲取相關(guān)的驅(qū)動(dòng)代碼。

d986c692-5194-11eb-8b86-12bb97331649.png

第一步

將External-Loaders QSPI testing目錄mian_test.c中的代碼添加到工程中對(duì)應(yīng)的main.c文件中。

d99d05d8-5194-11eb-8b86-12bb97331649.png

d9cbe81c-5194-11eb-8b86-12bb97331649.png

da5a4aee-5194-11eb-8b86-12bb97331649.png

da904932-5194-11eb-8b86-12bb97331649.png

注意添加代碼時(shí)保留USER CODE BEGIN x和USER CODE END x標(biāo)簽,否則添加的代碼會(huì)在Cube MX重新生成代碼時(shí)被覆蓋掉。

第二步

將External-LoadersQSPI DriversIS25LP128F目錄下的QSPI的HAL驅(qū)動(dòng)文件替換工程中對(duì)應(yīng)的文件。

dabff8c6-5194-11eb-8b86-12bb97331649.png

第三步

打開(kāi)CubeMX,重新生成工程。因?yàn)闉榱诉m配所有系列的QSPI接口,GitHub所提供QSPI的HAL驅(qū)動(dòng)中,沒(méi)有提供相應(yīng)的QSPI外設(shè)配置函數(shù),需要通過(guò)CubeMX來(lái)生成。

dad60e04-5194-11eb-8b86-12bb97331649.png

第四步

如上圖所示由于每個(gè)型號(hào)的FLASH的控制指令略有差別,所以在此步需要根據(jù)自己選用的QPSI FLASH器件進(jìn)行調(diào)整。同時(shí)需要進(jìn)行調(diào)試QSPI的讀寫(xiě)是否正常。如果QSPIF lash讀寫(xiě)不正常,那么在下圖中標(biāo)注的位置添加斷點(diǎn),就可以排查是哪一個(gè)環(huán)節(jié)出錯(cuò),進(jìn)一步對(duì)驅(qū)動(dòng)進(jìn)行調(diào)整。

db19c4c8-5194-11eb-8b86-12bb97331649.png

修改配置生成QSPI Loader

完成QSPI的驅(qū)動(dòng)調(diào)試之后,我們需要添加生成external Loader所需要的代碼并修改對(duì)應(yīng)的配置。

第一步

添加對(duì)應(yīng)的代碼,存放在External-LoadersLoader_Files目錄下,由于H7和其他的系列的linker file有所區(qū)別,所以此處分為H7和others兩個(gè)文件夾進(jìn)行存放。我們此處選用H7目錄下的問(wèn)題件。將所有的文件添加到工程中。

db42080c-5194-11eb-8b86-12bb97331649.png

db580292-5194-11eb-8b86-12bb97331649.png

第二步

修改Dev_Inf.c中的name為你想設(shè)置的名稱,一般設(shè)置為MCU+Flash名稱。

db95168c-5194-11eb-8b86-12bb97331649.png

第三步

修改Linker的配置,通過(guò)“project”-> “Properties ”打開(kāi)設(shè)置頁(yè)。將紅框內(nèi)的ld文件修改為linker.ld.(已經(jīng)在第一步中添加到工程)。

dc083720-5194-11eb-8b86-12bb97331649.png

第四步

修改配置,編譯后生成stdlr文件。通過(guò)“project”-> “Properties ”打開(kāi)設(shè)置頁(yè),在 “post build steps”處添加如下指令:

dc39e3ba-5194-11eb-8b86-12bb97331649.png

最后,編譯便可在工程目錄下生成對(duì)應(yīng)的stdlr文件。將其復(fù)制到STM32CubeProgrammer安裝目錄下的extral loader文件夾下,便可使用。

dc7d8dd6-5194-11eb-8b86-12bb97331649.png

總結(jié)

通過(guò)該方法可以快速的生成一個(gè)外部燒寫(xiě)腳本對(duì)外部的QSPI FLASH進(jìn)行燒錄。

責(zé)任編輯:xj

原文標(biāo)題:工程師筆記 | 通過(guò) STM32CubeMX制作外部Flash的燒寫(xiě)驅(qū)動(dòng) (.stdlr)

文章出處:【微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(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

    文章

    1644

    瀏覽量

    148707
  • 驅(qū)動(dòng)
    +關(guān)注

    關(guān)注

    12

    文章

    1852

    瀏覽量

    85665
  • STM32
    +關(guān)注

    關(guān)注

    2272

    文章

    10925

    瀏覽量

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

    關(guān)注

    0

    文章

    57

    瀏覽量

    14372

原文標(biāo)題:工程師筆記 | 通過(guò) STM32CubeMX制作外部Flash的燒寫(xiě)驅(qū)動(dòng) (.stdlr)

文章出處:【微信號(hào):STM32_STM8_MCU,微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32CubeMX的菜單介紹

    相信初學(xué)者打開(kāi)STM32CubeMX一定是一臉懵逼,里面都是全英文的,不知道從何入手。這里先給大家簡(jiǎn)單講解一下。在新建工程這一欄里,我們最常用的是第一個(gè),它會(huì)彈出一個(gè)芯片列表供你選擇,然后就會(huì)創(chuàng)建一
    的頭像 發(fā)表于 12-25 21:03 ?179次閱讀
    <b class='flag-5'>STM32CubeMX</b>的菜單介紹

    STM32CUBEMX(10)--Flash讀寫(xiě)

    概述 本例程主要講解如何對(duì)芯片自帶Flash進(jìn)行讀寫(xiě),用芯片內(nèi)部Flash可以對(duì)一些需要斷電保存的數(shù)據(jù)進(jìn)行保存,無(wú)需加外部得存儲(chǔ)芯片,本例程采用的是STM32F030R8T6,64K大
    發(fā)表于 09-10 15:36

    如何使用STM32CubeMX修改STM32Cube_FW_MP2?

    在該固件包中我找不到任何通過(guò)STM32CubeMX生成的.ioc文件
    發(fā)表于 07-24 06:17

    求助,沒(méi)有內(nèi)部外部flash的esp32 s3可以寫(xiě)程序到里面嗎?

    沒(méi)有內(nèi)部外部flash的esp32 s3可以寫(xiě)程序到里面嗎
    發(fā)表于 07-01 07:12

    STM32CUBEMX界面重影嚴(yán)重的原因?怎么解決?

    STM32CUBEMX 界面重影嚴(yán)重,有相同問(wèn)題的嗎
    發(fā)表于 06-03 07:46

    使用STM32CubeMX為Keil(uVision)制作了新項(xiàng)目,在Keil中卻顯示出許多錯(cuò)誤的原因?

    我在 stm32CubeIDE 中實(shí)現(xiàn)了 WIFI 網(wǎng)橋,因此我想移動(dòng)我的項(xiàng)目。 然后,我使用 STM32CubeMX 為 Keil(uVision)制作了新項(xiàng)目。 但在 Keil 中卻顯示出許多錯(cuò)誤,而且構(gòu)建時(shí)間將近 20 分
    發(fā)表于 05-31 07:06

    stm32cubemx配置單片機(jī)的USB外設(shè)為CDC模式,寫(xiě)程序時(shí)出錯(cuò)怎么解決?

    我用的單片機(jī)型號(hào)是STM32L496VGT3,按照網(wǎng)上的教程用STM32CUBEMX將單片機(jī)的USB外設(shè)配置為CDC模式,生成代碼之后在寫(xiě)程序是總是提示下面的錯(cuò)誤,請(qǐng)問(wèn)有哪位遇到過(guò)類
    發(fā)表于 04-29 08:09

    STM32CUBEMX配置STM32L496VGT3芯片,寫(xiě)的時(shí)候報(bào)錯(cuò)的原因?

    本人現(xiàn)在在用STM32CUBEMX配置STM32L496VGT3芯片,并按照網(wǎng)上的教程將芯片的USB外設(shè)配置為了CDC類,但是在寫(xiě)的時(shí)候出現(xiàn)了如下錯(cuò)誤,請(qǐng)問(wèn)想要PC機(jī)能夠識(shí)別USB設(shè)
    發(fā)表于 04-28 07:13

    使用STM32CubeMX生成代碼,調(diào)試始終都不通過(guò)是為什么?

    我使用STM32CubeMX生成代碼,調(diào)試始終都不通過(guò),請(qǐng)大家給給意見(jiàn)!! 故障現(xiàn)象:電腦識(shí)別為Mass Storage但無(wú)法安裝驅(qū)動(dòng)失敗,用抓包軟件觀察為“Set Configration
    發(fā)表于 04-28 06:04

    STM32Cubemx驅(qū)動(dòng)STME32F407的TFTLCD花屏是什么原因?qū)е碌模?/a>

    STM32Cubemx 驅(qū)動(dòng)STME32F407的TFTLCD始終花屏,求幫助,謝謝
    發(fā)表于 04-18 06:02

    STM32cubemx的庫(kù)和KEIL的庫(kù)有什么不同?

    STM32cubemx軟件有對(duì)應(yīng)各個(gè)系列芯片的庫(kù). 使用cubemx,生成代碼框架,比如生成MDK的代碼框架。但MDK也有自己的PACK。那么MDK的PACK和CUBEMX的庫(kù)有什么區(qū)別,兩者時(shí)什么關(guān)系呢?
    發(fā)表于 04-11 06:02

    stm32cubemx customHID編譯了,用usb連電腦但是Demonstrator刷不到這個(gè)驅(qū)動(dòng)是為什么?

    stm32cubemx的pack包里的 官方源代碼customHID編譯了,用usb連電腦,但是Demonstrator刷不到這個(gè)驅(qū)動(dòng)
    發(fā)表于 04-02 07:43

    STM32H743ZIT6 keil程序不進(jìn)去,寫(xiě)報(bào)錯(cuò)的原因?怎么解決?

    out...,且有時(shí)能識(shí)別JTAG,有時(shí)只能識(shí)別SWD. 3.嘗試了方法: 1)重新寫(xiě)其他程序(從stm32cubemx 只配置jtag 5pin +1個(gè)GPIO點(diǎn)燈),同樣不能
    發(fā)表于 03-27 06:36

    STM32CUBEMX界面重影嚴(yán)重怎么解決?

    STM32CUBEMX 界面重影嚴(yán)重,有相同問(wèn)題的嗎
    發(fā)表于 03-14 07:13

    STM32Cubemx配置USB虛擬串口,電腦無(wú)法識(shí)別怎么解決?

    STM32Cubemx配置USB虛擬串口,電腦無(wú)法識(shí)別問(wèn)題?(上拉和驅(qū)動(dòng)都配置好了)
    發(fā)表于 03-08 07:00
    主站蜘蛛池模板: 久久青草国产手机看片福利盒子 | 黄色小毛片| 国产精品亚洲精品日韩动图 | 免费视频在线视频观看1 | 久久99久久99精品免观看 | 色性综合 | 嗯好舒服好爽好快好大 | 在线观看日本免费视频大片一区 | 久久免费福利视频 | 毛片2016免费视频 | 4438x成人网最大色成网站 | 天天爱天天做天天干 | 永久免费在线播放 | 黄色毛片免费网站 | 国产亚洲情侣久久精品 | 午夜精品久久久久久 | 天天干夜夜爽天天操夜夜爽视频 | 国产色婷婷精品免费视频 | 9984四虎永久免费网站 | 一区二区三区四区视频在线 | 五月天婷婷基地 | 天天干b | 欧美乱乱 | 色噜噜亚洲男人的天堂 | 操操操操操 | 中文字幕人成不卡一区 | 一级做a爱片就在线看 | 四虎4hu影库免费永久国产 | 婷婷的五月 | 色激情综合 | 免看乌克兰a一级 | 欧美综合国产精品日韩一 | 激情综合在线 | 成人网18免费下 | 在线观看视频网站 | h在线观看视频 | 黑森林福利视频导航 | ccc36色影 | 亚洲 欧洲 另类 综合 自拍 | 视频在线一区二区 | 老色鬼久久综合第一 |