VHEMaster 0 30 декабря, 2015 Опубликовано 30 декабря, 2015 (изменено) · Жалоба Всех с Наступающим! Решил сделать что-то в роде миникомпьютера на STM32F429. В основе лежит FreeRTOS. Далее в SDRAM загружается внешняя программа и для неё создаётся дополнительная задача. Грубо говоря, это будет многозадачная операционная система с внешними приложениями (как виндовые *.exe). Но 192 КБ ОЗУ микроконтроллера, мне кажется, маловато для стека такой байды, к тому же она планировалась использоваться для кеширования "сложных" функций для ускорения быстродействия, т.к. SDRAM сама по себе очень медленная рядом с флешкой STMки. Проблема в том, что если разместить стек в SDRAM, то при чтении некоторых адресов SDRAM получаются одни нули. Т.е. это происходит во время первичного чтения внешней программы для её дальнейшей обработки и запуска. Сразу, в момент записи в SDRAMку данные успешно читаются, но после этого процесса какого-то Х они "пропадают"... Так-же точно такая же проблема получается в некоторых случаях после работы с видеопамятью, которая используется LTDC для вывода на VGA монитор. Видеопамять тоже хранится в том же SDRAM чипе. Архив с проектом тут: http://rghost.ru/8lFwfQrmT Основные исходники в папке "app", задачи FreeRTOS в файле "freertos.c". В нём же прокомментированы проблемные строчки. Изменено 30 декабря, 2015 пользователем VHEMaster Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 30 декабря, 2015 Опубликовано 30 декабря, 2015 · Жалоба Решил сделать что-то в роде миникомпьютера на STM32F429Если не секрет, то зачем? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VHEMaster 0 30 декабря, 2015 Опубликовано 30 декабря, 2015 · Жалоба Forger, скучно живу.) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VCucumber 0 30 декабря, 2015 Опубликовано 30 декабря, 2015 · Жалоба с 429 вы опоздали на пару лет и вы не первый с этими граблями - выбросить Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VHEMaster 0 30 декабря, 2015 Опубликовано 30 декабря, 2015 · Жалоба с 429 вы опоздали на пару лет и вы не первый с этими граблями - выбросить Т.е. это чисто аппаратный баг который никак не исправить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VCucumber 0 30 декабря, 2015 Опубликовано 30 декабря, 2015 · Жалоба аппаратный, мне помогло статичское размещение буферов - дальше не копал, смысл, если полкамня не работает Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 31 декабря, 2015 Опубликовано 31 декабря, 2015 · Жалоба Далее в SDRAM загружается внешняя программа и для неё создаётся дополнительная задача. Няшная идея! Сам пару лет назад хотел сделать что-то подобное только ещё для ARM7TDMI. Хотел и драйвера подгружаемые и т.д. и т.п. В общем типа виндовса или линукса, но на мк без MMU))) и даже без MPU) Сейчас как-то уже не интересно. Хотя и в то время у меня был камешек с полноценным линуксом. В целом проект как учебный - очень хорош! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться