Arduino IDE 配置文件
生活随笔
收集整理的這篇文章主要介紹了
Arduino IDE 配置文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?????? 最近學習Arduino。
? ?? ? Arduino開源硬件和Arduino IDE是一個很容易上手的系統。
? ???? 目前arduino已經支持很多種板類型,甚至已經支持了部分arm芯片。比如arduino ng、arduino uno、arduino mini、pro mini等。但是大多數情況,都是使用的atmega8/atmega168/atmega328/atmega1280/atmega2560等芯片。
? ???? 在單片機代碼中,需要對不同的引腳、定時器、接口進行操作,由于不同單片機引腳和功能不一樣,因此代碼無法共用。那么,arduino是如何做到用一份代碼就可以分別在不同類型的板子上執行呢?
? ???? 其實arduino實現了一個框架,針對不同的芯片,把相同的部分提供一套通用機制,不同的部分抽象出來,制定一套規則,只要所有的芯片都遵守這個規則,就可以正常的工作起來。
???? 固件目錄:
? ? 其實這些編程器是通過programmers.txt定義的(arduino-win\1.0.6\arduino-1.0.6\hardware\arduino),這個文件里面主要定義了編程器需要遵守的規則:
? ? 打開arduino ide--->工具--->板卡,可以看到arduino支持的板卡。
4、platform.txt
? ?? ???這個文件里定義了編譯步驟,以及每個文件編譯使用的編譯選項。可以在文件à參數選項 里把顯示編譯詳細信息勾選上,與該txt文件中的內容對比起來看。
? ?? ? Arduino開源硬件和Arduino IDE是一個很容易上手的系統。
? ???? 目前arduino已經支持很多種板類型,甚至已經支持了部分arm芯片。比如arduino ng、arduino uno、arduino mini、pro mini等。但是大多數情況,都是使用的atmega8/atmega168/atmega328/atmega1280/atmega2560等芯片。
? ???? 在單片機代碼中,需要對不同的引腳、定時器、接口進行操作,由于不同單片機引腳和功能不一樣,因此代碼無法共用。那么,arduino是如何做到用一份代碼就可以分別在不同類型的板子上執行呢?
? ???? 其實arduino實現了一個框架,針對不同的芯片,把相同的部分提供一套通用機制,不同的部分抽象出來,制定一套規則,只要所有的芯片都遵守這個規則,就可以正常的工作起來。
? ? 這里主要講講arduino各種板子配置文件的規則。
Bootloaders 不同芯片需要的bootloader文件
Cores 單片機程序核心代碼所在的位置,這里定義了所有芯片的通用功能,提供了通用的功能比如延時,串口通信,按鍵,輸入輸出等基本通用功能
Firmwares 一些固件程序
Libraries 開源庫文件,比如eprom,wifi,wire等庫文件
Variants 針對不同芯片定義的引腳文件
1、頂層目錄:
arduino ---> arduino IDE啟動腳本 examples/ ---> 示例程序目錄(通過IDE的 File -> Examples 菜單可以瀏覽得到) hardware/ ---> 固件相關的目錄(見下方) lib/ ---> IDE運行需要的庫文件(幾個jar包) libraries/ ---> 也是示例程序(通過IDE的 File -> Examples 菜單可以瀏覽得到) reference/ ---> Html幫助文檔 revisions.txt tools/ ---> Mangler工具(不太清楚干嘛用的)???? 固件目錄:
boards.txt ---> 各種型號arduino板子參數描述文件,燒寫固件時要用到 bootloaders/ ---> 不同芯片需要的bootloader文件 cores/ ---> 單片機程序核心代碼所在的位置,這里定義了所有芯片的通用功能,提供了通用的功能比如延時,串口通信,按鍵,輸入輸出等基本通用功能 firmwares/ ---> 包含了兩個用于ATmega8U2處理器上的二進制固件,如Arduino Mega 2560 programmers.txt <strong>Firmwares</strong> 一些固件程序 <strong>Libraries</strong> 開源庫文件,比如eprom,wifi,wire等庫文件 <strong>Variants</strong> 針對不同芯片定義的引腳文件
2、programmers.txt
? ? 其實這些編程器是通過programmers.txt定義的(arduino-win\1.0.6\arduino-1.0.6\hardware\arduino),這個文件里面主要定義了編程器需要遵守的規則:
以avr isp為例:
See: http://code.google.com/p/arduino/wiki/Platformsavrisp.name=AVR ISP //在菜單里面呈現出的編程器名稱 avrisp.communication=serial //使用的通信接口 avrisp.protocol=stk500v1 //使用的編程協議avrispmkii.name=AVRISP mkII avrispmkii.communication=usb avrispmkii.protocol=stk500v2usbtinyisp.name=USBtinyISP usbtinyisp.protocol=usbtinyusbasp.name=USBasp usbasp.communication=usb usbasp.protocol=usbaspparallel.name=Parallel Programmer parallel.protocol=dapa parallel.force=true # parallel.delay=200arduinoisp.name=Arduino as ISP arduinoisp.communication=serial arduinoisp.protocol=stk500v1 //上位機編程協議 arduinoisp.speed=19200 //上位機波特率3、boards.txt
? ? 打開arduino ide--->工具--->板卡,可以看到arduino支持的板卡。
? ? 這些板卡的行為都是靠boards.txt(arduino-win\1.0.6\arduino-1.0.6\hardware\arduino)來約束的,以Arduino Uno為例
# See: http://code.google.com/p/arduino/wiki/Platforms##############################################################uno.name=Arduino Uno //板卡的名稱 uno.upload.protocol=arduino //上位機軟件使用的協議 uno.upload.maximum_size=32256 //hex最大字節數 uno.upload.speed=115200 //串口波特率 uno.bootloader.low_fuses=0xff //低位熔絲值,與avr芯片的熔絲位相對應 uno.bootloader.high_fuses=0xde //高位熔絲值,與avr芯片的熔絲位相對應 uno.bootloader.extended_fuses=0x05 //擴展熔絲位,有的芯片需要 uno.bootloader.path=optiboot //bootloader文件存儲路徑 uno.bootloader.file=optiboot_atmega328.hex //芯片需要的bootloader文件名 uno.bootloader.unlock_bits=0x3F uno.bootloader.lock_bits=0x0F uno.build.mcu=atmega328p //板卡cpu型號,可以從avrdude中獲取 uno.build.f_cpu=16000000L //板卡使用的晶振頻率,用于計算函數庫的延時,定時器等函數所需要的參數 uno.build.core=arduino //單片機程序核心代碼所在的位置,這里定義了所有芯片的通用功能,提供了通用的功能,比如延時,串口通信,按鍵,輸入輸出等基本通用功能 uno.build.variant=standard //不同型號芯片的引腳功能定義##############################################################atmega328.name=Arduino Duemilanove w/ ATmega328atmega328.upload.protocol=arduino atmega328.upload.maximum_size=30720 atmega328.upload.speed=57600atmega328.bootloader.low_fuses=0xFF atmega328.bootloader.high_fuses=0xDA atmega328.bootloader.extended_fuses=0x05 atmega328.bootloader.path=atmega atmega328.bootloader.file=ATmegaBOOT_168_atmega328.hex atmega328.bootloader.unlock_bits=0x3F atmega328.bootloader.lock_bits=0x0Fatmega328.build.mcu=atmega328p atmega328.build.f_cpu=16000000L atmega328.build.core=arduino atmega328.build.variant=standard
4、platform.txt
? ?? ???這個文件里定義了編譯步驟,以及每個文件編譯使用的編譯選項。可以在文件à參數選項 里把顯示編譯詳細信息勾選上,與該txt文件中的內容對比起來看。
總結
以上是生活随笔為你收集整理的Arduino IDE 配置文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 生成下拉框的几种方法总结——数据来源:枚
- 下一篇: Thread类学习(一)