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

 
 
> HardFault при записи/чтении в SDRAM на Core429i, программа при записи/чтении в SDRAM на Core429i вылетает в HardFault
Sharf
сообщение Oct 1 2016, 13:31
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 25-01-06
Пользователь №: 13 571



Пытаюсь запустить SDRAM на Core429i в TrueStudio с помощью CubeMX. Цепи FMC настроил согласно схеме, но программа при записи/чтении в SDRAM вылетает в HardFault.
Уже и PD6 подтянул к питанию... Ничего не помогает...
Прерываний, ОСРВ и т.п. вещей, который могли бы влиять на роботу с SDRAM, нет.
Код
Код: if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK)
  {
    Error_Handler();
  }
- выполняется без входа в Error_Handler.

Ревизия МК - 3, т.е. проблем с FMC быть не должно. Может в кубе (прикрепляю файл проекта) что-то не так указал?

Что еще можно проверить?

Сообщение отредактировал IgorKossak - Oct 1 2016, 17:30
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!

Прикрепленные файлы
Прикрепленный файл  Core429i.zip ( 3.55 килобайт ) Кол-во скачиваний: 21
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AVI-crak
сообщение Oct 1 2016, 20:41
Сообщение #2


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

Группа: Участник
Сообщений: 182
Регистрация: 16-10-15
Пользователь №: 88 894



Цитата(Sharf @ Oct 1 2016, 20:31) *
Что еще можно проверить?


Например адреса чтения/записи - у вас кстати второй банк 0xD0000000 ++.
Соответствие выставленных таймингов с тактовой и временем из доки на память. В доке большая часть параметров привязана к времени а не к тактовой. А у вас тактовая памяти получается 80мгц !!! - ниже некуда.
Первый PLL не может корректно умножать пограничные частоты в 1мгц и в 2мгц - середина умножается корректно и гладко, 1,5мгц - идеально.
Кубик игнорирует установку подтяжки на используемые ноги, а делать это ручным способом весьма утомительно.
Дата в землю, адрес без подтяжки, управление: sdclk, nbl0, nbl1 - в землю, - остальное в плюс. После чего становится доступным спящий режим.
Забыл: ноги нужно лочить, чтоб не слетали при дальнейшем неаккуратном инсталле.

Ну и наверное главное, хотя уже упомянули создание раздела в линковщике - забыли напомнить про копирование инициализированных переменных из флеша. Сделать эту операцию корректно из С кода - весьма проблематично. А в случае применения хала - практически не реально.
Так-шта в выигрыше старый добрый SystemInit запускаемый до копирования в sdram кучи переменных, с таким расчётом чтоб майн запустить на всём готовом.

Сообщение отредактировал AVI-crak - Oct 1 2016, 20:47
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Sharf   HardFault при записи/чтении в SDRAM на Core429i   Oct 1 2016, 13:31
- - amiller   1. Прочитать документацию на семейство контроллеро...   Oct 1 2016, 15:17
|- - Sharf   Цитата(amiller @ Oct 1 2016, 18:17) . Су...   Oct 1 2016, 15:55
|- - jcxz   Цитата(Sharf @ Oct 1 2016, 21:55) Судя по...   Oct 1 2016, 16:53
|- - scifi   Цитата(jcxz @ Oct 1 2016, 19:53) Он и док...   Oct 1 2016, 17:58
|- - Sharf   Цитата(scifi @ Oct 1 2016, 20:58) Зачем с...   Oct 1 2016, 18:49
- - x893   И даже примеры от waveshare не работают ? http://...   Oct 1 2016, 16:06
|- - Sharf   Цитата(x893 @ Oct 1 2016, 19:06) Наверн...   Oct 1 2016, 16:38
- - x893   Никак не могу заставить разбираться в килотоннах б...   Oct 1 2016, 18:59
|- - Sharf   Цитата(x893 @ Oct 1 2016, 21:59) Никак не...   Oct 1 2016, 19:23
- - Sharf   Цитата(AVI-crak @ Oct 1 2016, 23:41)...   Oct 2 2016, 09:59
- - AVI-crak   Код инстала для stm32f439, с небольшими исправлени...   Oct 3 2016, 00:21
- - Sharf   Цитата(AVI-crak @ Oct 3 2016, 03:21)...   Oct 5 2016, 07:48
- - AVI-crak   SDRAM необходимо регенерировать каждые 64мс незави...   Oct 5 2016, 13:59
- - Sharf   Цитата(AVI-crak @ Oct 5 2016, 16:59)...   Oct 6 2016, 17:43


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

 


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


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