Цитата(sensor_ua @ Apr 1 2007, 20:07)

IMHO, серийный номер утройства не имеет никакого отношения к самой программе.
Согласен.
Цитата
и очень в редких случаях может храниться в EEPROM - ему место только во FLASH (если хватает места и нет других супер вычурных пожеланий). Штатный протокол просто должен запросить у "программы" то, что она знает, где это оно лежит.
А вот тут все с точностью до наоборот.
Номер устройства, это номер конкретного экземпляра устройства, с одной и той же прошивкой. Для того чтобы задать этот номер не нужно перекомпилировать программу. Поэтому он должен размещаться в памяти, которая не перетирается при смене прошивки - или в EEPROM или в области бутлоадера. Если его размещать в области бутлоадера, то
1. и программировать чип придется будлоадером во избежание стирания этого номера;
2. Бутлоадер придется править перекомпилировать или перелинковывать столько раз сколько всего серийных номеров устройств.
С eeprom будет гораздо меньше мороки, т.к. достаточно просто запрограммировать фуз EESAVE.
Цитата
Существет, правда, такое понятие, как серийный (как ни может показаться странным) номер программы и он никакого отношения к номеру устройства не имеет - храните где придётся.
А вот номер или правильней сказать "версия" программы - вшивается в код программы и соответсвенно размещается во FLASH.