Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Ответ:
Отправлено
Codavr 16 апреля 2008 г. 15:03
В ответ на:
Ответ: отправлено
Step 16 апреля 2008 г. 14:57
В программаторе AVReAl предусмотрена запись серийного номера прибора
Серийный номер прибора
Предназначено для присвоения последовательных серийных номеров програмируемым изделиям. В качестве имени параметра используется слово serno с числом - длиной номера в байтах от 1 до 4. Серийный номер записывается в двоичном виде, младший байт записывается первым. Дополнительный аргумент ext - имя текстового файла, в котором записан номер в десятичном виде. После успешной записи в кристалл номер увеличивается на 1 и записывается назад в файл. Файл при этом переписывается полностью, если после серийного номера в нём была другая информация - она теряется. При сбое верификации при команде -w -v номер не меняется. Если в командной строке задана только верификация (без записи), то значение серийного номера из файла используется, но не инкрементируется, файл остаётся без изменений.
Примеры.
1. Необходимо записать значение 2-байтного серийного номера как 2 байта начиная с адреса 0x12 в EEPROM данных. Сам номер записан в файле serno.txt Используется ключ
-d*serno2=12,serno.txt
2. Необходимо записать значение 3-байтового серийного номера как часть команд LDI. Номер записан в файле proj.serno
public serno_load
...
serno_load:
ldi R16,0xFF ; младший байт
ldi R17,0xFF ; средний байт
ldi R18,0xFF ; старший байт
Пусть значение serno_load по map-файлу вышло 0x120. Используется ключ:
-c?serno3=120,proj.serno
Составить ответ | Вернуться на конференцию
Ответы