2016-06-17 2 views
0

Я работаю с OMAPl138 lcdk, и у меня есть основное приложение для обработки звука (некоторая фильтрация + выравнивание, ничего особенного). Из-за исторических причин у меня много статических и глобальных данных, объявленных переменных, массивов и структур ...Дополнительный статический массив разбивает приложение DSP на цель omapl138 (ccs5.2)

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

Первоначально у меня есть следующий .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 который является большая комната для размещения :).

О чем это могло быть связано? Любые хиты чрезвычайно оценены.

ответ

1

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

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

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

+0

Пожалуйста, просмотрите мои комментарии о макете памяти. Насколько я вижу, наложения не перекрываются ... – Dmitry

+0

Вы проверили карту ссылок своей цели, чтобы увидеть, где она размещает ваш массив? – fullofsquirrels

+0

Да, этот массив размещается внутри области DDR, занимаемый размер также прекрасен. Одна вещь, которую я только что понял, если я поместил этот массив в другую область, кроме DDR - мое приложение прекрасно работает. Но у меня много вещей, размещенных внутри DDR, и кажется, что все они работают нормально ... Надеюсь;). – Dmitry

Смежные вопросы