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

 
 
> собственный загрузчик для STM32
mronetwo
сообщение May 24 2012, 10:23
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 30-03-12
Пользователь №: 71 103



Собственно, мешается это долбанное значение для стек поинтера. Если разместить загрузчик в начале то придется его целиком стирать для того чтобы переписать это значение вместе с вектором ресета, а это опасно. Если размещать в конце памяти - тратиться 128К под сам загрузчик и еще 128К под константы которые тоже всячески могут переписываться. Это тоже никуда не годится. Если писать загрузчик во второй сектор, константы в третий - непонятно каким образом должен выглядеть скрипт для линкера для загружаемой программы (IAR).

Я уже башку сломал, и не только себе, в попытках придумать как правильно. Кто реализовывал уже - поделитесь идеями пжалста.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение May 24 2012, 10:44
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (mronetwo @ May 24 2012, 13:23) *
придется его целиком стирать для того чтобы переписать это значение вместе с вектором ресета
А что мешает использовать __set_MSP(), взяв это значение из векторов приложения непосредственно перед передачей управления приложению?
Откуда смещение в 128К? Значение VTOR может быть любым кратным 512 байт, размер страницы флеша - 1К или 2К.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
mronetwo
сообщение May 24 2012, 11:06
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 30-03-12
Пользователь №: 71 103



Цитата(Сергей Борщ @ May 24 2012, 14:44) *
А что мешает использовать __set_MSP(), взяв это значение из векторов приложения непосредственно перед передачей управления приложению?


Только мое глубокое владение вопросом. Спасибо за подсказку!


Цитата(Сергей Борщ @ May 24 2012, 14:44) *
Откуда смещение в 128К? Значение VTOR может быть любым кратным 512 байт, размер страницы флеша - 1К или 2К.


Речь не о смещении, я про объем. Флеш в конце делиться на сектора по 128К.

Цитата(Сергей Борщ @ May 24 2012, 14:44) *
размер страницы флеша - 1К или 2К.


погодите-ка, а это где? У меня f205 в качестве подопытного. Не там там таких страничек.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 24 2012, 11:40
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (mronetwo @ May 24 2012, 14:06) *
Речь не о смещении, я про объем. Флеш в конце делиться на сектора по 128К.
Так это в конце. Неужели для загрузчика мало первого сектора в 16К? Ну двух первых секторов по 16К. Ну четырех... А остальное - под настройки и приложение отдать.
QUOTE (mronetwo @ May 24 2012, 14:06) *
погодите-ка, а это где? У меня f205 в качестве подопытного.
А это в F100 wink.gif Видите - неточный вопрос породил неожиданный ответ.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
mronetwo
сообщение May 24 2012, 12:06
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 30-03-12
Пользователь №: 71 103



Цитата(Сергей Борщ @ May 24 2012, 15:40) *
Так это в конце. Неужели для загрузчика мало первого сектора в 16К? Ну двух первых секторов по 16К. Ну четырех... А остальное - под настройки и приложение отдать.


Не мало.Ппросто чтобы не затирать его (ну не увидел я что ему sp так легко переинитить) расположить в конце, а приложение в начале и при загрузке подменять приложению вектор ресета. Вариант такой был неудачный.

Цитата(Сергей Борщ @ May 24 2012, 15:40) *
А это в F100 wink.gif Видите - неточный вопрос породил неожиданный ответ.



Да я вижу подпись sm.gif. Однако, вопрос был не в этом!
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 02:54
Рейтинг@Mail.ru


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