ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
1035781 Топик полностью
Aleksey_75 (12.09.2020 01:02, просмотров: 607) ответил fk0 на См. ниже. Контрольный код хранится где-то в середине прошивки, вставляется туда через двойнную линковку и перекомпиляцию файлика с контрольной суммой после её подсчёта (на PC для чего с помощью objdump ELF превращается в BIN и самодельная программа считает CRC). A потом полученный второй раз BIN программируется бутлоадером. Вообще workflow такой:
хм! у меня примерно также но без всяких умных слов 
typedef struct
{
    uint32_t        crc;                    
    uint32_t        crypt_crc;                  
    uint32_t        size;                   
    .....
}appl_dev_info_t;

с этой структуры начинается прошивка.

компиляция как обычно с выводом бинарника. внешняя прога считает размер, считает crc открытой проши, криптует и считает crc криптованного файла. укладывает в структуру, выдает файл для флешера. в функции ресета бута , считаем срс, если сошлось переходим на основное ПО если нет сидим в буте! Естественно все эти 3 поля не шифруются и даже прога флешер может проверить валидное ПО или нет