вот примерчик из моего проекта под atmel :
scripts.ld: ..... MEMORY { FLASH (rxx) : ORIGIN = 0x00100000, LENGTH = 0x00005F80 BOARD ® : ORIGIN = 0x00105F80, LENGTH = 0x80 DATA (rw) : ORIGIN = 0x00200000, LENGTH = 0x00007000 STACK (rw) : ORIGIN = 0x00207000, LENGTH = 0x00001000 } ..... .board : {
*(.board)
} > BOARD
. = ALIGN(4);
_etext = . ; PROVIDE (etext = .); ......
Использование, например серийный номер устройства, файл sn.c:
.... u32 sn __attribute__ ((section(".board"))) = 12345678; ....
отдавать под обновляемые данные придется целый сектор или страничку, в зависимости от того как стирается флеш
|