單片機程序寫好之后,我們都要把程序下載到單片機的內存中,單片機才會按照程序員的邏輯執行命令實現功能。之前也講過下載單片機的幾種方式,比如ISP下載,JTAG下載,下載文件的格式最常見的是hex文件,這個格式大家都是知道的,還有一種bin文件是單片機的下載文件。下面介紹這兩種格式的區別。
HEX文件和BIN文件是我們經常碰到的2種文件格式。下面簡單介紹一下這2種文件格式的區別:
1. hex文件包含地址信息。在用ISP方式燒寫程序時,我們都有這樣的經驗:1)選擇單片機型號;2)選擇串口號;3)設置波特率(或者默認);4)選擇下載的文件;5)點擊下載按鈕下載。如下圖所示。
經過這幾步后,程序下載工作就完成了,在以上的步驟中我們并沒有選擇要把程序下載到單片機的哪塊內存中,即不需要設置地址。因為HEX文件內部的信息已經包括了地址。而燒寫BIN文件的時候,用戶是一定需要指定地址信息的。單片機多下載hex文件。
2. BIN文件格式只包括了數據本身,沒有包含地址
bin文件本身只是數據,沒有包含地址信息,所以在下載bin文件時需要選擇內存的起始地址和終止地址,即要把bin文件下載到指定的內存空間。通常需要指定程序內存地址的芯片為ARM芯片和DSP芯片。
3、HEX文件和BIN文件大小不一樣
對于bin文件,通過右鍵屬性查看到的文件的大小就是數據的實際大小。而對HEX文件而言,你看到的文件大小并不是實際的數據的大小。一是因為HEX文件是用ASCII來表示數據,二是因為HEX文件本身還包括別的附加信息。
hex文件的大小該怎么看呢?之前我推送過查看方法,忘記的同學可以點下面的鏈接查看:
本訂閱號致力于單片機、ARM等嵌入式軟硬件的設計經驗分享,秉承“人人都是電子設計經驗的分享者”的理念,成功路上不孤單,我們一起努力。
公眾號:micropoint8。嵌入式學習網振興網:www.picmcu.com