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

 
 
> Запуск кода из внешней памяти
inventor
сообщение Sep 19 2017, 16:18
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748



подскажите мне вот что
имеется арм контроллер
в котором ест 48 килобайт памяти
этого мало для моих задач, я подцепил 4 Мбайт внешней памяти
и хочу что бы старт начался из нее, а не из внутренней SRAM
и чтобы стек там же располагался
как мне это правильно сделать
чтобы стек так же расположить во внешней памяти?

вот у меня есть файлstartup_MYCPU.s
где есть вызов LDR R0, =SystemInit
что я должен сделать внутри System Init
кроме настройки внешней шины адреса, данных, управления?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
VladislavS
сообщение Sep 20 2017, 09:12
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140



Значит так. Процессор ваш имеет 128 Кбайт Flash и 48 Кбайт RAM на ядре Cortex-M.
1. Пишете загрузчик, который выполняется из внутренней Flash при старте. В нём инициализируете внешнюю память и копируете в неё из какой-то внешней флэшки основной код полностью.
Затем передаёте управление основной программе
Код
#define APPLICATION_ADDRESS  0xXXXXXXXX
typedef void(*pFunction)(void);
uint32_t app_jump_address = *( uint32_t*) (APPLICATION_ADDRESS + 4);   //извлекаем адрес перехода из вектора Reset
pFunction Jump_To_Application = (pFunction)app_jump_address;                  
__set_MSP(*(__IO uint32_t*) APPLICATION_ADDRESS);                   //устанавливаем стек приложения                                          
Jump_To_Application();


2. Основная программа ничего не знает о том что её откуда-то скопировали. Её задача только перенаправить на себя таблицу векторов прерываний.
Код
  #pragma section = ".intvec"
  SCB->VTOR = (uint32_t) __section_begin(".intvec");

А стек я бы расположил всё же во внутренней RAM процессора. 48 кБ для стека это дофига вообще. Да и быстрее эта память обычно.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 20 2017, 09:42
Сообщение #3


Гуру
******

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



Цитата(VladislavS @ Sep 20 2017, 16:12) *
Значит так. Процессор ваш имеет 128 Кбайт Flash и 48 Кбайт RAM на ядре Cortex-M.
...

Ну вот.... У человека был шанс чему-то разобраться, научиться, может даже стать наконец-то настоящим программистом... и опять ему помешали..... crying.gif
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Sep 20 2017, 10:00
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140



Цитата(Forger @ Sep 20 2017, 12:21) *
Добавлю свои пять копеек: код должен быть зашифрован, если изделие коммерческое.
А оно коммерческое по-любому, т. к. прозвучало ключевое слово - "миландр" sm.gif
Открытые исходники различных шифровальщиков не проблема.

С таким ключевым словом обычно чтобы поиметь доступ к процессору надо в открытый космос выходить sm.gif

Цитата(jcxz @ Sep 20 2017, 12:42) *
Ну вот.... У человека был шанс чему-то разобраться, научиться, может даже стать наконец-то настоящим программистом... и опять ему помешали..... crying.gif

А зачем вам конкуренты? sm.gif
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 20 2017, 10:22
Сообщение #5


Гуру
******

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



Цитата(VladislavS @ Sep 20 2017, 17:00) *
А зачем вам конкуренты? sm.gif

Да не конкуренты. Хотя-бы сотрудники. А то уже на работу брать некого... sad.gif
Недавно убила фраза друга (далёкого от программирования): "Ну ты же знаешь - самые сильные программисты в Индии, все самые сложные заказы отправляются туда."... И сказано это было в полной уверенности, как само собой разумеющееся. Вот до чего мы докатились уже... sad.gif
Go to the top of the page
 
+Quote Post
inventor
сообщение Sep 20 2017, 11:15
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748



Цитата(jcxz @ Sep 20 2017, 13:22) *
Недавно убила фраза друга (далёкого от программирования): "Ну ты же знаешь - самые сильные программисты в Индии, все самые сложные заказы отправляются туда."...


вполне возможно так и есть
у индийцев перед китайцами, русскими, французами и прочими зулусами
есть одно преимущество - они англоязычные
то есть они литературу просто читают
а не читают и в голове переводят на свой язык.



Цитата(VladislavS @ Sep 20 2017, 14:07) *
Где у вас прошивка изначально то размещается?

во внутренней flash

Цитата(VladislavS)
А потом вертолёты сами по целям лупят... sad.gif Делать надо как надо, а как не надо делать не надо.

это с запасом, так как сам проект имеет большие объемы данных
с которыми надо работать, а в 48 кБайтах они по любому не поместятся

Go to the top of the page
 
+Quote Post
Forger
сообщение Sep 20 2017, 11:31
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(inventor @ Sep 20 2017, 14:15) *
в 48 кБайтах они по любому не поместятся

Чудовищные глобальные или статически массивы - во внешней ОЗУ, это понятно.
Еще понимаю разместить во внешней ОЗУ кучу (heap).
Но что за проект такой, где прям нужен такой чумовой стек > 48кБ да еще и в относительно медленной памяти?!


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
inventor
сообщение Sep 20 2017, 12:47
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748



Цитата(Forger @ Sep 20 2017, 14:31) *
Но что за проект такой, где прям нужен такой чумовой стек > 48кБ да еще и в относительно медленной памяти?!

мне он не нужен такого размера,
просто с этой памятью я достаточно намучался
пока она заработала
неочевидная ошибка и плохо определяемая -
не затактировал всего одну ногу
которая была на отличной от других пинов клоке
и нашел ошибку, только когда начал с осциллографом
прозанивать каждую ногу.
ну а как разобрался как ее правильно запускать - просто решил
ее использовать с пользой.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 20 2017, 16:52
Сообщение #9


