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

 
 
> STM32f4 + emWin, пытаюсь использовать SDRAM в качестве системной памяти
TolikG
сообщение Jul 17 2015, 10:06
Сообщение #1


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

Группа: Свой
Сообщений: 86
Регистрация: 19-03-10
Пользователь №: 56 071



Использую эвалборд stm32F439, там на борту есть SDRAM. У куба есть пример инициализации с использованием внешней SDRAM для данных и стэка. Пытаюсь использовать этот пример в связке с библиотекой emWin. В примере из куба "simple hello world", заменил файлы startup_..xx.s, system_stm32f4xx.c и файл линкера которые взял из примера использования SDRAM. Откомпилировал, запустил - получил хардфаулт при выполнении функции GUI_Init();
Так как функция билиотечная (исходного кода нету) - понять причину не могу. Вопрос: можно ли использовать библиотеку в такой схеме или остается довольствоваться примерами работающими только с внутренней памятью? Или я неправильно что то делаю?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
yanvasiij
сообщение Jul 28 2015, 08:24
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041



Цитата(TolikG @ Jul 17 2015, 15:06) *
Использую эвалборд stm32F439, там на борту есть SDRAM. У куба есть пример инициализации с использованием внешней SDRAM для данных и стэка. Пытаюсь использовать этот пример в связке с библиотекой emWin. В примере из куба "simple hello world", заменил файлы startup_..xx.s, system_stm32f4xx.c и файл линкера которые взял из примера использования SDRAM. Откомпилировал, запустил - получил хардфаулт при выполнении функции GUI_Init();
Так как функция билиотечная (исходного кода нету) - понять причину не могу. Вопрос: можно ли использовать библиотеку в такой схеме или остается довольствоваться примерами работающими только с внутренней памятью? Или я неправильно что то делаю?


1) С внешнией памятью emWin работает точно. Я работал и не раз.

2) Зачем менять файлы startup_..xx.s, system_stm32f4xx.c. Нужно лишь указать компилятору по какому адресу размещать память для файла GUI_X_Config.c (в нем статически "забивается" место под кучу для emWin). Приведите файл линкера, я так понимаю именно в нем вы это делаете? В каком компиляторе?

3) Вы работаете с SDRAM через FSMC? Инициалзицию памяти и FSMC нужно проводить до вызова функции GUI_Init(). Функция BSP_SDRAM_Init() я так подозреваю именно этим и занимается.

Цитата
Возникает вопрос - зачем в простейшем примере нужна SDRAM?


4) Скорее всего у них в этом примере выделен большой размер кучи. Если изменить параметры линковки, так чтобы куча для emWin выделялась во внутренней памяти, то при компиляции появится ошибка, что мол места для нее нет. Хотя не могу точно утверждать, я не знаю что там за пример.

Go to the top of the page
 
+Quote Post
TolikG
сообщение Jul 28 2015, 13:03
Сообщение #3


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

Группа: Свой
Сообщений: 86
Регистрация: 19-03-10
Пользователь №: 56 071



Цитата(yanvasiij @ Jul 28 2015, 11:24) *
2) Зачем менять файлы startup_..xx.s...

4) Скорее всего у них в этом примере выделен большой размер кучи. Если изменить параметры линковки, так чтобы куча для emWin выделялась во внутренней памяти, то при компиляции появится ошибка, что мол места для нее нет.

Чтобы инициализация SDRAM выполнялась во время startup, до входа в функцию main().
Исходный пример - простейший "Hello world", куча для emWin выделялась во внутренней памяти
CODE
#define GUI_NUMBYTES (1024) * 128
U32 aMemory[GUI_NUMBYTES / 4];

Компилятор IAR 7.30, параметры линковки редактируются при настройке проекта...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- TolikG   STM32f4 + emWin   Jul 17 2015, 10:06
- - Jekin   А вы библиотеку emWin корректно настроили? GUI_Ini...   Jul 17 2015, 10:50
|- - TolikG   В одной из них (GUI_X_Config кажется), кстати, про...   Jul 17 2015, 13:18
- - hd44780   Подтверждаю, проблема есть. Мгновенно проявляется ...   Jul 19 2015, 13:55
|- - TolikG   Цитата(hd44780 @ Jul 19 2015, 16:55) У Ва...   Jul 27 2015, 04:38
|- - TolikG   Цитата(hd44780 @ Jul 19 2015, 16:55) Мгно...   Jul 28 2015, 06:19
- - zorromen   Есть stm32F429, вроде все из примера запустилось с...   Jul 26 2015, 14:30
- - TolikG   Цитата(TolikG @ Jul 17 2015, 13:06) В при...   Jul 27 2015, 07:07
- - yanvasiij   В startup у Вас происходит инициализация FSMC? Исп...   Jul 28 2015, 15:28
|- - TolikG   Цитата(yanvasiij @ Jul 28 2015, 18:28) В ...   Jul 29 2015, 04:35
- - Golikov A.   ЦитатаПроблема в том, что STemWin - это скомпилиро...   Jul 29 2015, 05:25
- - TolikG   Цитата(Golikov A. @ Jul 29 2015, 08:25) а...   Jul 29 2015, 08:48
- - sadat   Цитата(TolikG @ Jul 29 2015, 11:48) Может...   Jul 29 2015, 14:00
- - Jekin   Цитата(sadat @ Jul 29 2015, 17:00) И никт...   Aug 11 2015, 08:18


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

 


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


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