Ваш город: Москва
+7 (495) 221-78-04
+7 (812) 327-327-1
Терраэлектроника

Неограниченное число точек останова во Flash памяти при отладке с эмулятором J-Link

Программное обеспечение J-Link поставляется с дополнительной функцией, которая называется Неограниченное число точек останова во флэш-памяти. Эта функция позволяет пользователю установить неограниченное число точек останова при отладке во флэш-памяти.

Без этой функции ПО число точек останова, которое может быть установлено во флэш-памяти, ограничено количеством аппаратных точек останова, поддерживаемых блоком отладки CPU (две точки на ARM 7/9 и 4-6 точек на Cortex-Mx).

Неограниченное число точек останова при отладке с J-Link может быть установлено как для внутренней, так и для внешней флэш-памяти.

J-Link применяет стратегию максимального использования аппаратных точек останова, но когда они все задействованы, эмулятор автоматически использует программные точки останова (для моделей J-Link PLUS, J-Link ULTRA + или J-Link PRO).

Функция, позволяющая устанавливать неограниченное число точек останова, работает даже в тех ситуациях, когда не могут быть использованы аппаратные точки останова, например, при работе с внешней памятью или когда память находится за пределами области, в которой могут быть установлены аппаратные точки останова. Для большинства Cortex-M3 и M4 аппаратные точки останова не могут быть применены к внешней памяти, в то время как программные точки останова могут быть использованы.

Как работают точки останова

Итак, существует два типа точек останова: аппаратные точки и программные. Аппаратные требуют использования специального блока микроконтроллера для каждой точки, т.е. аппаратные средства определяют, сколько точек останова могут быть использованы одновременно. Например, для ARM7 и ARM9 всего одновременно можно установить две таких точки наблюдения (по терминологии ARM). Аппаратные точки останова не требуют модификации программного кода.

Программные точки останова различны: отладчик модифицирует программу и заменяет инструкции точек останова специальными величинами. Дополнительные программные точки останова не требуют использования дополнительных аппаратных блоков процессора. Эта стандартная процедура доступна для большинства отладчиков, тем не менее, она требует, чтобы программа располагалась в ОЗУ.

Использование неограниченного числа точек останова

Можно ли использовать неограниченное число точек останова в CFI NOR Fash?

Да, для некоторых процессоров это единственный способ установить точки останова во внешней флэш-памяти. Например, в процессорах с ядром Cortex-M число аппаратных точек останова не превышает 6, и они не могут быть установлены для внешней флэш-памяти из-за ограничения диапазона адресов аппаратного блока. Это значит: если вы используете, например, Cortex-M3 или Cortex-M4 с внешней флэш-памятью, программа не может быть отлажена с использованием популярных эмуляторов, кроме как с J-Link с лицензией на неограниченное число точек останова.

Другими словами: когда отлаживается программа во внешней флэш-памяти на устройстве с Cortex-M процессором, J-Link с лицензией на неограниченное число точек останова (например, J-Link ULTRA +) является практически обязательным.

Особенности программных точек останова во флэш-памяти

Функция неограниченного числа точек останова позволяет установить произвольное количество таких точек даже в том случае, если прикладная программа не находится в оперативной памяти, а размещена во флэш. Такой сценарий был очень редким до появления на рынке ARM контроллеров. Новая технология позволяет производить отладку мощных и, вместе с тем, бюджетных систем на ARM контроллерах, которые ранее для проведения отладки с точками останова требовали наличия оперативной памяти.

Как это работает?

В основном очень просто. Программное обеспечение J-Link перепрограммирует сектор флэш-памяти, чтобы установить или удалить точку останова. Специальный код устанавливает и стирает точки останова во флэш-памяти экстремально быстро. Разница по производительности при размещении точек останова в RAM и Flash едва заметна.

Компания Segger приложила много усилий для создания этой полезной и удобной технологии.

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

Все ресурсы ARM микроконтроллера доступны для прикладной программы, нет области памяти, потерянной для отладки.

Лицензирование

Программное обеспечение лицензируется на основе J-Link, т.е требуется J-Link с Flash Breakpoint. J-Link Flash Breakpoints может использоваться с J-Link ARM RDI/ RDDI  и J-Link GDB Server. Если вы хотите использовать Flash Breakpoint c J-Link ARM RDI/ RDDI, вам также понадобится дополнительная лицензия для этого программного компонента.

Для получения бесплатной 30-дневной тестовой лицензии необходимо отправить запрос на email sales@segger.com с указанием серийного номера J-Link.

Использование неограниченного числа точек останова с различными программными компонентами

Неограниченное число точек останова может быть использовано со следующими программными компонентами J-Link:

  • J-Link DLL (например, если вы используете J-Link DLL изначально в IAR Embedded Workbench for ARM или RealView® MDK)
  • J-Link ARM RDI/ RDDI
  • J-Link GDB Server

Внимание! Функция неограниченного числа точек останова во флэш-памяти  для базовой модели J-Link (J-Link Base) может использоваться бесплатно для оценки. Период такого использования не ограничен. Для коммерческого применения требуется отдельная лицензия.

Для получения дополнительных сведений о том, как использовать Flash Breakpoints с различными компонентами программного обеспечения, пожалуйста, обратитесь к соответствующему руководству пользователя.

Статью составил и подготовил
Шрага Александр,
a.shraga@terraelectronica.ru


Производитель: SEGGER MICROCONTROLLER GMBH & Co. KG
J-LINK J-LINK Цена, руб. Срок поставки Укажите
кол-во:

USB-JTAG адаптер компании SEGGER предназначен для внутрисхемной отладки и программирования микроконтроллеров с высокопроизводительной ARM-архитектурой: ARM7, ARM9, ARM11 и Cortex-M3.
USB, JTAG/SWD, SWV
18500,00 r
На складе: 215 шт.
J-LINK PRO J-LINK PRO Цена, руб. Срок поставки Укажите
кол-во:

USB-JTAG адаптер компании SEGGER предназначен для внутрисхемной отладки и программирования микроконтроллеров с высокопроизводительной ARM-архитектурой: J-LINK PRO
Ethernet, USB, JTAG
63860,00 r
На складе: 6 шт.
J-LINK ULTRA+ J-LINK ULTRA+ Цена, руб. Срок поставки Укажите
кол-во:

Высокоскоростоной аналог J-LINK SEGGER. Интерфейс USB 2.0 High Speed. JTAG адаптер поддерживает высокоскоростную JTAG-отладку и программирование практически всех типов микроконтроллеров с ARM и Cortex ядрами : ARM7, ARM9, ARM11, Cortex-A5, Cortex-A8, Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-R4. Включает в себя бесплатное использование J-LINK Flash Breakpoints и J-LINK ARM RDI.
JTAG/SWD, SWV, USB
48690,00 r
На складе: 10 шт.
J-Link Plus J-Link Plus Цена, руб. Срок поставки Укажите
кол-во:

Улучшенная версия самого популярного JTAG отладчика для ARM и Cortex-микроконтроллеров. Выполнен на базе 32-битного RISC микроконтроллера.
JTAG, SWD, SWV, SWO, USB, ETB
41500,00 r
На складе: 11 шт.
Версия для печати версия для печати

Заметили ошибку в работе сайта?
Скажите нам об этом