Гуру
******

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



Цитата(inventor @ Sep 20 2017, 19:47) *
просто с этой памятью я достаточно намучался

...и теперь пора ей отомстить - пусть-ка со стеком помучается biggrin.gif

Цитата(VladislavS @ Sep 20 2017, 20:55) *
Была бы возможность, пару десятков нецензурных варнингов тому что вы делаете я бы вставил.

Работодателю автора можно только посочувствовать biggrin.gif
Go to the top of the page
 
+Quote Post
Forger
сообщение Sep 20 2017, 17:07
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(jcxz @ Sep 20 2017, 19:52) *
Работодателю автора можно только посочувствовать biggrin.gif

Да, видать, уже совсем некого брать: остались лишь те, кто иностранные даташиты читать не умеет, общаются на своем "птичьем языке", предпочитают делают чужую работу вместо своей ..
Печалька, одним словом crying.gif


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- inventor   Запуск кода из внешней памяти   Sep 19 2017, 16:18
- - dimka76   Вы даже марку контроллера не упомянули. А так вам...   Sep 19 2017, 18:28
- - Obam   Ещё "бензинчику" добавлю (; загрузка в R...   Sep 19 2017, 19:38
|- - golf2109   Цитата(Obam @ Sep 19 2017, 21:38) Ещё ...   Sep 20 2017, 01:24
|- - inventor   Цитата(Obam @ Sep 19 2017, 22:38) Ещё ...   Sep 20 2017, 06:53
|- - Forger   Цитата(inventor @ Sep 20 2017, 09:53) ну ...   Sep 20 2017, 06:58
|- - Integro   Цитата(inventor @ Sep 20 2017, 09:53) RAM...   Sep 20 2017, 07:04
|- - inventor   Цитата(Integro @ Sep 20 2017, 10:04) мила...   Sep 20 2017, 07:15
|- - Integro   Цитата(inventor @ Sep 20 2017, 10:15) эта...   Sep 20 2017, 07:24
- - inventor   неицинициализированные данные я там могу расположи...   Sep 20 2017, 06:58
|- - Forger   Цитата(inventor @ Sep 20 2017, 09:58) 198...   Sep 20 2017, 07:02
|- - Forger   Я бы не стал мудрить с полным переносом кода во вн...   Sep 20 2017, 07:17
- - scifi   Ещё интересный вопрос, где хранится код программы ...   Sep 20 2017, 07:40
|- - Forger   Для толстых проектов обычно ставят внешнюю FLASH (...   Sep 20 2017, 07:48
||- - scifi   Цитата(Forger @ Sep 20 2017, 10:48) Для т...   Sep 20 2017, 07:50
|- - inventor   Цитата(scifi @ Sep 20 2017, 10:40) Кстати...   Sep 20 2017, 07:50
|- - scifi   Цитата(inventor @ Sep 20 2017, 10:50) это...   Sep 20 2017, 07:59
|- - jcxz   Цитата(scifi @ Sep 20 2017, 14:59) И за ч...   Sep 20 2017, 08:33
|- - inventor   Цитата(jcxz @ Sep 20 2017, 11:33) Автор в...   Sep 20 2017, 08:40
|- - Forger   Цитата(inventor @ Sep 20 2017, 11:40) ну ...   Sep 20 2017, 09:05
|- - Forger   Цитата(VladislavS @ Sep 20 2017, 12:12) В...   Sep 20 2017, 09:21
||- - Forger   Цитата(VladislavS @ Sep 20 2017, 13:00) С...   Sep 20 2017, 10:07
|||- - aaarrr   Цитата(inventor @ Sep 20 2017, 15:47) про...   Sep 20 2017, 13:07
|||- - Forger   Цитата(inventor @ Sep 20 2017, 15:47) мне...   Sep 20 2017, 13:11
|||- - inventor   Цитата(jcxz @ Sep 20 2017, 19:52) Работод...   Sep 20 2017, 18:27
||- - VladislavS   Цитата(inventor @ Sep 20 2017, 14:15) во ...   Sep 20 2017, 12:35
||- - Obam   Цитата(inventor @ Sep 20 2017, 15:15) у и...   Sep 20 2017, 13:09
|- - inventor   Цитата(VladislavS @ Sep 20 2017, 12:12) З...   Sep 20 2017, 11:02
|- - VladislavS   Цитата(inventor @ Sep 20 2017, 14:02) щас...   Sep 20 2017, 11:07
- - inventor   ну вобщем разобрался последний вопрос: ЦитатаWarn...   Sep 20 2017, 13:50
- - VladislavS   Цитата(inventor @ Sep 20 2017, 16:50) в ч...   Sep 20 2017, 13:55
- - aaarrr   Цитата(inventor @ Sep 20 2017, 16:50) то ...   Sep 20 2017, 13:55
|- - inventor   Цитата(aaarrr @ Sep 20 2017, 16:55) Вы же...   Sep 20 2017, 14:00
|- - Forger   Цитата(inventor @ Sep 20 2017, 16:58) так...   Sep 20 2017, 14:06
|- - inventor   Цитата(Forger @ Sep 20 2017, 17:06) Назов...   Sep 20 2017, 14:26
|- - Forger   Цитата(inventor @ Sep 20 2017, 17:26) это...   Sep 20 2017, 14:34
- - Forger   Цитатато есть насколько это критично? В этом проек...   Sep 20 2017, 13:57
- - Obam   Цитата(inventor @ Sep 20 2017, 17:50) про...   Sep 20 2017, 19:41


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

 


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


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