Профилирование на биметаллических встроенных системах (ARM) - PullRequest
7 голосов
/ 02 января 2012

Мне интересно, как вы профилируете программное обеспечение на голых металлических системах (ARM Cortex a8)?Ранее я использовал симулятор со встроенной статистикой тестов, и теперь я хочу сравнить результаты с реальным оборудованием (работающим на BeagleBoard-Xm).

Я понимаю, что вы можете использовать gprof, однако я 'Это что-то потерянное, так как это предполагает, что вы должны запустить Linux на целевой системе?

Я создаю исполняемый файл с помощью кросс-компилятора Codesourcery arm-none-eabi, и целевая система работает под управлением FreeRTOS.

Ответы [ 2 ]

3 голосов
/ 02 января 2012

Внимательно оцените, что вы подразумеваете под «профилированием». Вы действительно работаете очень близко к голому металлу, и вполне вероятно, что вам придется взять на себя часть работы, выполняемой таким инструментом, как gprof.

Вы хотите рассчитать время вызова функции? или ISR? Как насчет переключения линии GPIO при вводе и выходе проверяемого кода. Регистратор данных или осциллограф может быть настроен на запуск этих событий. (По моему опыту, регистратор данных более удобен, поскольку мой может быть настроен на захват последовательности этих событий, что позволяет мне вычислять средние значения времени.)

Хотите посчитать количество казней? Cortex A8 оснащен рядом функций (например, настраиваемые счетчики событий), которые могут помочь: ссылка . Ваш чип ARM может быть оснащен и другими периферийными устройствами, которые также могут использоваться (в зависимости от поставщика). В любом случае, посмотрите на приведенную выше ссылку - в новых ARM есть много интересных функций, с которыми я не могу играть столько, сколько хотел бы! ; -)

2 голосов
/ 24 августа 2015

Мне удалось настроить профилирование на ARM Cortex M. Поскольку инструменты GNU ARM Embedded (launchpad) не поставляются с включенными библиотеками профилирования, я добавил необходимые функции склеивания и профилирования. Рекомендации: Смотри http://mcuoneclipse.com/2015/08/23/tutorial-using-gnu-profiling-gprof-with-arm-cortex-m/

Надеюсь, это поможет.

...