реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> STM32F103RCT6 снятие Read protect
V_M_Luck
сообщение Nov 5 2012, 09:22
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 26-11-05
Пользователь №: 11 420



Камень STM32F103RCT6.
Есть проект с загрузчиком. Загрузчик располагается по младшим адресам FLASH (16 первых страниц). На старте загрузчик проверяет и в случае необходимости выставляет ReadProtect bit в FLASH_OBR.
Возникла необходимость перезашить загрузчик. Оказалось, что при выставлении ReadProtect bit первые две страницы автоматически становятся write-protected. Что бы снять защиту от записи, необходимо запуститься из ОЗУ, снять ReadProtect, полностью сотрется весь FLASH, перезапуститься. Запуск контроллера произойдет опять из FLASH, а там прошивки уже нет никакой. Дергать ножками BOOT нет возможности.
Возможно как-то можно обойтись без перезапуска всего? Или как-то еще можно разрулить эту проблему?
Go to the top of the page
 
+Quote Post
YAM
сообщение Nov 5 2012, 12:17
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 7-07-04
Из: Ukraine
Пользователь №: 291



Ну так создайте приложение, в составе которого будет образ нового загрузчика, после запуска снимите защиту и перепрошейте новый загрузчик.
не забудьте в приложении так-же сделать проверку на загруженность нового загрузчика, иначе все будет крутиться колесом. И, естественно, если что-то произойдет во время записи нового загрузчика, то ой... sm.gif

Фух, сколько букаф написал...


--------------------
Go to the top of the page
 
+Quote Post
V_M_Luck
сообщение Nov 5 2012, 12:22
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 26-11-05
Пользователь №: 11 420



Цитата
Ну так создайте приложение, в составе которого будет образ нового загрузчика, после запуска снимите защиту и перепрошейте новый загрузчик.

Проблема не в алгоритме обновления загрузчика. Это все и ежу понятно.
Повторяю, проблема в том, как снять Read protect, write protect и после этого продолжить процедуру обновления.
Go to the top of the page
 
+Quote Post
Aner
сообщение Nov 5 2012, 12:30
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



В чем проблема то? Хочется "снять" прошивку по умному?
... снятие Read protect со стиранием, ... иначе через ОЗУ доступ к Flash и к прошивке. А кому этого хочется? Вот в STM и закрыли эту дверку.
Может у вас другая задача? ...поясните.

QUOTE (V_M_Luck @ Nov 5 2012, 16:22) *
Проблема не в алгоритме обновления загрузчика. Это все и ежу понятно.
Повторяю, проблема в том, как снять Read protect, write protect и после этого продолжить процедуру обновления.

таким образом никак.

QUOTE (YAM @ Nov 5 2012, 16:17) *
Ну так создайте приложение, в составе которого будет образ нового загрузчика, после запуска снимите защиту и перепрошейте новый загрузчик.
не забудьте в приложении так-же сделать проверку на загруженность нового загрузчика, иначе все будет крутиться колесом. И, естественно, если что-то произойдет во время записи нового загрузчика, то ой... sm.gif

Фух, сколько букаф написал...

да обходиться все это просто, что вы народ пугаете.
Go to the top of the page
 
+Quote Post
V_M_Luck
сообщение Nov 5 2012, 12:36
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 26-11-05
Пользователь №: 11 420



Уважаемые!
Я не понимаю ваших ответов. У меня вполне конкретный вопрос, никаких "снятий" прошивок мне не нужно. При проектировании загрузчика в нашем устройстве были допущены неточности. Загрузчик нужно обновить. Если все так просто, поясните как. Если ничего конкретного по теме нет - не флудите.
Go to the top of the page
 
+Quote Post
Aner
сообщение Nov 5 2012, 12:45
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



Причем тут флуд? На ваш вопрос конкретный ответ.
>Повторяю, проблема в том, как снять Read protect, write protect и после этого продолжить процедуру обновления.
таким образом никак. Переписывайте загрузчик, устраняйте ошибки.
Go to the top of the page
 
+Quote Post
LEVENVORF
сообщение Nov 5 2012, 12:59
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 14-03-10
Из: BELARUS
Пользователь №: 55 953



У high-density чипов при активации Read Out Protect автоматически защищаются от записи адреса 0x08000000 - 0x08001000 (4 кб).
У меня в этом диапазоне лежала прошивка и обновить ее так и не удалось, потому что похоже единственный способ разлочить эту область памяти это отключить Read Out Protect (из-за этого запуститься процедура полного стирания флэша). И все бы хорошо, но для завершения разлочивания необходимо после стирания выполнить PowerOnReset. И тут появляется проблема: откуда стартовать программе обновления прошивки??? Флэш чистый, ОЗУ тоже... Дергать ножками BOOT тоже не могу...
Проблема по-прежнему актуальна. Очень хотелось бы найти решение

Сообщение отредактировал LEVENVORF - Nov 5 2012, 13:03
Go to the top of the page
 
+Quote Post
V_M_Luck
сообщение Nov 5 2012, 13:11
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 26-11-05
Пользователь №: 11 420



Цитата
Причем тут флуд? На ваш вопрос конкретный ответ.
>Повторяю, проблема в том, как снять Read protect, write protect и после этого продолжить процедуру обновления.
таким образом никак. Переписывайте загрузчик, устраняйте ошибки.

Понятно. Спасибо.
Все-таки я уточню. Возможно меня не так поняли. Снимать read protect мне не нужно. Просто без снятия этого бита нельзя снять защиту от записи двух первых страниц - а там и расположен мой загрузчик. Получается, что обновить загрузчик на уже прошитых устройствах можно только при помощи jtag...

Сообщение отредактировал V_M_Luck - Nov 5 2012, 13:14
Go to the top of the page
 
+Quote Post
vlad_new
сообщение Nov 6 2012, 20:19
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 218
Регистрация: 24-06-10
Пользователь №: 58 127



Цитата(V_M_Luck @ Nov 5 2012, 17:11) *
Понятно. Спасибо.
Все-таки я уточню. Возможно меня не так поняли. Снимать read protect мне не нужно. Просто без снятия этого бита нельзя снять защиту от записи двух первых страниц - а там и расположен мой загрузчик. Получается, что обновить загрузчик на уже прошитых устройствах можно только при помощи jtag...

Мож я чего не понял, хотя у меня тоже кучка есть программ со своими загрузчиками. А разве нельзя загрузчик положить немного повыше этих 4 кило, ну или вообще отправить его в конец флеша.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 07:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.03165 секунд с 7
ELECTRONIX ©2004-2016