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

 
 
> stm32 embedded SRAM boot mode
igorle
сообщение May 8 2013, 22:03
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 338
Регистрация: 14-07-12
Пользователь №: 72 753



На моем учебном борде (stm32f103c8) я умею загружать программу через SWD или через UART.
Хочу освоить загрузку из памяти, но не могу найти информацию ни на русском, ни на английском.

Про bootloader (который с boot0=1 boot1=0) много говорят, а про SRAM (который boot0 = boot1 =1) только упоминают, что есть такой. И все.

Работаю с Keilом.
Я догадываюсь, что на закладке target в свойствах проекта надо начальный адрес с 0x08000000 на 0x20000000 поменять, и соответственно начало РАМ сдвинуть с 0x20000000 на 0x20002800, но этого не достаточно.
Еще в настройках дебагера по умолчанию разрешалось использовать РАМ начиная с 20000000. Я это изменил на 20002800.

Когда я пытаюсь забежать программу - получаю сообщение "Flash Download Filed". Логично, мы же должны грузить в РАМ, а не во флэш. Но где и как сказать - не догоняю.

Кто-нибудь решал такую проблему?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
igorle
сообщение May 11 2013, 16:52
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 338
Регистрация: 14-07-12
Пользователь №: 72 753



Проблема разрешилась!
Как говорится, "дело было не в бобине".
Я пытался загрузить код в память, нажимая кнопку "load". И вот этого делать не надо было. Давим кнопку "debug", и все замечательно работает. Программа грузится в ОЗУ и оттуда бежит.
Go to the top of the page
 
+Quote Post
toweroff
сообщение May 11 2013, 18:43
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(igorle @ May 11 2013, 20:52) *
Проблема разрешилась!

хмм.. я даже не подумал, что Вы пытаетесь "прошить" в ОЗУ sm.gif
Go to the top of the page
 
+Quote Post
igorle
сообщение May 11 2013, 20:16
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 338
Регистрация: 14-07-12
Пользователь №: 72 753



Цитата(toweroff @ May 11 2013, 21:43) *
хмм.. я даже не подумал, что Вы пытаетесь "прошить" в ОЗУ sm.gif

А что в этом необычного? Давным давно, когда перепрограммируемого ПЗУ у нас не было, была плата "ОЗУ подмены". Сначала "прожигали" его, а потом забегали. Согласитесь, что перенести данные в ОЗУ, когда оно временно заменяет ПЗУ - это совершенно логичная операция.
Тем более, что может быть я и не хочу бежать под отладчиком, а просто хочу нажать кнопку "ресет" и побежать...
Go to the top of the page
 
+Quote Post
toweroff
сообщение May 11 2013, 21:20
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(igorle @ May 12 2013, 00:16) *
А что в этом необычного? Давным давно, когда перепрограммируемого ПЗУ у нас не было, была плата "ОЗУ подмены". Сначала "прожигали" его, а потом забегали. Согласитесь, что перенести данные в ОЗУ, когда оно временно заменяет ПЗУ - это совершенно логичная операция.
Тем более, что может быть я и не хочу бежать под отладчиком, а просто хочу нажать кнопку "ресет" и побежать...

не в том дело
обратите внимание на то, что в настройках Кейла указывается, что для программирования используется часть ОЗУ для прошивки флеша
Я, честно говоря, не разбирался никогда, что туда пишется, но не некая ли программа, которая "дергает" IAP?
Или это просто место под данные, а все операции IAP'а можно "дрыгать" JTAG'ом...
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 23:40
Рейтинг@Mail.ru


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