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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

責(zé)任編輯:haq

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

    關(guān)注

    456

    文章

    50936

    瀏覽量

    424661
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1638

    瀏覽量

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

    關(guān)注

    2

    文章

    121

    瀏覽量

    20876

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-mfgtools燒錄流程介紹之所需鏡像

    \\files目錄下: 我們提供的工具包中已經(jīng)包含了默認(rèn)配置的鏡像,如果想要自己的鏡像內(nèi)容,替換對(duì)應(yīng)目錄下的文件即可,需要注意的點(diǎn)是鏡像名稱一定要修改和默認(rèn)鏡像名稱一的名字,才
    發(fā)表于 12-21 09:25

    飛凌嵌入式ElfBoard ELF 1板卡-mfgtools燒錄流程介紹之所需鏡像

    \\files目錄下: 我們提供的工具包中已經(jīng)包含了默認(rèn)配置的鏡像,如果想要自己的鏡像內(nèi)容,替換對(duì)應(yīng)目錄下的文件即可,需要注意的點(diǎn)是鏡像名稱一定要修改和默認(rèn)鏡像名稱一的名字,才
    發(fā)表于 12-20 09:05

    AM6254開發(fā)常見問題之「問題排查」——飛凌嵌入式

    在項(xiàng)目的開發(fā)過程中,各位工程師小伙伴們可能會(huì)遇到各種類型的問題,其中“問題”就是非常典型的一種。本篇文章,將以飛凌嵌入式OK6254-C開發(fā)板為例,詳細(xì)探討大家在寫過程中可能遇到的問題,并提供一系列排查和解決方法,以幫助開
    的頭像 發(fā)表于 11-08 11:51 ?1131次閱讀
    AM6254開發(fā)常見問題之「<b class='flag-5'>燒</b><b class='flag-5'>寫</b>問題排查」——飛凌嵌入式

    迅為itop-3568開發(fā)板AMP雙系統(tǒng)使用手冊(cè)之AMP鏡像

    迅為itop-3568開發(fā)板AMP雙系統(tǒng)使用手冊(cè)之AMP鏡像
    的頭像 發(fā)表于 11-04 15:00 ?543次閱讀
    迅為itop-3568開發(fā)板AMP雙系統(tǒng)使用手冊(cè)之<b class='flag-5'>燒</b><b class='flag-5'>寫</b>AMP鏡像

    觸摸屏驅(qū)動(dòng)板無法程序的相關(guān)原因

    每次聽到別人說是什么原因?qū)е掠|摸屏驅(qū)動(dòng)板無法程序,就很想去討論一下。今天就跟大家聊聊到底是什么原因?qū)е碌摹?/div>
    的頭像 發(fā)表于 10-21 11:19 ?266次閱讀

    可重復(fù)的語音芯片具備哪些特點(diǎn)?

    可重復(fù)語音芯片具有高可靠性、低功耗、靈活性、安全性、成本效益,支持USB下載更換語音,組合播放,PWM和DAC輸出,休眠模式和抗干擾,適合工業(yè)及需修改語音場合。
    的頭像 發(fā)表于 07-16 09:36 ?251次閱讀

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

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

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

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

    請(qǐng)問ARM Cortex系列器哪個(gè)快一點(diǎn)?

    最近一個(gè)工程文件有點(diǎn)大,用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文件可以在工程里直接添加實(shí)現(xiàn)代碼的燒錄調(diào)試,但是STM32G0x0_OPT.FLM不知道如何使用?MDK工程要怎么修改?有例程嗎?
    發(fā)表于 03-29 06:33

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

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

    使用STLINK或JLINK程序后,使用MCU isp串口燒錄更改后的HEX文件,燒錄失敗怎么解決?

    使用STLINK或JLINK程序后,再使用MCU ISP串口燒錄相同的HEX文件可以燒錄成功 但是:當(dāng)更改過程序之后,使用MCU isp串口燒錄更改后的HEX文件,燒錄失敗
    發(fā)表于 03-25 07:55

    bootloader的CAN,可以把hex文件進(jìn)行壓縮嗎?

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

    CMS-WRITER V8器用戶手冊(cè)

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