Цитата(Sirko @ Apr 17 2011, 12:10)

может отражать название девайса, его серийный номер, может быть какую-нибудь дату, одним словом, некоторые параметры, которые нежелательно утратить во время неудачного обновления основной программы.
Достаточно только идентификатора устройства и версии bootloader'a
Для примера:
KIT-KP <-- эта строка определяет класс устройства
B1.120.5 <-- эта строка определяет тип программы - бутлоадер "B", HW ревизию платы - 1, объем флеш памяти МК доступной для App в KB - 120, и програмную реализацию bootloader'а - 5. Последняя уточняет необходимый алгоритм шифрования и ключ.
Но их не нужно хранить в каком-то определенном месте флеш, потому как если хотите чтобы была нормальная защита - bootloader не должен позволять ни читать ни писать в секцию бутлоадера из-вне. Поэтому хранить в каком-то заранее отведенном месте нет смысла. Сделайте просто команду, которая будет выдавать эту информацию внешнему ПО по запросу, и храните эти строки "где линкер положит".
Цитата
А вот, допустим, контрольная сумма, кол-во раз перепрошивания, возможно дата последней прошивки - такие вещи действительно необходимо хранить перед загрузчиком.
Несомненно.
Цитата
Но я так прикинул, что размер бутлоадера можно отразить в его версии, отдав под это дело пару бит. Но опять-таки, структура, а точнее ее последние поля должны быть одинаковы во всех версиях всех бутлоадеров и располагаться в самом финале флэша, т.е. относительно константы FLASHEND.
Про информацию бутлоадера все известно из тех двух строк приведенных вышу - их достаточно чтобы полностью идентифицировать устройство, и определить какие app в это устройство можно грузить, какие - нет. Теперь надо подумать о информации о самой прошивке - ее название, ее версия, совместимый бутлоадер (для примера выше - строка "KIT-KP", можно и с уточнением HW и флеш памяти и ключа шифрования - "1.120.5"), CRC, коментарий, дата создания и т.д. - вот именно эту информацию и надо хранить по фиксированному адресу флеш, перед BOOT секцией.
Цитата
пароль будет храниться либо вне пределов этой структуры, либо, что вероятнее всего, он будет зависеть от версии бутлоадера, или типа девайса, либо еще чего-нибудь. Но это к данному топику отношения не имеет.
Ключ (пароль) - должен быть намертво вшит в код бутлоадера обычной константой и закрыт фузами от посторонних глаз.