GoGPT Best VPN GoSearch

OnWorks 网站图标

avrdude - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 avrdude

这是 avrdude 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


阿夫鲁德 — 用于“简单” Atmel AVR MCU 编程器的驱动程序

概要


阿夫鲁德 -p 部分 [-b 波特率[-B 位时钟[-c 程序员编号[-C 配置文件[-D[-e]
[-E 出口规格[,出口规格]][-F[-i 延迟[-n -日志文件[-n[-O[-P 端口[-q[-s]
[-t[-u[-U 内存类型:操作:文件名:filefmt[-v[-x 扩展参数[-V]

商品描述


阿夫杜德 是将代码和数据下载到 Atmel AVR 微控制器的程序。 阿夫杜德
支持 Atmel 的 STK500 编程器、Atmel 的 AVRISP 和 AVRISP mkII 设备、Atmel 的 STK600、
Atmel 的 JTAG ICE(mkI、mkII 和 3,后两者也处于 ISP 模式),程序员遵守
到 AppNote AVR910 和 AVR109(包括 Butterfly),以及一个简单的硬接线
程序员直接连接到 PPI(4)或 登机口(4)并口,或到一个标准
串行端口。 在最简单的情况下,硬件仅由一根电缆组成
相应的 AVR 信号线连接到并行端口。

MCU 被编程为 串行 编程 模式,所以,对于 PPI(4)基于程序员,
MCU 信号“/RESET”、“SCK”、“MISO”和“MOSI”需要连接到并行端口。
可选地,并行端口的一些其他未使用的输出引脚可用于提供
为MCU部分供电,因此也可以构建无源独立
编程设备。 一些状态 LED 指示当前的运行状态
可以连接编程器,并且有信号可以控制缓冲器/驱动器IC 74LS367
(或 74HCT367)。 后者可用于在以下情况下将并行端口与 MCU 解耦:
使用系统编程。

许多连接到串行端口的同样简单的 bit-bang 编程适配器是
也支持,其中包括流行的 Ponyprog 串行适配器,以及 DASA 和 DASA3
过去支持的适配器 用户界面(1). 请注意,这些适配器旨在
连接到物理串行端口。 连接到 USB 上模拟的串行端口是
可能根本不工作,或者工作非常缓慢。

如果你碰巧有一个至少有 4 个硬件 GPIO 可用的 Linux 系统(比如几乎
所有嵌入式 Linux 板)您无需任何额外硬件即可完成 - 只需将它们连接到
AVR 上的 MOSI、MISO、RESET 和 SCK 引脚并使用 linuxgpio 编程器类型。 它
bitbangs 使用 Linux sysfs GPIO 接口的线路。 当然要注意
关于电压电平兼容性。 此外,虽然没有严格要求,但强烈要求
建议以某种方式保护 GPIO 引脚免受过流情况的影响。 最简单的
将只是将一些电阻串联或更好地使用三态缓冲驱动器,例如
74HC244。 看一下 http://kolev.info/avrdude-linuxgpio 更详细的教程
关于使用这种程序员类型。

Atmel 的 STK500 编程器也受支持并连接到串行端口。 两者,固件
可以处理 1.x 和 2.x 版本,但需要不同的程序员类型规范
(目前为止)。 使用固件版本 2,也支持高压编程,既
并行和串行(程序员类型 stk500pp 和 stk500hvsp)。

支持接线板,使用 STK500 V2.x 协议,但一个简单的 DTR/RTS 切换是
用于将电路板设置为编程模式。 程序员类型是“接线”。

Arduino(与 STK500 1.x 非常相似)通过其自己的编程器得到支持
类型规范“arduino”。

BusPirate 是一种多功能工具,也可用作 AVR 编程器。 一个
BusPirate 最多可以连接到 3 个独立的 AVR。 请参阅有关部分 扩展
参数 详情请见下文。

Atmel 的 STK600 编程器支持 ISP 和高压编程模式,并且
通过 USB 连接。 对于 ATxmega 设备,STK600 支持 PDI 模式。 为了
TPI 模式支持 ATtiny4/5/9/10 设备、STK600 和 AVRISP mkII。

Atmel 的应用笔记 AVR910 中描述的简单串行编程器,以及
Atmel 的应用笔记 AVR109 中描述的引导加载程序(AVR 也使用它
Butterfly 评估板),在串行端口上受支持。

Atmel 的 JTAG ICE(mkI、mkII 和 3)也支持上传或下载存储区
从/到 AVR 目标(不支持片上调试)。 对于 JTAG ICE mkII、JTAG、
支持 debugWire 和 ISP 模式,前提是其固件版本至少为 4.14
(十进制)。 JTAGICE3 还支持所有 JTAG、debugWIRE 和 ISP 模式。 请参阅下面的
debugWire 的限制。 对于 ATxmega 设备,在 PDI 模式下支持 JTAG ICE mkII,
前提是它具有至少 1(十进制)的修订版 5.37 硬件和固件版本。 为了
ATxmega 设备,在 PDI 模式下支持 JTAGICE3。

Atmel-ICE (ARM/AVR) 支持所有模式(JTAG、PDI for Xmega、debugWIRE、ISP)。

支持 Atmel 的 XplainedPro 板,使用 EDBG 协议(CMSIS-DAP 兼容)
使用“jtag3”程序员类型。

AVR Dragon 支持所有模式(ISP、JTAG、HVSP、PP、debugWire)。 当用于
JTAG 和 debugWire 模式,AVR Dragon 的行为类似于 JTAG ICE mkII,因此所有设备-
该设备的特定评论也将适用。 在 ISP 模式下使用时,AVR Dragon
行为类似于 AVRISP mkII(或 ISP 模式下的 JTAG ICE mkII),因此所有特定于设备的
评论将适用于那里。 特别是,Dragon 从一个相当快的 ISP 开始
时钟频率,所以 -B 位时钟 可能需要选项来实现稳定的 ISP
沟通。 对于 ATxmega 设备,在 PDI 模式下支持 AVR Dragon,前提是它
固件版本至少为 6.11(十进制)。

还支持 avrftdi、USBasp ISP 和 USBtinyISP 适配器,前提是 阿夫鲁德 具有
使用 libusb 支持编译。 USBasp ISP 和 USBtinyISP 都具有简单的固件-
只有 USB 实现,分别运行在 ATmega8(或 ATmega88)或 ATtiny2313 上。
如果 libftdi 已经编译在 阿夫鲁德, avrftdi 设备增加了对许多
使用在 MPSSE 模式下运行的 FTDI 的 2232C/D/H 和 4232H 部件的程序员
(在芯片中)SCK 到第 1 位,MOSI 到第 2 位,MISO 到第 3 位。复位通常是第 4 位。

Atmel DFU 引导加载程序在 FLIP 协议版本 1(AT90USB* 和
ATmega*U* 设备),以及版本 2(Xmega 设备)。 请参阅下面的一些提示
FLIP 版本 1 协议行为。

可以提供输入文件,输出文件可以写成不同的文件格式,例如
作为包含要下载到芯片的数据的原始二进制文件、英特尔十六进制格式,或
摩托罗拉 S 记录格式。 有许多工具可用于生成这些文件,
喜欢 Asl(1) 作为独立的汇编程序,或 avr-objcopy(1) GNU 的最后阶段
AVR 微控制器的工具链。

提供 诽谤(3) 编译时存在 阿夫鲁德, 输入文件也可以是最终的
链接器生成的 ELF 文件。 将检查适当的 ELF 部分,
根据要写入的内存区域。

阿夫杜德 可以对支持的 AVR 部件的 EEPROM 和闪存单元进行编程。 在哪里
在串行指令集的支持下,熔丝位和锁定位也可以编程。
这些是在 阿夫鲁德 作为单独的内存类型,可以使用编程
文件中的数据(请参阅 -m 选项)或从终端模式(请参阅 倾倒
命令)。 也可以读取芯片(前提是它没有被代码保护
以前,当然)并将数据存储在文件中。 最后,“终端”模式是
可用,允许一个人与 MCU 交互通信,并显示或
编程单个存储单元。 在 STK500 和 STK600 编程器上,几个操作
参数(目标电源电压、目标 Aref 电压、主时钟)可以被检查和
也从终端模式内更改。

可选项
为了控制所有不同的操作模式,需要设置多个选项
指定为 阿夫鲁德.

-p 部分
这是每次调用都必须的唯一选项 阿夫鲁德。 它
指定连接到编程器的 MCU 的类型。 这些是读
从配置文件。 对于当前支持的 MCU 类型,使用 ? 作为partno,这
将在终端上打印 partno id 和官方零件名称的列表。 (两个都
可以与 -p 选项一起使用。)

以下部分需要特别注意:

AT90S1200 AT90S1200 的 ISP 编程协议有细微的不同
与其他 AVR 的方式不同。 因此,并非所有程序员都支持
这个设备。 已知工作的都是直接的bitbang程序员,
和所有程序员都在谈论 STK500v2 协议。

AT90S2343 AT90S2323 和 ATtiny22 使用相同的算法。

ATmega2560、ATmega2561
并非所有编程都支持 128 KB 以上的闪存寻址
硬件。 已知可以工作的有 jtag2、stk500v2 和 bit-bang
程序员。

ATtiny11 ATtiny11 只能在高压串行模式下编程。

-b 波特率
覆盖相应的 RS-232 连接波特率
程序员的配置文件入口。

-B 位时钟
指定 JTAG 接口或 ISP 时钟(JTAG ICE
只要)。 该值是以微秒为单位的浮点数。 或者,
该值可能以“Hz”、“kHz”或“MHz”为后缀,以便指定
位时钟频率,而不是一个周期。 JTAG 的默认值
ICE 产生约 1 微秒的位时钟周期,适用于目标 MCU
以 4 MHz 或更高频率运行。 与 STK500 中的某些参数不同,
JTAG ICE 在编程时将其所有参数重置为默认值
软件从 ICE 注销,因此对于以较低时钟速度运行的 MCU,
此参数必须在命令行中指定。 您可以使用
'default_bitclock' 关键字在您的 ${HOME}/.avrduderc 分配默认值的文件
值以避免在每次调用时都指定此选项。

-c 程序员编号
使用参数指定的程序员。 程序员和他们的引脚
从配置文件中读取配置(请参阅 -C 选项)。 新别针
可以通过使用配置轻松添加或修改配置
要制作的文件 阿夫鲁德 与不同的程序员一起工作,只要程序员
支持 Atmel AVR 串行编程方式。 您可以使用
'default_programmer' 关键字在您的 ${HOME}/.avrduderc 文件分配一个
默认程序员不必在每个
调用。 所有支持的程序员的完整列表输出到
终端使用? 作为程序员 ID。

-C 配置文件
使用指定的配置文件加载配置数据。 该文件包含
所有程序员和零件定义 阿夫鲁德 知道。 如果你有一个
程序员或部分 阿夫鲁德 不知道的可以加进去
配置文件(一定要提交一个补丁给作者,以便它可以
为下一个版本合并)。 查看配置文件,位于
/etc/avrdude.conf,其中包含格式说明。

If 配置文件 被写成 +文件名 然后这个文件在系统之后被读取
宽和用户配置文件。 这可用于将条目添加到
无需修补系统范围的配置文件即可配置。 有可能
多次使用,文件的读取顺序与命令中给出的顺序相同
线。

-D 禁用闪存的自动擦除。 当。。。的时候 -U 带闪存的选项是
指定的, 阿夫鲁德 将在开始任何之前执行芯片擦除
编程操作,因为编程闪存通常是错误的
无需先执行擦除。 此选项禁用它。 自动擦除是
不用于 ATxmega 设备,因为这些设备之前可以使用页面擦除
写入每一页,因此不需要明确的芯片擦除。 但是请注意
任何不受当前操作影响的页面将保留其先前的
内容。

-e 导致执行芯片擦除。 这将重置闪存的内容
ROM 和 EEPROM 为值 '0xff',并清除所有锁定位。 除了
可以使用页擦除的ATxmega设备,它基本上是一个先决条件
闪存 ROM 可以再次重新编程之前的命令。 唯一的例外
如果新内容只会导致位被编程
从值“1”到“0”。 请注意,为了重新编程 EERPOM 细胞,没有
由于 MCU 提供自动擦除功能,因此需要明确的事先芯片擦除
在这种情况下,在对单元进行编程之前循环。

-E 出口规格[,出口规格]
默认情况下, 阿夫鲁德 在退出时使并行端口保持与它相同的状态
启动时发现。 此选项修改“/RESET”的状态和
'Vcc' 线并行端口留在 出口规格 参数
提供,如下:

重置 '/RESET' 信号将在程序退出时保持激活状态,即
它将被举办 , 以保持 MCU 处于复位状态
然后。 请特别注意,编程算法
AT90S1200 设备要求“/RESET”信号处于活动状态
before 给 MCU 上电,以防万一外部电源
用于此 MCU 类型,先前调用 阿夫鲁德 与此
指定的选项是保证这一点的可能方法之一
状态。

重置 '/RESET' 行将在程序退出时停用,从而允许
MCU 目标程序在编程硬件保持不变的情况下运行
连接的。

VCC 此选项将使那些并行端口引脚保持活动状态(即 )
可用于为 MCU 提供“Vcc”电源。

新人 此选项将在以下位置拉低并行端口的“Vcc”引脚
程序退出。

d_高 此选项将使并行端口上的 8 个数据引脚保持活动状态。
(IE )

此选项将使并行端口上的 8 个数据引脚处于非活动状态。
(IE )

出口规格 参数可以用逗号分隔。

-F 通常情况下, 阿夫鲁德 尝试验证从部件读取的设备签名
在继续之前是合理的。 由于可能不时发生
设备具有损坏(已擦除或覆盖)的设备签名,但在其他情况下
正常运行时,提供此选项以覆盖检查。 另外,对于
像 Atmel STK500 和 STK600 这样的程序员可以在本地调整参数
到编程工具(独立于与目标的实际连接
控制器),此选项可与 -t 在终端继续
模式。

-i 延迟
对于 bitbang 类型的程序员,延迟大约 延迟 微秒
每个位状态变化之间。 如果主机系统非常快,或者目标
运行慢时钟(如 32 kHz 晶体,或 128 kHz 内部 RC
振荡器),这可能成为满足 ISP 要求的必要条件
时钟频率不得高于 CPU 时钟频率的 1/4。 这个
被实现为自旋循环延迟,以允许甚至非常短的延迟。 在
在 Unix 风格的操作系统中,自旋循环最初是针对
系统计时器,因此微秒数可能相当现实,
假设系统负载恒定,而 阿夫鲁德 在跑。 在 Win32 上运行
系统,假设每微秒预先配置的周期数
对于非常快或非常慢的机器,可能会有所下降。

-l 日志文件
使用 VHDL 语言编写 日志文件 而非 斯特德 用于诊断输出。 注意初始
诊断消息(在选项解析期间)仍然写入 斯特德
反正。

-n No-write - 禁止将数据实际写入 MCU(用于调试
阿夫鲁德 ).

-O 根据 Atmel 应用程序执行 RC 振荡器运行时校准
请注意 AVR053。 这仅在 STK500v2、AVRISP mkII 和 JTAG 上受支持
ICE mkII 硬件。 请注意,结果将存储在 EEPROM 单元中
地址 0。

-P 端口
使用 VHDL 语言编写 端口 识别编程器所连接的设备。 经过
默认的 /开发/ppi0 端口被使用,但如果程序员键入正常
连接到串行端口, /开发/cuaa0 端口是默认值。 如果你需要
要使用不同的并行或串行端口,请使用此选项指定
备用端口名称。

在 Win32 操作系统上,并行端口被称为 lpt1 到
lpt3,分别指地址0x378、0x278和0x3BC。 如果
并口可以通过不同的地址访问,这个地址
可以直接指定,使用通用的 C 语言符号(即,
十六进制值以 '0x' 为前缀)。

对于 JTAG ICE mkII 和 JTAGICE3,如果 阿夫鲁德 已经配置了libusb
支持, 端口 也可以指定为 USB[:的SerialNo]。 这会
原因 阿夫鲁德 在 USB 上搜索编程器。 如果 的SerialNo 还规定,
它将与从找到的任何 JTAG ICE mkII 读取的序列号匹配
在 USB 上。 匹配是在从给定的删除任何现有的冒号后完成的
序列号,从右到左,所以只有最不重要的字节来自
需要提供序列号。

由于 AVRISP mkII 设备只能通过 USB 进行通信,因此使用相同的方法
那里需要指定端口。

对于在 HID 模式下运行的 USB 编程器“AVR-Doper”,端口必须是
指定为 阿夫多珀。 在 Unix 上需要 Libusb 支持,但在 Windows 上不需要。
有关 AVR-Doper 的更多信息,请参阅
http://www.obdev.at/avrusb/avrdoper.html.

对于 USBtinyISP,这是一个不实现串行的简单设备
数字,多个设备可以通过它们在 USB 中的位置来区分
等级制度。 请参阅相应的 故障排除 进入详细
示例文档。

对于使用某种更高级别连接到串行端口的程序员
协议(与 bit-bang 风格的程序员相反), 端口 可以指定为
:主持人:端口. 在这种情况下,不是尝试打开本地设备,而是一个 TCP
到 (TCP) 的网络连接 端口 on 主持人 成立。 远程端点
假设是连接网络流的终端或控制台服务器
到实际编程器已连接到的本地串行端口。 这
假定端口已正确配置,例如使用透明
STK8 的 115200 位数据连接,无奇偶校验,波特率为 500。

-q 在读取或写入时禁用(或停止)进度条的输出
设备。 再次指定它以获得更安静的操作。

-s 禁用安全模式提示。 当安全模式发现一个或多个保险丝时
位已无意更改,它会提示确认有关
是否应该尝试恢复熔丝位。 指定这个
标志禁用提示并假设应该恢复熔丝位
无需先询问确认。

-t 告诉 阿夫鲁德 进入交互式“终端”模式而不是向上或
下载文件。 终端模式的详细描述见下文。

-u 禁用安全模式保险丝位检查。 默认情况下启用安全模式并且是
旨在防止意外熔丝位更改。 启用后,安全模式
如果在程序中发现任何熔丝位不同,将发出警告
退出时比他们当时 阿夫鲁德 被调用。 安全模式不会改变保险丝位
本身,而是会提示指令,除非终端是非
交互式,在这种情况下安全模式被禁用。 见 -s 禁用选项
安全模式提示。

如果其中一个配置文件有一行
default_safemode = 否;
默认情况下禁用安全模式。 这 -u 选项的效果被否定了
情况,即它 使 安全模式。

对于 AVR32、Xmega 和 TPI 设备,安全模式始终处于禁用状态。

-U 内存类型:操作:文件名[:格式]
按照指示执行内存操作。 这 内存类型 字段指定
要操作的内存类型。 可用的内存类型取决于设备,
实际配置可以查看 部分 终端模式下的命令。
通常,设备的内存配置至少包含内存类型
厄普罗姆. 目前已知的所有内存类型是:
校准 一个或多个字节的 RC 振荡器校准数据。
eeprom 设备的 EEPROM。
efuse 扩展的保险丝字节。
flash 设备的闪存 ROM。
熔丝 仅具有单个熔丝字节的设备中的熔丝字节。
hfuse 保险丝高字节。
lfuse 保险丝低字节。
lock 锁定字节。
签名 三个设备签名字节(设备 ID)。
保险丝N ATxmega 设备的熔断器字节, N 是整数
设备支持的每个保险丝。
application ATxmega 设备的应用程序闪存区。
apptable ATxmega 设备的应用表闪存区域。
boot ATxmega 设备的引导闪存区。
prodsig ATxmega 设备的生产特征(校准)区域。
usersig ATxmega 设备的用户签名区。

这个 op 字段指定要执行的操作:

r 读取设备内存并写入指定文件

w 从指定文件读取数据并写入设备内存

v 从设备和指定文件中读取数据并执行
确认

这个 文件名 字段指示要读取或写入的文件的名称。 这
格式 字段是可选的,包含要读取或写入的文件格式。
格式 可以是以下之一:

i 英特尔十六进制

s 摩托罗拉S唱片

r 原始二进制; little-endian 字节顺序,在闪存 ROM 数据的情况下

e ELF(可执行和可链接格式)

m 即时; 在命令行上指定的实际字节值,由
逗号或空格。 这对于编程熔丝字节很有用,而无需
创建单字节文件或进入终端模式。

a 自动侦测; 仅对输入有效,且仅在未提供输入时有效
at 标准输入.

d 十进制; 此格式和以下格式仅对输出有效。 他们
为相应的内存部分生成一行输出,形成一个
逗号分隔的值列表。 这对以下情况特别有用
后续处理,例如熔断器位设置。

h 十六进制; 每个值都会得到字符串 0x 前置。

o 八进制; 每个值都会得到一个 0 除非小于 8 in
在这种情况下它没有前缀。

b 二进制; 每个值都会得到字符串 0b 前置。

默认是对输入文件使用自动检测,原始二进制格式
用于输出文件。 请注意,如果 文件名 包含一个冒号, 格式 场是
不再可选,因为冒号后面的文件名部分将
被误解为 格式.

当读取任何一种闪存区域(包括
Xmega 设备),生成的输出文件将被截断为不包含
尾随 0xFF 字节,表示未编程(擦除)的内存。 因此,如果
整个内存未编程,这将导致输出文件没有
内容。

作为缩写,形式 -U 文件名 相当于指定 -U
flash:w:文件名:一种。 这仅在以下情况下有效 文件名 没有冒号
它。

-v 启用详细输出。 更多的 -v 选项会增加详细程度。

-V 上传数据时禁用自动验证检查。

-x 扩展参数
通过 扩展参数 到所选的程序员实现作为扩展
范围。 扩展参数的解释取决于
程序员本身。 请参阅下面的接受扩展的程序员列表
参数。

终端 模式
在这种模式下, 阿夫鲁德 只初始化与 MCU 的通信,然后等待用户
标准输入上的命令。 命令和参数可以缩写为最短的
明确的形式。 终端模式提供命令历史使用 的ReadLine(3),所以以前
输入的命令行可以被调用和编辑。 目前有以下命令
已实施:

倾倒 内存类型 地址 字节数
阅读 字节数 指定内存区域中的字节,并将它们显示在
通常的十六进制和 ASCII 格式。

倾倒 继续为另一个转储内存内容 字节数 以前的地方
倾倒 命令停止。

内存类型 地址 byte1 ... 字节N
手动编程相应的存储单元,从地址开始 地址使用
价值 byte1 通过 字节N. 银行未实施此功能
寻址存储器,例如 ATMega 设备的闪存。

抹去 执行芯片擦除。

提交 b1 b2 b3 b4
将原始指令代码发送到 AVR 设备。 如果您需要访问某个功能
不直接支持的 AVR 部分 阿夫鲁德, 这个命令允许
你使用它,即使 阿夫鲁德 不执行命令。 使用时
直接 SPI 模式,最多可以省略 3 个字节。

SIG 显示设备签名字节。

SPI 进入直接 SPI 模式。 这 已编排 引脚充当从选择。 只有 支持的
on 并行 比特邦 程序员。

部分 显示当前零件设置和参数。 包括芯片特定
信息包括设备支持的所有内存类型,读/写
时机等

PGM 返回编程模式(从直接 SPI 模式)。

目标 电压
将目标的电源电压设置为 电压 伏特。 只有 支持的 on 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。
STK500 STK600 程序员。

瓦雷夫 [渠道] 电压
将可调电压源设置为 电压 伏特。 这个电压通常是
用于驱动目标的 参考文献 STK500 上的输入。 在 Atmel STK600 上,两个
提供参考电压,可通过可选
渠道 参数(0 或 1)。 只有 支持的 on 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 STK500 STK600
程序员。

福斯 频率[M|k]
将主振荡器设置为 频率 赫兹。 可选的尾随字母 M
乘以 1E6,一个尾随字母 k 由 1E3。 只有 支持的 on 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 STK500
STK600 程序员。

福斯 折扣
关闭主振荡器。 只有 支持的 on 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 STK500 STK600
程序员。

sck 期间
STK500 STK600 程序员 只要: 将 SCK 时钟周期设置为 期间
微秒。

JTAG ICE 只要: 将 JTAG ICE 位时钟周期设置为 期间 微秒。 笔记
与 STK500 设置不同,此设置将恢复为默认设置
编程软件注销时的值(大约 1 微秒)
来自 JTAG ICE。 该参数也可用于 JTAG ICE mkII,
JTAGICE3 和 Atmel-ICE 用于指定操作 ICE 时的 ISP 时钟周期
在 ISP 模式下。

参数 STK500 STK600 程序员 只要: 显示当前电压和主控
振荡器参数。

JTAG ICE 只要: 显示当前目标电源电压和 JTAG 位时钟
率/期间。

详细 [水平]
改变(当 水平 提供),或显示详细级别。 最初的
详细级别由数量控制 -v 上给出的选项
命令行。

?

帮助 提供可用命令的简短在线摘要。

退出 离开终端模式,从而 阿夫鲁德.

默认 并行 端口 连接
(这些可以更改,请参阅 -c 选项​​)
置顶 功能
2-5 Vcc(MCU 的可选电源)
7 /RESET(到MCU)
8 SCK(至 MCU)
9 MOSI(至 MCU)

10 味噌(来自 MCU)
18-25 地

调试线 限制
debugWire 协议是 Atmel 的专有单线(加接地)协议,允许
使用“/RESET”线对较小的 AVR 设备进行在线仿真。 DebugWire 模式是
通过激活“DWEN”保险丝启动,然后对目标进行电源循环。 虽然这种模式
主要用于调试/仿真,它还提供有限的编程功能。
实际上,在这种模式下唯一可以读取或编程的存储区域是闪存
和 EEPROM。 也可以读出签名。 所有其他内存区域不能
被访问。 没有 芯片 抹去 debugWire 模式下的功能; 相反,虽然
重新编程闪存 ROM,每个闪存 ROM 页面在更新之前都会被擦除。 这个
由 JTAG ICE mkII(或 AVR Dragon)透明地完成。 回来的唯一途径
debugWire 模式是向 JTAG ICE mkII(或 AVR
Dragon),所以 debugWire 模式将被暂时禁用,并且可以访问目标
使用正常的ISP编程。 该序列通过使用 JTAG 自动启动
ISP 模式下的 ICE mkII 或 AVR Dragon,当检测到无法进入 ISP 模式时。

FLIP 版本 1 特质
使用 FLIP 协议版本 1 的引导加载程序会遇​​到一些非常特殊的行为。

这些引导加载程序无法访问闪存和 EEPROM 以外的存储器区域。

当引导加载程序启动时,它进入 安全 模式 唯一可以接受的访问
是查询设备配置参数(用于AVR上的签名
设备)。 离开此模式的唯一方法是 芯片 抹去. 由于芯片擦除通常是
暗示的 -U 重新编程闪存时的选项,这种特性可能不是很
立即明显。

有时,已禁用安全模式的引导加载程序似乎不再响应
合理的配置数据,但对于所有查询只有 0xFF。 由于这些查询用于
获得相当于一个签名, 阿夫鲁德 在那种情况下只能通过强迫
签名检查被覆盖 -F 选项。

A 芯片 抹去 可能会使 EEPROM 未被擦除,至少在某些版本的引导加载程序上。

程序员 接受 扩展 参数
JTAG ICE MKII

JTAGICE3

爱特梅尔-ICE

AVR
在 JTAG 模式下使用 JTAG ICE mkII、JTAGICE3、Atmel-ICE 或 AVR Dragon 时,
接受以下扩展参数:

jtagchain=UB,UA,BB,BA
设置 JTAG 扫描链 UB 之前的单位, UA 之后的单位,
BB 位之前,和 BA 分别位于目标 AVR 之后的位。
链中的每个 AVR 单元移位 4 位。 其他 JTAG
单位可能需要不同的位移计数。

电压调节器910

开发者代码=值
使用覆盖设备代码选择 VALUE 作为设备
代码。 不向程序员查询支持的列表
设备代码,以及指定的 VALUE 未验证但已使用
直接在发送给程序员的“T”命令内。 VALUE
可以使用 C 的常规数字表示法指定
编程语言。

无块模式
禁用块传输功能的默认检查。
使用 VHDL 语言编写 无块模式 只有当你的 电压调节器910 程序员制造错误
在初始序列期间。

商业海盗

重置={cs,aux,aux2}
默认设置假定 BusPirate 的 CS 输出引脚
连接到 AVR 侧的 RESET 引脚。 然而这是可能的
使用 MISO、MOSI 将多个 AVR 连接到同一个 BP
和 SCK 线对它们来说都是通用的。 在这种情况下,一个 AVR
应该将其 RESET 连接到 BusPirate 的 CS 针,第二
AVR 的 RESET 连接到 BusPirate 的 AUX 别针,如果你
BusPirate 有一个 辅助2 引脚(仅适用于 BusPirate 版本
v1a 固件 3.0 或更新版本)使用它来激活 RESET
第三个AVR。

将 BusPirate 和 AVR 解耦可能是个好主意
SPI 总线之间使用三态总线缓冲器。 为了
例如 74HC125 或 74HC244 是一些很好的候选
由适当的复位引脚(cs、aux 或 aux2)驱动的锁存器。
否则,一个活动电路中的 SPI 流量可能会干扰
在另一个设计中对 AVR 进行编程。

spifreq=<0..7>
Bus Pirate 的二进制 SPI 模式的 SPI 速度:

0 .. 30 kHz(默认)
1 .. 125 赫兹
2 .. 250 赫兹
3 .. 1 兆赫
4 .. 2 兆赫
5 .. 2.6 兆赫
6 .. 4 兆赫
7 .. 8 兆赫

原始频率=<0..3>
设置 SPI 速度并使用 Bus Pirate 的二进制“raw-wire”
模式:

0 .. 5 赫兹
1 .. 50 赫兹
2 .. 100 kHz(仅限固件 v4.2+)
3 .. 400 kHz (v4.2+)

“raw-wire”模式的唯一优势是不同的SPI
可用频率。 分页写作在这个没有实现
模式。

ASCII 即使固件支持,也尝试使用 ASCII 模式
BinMode(二进制模式)。 BinMode 在固件 2.7 和
较新、较旧的固件要么没有 BinMode,要么它们的 BinMode 是
马车。 ASCII 模式较慢,使上述 重置=, 频率=
原始频率= 参数不可用。 请注意,ASCII 模式是
不保证适用于较新的固件版本,并且
保留只是为了保持与旧固件的兼容性
版本。

无分页写入
固件版本 5.10 和更新版本支持二进制模式 SPI
允许将整个页面写入 AVR 闪存的命令
内存,导致写入速度显着提高。
如果出于某种原因不希望使用此模式,则此
选项禁用它。

无页恐惧
较新的固件版本支持二进制模式 SPI 命令一些
AVR 扩展命令。 使用“从闪存读取大容量存储器”
导致读取速度显着提高。 如果使用这个
由于某种原因,模式是不可取的,此选项将其禁用。

cpufreq=<125..4000>
这将 AUX 引脚设置为输出频率为 n 千赫。 连接
将 AUX 引脚连接到 MCU 的 XTAL1 引脚,您可以为其提供一个
时钟,例如当它需要一个外部时钟时
错误的保险丝设置。 确保 CPU 频率至少为
SPI 频率的四倍。

serial_recv_timeout=<1...>
这将串行接收超时设置为给定值。 这
每次 avrdude 等待 BusPirate 时都会发生超时
迅速的。 特别是在 ascii 模式下,这种情况经常发生,所以
设置较小的值可以大大加快编程速度。 这
默认值为 100 毫秒。 在大多数情况下,使用 10ms 可能有效。

布线 使用接线编程器类型时,以下可选扩展
参数被接受:

小睡=<0..32767>
执行端口开放阶段后,AVRDUDE 将等待/暂停
HPMC胶囊 打盹 继续协议同步之前的毫秒数
阶段。 如果出现以下情况,则不会执行 DTR/RTS 的切换 打盹 更伟大
大于0。

PICkit2
连接到 PICkit2 编程器:

(AVR)(PICkit2)
RST-VPP/MCLR (1)
VDD - VDD 目标 (2) -- 如果 AVR 自供电,可能是可选的
地 - 地 (3)
味噌-PGD (4)
SCLK-PDC (5)
MOSI - 辅助 (6)

扩展命令行参数:

时钟频率=
以 Hz 为单位设置 SPI 时钟频率(默认为 100kHz)。
或者,可以使用 -B 或 -i 选项来设置时间段。

超时=
以毫秒为单位设置 USB 读取和写入的超时时间
(默认为 1500 毫秒)。

使用 onworks.net 服务在线使用 avrdude


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。