Начал работать с матрицей MLX90640 на STM32F407VET6 при помощи библиотеки от производителя (https://github.com/melexis/mlx90640-library/tree/master). При запуске считываются данные из EEPROM. Затем, при попытки их обработки функцией MLX90640_ExtractParameters происходит hardfault_handler. Обнаружил, с какого места появляется ошибка:
Заметил, что если добавить рядом в цикл mlx90640->brokenPixels[0] = 0xFFFF;, то ошибка больше не выдается, но после этого I2C имеет флаг BUSY и дальнейшая работа с камерой невозможна
Посмотри как я баловался с этим датчиком.
Там две ветки - одна с бесконечным циклом, другая с FreeRTOS.
Я немного переработал библиотеку и засунул во флеш массив коррекции пикселей. Это сэкономило 10кБ ОЗУ.