123
Fork of LG by
develop.txt
- Committer:
- Diletant
- Date:
- 2016-05-03
- Revision:
- 149:abbf7663d27d
- Parent:
- 80:7eb5dbb80c81
- Child:
- 156:e68ee0bcdcda
File content as of revision 149:abbf7663d27d:
03.05.2016 Dile Tant Использование портов: UART0 - порт обслуживания / Service port UART1 - порт команд/данных / Host port Идентификация параметров: Всем параметрам присваивается хэш/hash. В качестве хэш-функции можно использовать hash(name, type) = crc32(name) ^ crc32(type), где name - имя переменной в RAM или константы в ROM, type - тип. Например: crc32("uint16_t") ^ crc32("device.settings.address") = 0x4d8e4523 Хранение констант и переменных в RAM: Все параметры хранятся в переменной device. При загрузке инициализируется таблица адресов переменных hashParamTable[HASH_PARAM_COUNT] в формате hash32 : address32 : size32, где hash32 - хэш параметра, address32 - ссылка на параметр, size32 - размер в байтах. Доступ к параметрам через Host port Формат команды: cc address8 code16 hash32 crc32 code16: H_PARAM8_R : чтение 1-байтного параметра H_PARAM16_R: чтение 2-байтного параметра H_PARAM32_R: чтение 4-байтного параметра H_PARAM8_W : запись 1-байтного параметра H_PARAM16_W: запись 2-байтного параметра H_PARAM32_W: запись 4-байтного параметра Хранение констант и переменных в ROM: Сектор 22 - таблица адресов в формате hash32 : address32 Сектор 23 - данные по адресам из таблицы адресов Чтение из ROM: FlashReadAll() Запись в ROM: FlashWriteAll()