在这个网站http://www.mikrocontroller.net/articles/Konzept_f%C3%BCr_einen_ATtiny-Bootloader_in_C(对不起,它是德语,我不得不使用谷歌翻译器)它描述了一种在链接代码时更改重置地址值的方法使用:
-Wl,--section-start=.bootreset=0x00
然后,在代码中,我们将 bootreset 值定义为:
uint16_t boot_reset __attribute__((section(".bootreset"))) = 0xC000U + 0x1800 / 2 - 1;
其中 0x1800 是我们的代码开始。
我在 Atmel Studio 中试过这个,它的工作原理和它说的完全一样,但是在使用 avr.gcc 4.5 的 linux 上它没有:S
任何人都知道我怎样才能在 linux avr-gcc 中完成这项工作,最好是(win 和 linux)?
谢谢。