hex 檔是原始碼編譯過後產生的檔案,你可以將 hex 檔上傳給 Arduino,它的功用等同於你寫的程式。
如果你想把自己寫的程式給別人安裝在他的 Arduino 板子上來炫耀一下自己有多麼聰明,又不想讓他看到程式碼是怎麼寫的,那麼你可以把 hex 檔交給他即可。像這樣的方式也可以算是保護智慧權的一種。
產生 hex 檔案
在編譯或上傳程式到 Arduino 板子時,Arduino 會順便產生一些檔案,這些檔案會被放置到
C:\Documents and Settings\USER\Local Settings\Temp\build<一堆數字>.tmp 資料夾裏,其中一個就是 hex 檔。如果你的程式名稱是 blink.ino,那麼這個 hex 檔會被命名為 blink.cpp.hex。
將 hex 安裝到 Arduino
網路有很多應用軟體都可以將 hex 安裝到 Arduino 上,像是 XLoader、 Arduino UNO Uploader Tool ...等。大部分像這樣的軟體都會使用 Arduino 內建的 avrdude 程式作為上傳媒介。
您可以打開命令列視窗,並切換到 hex 檔所在路徑,鍵入下列命令可以將 hex 安裝到 Arduino。
<Arduino path>/hardware/tools/avrdude -V -F -C <Arduino path>/hardware/tools/avrdude.conf -p atmega328p -P COM5 -c stk500v1 -b 57600 -U flash:w:applet/blink.cpp.hex
使用應用軟體安裝 hex
下載 Arduino UNO Uploader Tool
網址 https://github.com/downloads/rlangoy/Arduino-Uno-Uploader-Tool/AUTSetupVer1_18.zip
下載 Xloader
網址 http://xloader.russemotto.com/XLoader.zip
教學 http://pizgchen.blogspot.tw/2015/06/upload-hex.html
使用自己熟悉的軟體安裝 hex
如果您熟悉 Python、C 和 VB ...這樣的程式語言,您也可以使用這些程式語言將 hex 安裝到 Arduino。
使用 Python 安裝 hex
(敬請期待...)
您好,請問如果是沒有bootloader的全新晶片,再重新layout的板子上,那也可以只要單純燒HEX進去就好嗎?
回覆刪除以我目前使用arduino pirmo晶片是nrf52832為例,可以使用一個SWD去燒錄,但是目前還沒搞清楚,arduino是否編譯過後的HEX,透過SWD燒錄就可以執行?