При попытке разместить в флеш-памяти массив больше чем 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
Добавление
В бинарном файле прошивки массив есть. Получается, проблема в доступе к данным из программы.
Большие массивы в флеш-памяти STM32F429
-
GorbatovSerg
- Родился
- Сообщения: 13
- Зарегистрирован: Вс дек 18, 2011 20:40:31
Большие массивы в флеш-памяти STM32F429
- Вложения
-
- 2018-01-20_12-05-34.png
- (241.23 КБ) 318 скачиваний
-
- 2018-01-20_12-00-18.png
- (169.57 КБ) 443 скачивания
- Реклама
-
GorbatovSerg
- Родился
- Сообщения: 13
- Зарегистрирован: Вс дек 18, 2011 20:40:31
Re: Большие массивы в флеш-памяти STM32F429
На текущий момент проблема решена использованием одномерного массива. Как показали эксперименты, в этом случае проблем нет.
Сам вопрос, почему так происходит, остается открытым.
Сам вопрос, почему так происходит, остается открытым.
Re: Большие массивы в флеш-памяти STM32F429
если собрать чем-нибудь другим - скажем, обычным gcc?
- VHEMaster
- Потрогал лапой паяльник
- Сообщения: 374
- Зарегистрирован: Сб июл 14, 2012 09:20:09
- Откуда: Украина, город Полтава
Re: Большие массивы в флеш-памяти STM32F429
У меня с кеилом проблем не было с двумерными массивами uint16_t размером 1366х768
Скорее всего, сам компилятор работает неверно. Как предложил arkhnchul, попробуй GCC.
Скорее всего, сам компилятор работает неверно. Как предложил arkhnchul, попробуй GCC.

