В HTML      В PDF
микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Статьи > Средства разработки

реклама

 
радиационно стойкие ПЗУ Миландр

Продажа силового и бронированного кабеля и провода в Москве

текст еще



Отладчик и сервер отладки

Все примеры программ будут запускаться на фирменной оценочной плате - STM32VLDISCOVERY. Что особенно ценно, в составе дешёвой платы, кроме целевого процессора, имеется аппаратный отладчик, с помощью которого можно вести трассировку кода. Удачный маркетинговый ход фирмы STM. Для отладки не нужно покупать дорогостоящий отладчик.

В код аппаратного отладчика Stlink v1 , дополнительно встроена программа, выполняющая функции Flash диска, устройство USB класса MSD. Для нормальной работы требуется настроить Linux так, чтобы MSD устройство с кодами 0483:3744 игнорировалось, так как в реализации имеются ошибки. Для этого модуль ядра usb_storage должен запускаться с параметром quirks=483:3744:i. Это можно выполнить различными способами. Можно из командной строки, размонтировать все Flash диски, выгрузить модуль usb_storage , а затем загрузить с нужными параметрами:

	
    modprobe -r usb_storage
    modprobe usb_storage quirks=483:3744:i 
	 

Либо запускать ядро Linux , задав параметры. В моём случае, в файле /etc/default/grub, отредактировал строку :

	
  GRUB_CMDLINE_LINUX_DEFAULT="usb-storage.quirks=483:3744:i" 

А затем обновил update-grub.

Параметры модуля usb_storage можно посмотреть командой:

	
  cat /sys/module/usb_storage/parameters/quirks 
	

В файле должно быть:

	
    483:3744:i 
	 

Когда модуль usb_storage будет загружен соответственным образом, можно двигаться дальше. Для отладки требуется наличие программы stlink. Это сервер отладки, он должен подключаться к аппаратному отладчику через USB и работать в фоновом режиме. А к этому серверу подключается клиент, в данном случае это будет arm-none-eabi-gdb, входящий в пакет инструментария.

В случае с Ubuntu, нужны библиотеки libusb-1.0 . Установить библиотеки можно командой:

	
   sudo apt-get -y install libusb-1.0-0-dev 
   sudo apt-get -y install libusb-1.0
		 

С помощью клиента git скачиваем исходный текст из репозитория:

	
   git clone https://github.com/texane/stlink.git
		 

В каталоге с исходным текстом, запускаем:


   ./autogen.sh 
   ./configure 
     make  . 
	 

После успешной компиляции, в наличии файлы st-util и st-flash. Для того, чтобы можно было работать с отладчиком из учётной записи с обычными правами, требуется скопировать файл 49-stlinkv1.rules , находящийся в каталоге с исходным текстом, в каталог ./etc/udev/rules.d и выполнить:

	
  udevadm control --reload-rules  
  udevadm trigger .  

Либо перезагрузиться.

Подключаем отладчик и запускаем :

	
  st-util  -1  
   
 

Если всё сделано правильно, то на экране можно видеть что-то подобное:

	
	   alex@big:/usr/local$ st-util
   2015-06-23T12:50:25 INFO src/stlink-usb.c: -- exit_dfu_mode
   2015-06-23T12:50:25 INFO src/stlink-common.c: Loading device parameters....
   2015-06-23T12:50:25 INFO src/stlink-common.c: Device connected is: F1 Medium/Low-density Value Line device, id 0x10016420
   2015-06-23T12:50:25 INFO src/stlink-common.c: SRAM size: 0x2000 bytes (8 KiB), Flash: 0x20000 bytes (128 KiB) in pages of 1024 bytes
   2015-06-23T12:50:25 INFO gdbserver/gdb-server.c: Chip ID is 00000420, Core ID is  1ba01477.
   libusb_handle_events() | has_error
   [!] send_recv
   2015-06-23T12:50:25 INFO gdbserver/gdb-server.c: Listening at *:4242...

Сервер отладки будет ждать подключений на порт 4242.

Хочется добавить, что можно использовать и широко известный сервер отладки OpenOCD.(Open On-Chip Debugger), но он имеет несколько усложнённую настройку, хотя вполне работоспособен.

<-- Предыдущая страница Оглавление Следующая страница -->





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (495) 514 4110. e-mail:info@eust.ru
©1998-2016 ООО Рынок Микроэлектроники