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

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

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

怎么樣實現(xiàn)燒寫算法FLM文件

單片機匠人 ? 來源:張飛實戰(zhàn)電子 ? 作者:黃忠老師 ? 2021-11-01 09:55 ? 次閱讀

當(dāng)我們在開發(fā)過程中用到MDK下載程序的時候可能都知道,在下載程序之前需要都在Debug設(shè)置的Flash Download子選項卡選擇編程算法。大多數(shù)時候,我們只要安裝了芯片包之后,就可以直接得到對應(yīng)的編程算法,并不需要我們?nèi)バ薷乃5?,?dāng)我們是一個芯片包的開發(fā)者,或者我們有獨特的下載需求(比如在程序里加入一些校驗信息),這個時候我們就需要去了解它了!

編程算法其實就是一段程序,主要功能就是擦除相應(yīng)的內(nèi)存塊,并將我們的程序?qū)懭氲较鄳?yīng)的內(nèi)存區(qū)域上去。在點擊下載按鈕的時候,這段程序會被先下載到RAM上(RAM for Algorithm上的設(shè)置),然后才會通過它,將用戶寫的程序?qū)懭氲街付ǖ膬?nèi)存區(qū)域內(nèi)。

怎么去實現(xiàn)一個自己的編程算法?首先我們找到自己的MDK的安裝路徑,進入到ARMFlash文件夾下。這里有個編程算法的工程模板,復(fù)制這個工程到你的工程文件夾下,重命名你自己的想要的名字。

打開工程,里面主要有兩個文件 FlashPrg.c 和 FlashDev.c:

FlashDev.c主要實現(xiàn)了一個設(shè)備相關(guān)的結(jié)構(gòu)體(根據(jù)自己的Flash情況去實現(xiàn))

5d793bf2-3a19-11ec-82a9-dac502259ad0.png

比如STM32F103實現(xiàn)如下:

5dd88800-3a19-11ec-82a9-dac502259ad0.png

FlashPrg.c實現(xiàn)了幾個Flash編程相關(guān)的函數(shù):

5e3d6dc4-3a19-11ec-82a9-dac502259ad0.png

根據(jù)自己的需要去實現(xiàn),從上面我們就可以看出,下載程序的時候就是調(diào)用了上面的幾個函數(shù),跟我們自己寫Flash沒有太大的區(qū)別。那么程序都編程完成之后,怎么生成FLM文件呢?我們先編譯工程,完成之后你去看你的工程輸出目錄,這個時候你就已經(jīng)可以找到FLM后綴的文件了,這個就是我們自己的編程算法,把它復(fù)制到 ‘ MDK安裝路徑 ’ARMFlash下面就可以了,在選項卡里選擇我們自己的編程算法就可以使用了。但是為什么我們自己的工程就生成不了FLM文件呢?工程中的.axf文件跟.FLM文件是一樣的,把.axf后綴改為.FLM即可。

責(zé)任編輯:haq

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

    關(guān)注

    452

    文章

    50206

    瀏覽量

    420889
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1614

    瀏覽量

    147655
  • PLM
    PLM
    +關(guān)注

    關(guān)注

    2

    文章

    101

    瀏覽量

    20822

原文標(biāo)題:燒寫算法FLM文件如何實現(xiàn)呢?

