4861|10

56

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

關於程序在FLASH的燒寫區域,及生成HEX檔 [复制链接]

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

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

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

以上
謝謝

最新回复

您好,我想读取tm4c1290的flash代码,是否加密了,能否读的出程序  详情 回复 发表于 2018-3-15 09:47
 
点赞 关注

回复
举报

6040

帖子

205

TA的资源

版主

沙发
 
我也不太懂,你可以把hex烧进去,再读出来,再比较一下
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

板凳
 
欢迎同胞。
我来回答您的问题:
1、首先关于您提到的intel的hex。确实是的,现在绝大多数IDE生成的hex都是intel的hex格式的;

2、K-FLASH这个软件应该是周立功或者致远电子的;

3、有关HEX文件的格式,请参考我如下帖子中的回复,回复的内容在72楼(这个当中我有认真的回复这个HEX的格式,希望
对楼主你的理解有所帮助):

https://bbs.eeworld.com.cn/forum. ... 4&page=4#pid2088730


还有K-FLASH。这个软件我看了下,这个软件如果你读取flash的内容,还是要看地址的(图片中紫色方框所示):
如HEX文件的起始地址是0x08000000.
那么你K-FLASH的读取地址也应该是0x08000000。

http://www.cr173.com/soft/219462.html






点评

您好 : 我會再仔細查看您的資料, 先詢問您些問題 我有確認過 CCS 生成的MAP文件,以TM4C 我使用這顆芯片 FLASH 從 0X0000 0000 ~ 0X0004 0000 基本上都跟使用K-FLASH讀出來的數據 一樣 現在,在於,CCS 到  详情 回复 发表于 2017-6-29 13:06
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(中级)

4
 
本帖最后由 nt52241930 于 2017-6-29 14:21 编辑
huaiqiao 发表于 2017-6-29 11:19
欢迎同胞。
我来回答您的问题:
1、首先关于您提到的intel的hex。确实是的,现在绝大多数IDE生成的hex都 ...

您好 :

我會再仔細查看您的資料,
先詢問您些問題

我有確認過 CCS 生成的MAP文件,以TM4C 我使用這顆芯片
FLASH 從 0X0000 0000 ~ 0X0004 0000
基本上都跟使用K-FLASH讀出來的數據 一樣

現在,在於,CCS 到底該生成什麼樣子的檔,才能符合 MAP裡的FLASH 格式

我在TRY TRY 謝謝


補充 :
剛剛已看完您的文章,並對了一下我CCS生成的HEX檔,大概沒問題
應該是格式問題
剛使用CCS 生成.BIN後
基本上就能直接使用
起始位址 與 結束位址 皆正確

只是校驗後 還是有12BYTE錯誤
經查MAP後 發現於此處   00011354    00000090     gpio.obj (.const:g_pui32GPIOBaseAddrs)
GPIO部分造成的錯誤 ,此處還在查原因

若您知道,再麻煩幫助一下
謝謝

点评

“剛使用CCS 生成.BIN後 基本上就能直接使用 起始位址 與 結束位址 皆正確 只是校驗後 還是有12BYTE錯誤” ----->这个你是怎么知道的?是通过K-FLASH烧录的时候发现的? 需要提醒的是,我看了如下K-FLASH的  详情 回复 发表于 2017-6-29 14:44
1、“CCS 到底該生成什麼樣子的檔,才能符合 MAP裡的FLASH 格式”。 ---->CCS我自己没用过,我是嫌它安装起来太大了。 我可能用MDK比较多。像MDK的话,会生成memory map格式的“类似内存映射”的文件。 我其实没懂  详情 回复 发表于 2017-6-29 14:34
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

5
 
nt52241930 发表于 2017-6-29 13:06
您好 :

我會再仔細查看您的資料,
先詢問您些問題

我有確認過 CCS 生成的MAP文件,以TM4C 我使用這 ...

1、“CCS 到底該生成什麼樣子的檔,才能符合 MAP裡的FLASH 格式”。
---->CCS我自己没用过,我是嫌它安装起来太大了。
我可能用MDK比较多。像MDK的话,会生成memory map格式的“类似内存映射”的文件。
我其实没懂,你说的MAP里的FLASH格式。

