Всех с Наступающим!
Решил сделать что-то в роде миникомпьютера на STM32F429. В основе лежит FreeRTOS. Далее в SDRAM загружается внешняя программа и для неё создаётся дополнительная задача. Грубо говоря, это будет многозадачная операционная система с внешними приложениями (как виндовые *.exe). Но 192 КБ ОЗУ микроконтроллера, мне кажется, маловато для стека такой байды, к тому же она планировалась использоваться для кеширования "сложных" функций для ускорения быстродействия, т.к. SDRAM сама по себе очень медленная рядом с флешкой STMки.
Проблема в том, что если разместить стек в SDRAM, то при чтении некоторых адресов SDRAM получаются одни нули. Т.е. это происходит во время первичного чтения внешней программы для её дальнейшей обработки и запуска. Сразу, в момент записи в SDRAMку данные успешно читаются, но после этого процесса какого-то Х они "пропадают"... Так-же точно такая же проблема получается в некоторых случаях после работы с видеопамятью, которая используется LTDC для вывода на VGA монитор. Видеопамять тоже хранится в том же SDRAM чипе.
Архив с проектом тут: http://rghost.ru/8lFwfQrmT
Основные исходники в папке "app", задачи FreeRTOS в файле "freertos.c". В нём же прокомментированы проблемные строчки.