文章出處:【微信號:gh_e7f294a514ca,微信公眾號:單片機匠人】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    FPGA能實現(xiàn)什么算法?

    FPGA功能如此強大,請問用FPGA能實現(xiàn)或者比較適合實現(xiàn)什么算法?
    發(fā)表于 05-26 20:18

    STM8S207怎么限制hex文件次數(shù)?

    求問各位大神我們用的STM8S207芯片,開發(fā)環(huán)境IAR,程序編寫基本完成 批量生產(chǎn)打算讓合作的廠商自己程序,我們只按板子個數(shù)收費,但提供
    發(fā)表于 05-11 07:12

    請問ARM Cortex系列器哪個快一點?

    最近一個工程文件有點大,用STLink需要40多秒,CMSIS-CAP需要30秒左右,jlink沒試過,我還知道用帶USB的Boot
    發(fā)表于 05-10 06:15

    STM8S001可以用FLASH Loader DemoHEX文件嗎?

    STM8S001可以用FLASH Loader Demo HEX文件
    發(fā)表于 04-19 08:02

    STM32G0x0_OPT.FLM文件怎么在MDK工程里使用?

    STM32G0x0_128.FLM文件可以在工程里直接添加實現(xiàn)代碼的燒錄調(diào)試,但是STM32G0x0_OPT.FLM不知道如何使用?MDK工程要怎么修改?有例程嗎?
    發(fā)表于 03-29 06:33

    如何使用OPT_FLM文件實現(xiàn)解除讀保護功能?

    MDK工程里debug選項選擇燒錄的FLM文件就可以下載調(diào)試代碼,那OPT_FLM文件該怎么在工程里使用實現(xiàn)解除讀保護功能呢?直接在debu
    發(fā)表于 03-28 07:11

    bootloader的CAN,可以把hex文件進行壓縮嗎?

    bootloader的CAN,可以把hex文件進行壓縮嗎?
    發(fā)表于 02-20 08:28

    CMS-WRITER V8器用戶手冊

    電子發(fā)燒友網(wǎng)站提供《CMS-WRITER V8器用戶手冊.pdf》資料免費下載
    發(fā)表于 01-30 17:54 ?1次下載

    DshanMCU-R128s2 固件

    編譯系統(tǒng)源碼后,打包后生成的系統(tǒng)文件稱之為固件。固件一般為.img格式。把固件下載到開發(fā)板或者產(chǎn)品上的過程稱之為 固件 。
    的頭像 發(fā)表于 12-22 15:08 ?1066次閱讀
    DshanMCU-R128s2 <b class='flag-5'>燒</b><b class='flag-5'>寫</b>固件

    恩智浦LPC2378芯片的三種程序方法

    芯片解密我們得到燒錄碼之后又將面臨下一個難關(guān),那么就是芯片的;很多人表示為何程序明明是正確的,但為何自己燒錄的芯片就不能正常使用呢?致芯解密專家表示可能是參數(shù)設(shè)置有誤,下面我們將介紹恩智浦LPC2378芯片的三種
    的頭像 發(fā)表于 12-20 13:32 ?1802次閱讀
    恩智浦LPC2378芯片的三種<b class='flag-5'>燒</b><b class='flag-5'>寫</b>程序方法

    單片機的次數(shù)是不是無限的呢?單片機能燒錄多少次?

    單片機的次數(shù)是不是無限的呢?單片機能燒錄多少次? 單片機的次數(shù)是有限的,每款單片機都有一個特定的擦寫次數(shù)限制。當(dāng)
    的頭像 發(fā)表于 12-07 13:46 ?3783次閱讀

    基于RASC的keil電子時鐘制作(瑞薩RA)(4)----使用串口進行程序

    本篇文章主要介紹如何使用UART串口程序到瑞薩芯片,并以實際項目進行演示。
    的頭像 發(fā)表于 12-01 14:51 ?623次閱讀
    基于RASC的keil電子時鐘制作(瑞薩RA)(4)----使用串口進行程序<b class='flag-5'>燒</b><b class='flag-5'>寫</b>

    電子時鐘制作(瑞薩RA)(2)----使用串口進行程序

    本篇文章主要介紹如何使用UART串口程序到瑞薩芯片,并以實際項目進行演示。
    的頭像 發(fā)表于 12-01 13:58 ?697次閱讀
    電子時鐘制作(瑞薩RA)(2)----使用串口進行程序<b class='flag-5'>燒</b><b class='flag-5'>寫</b>

    用BurnTool給星閃芯片BS25程序

    本文介紹用BurnTool給星閃芯片BS25程序。
    的頭像 發(fā)表于 11-22 09:49 ?2384次閱讀
    用BurnTool給星閃芯片BS25<b class='flag-5'>燒</b><b class='flag-5'>寫</b>程序

    如何用BurnTool給海思的星閃芯片BS25程序?

    本文介紹用BurnTool給海思的星閃芯片BS25程序。
    的頭像 發(fā)表于 11-14 09:08 ?3584次閱讀
    如何用BurnTool給海思的星閃芯片BS25<b class='flag-5'>燒</b><b class='flag-5'>寫</b>程序?