2、我还有问题,为什么一定要用K-FLASH?
--->是不是量产的时候要用这个软件来烧录hex或者bin文件呢。
像量产的话,IAP也是可以的。ti公司应该有相关的IAP的文档呢。
还有,像TI的产品。
如下两个网站也可以多上上呢。
http://e2e.ti.com/

http://www.deyisupport.com

还有像MDK官网也有关系HEX文件格式的说明:
http://www.keil.com/support/docs/1584/
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

6
 
nt52241930 发表于 2017-6-29 13:06
您好 :

我會再仔細查看您的資料,
先詢問您些問題

我有確認過 CCS 生成的MAP文件,以TM4C 我使用這 ...

“剛使用CCS 生成.BIN後
基本上就能直接使用
起始位址 與 結束位址 皆正確

只是校驗後 還是有12BYTE錯誤”

----->这个你是怎么知道的?是通过K-FLASH烧录的时候发现的?
需要提醒的是,我看了如下K-FLASH的使用文档,这个K-FLASH软件,好像软件还有自己的加校验的功能
所以,您在对这个软件在做一些操作的时候需要注意哦。

https://wenku.baidu.com/view/6af428dee45c3b3566ec8b35.html

还有,您提到的这个MAP。因为我没有用过CCS,所以我没办法给您详细的解答,这个不好意思。

“經查MAP後 發現於此處   00011354    00000090     gpio.obj (.const:g_pui32GPIOBaseAddrs)”,这个您再检查下,GPIO操作的相关的代码,看看是不是您在哪里的操作不合适呢。

点评

感覺只是因為 單純.HEX 跟 .BIN 格式不同 造成KFLASH無法正確識別 在KFLASH裡有提供您的燒錄源檔(.BIN)跟您燒錄後KFLASH從芯片FLASH 讀出的檔案 提供燒錄人員 查看 是否1致(剛是看到FLASH內GPIO範圍有錯) 剛  详情 回复 发表于 2017-6-29 14:52
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(中级)

7
 
huaiqiao 发表于 2017-6-29 14:44
“剛使用CCS 生成.BIN後
基本上就能直接使用
起始位址 與 結束位址 皆正確

只是校驗後 還是有12BYTE ...

感覺只是因為 單純.HEX 跟 .BIN 格式不同
造成KFLASH無法正確識別

在KFLASH裡有提供您的燒錄源檔(.BIN)跟您燒錄後KFLASH從芯片FLASH 讀出的檔案
提供燒錄人員 查看 是否1致(剛是看到FLASH內GPIO範圍有錯)

剛剛在經過一些調整 , 目前應該屬於正常,
嘗試過幾次抹除,及燒錄後校正,都算正常

只是在燒錄前,最好將芯片FLASH都抹除在燒錄
否則可能造成 部分值異常

点评

1、HEX和BIN文件是在格式上稍有差异。 但是同一个工程,同一个编译器,不管生成HEX文件,还是BIN文件,它烧录后。效果还是一样的。 2、BIN格式的烧录原档,和KFLASH從芯片FLASH 讀出的檔案本来就不一样。 如在  详情 回复 发表于 2017-6-29 15:07
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

8
 
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会不会有不好的影响,这个我还真说不好。

点评

1. 我使用同一個程序生成的HEX 和 BIN,在燒錄器上的緩衝區看 確實差異很大, 猜測是因為燒錄器對於載入的HEX / BIN 沒做好格是不同的區分 (可能我沒設置好) 2.關於這部分,我也不是很確認 但是我目前使用B  详情 回复 发表于 2017-6-29 16:07
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(中级)

9
 
本帖最后由 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

点评

1、关于楼主您补充的第一点,不好意思我没用过CCS,没办法做具体的回答; 这个您可百度下,或者上我给你的TI的那两个网站看看呢  详情 回复 发表于 2017-6-29 22:20
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

10
 
nt52241930 发表于 2017-6-29 16:07
1. 我使用同一個程序生成的HEX 和 BIN,在燒錄器上的緩衝區看 確實差異很大,
  補充 : 在CCS上,BUILD ->  ...

1、关于楼主您补充的第一点,不好意思我没用过CCS,没办法做具体的回答;

这个您可百度下,或者上我给你的TI的那两个网站看看呢
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

11
 
您好,我想读取tm4c1290的flash代码,是否加密了,能否读的出程序
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表