Программирование флешь в LPC осуществляется через IAP-API. И ни какое автоматическое перепрограммирование флеша, размещением там переменных - не будет работать.
Добавлено after 2 minutes 33 seconds:
[uquote="tonyk",url="/forum/viewtopic.php?p=4112478#p4112478"]А вот как в эти сегменты размещаются данные:
Спойлер
Код: Выделить всё
...
const uint8 __PLC_params[ SIZE_BYTE_PARAMS ] \
__attribute__ ( (section( ".plc_params" ), used ) ) =
{
MAX_STEP / 1000, 0x00, // 00 0x0000 -- SIZE IN STEP 16000
0x00, 0x00, // 02 --
0x00, 0x00, // 04 --
0x00, 0x00, // 06 --
0x20, 0x20, // 08 0x0008 -- PASSWORD 0
0x20, 0x20, // 10 -- PASSWORD 1
0x20, 0x20, // 12 -- PASSWORD 2
0x20, 0x20, // 14 -- PASSWORD 3
'S', 'K', // 16 0x0010 -- PLC NAME 0
'2', 'N', // 18 -- PLC NAME 1
'-', 'F', // 20 -- PLC NAME 2
'4', '1', // 22 -- PLC NAME 3
'1', 'R', // 24 -- PLC NAME 4
'E', '-', // 26 -- PLC NAME 5
'B', 'o', // 28 -- PLC NAME 6
'k', 'r', // 30 -- PLC NAME 7
'a', 0, // 32 -- PLC NAME 8
0, 0, // 34 -- PLC NAME 9
0, 0, // 36 -- PLC NAME A
0, 0, // 38 -- PLC NAME B
0, 0, // 40 -- PLC NAME C
0, 0, // 42 -- PLC NAME D
0, 0, // 44 -- PLC NAME E
0, 0, // 46 -- PLC NAME F
...
};
const uint16 __PLC_prog[ MAX_STEP ] \
__attribute__ ( (section( ".plc_prog" ), used ) ) =
{
0x2800, 0xC801, 0x001C, // -|M0|-(M1)-
0xFFFF, // ----[FEND]-
0x000F // -----[END]-
};
const uint16 __PLC_D8XXX[ 256 ] \
__attribute__ ( (section( ".plc_D8xxx" ), used ) ) =
{
0x00C8, // D8000 - WDT 200ms
...
};
const uint16 __PLC_storredRegisters[ STORRED_REGS_NUM ] \
__attribute__ ( (section( ".plc_data_regs" ), used ) ) =
{
0
};
...
И где же там хоть одна переменная? Вы разницу между переменной и константой понимаете???
Знаете что такое "переменная"?


