使用 avrdude 对闪存的引导加载程序部分进行编程很慢
Posted
技术标签:
【中文标题】使用 avrdude 对闪存的引导加载程序部分进行编程很慢【英文标题】:Programming bootloader section of flash with avrdude is slow 【发布时间】:2013-05-18 00:55:28 【问题描述】:在 ATmega 8 位处理器(特别是 ATmega128)中对闪存的引导加载程序部分进行编程时,AVRdude 相当慢。
我只想写内存的引导加载程序部分,它位于闪存的高位地址中。因此,AVRdude 想要写入整个闪存(128K),而不是仅仅跳转到内存的引导加载程序部分并只写入引导加载程序(比如 3K)。
有什么方法可以加快编程过程(即跳转到内存中的那个偏移量并只写那个部分),还是我被一个缓慢的编程过程卡住了?
编辑:我相信我使用的程序员导致了这个问题。当我使用不同的(更好的)编程器时,avrdude 只是跳转到闪存中的偏移量来写入引导加载程序。
【问题讨论】:
【参考方案1】:我刚遇到和你一样的问题。显然这是avrdude
的一个功能,我发现绝对没有办法让它工作。
解决方案是使用名为jtagice.exe
的命令行工具。它带有 Avr Studio,但也许你可以在互联网上找到它?对于 8Kb 引导加载程序,验证需要大约 10 秒。
【讨论】:
我相信我使用的程序员导致了这个问题。当我使用不同的(更好的)程序员时,avrdude 只是跳转到闪存中的偏移量来编写引导加载程序。以上是关于使用 avrdude 对闪存的引导加载程序部分进行编程很慢的主要内容,如果未能解决你的问题,请参考以下文章
使用 IAR EWARM 手动将 .data 部分从闪存复制到 ram
通过应用程序跳转到 STM32 中的引导加载程序,即在引导模式下从用户闪存使用引导 0 和引导 1 引脚
STM32F030F4P6 仅在从闪存启动时运行中断处理程序。从引导加载程序启动时重置