<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Блог НТЦ Метротек &#187; gdb</title>
	<atom:link href="http://blog.metrotek.spb.ru/tag/gdb/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.metrotek.spb.ru</link>
	<description>блог разработчиков</description>
	<lastBuildDate>Sat, 21 Jan 2012 12:36:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>vim и gdb</title>
		<link>http://blog.metrotek.spb.ru/2010/06/25/otladka-priborov-pryamo-v-vime/</link>
		<comments>http://blog.metrotek.spb.ru/2010/06/25/otladka-priborov-pryamo-v-vime/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 12:02:29 +0000</pubDate>
		<dc:creator>Евгений Аполлонский</dc:creator>
				<category><![CDATA[интересное]]></category>
		<category><![CDATA[разработка]]></category>
		<category><![CDATA[gdb]]></category>
		<category><![CDATA[мозг]]></category>

		<guid isPermaLink="false">http://blog.metrotek.spb.ru/?p=2176</guid>
		<description><![CDATA[Долгое время мы не использовали отладчик при разработке приборов, отдавая предпочтение аналитическому методу &#8212; долгому &#171;всматриванию&#187; в код. Но при разработке нового прибора мы все-таки решили попробовать использовать ARM-USB-OCD, и нам понравилось! Прибор прошивается за 5 секунд, можно посмотреть все действия по шагам. Теперь не нужно гадать, в каком треде прибор вываливается в сегфолт. Но [...]]]></description>
			<content:encoded><![CDATA[<p>Долгое время мы не использовали отладчик при разработке приборов, отдавая предпочтение аналитическому методу &#8212; долгому &#171;всматриванию&#187; в код. Но при разработке нового прибора мы все-таки решили попробовать использовать ARM-USB-OCD, и нам понравилось! Прибор прошивается за 5 секунд, можно посмотреть все действия по шагам. Теперь не нужно гадать, в каком треде прибор вываливается в сегфолт.</p>
<p>Но чтобы удовольствие от отладки было полным, мы решили прикрутить gdb к vim&#8217;у. В этом нам помог проект <a href="http://clewn.sourceforge.net/index.html">Clewn</a>.</p>
<p>Последовательность действий такова:</p>
<ol>
<li>Подключаем прибор к компьютеру через ARM-USB-OCD и запускаем утилиту openocd на этом компьютере.</li>
<li>Запускаем gdb и vim:<br />
<code>clewn  -gc arm-elf-gdb -ga &lt;путь-к-elf-файлу&gt;</code><br />
Появляется GDB-shell и открывается gvim.</li>
<li>Присоединяемся к openocd:<br />
<code>(gdb) target remote :3333</code></li>
<li>Прошиваем прибор нужной прошивкой:<br />
<code>(gdb) load &lt;путь-к-elf-файлу&gt;</code></li>
</ol>
<p>Все готово для отладки. Теперь можно открывать в gvim исходники, ставить breakpoint&#8217;ы, смотреть значения переменных и наблюдать за текущем местом выполнения. Список горячих клавиш описан в документации Clewn и, естественно, может модифицироваться.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.metrotek.spb.ru/2010/06/25/otladka-priborov-pryamo-v-vime/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Использование внутрисхемного отладчика AVR</title>
		<link>http://blog.metrotek.spb.ru/2009/02/04/onchip-debugging/</link>
		<comments>http://blog.metrotek.spb.ru/2009/02/04/onchip-debugging/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 15:44:24 +0000</pubDate>
		<dc:creator>Артём Двинин</dc:creator>
				<category><![CDATA[разработка]]></category>
		<category><![CDATA[софт]]></category>
		<category><![CDATA[avr]]></category>
		<category><![CDATA[ddd]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[gdb]]></category>

		<guid isPermaLink="false">http://blog.metrotek.spb.ru/?p=421</guid>
		<description><![CDATA[В микроконтроллерах ATmega AVR, естественно, есть возможность внутрисхемной отладки по JTAG. Мы используем девайс под названием AVR JTAGICE mkII, подключённый по USB. Если по коду ошибку найти не удалось, то приходится отлаживать так же, как и обычную десктоп-программу. То есть, использовать дебаггер на &#171;большом&#187; компьютере, а программа будет выполняться в железке. Чтобы начать отладку, запускаем [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.metrotek.spb.ru/wp-content/uploads/2009/02/jtagice_mkii.jpg"><img src="http://blog.metrotek.spb.ru/wp-content/uploads/2009/02/jtagice_mkii.jpg" alt="JTAGICE mkII" title="JTAGICE mkII" width="186" height="139" class="alignleft size-full wp-image-528" /></a> В микроконтроллерах ATmega AVR, естественно, есть возможность внутрисхемной отладки по JTAG. Мы используем девайс под названием <a href="http://www.atmel.com/dyn/Products/tools_card.asp?tool_id=3353">AVR JTAGICE mkII</a>, подключённый по USB. Если по коду ошибку найти не удалось, то приходится отлаживать так же, как и обычную десктоп-программу. То есть, использовать дебаггер на &laquo;большом&raquo; компьютере, а программа будет выполняться в железке. Чтобы начать отладку, <span id="more-421"></span>запускаем на хосте, в который воткнут JTAGICE, gdb-сервер командой <code>avarice  -j usb -2 :4343</code>. Естественно, что в MCU должна быть предварительно залита отлаживаемая прошивка. </p>
<p>Затем запускаем DDD, <code>ddd --debugger avr-gdb</code>, после чего подключаемся  к серверу, выполнив в консоли DDD команду <code>target remote localhost:4343</code>, открываем отлаживаемый файл в DDD. И, вуаля, можно пошагово выполнять программу прямо в  железяке. </p>
<p>Те, кто не любит DDD, могут использовать avr-gdb и наслаждаться command-line интерфейсом. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.metrotek.spb.ru/2009/02/04/onchip-debugging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

