Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
MODULE Flash
PUBLIC Flash
#include
RSEG CODEORG 0x1F000
Flash:
push R16
in R16,SREG
cli
push R16
push R30
push R31
//Стирание страницы ФЛЕШ
ldi R30,0
ldi R31,0
ldi R16, 1
out RAMPZ,R16
ldi R16, (1<<РGERS) | (1<< SPMEN)
sts SPMCSR, R16
spm
f0:
lds R16, SPMCSR
sbrc r16, SPMEN
rjmp f0
pop R31
pop R30
pop R16
out SREG,R16
pop R16
ret
END
IAR Universal Linker V4.59E/386
Copyright 1987-2004 IAR Systems. All rights reserved.
Error[e16]: Segment CODE (size: 0x1fd30 align: 0x1) is too long for segment definition. At least 0x9118 more
bytes needed. The problem occurred while processing the segment placement command
"-Z(CODE)CODE=_..X_FLASH_BASE-_..X_FLASH_END", where at the moment of placement the available
memory ranges were "CODE:1e7-16dff,CODE:1f000-1ffff"
Reserved ranges relevant to this placement:
CODE:0-83 INTVEC
CODE:84-1e6 NEAR_F
CODE:1e7-16dff ?FILL1
CODE:16e00-1efff FAR_F (ABS)
CODE:1f000-1ffff ?FILL2