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

 
 
> STM32F103 boot embedded SRAM, Зачем этот режим загрузки?
Golikov A.
сообщение Apr 19 2016, 20:06
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Всем привет!

Кто может внятно объяснить зачем нужен режим загрузки из embedded SRAM?
у STM32f103 пинами выбирается
0 - загрузка из флешки (обычная загрузка)
1 - загрузка из системной памяти (это как я понял заводской загрузчик с включенным UART) кстати его можно уничтожить?
2 - загрузка из embedded SRAM, программа там уже откуда то должна быть.

бут пины семплируются после сброса и стандбай режима. При этом в стендбай режиме внутренняя SRAM не сохраняется, то есть остается один сброс.

Это для обновления флешки, когда программа обновления работает из СРАМа? А кто ее туда поместил, какое то внешнее устройство через интерфейс? И потом вызвало сброс с правильно заданными пинами, так что ли? И если что-то пошло не так, то все плата - кирпич?

Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
jorikdima
сообщение Apr 19 2016, 20:11
Сообщение #2


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(Golikov A. @ Apr 19 2016, 12:06) *
Это для обновления флешки, когда программа обновления работает из СРАМа?

Не знаком с чипом, но предположу, что это именно для этого, а туда загрузчик кладется принятый стандартным загрузчиком. Типа сначала работает просто лоадер, а вы грузите через него "крутой" и позле загрузки переключаетесь на него.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 19 2016, 20:18
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



А чего обычным сразу не обновить? Или типа это для хитрошифрований?
Ок, но через встроенный загрузчик можно записать данные в СРАМ и стартануть прогу оттуда, без бут режима. Ровно как и из обычной программы можно пойти по тому же пути, напихать в память и стартануть оттуда...
не понимаю пока смысла такого режима загрузки... только пины и регистры что ли сбросить?
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 19 2016, 20:34
Сообщение #4


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



В отладчике программу можно забросить в ОЗУ, и оттуда запускать, не насилуя флэш.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 19 2016, 20:39
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



А без бут режима из срам, разве это не работает?
Go to the top of the page
 
+Quote Post
scifi
сообщение Apr 19 2016, 21:01
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Golikov A. @ Apr 19 2016, 23:06) *
2 - загрузка из embedded SRAM, программа там уже откуда то должна быть.

Может быть, я что-то пропустил, но это никому не нужно. ИМХО, делали схему загрузки и подумали "почему бы и нет?"
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 20 2016, 03:53
Сообщение #7


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Golikov A. @ Apr 19 2016, 23:39) *
А без бут режима из срам, разве это не работает?

Перемычками ОЗУ отображается на нулевые адреса, и отлаживается программа, написанная для флэш, с теми же нулевыми адресами.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 20 2016, 05:55
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Golikov A. @ Apr 20 2016, 02:06) *
Кто может внятно объяснить зачем нужен режим загрузки из embedded SRAM?

Во всех МК, где это возможно (LPC17xx, LPC43xx, Tiva, ...) и пока позволяет размер ПО в своих проектах отлаживаю ПО в SRAM (или внешней RAM если есть).
Плюсы:
1. Загрузка ПО (JTAG) идёт быстрее.
2. Флеш меньше изнашивается.
3. Когда надо поставить много бряков, больше чем кол-во поддерживаемых эмулятором аппаратных, установка программного бряка в код во флешь вызывает его перепрограммирование (многократное: установка снятие, подключение/отключение отладчика и т.п.) и просто жутко тормозит работу и приводит к сбоям реалтайм-процессов в отлаживаемом ПО. Программные бряки в ОЗУ ставятся быстро и незаметно для глаза и даже не сбивают быстрые реалтайм-процессы.

to Golikov A.: давненько Вас не видно было rolleyes.gif
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 20 2016, 08:30
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата
Перемычками ОЗУ отображается на нулевые адреса, и отлаживается программа, написанная для флэш, с теми же нулевыми адресами.

Нет системная память отображается в 0 адреса, а вот SRAM остается по своим, даже в режиме загрузки, и потому вектора ремапить надо, отдельно написано в описании.

Цитата
Может быть, я что-то пропустил, но это никому не нужно. ИМХО, делали схему загрузки и подумали "почему бы и нет?"

Я вот что-то тоже не могу придумать зачем такое может быть надо. Может тянут на будущее для многоядерных процов....

Цитата
Во всех МК, где это возможно (LPC17xx, LPC43xx, Tiva, ...) и пока позволяет размер ПО в своих проектах отлаживаю ПО в SRAM (или внешней RAM если есть).

Никто не спорит, вопрос только в том надо ли для этого задавать другой режим загрузки? Вы переключаете ноги на бут из СРАМ? Мне почему то казалось что жетаг и среда сама справлялась с этим, без выбора другой конфигурации загрузки проца.


Цитата
to Golikov A.: давненько Вас не видно было

Обиделся на несправедливые 10% предупрежденийsm.gif
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 20 2016, 08:36
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Golikov A. @ Apr 20 2016, 14:30) *
Никто не спорит, вопрос только в том надо ли для этого задавать другой режим загрузки? Вы переключаете ноги на бут из СРАМ? Мне почему то казалось что жетаг и среда сама справлялась с этим, без выбора другой конфигурации загрузки проца.

Иногда да - переключаю. Если во флешь есть код, который после вкл. питания и до подключения JTAG что-то успевает сделать нехорошее (что и JTAG потом бывает не подключается), то приходится стирать флешь. Но если есть возможность переключить в режим загрузки из ОЗУ, то и стирать FLASH не надо.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 20 2016, 08:41
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Хм..
то есть если вдруг во флеш что-то что может навредить
системная память не подходит потому что настраивает УАРТ и тоже может навредить
то есть такой 3 режим, когда всегда гарантировано чистая память при перебросе питания, интересно... Фактически синоним не грузить вообще....
При этом если в память что-то записать не важно как, то можно смотреть как оно грузится.
А вот если ножку сброса дернуть, память СРАМ не теряет данные?

Получается чисто такой отладочный режим...

Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 20 2016, 08:45
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Golikov A. @ Apr 20 2016, 14:41) *
А вот если ножку сброса дернуть, память СРАМ не теряет данные?

Обычно нет. Только часть её может портиться встроенным boot-ом.
Go to the top of the page
 
+Quote Post
scifi
сообщение Apr 20 2016, 09:03
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Golikov A. @ Apr 20 2016, 11:30) *
Я вот что-то тоже не могу придумать зачем такое может быть надо. Может тянут на будущее для многоядерных процов....

Это точно нужно для Cortex-M0, где нет регистра SCB->VTOR. Может быть, на это и нацеливались...
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 20 2016, 09:06
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



СРАМ не мапиться в 0 регион, не поможет, без втора...

Думаю что это действительно инженерный режим, такой способ сделать чистую плату ничего не стирая, при этом можно залить программу, и проц. будет корректно отрабатывать сброс.
Go to the top of the page
 
+Quote Post
scifi
сообщение Apr 20 2016, 15:01
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Golikov A. @ Apr 20 2016, 12:06) *
СРАМ не мапиться в 0 регион, не поможет, без втора...

А, ну да, не заметил. Тогда совсем не понятно, кому нужно это чудесное чудо.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 28th June 2025 - 15:06
Рейтинг@Mail.ru


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