欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2225|回復: 14
收起左側

程序大小超過flash也能燒錄嗎

  [復制鏈接]
ID:705846 發表于 2024-7-22 22:25 | 顯示全部樓層 |閱讀模式
我用15W408AS, 規格書上說明是8K flash, 但我的hex文件15K了,燒錄正常,這個是怎么回事,哪位幫忙普及一下知識。謝謝。
回復

使用道具 舉報

ID:69038 發表于 2024-7-22 23:30 | 顯示全部樓層
最終寫入的文件是BIN的,如果是hex文件,會大好多。
回復

使用道具 舉報

ID:517951 發表于 2024-7-23 07:36 | 顯示全部樓層
8K空間確能燒進去15K hex, 能不能正常跑程序,是個問題.
回復

使用道具 舉報

ID:88256 發表于 2024-7-23 08:10 | 顯示全部樓層
hex文件大小有15K,但燒寫進單片機的卻不會有那么大,因為hex格式的文件里面有地址、驗證碼等,如果是bin格式的就一樣大了。想了解更多可以搜索hex、bin的文件格式。至于能夠燒寫進去,要么是設定的問題,要么是軟件的問題,沒有進行報錯(確實超過的情況下),這時候燒寫,是后面的覆蓋前面的內容,程序運行就不正常了。
回復

使用道具 舉報

ID:118322 發表于 2024-7-23 08:40 | 顯示全部樓層
要看編譯后的code是多大,hex文件雖然有15K,但是code有可能只有7K多。
回復

使用道具 舉報

ID:879348 發表于 2024-7-23 08:54 | 顯示全部樓層
hex大小不等于程序大小
回復

使用道具 舉報

ID:829223 發表于 2024-7-23 08:55 | 顯示全部樓層
如果超過了,在燒錄程序時會有提示
回復

使用道具 舉報

ID:341045 發表于 2024-7-23 09:17 | 顯示全部樓層
進入STC-ISP, 點打開程序文件裝入HEX文件, 右大框下面有代碼長度就是實際占用空間, 不好理解就點保存數據, 輸入文件名后會以BIN方式保存, 這個文件大小就是實際占用空間大小. HEX會是實際空間的2點多倍
回復

使用道具 舉報

ID:401564 發表于 2024-7-23 09:35 | 顯示全部樓層
這個要看在Keil編譯后的提示,里面會有code的大小
新版本的下載不知道,幾年前的某個版本code超過了,會有提示,但還是可以下載的,只是沒法運行而已,燒錄是成功的
程序大小是看code長度,不是看HEX這個文件本身的大小
回復

使用道具 舉報

ID:57657 發表于 2024-7-23 10:19 | 顯示全部樓層
某程序編譯后編譯器提示19字節,編譯器會將bin編碼成hex格式為90字節。
單片機燒錄軟件打開hex格式后,首先將hex解碼成bin數據,解碼出的19字節才是被寫入單片機的數據。
回復

使用道具 舉報

ID:277550 發表于 2024-7-23 10:34 | 顯示全部樓層

hex文件是文本格式,每行有命令、地址、數據、校驗等。。。。。實際的二進制數據和bin文件一致的。
回復

使用道具 舉報

ID:705846 發表于 2024-7-23 11:25 | 顯示全部樓層
Y_G_G 發表于 2024-7-23 09:35
這個要看在Keil編譯后的提示,里面會有code的大小
新版本的下載不知道,幾年前的某個版本code超過了,會有提 ...

程序可以正常使用,轉成bin文件占用空間8KB

1234.JPG
回復

使用道具 舉報

ID:57657 發表于 2024-7-23 21:08 | 顯示全部樓層
samxon 發表于 2024-7-23 11:25
程序可以正常使用,轉成bin文件占用空間8KB

硬盤格式化時簇大小為4kb,文件4kb以內占4kb,超過4kb且8kb以內占8kb,大于8kb小于等于12kb的占12kb,以此類推...
回復

使用道具 舉報

ID:401564 發表于 2024-7-23 21:56 | 顯示全部樓層
samxon 發表于 2024-7-23 11:25
程序可以正常使用,轉成bin文件占用空間8KB

51hei截圖20240723215406.png 看左下,那個就是代碼的長度,這個是16進制的或者是在Keil中編譯后,看這個,這個是10進制的 51hei截圖20240723215533.png

如果代碼長度超過了單片機的程序空間,下載器會有提示的
回復

使用道具 舉報

ID:1129742 發表于 2024-7-28 20:26 | 顯示全部樓層
在單片機上燒錄程序時,程序大小通常受限于芯片內部的閃存(Flash)容量。通常情況下,如果程序大小超過芯片的Flash容量,是不能正常燒錄的,因為存儲空間不夠。然而,在你提到的情況中,使用15W408AS芯片(假設是一種8K Flash容量的單片機)卻能正常燒錄一個15K的hex文件,這可能有以下幾個原因:

1. 不同的存儲單位
Flash容量與hex文件大小的單位不同:Flash的容量通常以字節(Bytes)為單位,而hex文件的大小可能包括更多的信息,不僅僅是純代碼數據。hex文件中包含了程序的二進制代碼(機器碼),但也可能包含其他信息,如校驗和、地址等,這些額外的信息并不會被燒錄到芯片中,只是在燒錄過程中用于驗證和定位。
2. 壓縮和優化
編譯器優化:編譯器在生成hex文件時可能會進行優化,將程序代碼壓縮到更小的尺寸。因此,hex文件的大小不一定直接反映程序在Flash中的占用空間。
3. 程序空間與數據空間的區分
Flash與其他存儲器:某些單片機具有不同類型的存儲空間,如代碼存儲區(Flash)和數據存儲區(如RAM、EEPROM)。hex文件的某些部分可能屬于數據區,而不占用代碼存儲區的空間。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表