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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> External SRAM + ATmega***, Использование External SRAM
ReAl
сообщение Jan 22 2013, 17:59
Сообщение #16


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(lisstret @ Jan 22 2013, 06:51) *
Как сделать так, чтоб во внешний СРАМ загружались данные программы.
Никаких бутлоадеров не нужно, просто надо как можно раньше включить интерфейс внешней памяти.
Для avr-gcc (WinAVR, AVR-STUDIO 6 с еёйным toolchain и т.д.) нужно поместить короткий код в секцию памяти кода .init3, которая выполнится до копирования инициализированных данных из флеша в ОЗУ и до очистки bss (в .init1 тоже можно, но осторожнее).
У меня это макросами
Код
#define INIT_CODE(_number_,_name_)\
    static void init_##_number_##_##_name_ (void) __attribute__ ((section(".init" #_number_), naked, used));\
    static void init_##_number_##_##_name_ (void)

#define INIT_CODE_(n,l) INIT_CODE(n,l)
#define INIT(_number_) INIT_CODE_(_number_,__LINE__)
и где-то в программе такое:
Код
INIT(3)
{
    MCUCR = (1 << SRE);
    XMCRA = (4 << SRL0) | (0 << SRW00);
    XMCRB = (1 << XMBK);
}


В других компиляторах надо смотреть в сторону __low_level_init() и подобного, такая функция, по идее, должна вызываться до инициализации памяти. Но она уже будет вызываться, так что стек должен быть во внутренней памяти (что и так желательно для большей скорости работы). В случае с init-секциями код выполняется линейно, без вызовов и стек не нужен.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
lisstret
сообщение Feb 7 2013, 02:57
Сообщение #17


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 10-06-10
Из: Владивосток
Пользователь №: 57 835



Спасибо! Видимо, зря я не особо заглядывал в документацию на компилятор. Сейчас посижу поразбираюсь, как распределить данные по адресному пространству внутренного озу и внешнего
Go to the top of the page
 
+Quote Post

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

 


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


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