關於程序在FLASH的燒寫區域,及生成HEX檔

2019-03-23 22:28发布

本帖最后由 nt52241930 于 2017-6-29 09:19 编辑

請教各位
我使用CCS對我目標板先載入程序後,功能都OK
在使用CCS生成INTEL的HEX檔
之後使用K-FLASH軟件,查看目標板內芯片的FLASH值
發現由CCS生成的HEX檔與從芯片讀出的FLASH值,明顯不同

想請教各位,這種情況是為什麼??
有方式可以確認CCS生成的HEX檔嗎??

以上
謝謝
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
huaiqiao
1楼-- · 2019-03-25 04:53
nt52241930 发表于 2017-6-29 14:52
感覺只是因為 單純.HEX 跟 .BIN 格式不同
造成KFLASH無法正確識別

在KFLASH裡有提供您的燒錄源檔(.BI ...

1、HEX和BIN文件是在格式上稍有差异。
但是同一个工程,同一个编译器,不管生成HEX文件,还是BIN文件,它烧录后。效果还是一样的。

2、BIN格式的烧录原档,和KFLASH從芯片FLASH 讀出的檔案本来就不一样。
如在烧录原档的BIN格式的文件中是有校验码这些的;而在你用KFLASH從芯片FLASH 讀出的檔案,这个读取出来的的档案是没有校验码的。这个你要搞清楚哦;

3、“只是在燒錄前,最好將芯片FLASH都抹除在燒錄”
--->针对这个其实看你程序的大小。
如A程序烧录到FLASH中,是从0X0000 0000 ~ 0X0003 0000;
但是B程序抄录到FLASH中,是从0X0000 0000 ~ 0X0002 0000;

那么你如果先烧录了A程序,然后再去烧录B程序,是会存在有些地方没有擦除的现象。

但是也不必担心,这个其实与烧录软件有关系。有些烧录软件是有这个在烧录时先擦除全部FLASH的
这个选项的。

当然,您用的是TM4C.全部擦除flash会不会有不好的影响,这个我还真说不好。
nt52241930
2楼-- · 2019-03-25 08:08
本帖最后由 nt52241930 于 2017-6-29 16:31 编辑
huaiqiao 发表于 2017-6-29 15:07
1、HEX和BIN文件是在格式上稍有差异。
但是同一个工程,同一个编译器,不管生成HEX文件,还是BIN文件, ...

1. 我使用同一個程序生成的HEX 和 BIN,在燒錄器上的緩衝區看 確實差異很大,
  補充 : 在CCS上,BUILD -> STEP -> 打上生成HEX 碼 與 CCS使用 HEX UTILITY 生成的HEX 不同,這不知道為什麼!!??


2.關於這部分,我也不是很確認
   但是我目前使用BIN檔載入後從燒錄器緩衝區看數據 , 之後將此BIN檔燒錄後,再從芯片FLASH讀回
   在緩衝區比對下,確實正確一致 (我猜測 檢驗碼 / 位址碼..等 有可能在芯片FLASH裡有保存,也有可能透過燒
   錄器將此部分移除後燒錄...等情況)

3.確實如您所說, 但是我試起來卻是連前面位址的數據都改變了,不只是像您說的大程序變小程序,遺留大程序  
   後面部分

4.在FLASH 是否全部擦除下有不好影響,這點 , 我原先也是有點擔心
  但是 在我拿了幾顆乾淨的芯片直接讀取FLASH後 , 以及使用CCS 編譯器燒錄程序後 , 及燒錄器燒錄後
  確實都1致,這點應該是OK

huaiqiao
3楼-- · 2019-03-25 11:41
 精彩回答 2  元偷偷看……
wu7219
4楼-- · 2019-03-25 14:31
您好,我想读取tm4c1290的flash代码,是否加密了,能否读的出程序

一周热门 更多>

相关问题

    相关文章