如何使用 Linux 或 Mac 对 AVR Raven 进行编程?

发布于 2024-08-21 00:41:57 字数 478 浏览 10 评论 0原文

本教程用于编程这些首先使用 Windows 盒子对 Ravens 和 Jackdaw 进行编程。我可以在 Linux 或 OS X 计算机上使用 avrdude 执行这些初始步骤吗?如果是这样,怎么办?如果我尝试的话,是否会有硬件变砖的风险?

我有一个 USB JTAG ICE MKii 克隆,应该可以用于此目的。

我对 AVR 完全陌生,但对 Linux 或 OS X 上的 C/C++ 编程非常有经验,甚至包括内核编程......所以任何提示都将不胜感激,我可以阅读手册页,但前提是我知道我在寻找什么。

This tutorial for programming these starts with programming the Ravens and Jackdaw with a Windows box. Can I do those initial steps with avrdude on a Linux or OS X machine instead? If so, how? Is there any risk of bricking the hardware if I just try?

I have a USB JTAG ICE MKii clone, which is supposed to work for this.

I'm totally new to AVR, but very experienced with C/C++ programming on Linux or OS X, up to and including kernel programming... so any hint at all would be appreciated, I can read man pages, but only if I know what I'm looking for.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

拒绝两难 2024-08-28 00:41:57

事实上,我早就应该回到这个话题并发布我的解决方案。

是的,你可以这样做。

avrdude 支持一切必要的功能,但有一个技巧:如果您不先擦除两个处理器,Raven 将无法成功刷新。因此,第一步,擦除设备。

然后(此示例适用于 Jackdaw USB 记忆棒,但同样的步骤也适用于 Ravens 中的每个处理器):

avr-objcopy -O ihex -j .eeprom ravenusbstick.elf ravenusbstick-eeprom.hex
avr-objcopy -v -O ihex -R .eeprom -R .fuse ravenusbstick.elf ravenusbstick.hex
sudo avrdude -u -p usb1287 -c jtagmkII -v -P usb -Uefuse:w:0xFF:m -Uhfuse:w:0x99:m -Ulfuse:w:0xE2:m -Ueeprom:w:ravenusbstick-eeprom.hex -Uravenusbstick.hex

如果出现错误,请从十六进制文件中删除有错误的行,然后重试。显然,请使用正确的处理器类型和保险丝设置。

Actually, I should have come back to this long since and posted my solution.

Yes, you can do this.

avrdude supports everything necessary, but there's a trick: the Raven won't successfully flash if you don't erase both processors first. So, first step, erase the device.

Then (this example is for the Jackdaw usb stick, but the same steps work for each processor in the Ravens too):

avr-objcopy -O ihex -j .eeprom ravenusbstick.elf ravenusbstick-eeprom.hex
avr-objcopy -v -O ihex -R .eeprom -R .fuse ravenusbstick.elf ravenusbstick.hex
sudo avrdude -u -p usb1287 -c jtagmkII -v -P usb -Uefuse:w:0xFF:m -Uhfuse:w:0x99:m -Ulfuse:w:0xE2:m -Ueeprom:w:ravenusbstick-eeprom.hex -Uravenusbstick.hex

If this gives an error, remove the line with the error from the hex file and try again. Obviously, use the right processor type and fuse settings.

云仙小弟 2024-08-28 00:41:57

你可以随时尝试。也许尝试 virtualbox 这样你就可以在 Linux 或 Mac 中运行 Windows。

You can always try. Maybe try virtualbox so you can run windows in linux or mac.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文