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

 
 
> IAR (STM32+Ext SRAM)
athlon64
сообщение May 3 2012, 07:16
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 156
Регистрация: 10-03-10
Из: Уфа
Пользователь №: 55 882



Использую связку STM32F217IG + SRAM CY7C1061AV33 (1 M × 16bit). IAR 6.30

Инициализацию FSMC взял из демо-проекта к плате STM322xG EVAL.
Память прекрасно читается и пишется (если писать 16-битными словами) по указателю. Скорость порадовала.
Пробовал размещать в этой памяти heap FreeRTOS, подменив указатель - некоторые задачи работают, некоторые нет (видимо из-за выравнивания).

Хотелось бы, конечно, чтобы линкер знал про эту область памяти и мог размещать в ней глобальные структуры, которых планируется много. Ну, конечно, с поправкой на выравнивание по 16 бит. Возможно такое? Попытался поправить скрипт линкера, но при попытке разместить в секции любые данные, процессор не стартует. Если такое возможно сделать, поделитесь, плис, примером скрипта линкера. И откуда в данном случае инициализировать FSMC?

Если нет, то какой способ размещения данных можно применить? Данные - массивы, структуры.

Сообщение отредактировал athlon64 - May 3 2012, 07:19


--------------------
Руслан
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Непомнящий Евген...
сообщение May 3 2012, 12:09
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Дык а вы инициализируете эту память? Это надо делать до входа в main в какой-то специальной функции или стартап самому написать...
Go to the top of the page
 
+Quote Post
KRS
сообщение May 3 2012, 12:35
Сообщение #3


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

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Непомнящий Евгений @ May 3 2012, 16:09) *
Это надо делать до входа в main в какой-то специальной функции или стартап самому написать...

На cortex-m3 проблематично потому что указатель стека ставится сразу из таблицы прерываний.
теоретически можно конечно поставить точку входа на кусок написанный на асме что бы не трогать стек до инициализации памяти...
Go to the top of the page
 
+Quote Post
_Артём_
сообщение May 3 2012, 13:37
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(KRS @ May 3 2012, 15:35) *
На cortex-m3 проблематично потому что указатель стека ставится сразу из таблицы прерываний.

А что SP нельзя после инициализации поменять?
А сначала загрузит чем нибудь из диапазона внутренней RAM?
Go to the top of the page
 
+Quote Post
KRS
сообщение May 3 2012, 15:24
Сообщение #5


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

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(_Артём_ @ May 3 2012, 17:37) *
А что SP нельзя после инициализации поменять?
А сначала загрузит чем нибудь из диапазона внутренней RAM?

можно конечно! даже функция есть __set_MSP
но для этого контроллера очень сомнительно что именно стек нужно во внешнюю память пихать.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- athlon64   IAR (STM32+Ext SRAM)   May 3 2012, 07:16
- - Непомнящий Евгений   Дайте свой скрипт, посмотрим   May 3 2012, 07:39
- - athlon64   Вот, например, моя попытка разместить стек во внеш...   May 3 2012, 08:24
|- - KRS   Цитата(athlon64 @ May 3 2012, 12:24) Вот,...   May 3 2012, 09:53
|- - athlon64   Цитата(KRS @ May 3 2012, 15:53) Вы хотите...   May 3 2012, 12:03
|- - _Артём_   Цитата(KRS @ May 3 2012, 18:24) можно кон...   May 3 2012, 15:30
- - SSerge   Цитата(athlon64 @ May 3 2012, 14:16) И от...   May 3 2012, 16:44
|- - athlon64   Цитата(SSerge @ May 3 2012, 22:44) Самое ...   May 4 2012, 03:41
|- - _Артём_   Цитата(athlon64 @ May 4 2012, 06:41) как ...   May 12 2012, 11:47
|- - athlon64   Цитата(_Артём_ @ May 12 2012, 17:47) Откр...   May 14 2012, 07:19
|- - _Артём_   Цитата(athlon64 @ May 14 2012, 10:19) Сил...   May 15 2012, 18:38
|- - athlon64   Цитата(_Артём_ @ May 16 2012, 00:38) Код ...   May 16 2012, 06:36
|- - KRS   Цитата(athlon64 @ May 16 2012, 10:36) а, ...   May 16 2012, 10:56
- - athlon64   Всё ещё актуально   May 12 2012, 03:49
- - athlon64   1. Правильно ли я понял что эту 16-бит память нель...   May 15 2012, 11:53
|- - KRS   Цитата(athlon64 @ May 15 2012, 15:53) 1. ...   May 15 2012, 19:13
- - athlon64   Похоже что ошибка найдена. Конструктора развернули...   May 16 2012, 08:28
- - athlon64   Перепаяли дорожки, запись байта теперь заработала....   May 16 2012, 13:40
|- - KRS   Цитата(athlon64 @ May 16 2012, 17:40) Под...   May 16 2012, 19:10
|- - athlon64   Цитата(KRS @ May 17 2012, 01:10) Вы бы дл...   May 17 2012, 03:50
- - athlon64   Странно, конечно, но глючить начинает только обмен...   May 17 2012, 05:13


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

 


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


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