Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Исполнение из SDRAM
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
DIM
Кто делал загрузку из Flash в SDRAM и переход на исполнение при сохранении возможности отладки через JTAG
Dainis
Всю программу или только часть ?
А где проблемы ?
DIM
Цитата(Dainis @ Dec 21 2004, 01:14)
Всю программу или только часть ?
А где проблемы ?
*

если можно взглянуть на пример
ShiphT
Если используешь компилятор ИАР, то у него есть директива __ramfunc, подробно расписанная в документации и даже с маленьким примером. Нужно только будет настроить *.xcl файл, указав там диапазоны памяти будущих сегментов. c_startup сам перенесет код из флешь в озу (в указанный сегмент).
Только описаны эти ф-ии должны быть в другом файле чем тот (те), где они вызываются. Это связано с тем, что при описании такой функции и ее вызова в одном файле компилятор передает ей упрпавление коротким переходом (2Мб который), но, как правило, функция будет находиться намного дальше и линкер будет ругаться нехорошими словами.
DIM
Цитата(ShiphT @ Dec 21 2004, 12:07)
Если используешь компилятор ИАР, то у него есть директива __ramfunc, подробно расписанная в документации и даже с маленьким примером. Нужно только будет настроить *.xcl файл, указав там диапазоны памяти будущих сегментов. c_startup сам перенесет код из флешь в озу (в указанный сегмент).
Только описаны эти ф-ии должны быть в другом файле чем тот (те), где они вызываются. Это связано с тем, что при описании такой функции и ее вызова в одном файле компилятор передает ей упрпавление коротким переходом (2Мб который), но, как правило, функция будет находиться намного дальше и линкер будет ругаться нехорошими словами.
*

А примерчиком не кинешь
bloodden
Всем доброго времени суток.
У меня есть вопрос из этой темы: а возможно сделать так, чтоб проц (САМ7) подгружал функцию из внешней флешки, заливал в ОЗУ и передавал управление на неё?
Зараннее спасибо.
AlexandrY
Количество способов зависит от компилятора.
В RealView можно сделать код позиционно независимым и запускать его откуда угодно.
Можно использовать возможнось линкера создавать оверлеи т.е. лежащие в памяти куски кода которые должны выполняться в другом месте, при этом их надо самому подгружать в то место где они должны выполняться.
Ну и экзотический способ, это сделать динамический линкер elf файлов в микроконтроллере. В демобордах от Sharp так сделано.

Цитата(bloodden @ Mar 4 2007, 02:24) *
Всем доброго времени суток.
У меня есть вопрос из этой темы: а возможно сделать так, чтоб проц (САМ7) подгружал функцию из внешней флешки, заливал в ОЗУ и передавал управление на неё?
Зараннее спасибо.
bloodden
Цитата(AlexandrY @ Mar 5 2007, 00:26) *
Количество способов зависит от компилятора.
В RealView можно сделать код позиционно независимым и запускать его откуда угодно.
Можно использовать возможнось линкера создавать оверлеи т.е. лежащие в памяти куски кода которые должны выполняться в другом месте, при этом их надо самому подгружать в то место где они должны выполняться.
Ну и экзотический способ, это сделать динамический линкер elf файлов в микроконтроллере. В демобордах от Sharp так сделано.

Цитата(bloodden @ Mar 4 2007, 02:24) *

Всем доброго времени суток.
У меня есть вопрос из этой темы: а возможно сделать так, чтоб проц (САМ7) подгружал функцию из внешней флешки, заливал в ОЗУ и передавал управление на неё?
Зараннее спасибо.


Спасибо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.