Чт окт 28, 2021 17:06:54
...
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
};
...
Чт окт 28, 2021 17:58:24
jcxz писал(а):Знаете что такое "переменная"?
Чт окт 28, 2021 22:31:02
Чт окт 28, 2021 23:19:30
выравнивание по границе 1024
Пт окт 29, 2021 08:38:20
Это если у тебя куча памяти, а если нет, а если ты ограничен, а если у тебя всего 16к, и программный код занимает 12-14к, тогда как?Eddy_Em писал(а):И так далее, пока вся флеш-память не кончится.
Вот если каждый раз сдвигать в пределах одной страницы памяти эти 40 байт, тогда да, я с тобой соглашусь.Eddy_Em писал(а):а размер структуры — байт 40!
Пт окт 29, 2021 08:47:24