с проблемой сталкивался два раза.
Первый раз, на 2134, кусочек кода, который считал контрольную сумму прошивки побайтным сложением, при определённом расположении в памяти выдавал дата аборт. Лечилось "методом научного тыка", изменением уровня оптимизации - код "уходил" из проблемного места.
Второй раз, на 2138, memcpy (buff, адрес вблизи memcpy, N) стабильно вылетала в аборт. Реализация memcpy тупая, просто побайтное копирование. Вылечил изменением memcpy. Я даже писал об этом с год назад, но понял, в чём проблема, сильно позже.
Мнение NXP на этот счёт: Under certain conditions when the MAM is fully enabled (Mode 2) code execution from internal Flash can fail. The conditions under which the problem can occur is dependent on the code itself along with its positioning within the Flash memory. If the above problem is encountered then Mode 2 should not be used.
--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
|