Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Большие массивы в флеш-памяти STM32F429

Сб янв 20, 2018 22:08:19

При попытке разместить в флеш-памяти массив больше чем 128*128 возникает проблема.
Компилятор ошибок не выдает, контроллер прошивается, но работает не верно.
Когда стал смотреть отладчиком, увидел следующую картину (см. 2018-01-20_12-00-18.png) - видна только часть массива, размером 128*128, а он был 250 * 250....
Более того, даже в оставшейся части массива данные испортились (см. 2018-01-20_12-05-34.png) - по адресу [1][0] было значение 0xFF0000FF а стало 0xFF00FF00
С чем может быть связана ошибка?
Компилятор - Atollic TrueStudio v9.0.0_20180117-1023

Добавление
В бинарном файле прошивки массив есть. Получается, проблема в доступе к данным из программы.
Вложения
2018-01-20_12-05-34.png
(241.23 KiB) Скачиваний: 216
2018-01-20_12-00-18.png
(169.57 KiB) Скачиваний: 358

Re: Большие массивы в флеш-памяти STM32F429

Вт янв 23, 2018 10:33:26

На текущий момент проблема решена использованием одномерного массива. Как показали эксперименты, в этом случае проблем нет.

Сам вопрос, почему так происходит, остается открытым.

Re: Большие массивы в флеш-памяти STM32F429

Чт янв 25, 2018 02:21:10

если собрать чем-нибудь другим - скажем, обычным gcc?

Re: Большие массивы в флеш-памяти STM32F429

Чт янв 25, 2018 18:35:21

У меня с кеилом проблем не было с двумерными массивами uint16_t размером 1366х768
Скорее всего, сам компилятор работает неверно. Как предложил arkhnchul, попробуй GCC.
Ответить