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

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

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

Keil不能正確生成.bin文件的解決辦法

2oON_changxuemc ? 來源:lq ? 2018-12-07 16:40 ? 次閱讀

前段時間我寫過如何利用CW、IAR和Keil生成image文件,效果還不錯,有些用戶反饋挺有幫助的,畢竟待項目開發(fā)到最后是需要生成image文件用來量產(chǎn)燒寫,我們總不至于到最后使用調(diào)試下載吧(不過還別說,用量比較小的用戶還真有可能用調(diào)試的方法來下載,當(dāng)然這個只能說是小批量燒寫,如果真是大批量燒寫,這效率估計得把老板愁死,呵呵)。不過最近同事遇到了用keil生成bin文件時不能正確生成.bin文件而是生成.bin文件夾的問題,這個問題最開始感覺比較怪異,后來問題解決了還是豁然開朗了,Keil還是蠻有意思的,呵呵。

其實這個問題順藤摸瓜還是比較容易找到根結(jié)的(還是那句話,授之以魚不如授之以漁才是俺的風(fēng)格,問題解決只是結(jié)果,但是我更希望跟大家說明白解決問題的方法,結(jié)果是給老板看的,但對自己來說方法和過程很重要,學(xué)會了方法會讓你在處理問題上游刃有余),既然問題出在生成文件上,那我們就只能找fromelf這個文件轉(zhuǎn)換工具的麻煩了(啥?不知道啥叫fromelf,咳咳,先去面壁2小時然后百度一下吧,呵呵),打開keil IDE,然后打開help->uVison Help,搜索fromelf關(guān)鍵字如下圖1:

然后再進入到右下角的索引找到fromelf命令行的語法和選項,找到—bin的說明如下,如紅色標(biāo)注所說,正是癥結(jié)所在,即如果鏈接文件中定義了多個加載段的話,fromelf會以目標(biāo)文件名來創(chuàng)建一個文件夾并將每個加載段都生成一個相應(yīng)的文件存放在該文件夾下,問題的原因是找到了,但是另外兩個問題又來了(咳咳,問題咋這么多捏),一是我的工程為啥會有多個加載段,另一個問題是如果出現(xiàn)這種加載段我們怎么生成我們想要的bin文件呢,不要捉急,咱們一個一個聊。

第一個問題,我們打開Keil->Options->Linker選項卡如下圖,可以看到本工程中沒有使用Options->Target下選項卡對內(nèi)存映射的配置,而是使用自己的.scf鏈接文件,打開該文件一看就明白了,其定義了很多個內(nèi)存段因此造成上述情況的發(fā)生,如果使用Target Dialog應(yīng)該不會出現(xiàn)此類問題(但是此時工程會編譯錯誤,因為工程中某些原文件用了自定義.scf中某些段名)。

第二個問題,既然問題找到了,我們該使用哪種方法來正確生成想要的.bin二進制文件呢,通過查看fromelf所支持的命令集,終于找到了解決辦法,即使用—bincombined命令可以實現(xiàn)將使用多加載段的工程生成真正的.bin文件,具體用法如下:

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

    關(guān)注

    2

    文章

    761

    瀏覽量

    41476
  • keil
    +關(guān)注

    關(guān)注

    68

    文章

    1207

    瀏覽量

    166173

原文標(biāo)題:Keil不能正確生成.bin文件的解決辦法

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

收藏 人收藏

    評論

    相關(guān)推薦

    keil如何生成帶有編譯日期的BIN文件?

    【求助】keil 如何生成帶有編譯日期的 BIN 文件
    發(fā)表于 04-18 08:13

    為什么stm32怎么生成不了bin文件

    哪位大神看看mdk怎么生成不了bin文件路徑錯了嗎還是 格式不正確??我設(shè)的是:C:\Keil\ARM\ARMCC\
    發(fā)表于 09-14 09:39

    如何使用Keil中的fromelf工具為PSoC6生成bin文件?

    有人知道在Keil中用FulMelf工具生成PSOC6的正確bin文件的方法嗎?Keil中的默
    發(fā)表于 10-29 11:38

    Keil使用生成bin文件問題分析與解決辦法

    比較好的文章加密驅(qū)動開發(fā)使用CCMRAM內(nèi)存串口網(wǎng)口USB虛擬串口在線升級官方資源博客資源推薦資源重要總結(jié)Keil使用生成bin文件問題分析與解決JTAG與串口本人STM32開發(fā)過程中
    發(fā)表于 08-06 06:09

    如何使用Keil生成Bin文件

    如何使用Keil生成Bin文件使用Keil 生成Bin
    發(fā)表于 10-19 07:08

    用MDK生成bin格式的可執(zhí)行文件

    用MDK 生成bin 文件1用MDK 生成bin 文件Embest 徐良平在RV MDK 中,默
    發(fā)表于 08-02 10:52 ?71次下載

    開機allegro不能正常啟動解決辦法(1)

    本問介紹了CADENCE軟件組件Allegro開機不能正常啟動的問題的解決辦法
    發(fā)表于 08-18 17:26 ?0次下載

    MDk如何生成bin文件

    介紹了MDk生成bin文件的詳細過程。
    發(fā)表于 11-02 17:20 ?1次下載

    如何用Keil生成bin、匯編、C與匯編混合文件?

    1、話題引入 在使用Keil集成開發(fā)環(huán)境中大伙使用頻率高的文件大概就是.hex吧,如果考慮內(nèi)存布局等會使用到.map文件,如果遇到了疑難bug還會在仿真過程中看一看匯編窗口欄。 然而bin
    的頭像 發(fā)表于 03-09 13:59 ?4823次閱讀
    如何用<b class='flag-5'>Keil</b><b class='flag-5'>生成</b><b class='flag-5'>bin</b>、匯編、C與匯編混合<b class='flag-5'>文件</b>?

    Access數(shù)據(jù)庫不能寫問題解決辦法

    Access數(shù)據(jù)庫不能寫問題解決辦法(開關(guān)電源技術(shù)講座)-文檔為Access數(shù)據(jù)庫不能寫問題解決辦法詳解文檔,是一份不錯的參考資料,感興趣的可以下載看看,,,,,,,,,,,,,
    發(fā)表于 09-17 15:37 ?7次下載
    Access數(shù)據(jù)庫<b class='flag-5'>不能</b>寫問題<b class='flag-5'>解決辦法</b>

    關(guān)于老師發(fā)的keil軟件報錯如下: --- Error: failed to execute 'd:\Keil\C51\BIN\C51.EXE' Target not created

    配置文件仍然保留了他電腦的路徑,與你放置Keil的實際路徑不符。解決辦法:找到自己的keil安裝目錄,下面有個TOOLS.INI文件。用記事
    發(fā)表于 12-03 20:21 ?27次下載
    關(guān)于老師發(fā)的<b class='flag-5'>keil</b>軟件報錯如下: --- Error: failed to execute 'd:\<b class='flag-5'>Keil</b>\C51\<b class='flag-5'>BIN</b>\C51.EXE' Target not created

    一種Keil MDK生成BIN文件的簡易方法。

    一種Keil MDK生成BIN文件的簡易方法。
    發(fā)表于 01-13 10:18 ?2次下載

    Keil開發(fā)環(huán)境如何生成BIN文件

    作者:王超首發(fā):電子電路開發(fā)學(xué)習(xí)為什么需要BIN文件呢?有些燒錄器只支持BIN文件。進行OTA遠程升級時,只能使用BIN
    發(fā)表于 01-26 19:29 ?6次下載
    <b class='flag-5'>Keil</b>開發(fā)環(huán)境如何<b class='flag-5'>生成</b><b class='flag-5'>BIN</b><b class='flag-5'>文件</b>

    學(xué)技術(shù) | Keil &amp;amp; IAR 生成bin文件的N種方法

    寫在前面:有些情況下需要bin文件直接傳輸下載數(shù)據(jù),比如在應(yīng)用編程(IAP),那么Keil5是如何生成bin
    的頭像 發(fā)表于 11-02 16:46 ?5783次閱讀
    學(xué)技術(shù) | <b class='flag-5'>Keil</b> &amp;amp; IAR <b class='flag-5'>生成</b><b class='flag-5'>bin</b><b class='flag-5'>文件</b>的N種方法

    keil如何生成bin文件

    Keil是一種集成開發(fā)環(huán)境(IDE),專為ARM架構(gòu)的嵌入式系統(tǒng)開發(fā)而設(shè)計。在Keil生成bin文件是將代碼編譯并轉(zhuǎn)換為可執(zhí)行
    的頭像 發(fā)表于 12-15 13:43 ?9731次閱讀