Перейти к содержанию
    

Установка lock байта в C8051F300.

Программирую C8051F500 через Keil. Как с его помощью установить lock байт, для запрета чтения и записи флеш памяти через программатор?

Lock байт - это последний байт флеш-памяти. Т.е. Keil при генерации прошивки должен последним байтом прошивки прописать нужный байт. Как ему это указать?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так ведь залочка нужна в процессе производства, а там куда удобнее использовать FlashUtil или MCUProductionProgrammer, в которых опции залочки есть.

Можно и в Кейле приготовить, через отдельный файл и опции линкера, здесь об этом уже было, но утонуло в недрах. Вместо строки поставить отдельный байт и указать линкеру соответствующий адрес.

(upd) Заранее приготовленный файл с лок-байтом сводит к нулю вероятность ошибки на производстве, так что "code_at" таки оптимальный вариант, независимо от способа программирования.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо! Я разобрался и в Вашем примере, и с MCUProductionProgrammer, все работает!

Могу добавить ещё один вариант, который мне подсказали.

 

CSEG AT 1DFFh

CFG_BYTE_0:  DB  00h

END

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такой вариант возможен, если у вас памяти менее 64К. на Silabs582 128К ПЗУ и байт блокировки находится в банке памяти, не доступном напрямую (сперва надо переключить странцу и все такое). В этом случае либо пользовать утилиту производителя, либо вживить в код проверку байта и если не блокирован, то записать блокировку.

 

В Си расположение по адресу (без шаманства) выглядит так

code unsigned char LockByte _at_ 0xFDFF; // байт блокировки страниц памяти

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...