Jump to content

    
Sign in to follow this  
fillsv

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

Recommended Posts

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

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

 

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

 

CSEG AT 1DFFh

CFG_BYTE_0:  DB  00h

END

Share this post


Link to post
Share on other sites

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

 

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this