no sabía sobre ese ejemplo, le daré una mirada, si encuentro algo relevante les comento.
acá lo que saque en el hiperterminal, tengo una instrucción lectura que lee desde la posición 0xf2e0 hasta 0x309f siempre que la ejecuto, e instrucciones de escritura que las colocaré seguida de lo que resulto su lectura, ademas de unos cuantos datos en RAM:
int data1[32]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31};
int data2[32]={32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
y en FLASH:
int16 const dato1=0xaabb,dato2=0xccdd,dato3=0xeeff,dato4=0x0011;
Prueba Lectura Memoria Flash
Lectura Direcciones 0x2FE0 - 0x309F (primera lectura con datos preprogramados)
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0020 0021 0022 0023 0024 0025 0026 0027
0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037
0038 0039 003A 003B 003C 003D 003E 003F
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
Lectura Direcciones 0x2FE0 - 0x309F (write_program_memory(0x3000,data1,32);)
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0100 0302 0504 0706 0908 0B0A 0D0C 0F0E
1110 1312 1514 1716 1918 1B1A 1D1C 1F1E
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0020 0021 0022 0023 0024 0025 0026 0027
0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037
0038 0039 003A 003B 003C 003D 003E 003F
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
Lectura Direcciones 0x2FE0 - 0x309F (write_program_memory(0x3020,data2,32);)
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0100 0302 0504 0706 0908 0B0A 0D0C 0F0E
1110 1312 1514 1716 1918 1B1A 1D1C 1F1E
2120 2322 2524 2726 2928 2B2A 2D2C 2F2E
3130 3332 3534 3736 3938 3B3A 3D3C 3F3E
0020 0021 0022 0023 0024 0025 0026 0027
0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037
0038 0039 003A 003B 003C 003D 003E 003F
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
Lectura Direcciones 0x2FE0 - 0x309F (erase_program_eeprom(0x3000);)
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0020 0021 0022 0023 0024 0025 0026 0027
0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037
0038 0039 003A 003B 003C 003D 003E 003F
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
Lectura Direcciones 0x2FE0 - 0x309F (write_program_memory(0x3000,data1,64);)
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0100 0302 0504 0706 0908 0B0A 0D0C 0F0E
1110 1312 1514 1716 1918 1B1A 1D1C 1F1E
2120 2322 2524 2726 2928 2B2A 2D2C 2F2E
3130 3332 3534 3736 3938 3B3A 3D3C 3F3E
0020 0021 0022 0023 0024 0025 0026 0027
0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037
0038 0039 003A 003B 003C 003D 003E 003F
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
Lectura Direcciones 0x2FE0 - 0x309F (erase_program_eeprom(0x3000);)
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0020 0021 0022 0023 0024 0025 0026 0027
0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037
0038 0039 003A 003B 003C 003D 003E 003F
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
Lectura Direcciones 0x2FE0 - 0x309F (erase_program_eeprom(0x3040);)
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
Lectura Direcciones 0x2FE0 - 0x309F (write_program_memory(0x3040,data1,64);)
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0100 0302 0504 0706 0908 0B0A 0D0C 0F0E
1110 1312 1514 1716 1918 1B1A 1D1C 1F1E
2120 2322 2524 2726 2928 2B2A 2D2C 2F2E
3130 3332 3534 3736 3938 3B3A 3D3C 3F3E
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
Lectura Direcciones 0x2FE0 - 0x309F (write_program_eeprom(0x3000,dato1);
write_program_eeprom(0x3002,dato2);
write_program_eeprom(0x3004,dato3);
write_program_eeprom(0x3006,dato4);)
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
AABB CCDD EEFF 0011 FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0100 0302 0504 0706 0908 0B0A 0D0C 0F0E
1110 1312 1514 1716 1918 1B1A 1D1C 1F1E
2120 2322 2524 2726 2928 2B2A 2D2C 2F2E
3130 3332 3534 3736 3938 3B3A 3D3C 3F3E
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF