Дополнительный статический массив нарушает работу приложения DSP для цели omapl138 (ccs5.2)

Я работаю с OMAP1113 lcdk, и у меня есть базовое приложение для обработки аудио (некоторая фильтрация + эквалайзер, ничего особенного). По историческим причинам у меня объявлено много статических и глобальных данных, переменных, массивов и структур …

В основном мое приложение работает нормально. Но если только я объявляю еще один массив статических переменных, я не вижу выходного сигнала. При этом я к нему не обращаюсь, он только объявлен.

Изначально у меня есть следующие .bss

c31031f0    c31031f0    000006a0   00000000    rw-
c31031f0    c31031f0    000006a0   00000000    rw- .bss

и .far раздел

c3000000    c3000000    0005c994   00000000    rw-
c3000000    c3000000    0005c994   00000000    rw- .far

Я пытаюсь объявить static float tmpArr[8] и увидеть провал.

Эти разделы связаны с памятью DDR, которая объявлена ​​следующим образом:

DDR                   c3000000   00800000  00103f56  006fc0aa  RW X

Так что его неиспользуемый размер — 0x6fc0aa, это большая комната для размещения :).

С чем это может быть связано? Любые хиты очень ценятся.

0

Решение

Проблемы такого рода могут быть сложными для отладки. Вам нужно посмотреть на структуру памяти целевой системы и посмотреть, выходит ли какой-либо из ваших разделов за ее границы.

Действительно трудно дать общий совет в таких случаях. Легко потратить дни и недели на отладку, чтобы найти причину (или нет). Вы можете попытаться удалить части вашей кодовой базы из вашей сборки, чтобы понять, что может сделать ее ненадежной. Интеграция может быть кошмаром на некоторых встроенных системах.

У меня не было проблем с OMAPL138, хотя. Работали приложения обработки сигналов на ARM9 и C674x DSP.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]