Цитата(TanT @ Feb 18 2009, 22:40)

Доброго времени суток, столкнулся с необходимостью размещения одной и тойже прошивки по разным адресам флешки, да ещё чтобы работало. Есть код скомпилённый начиная с адресса, пусть 0х00001000 его требуется разместить по адресамм начиная с 0х00048000. Можно это организовать? Если можно, что для этого и где требуется поправить? Что-то я совсем в этом вопросе плаваю.
лихко! (теоретицки) на практике у меня так и не получилось.
то есть в линкер скрипте там опция есть "AT":
например:
Код
SECTIONS
{
. = 0; /* set location counter to address zero */
startup : { *(.startup)} >flash /* the startup code goes into FLASH */
.text : /* collect all sections that should go into FLASH after startup */
{
*(.text) /* all .text sections (code) */
*(.rodata) /* all .rodata sections (constants, strings, etc.) */
*(.rodata*) /* all .rodata* sections (constants, strings, etc.) */
*(.glue_7) /* all .glue_7 sections (no idea what these are) */
*(.glue_7t) /* all .glue_7t sections (no idea what these are) */
_etext = .; /* define a global symbol _etext just after the last code byte */
} >ram AT>flash /* put all the above into RAM and copy in FLASH */
код должен скомпилится для локейшен RAM, но записатся во FLASH.
онако - фигушки, VMA и LMA один и тот же - RAM.
Верить нельзя никому, даже себе. Мне - можно.