如何Protocol Threads加载到Arduino IDE

发布时间:2019-09-10 10:21:25

如何Protocol Threads加载到Arduino IDE

推荐回答

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

Firmwares 一些固件程序

Libraries 开源库文件,比如eprom,wifi,wire等库文件

Variants 针对不同芯片定义的引脚文件

2、programmers.txt

    打开arduino ide依次选择菜单工具à编程器,可以看到有很多编程器选项。

其实这些编程器是通过programmers.txt定义的(arduino-win\1.0.6\arduino-1.0.6\hardware\arduino),这个文件里面主要定义了编程器需要遵守的规则:

以avr isp为例:

See: http://code.google./p/arduino/wiki/Platforms

 

avrisp.name=AVR ISP      //在菜单里面呈现出的编程器名称

avrisp.munication=serial //使用的通信接口

avrisp.protocol=stk500v1   //使用的编程协议

 

avrispmkii.name=AVRISP mkII

avrispmkii.munication=usb

avrispmkii.protocol=stk500v2

 

usbtinyisp.name=USBtinyISP

usbtinyisp.protocol=usbtiny

 

usbasp.name=USBasp

usbasp.munication=usb

usbasp.protocol=usbasp

 

parallel.name=Parallel Programmer

parallel.protocol=dapa

parallel.force=true

# parallel.delay=200

 

arduinoisp.name=Arduino as ISP

arduinoisp.munication=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./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/ ATmega328

 

atmega328.upload.protocol=arduino

atmega328.upload.maximum_size=30720

atmega328.upload.speed=57600

 

atmega328.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=0x0F

 

atmega328.build.mcu=atmega328p

atmega328.build.f_cpu=16000000L

atmega328.build.core=arduino

atmega328.build.variant=standard

4、platform.txt

        这个文件里定义了编译步骤,以及每个文件编译使用的编译选项。可以在文件à参数选项 里把显示编译详细信息勾选上,与该txt文件中的内容对比起来看

以上问题属网友观点,不代表本站立场,仅供参考!