<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Методы оптимизации кода C для 8-битных AVR</title>
		<description>Обсуждение Методы оптимизации кода C для 8-битных AVR</description>
		<link>http://www.microsin.ru/programming/avr-troubleshooting-faq/tips-and-tricks-to-optimize-c-code-for-8-bit-avr.html</link>
		<lastBuildDate>Fri, 17 Apr 2026 20:46:30 +0300</lastBuildDate>
		<generator>JComments</generator>
		<atom:link href="http://www.microsin.ru/component/option,com_jcomments/format,raw/limit,10/object_group,com_content/object_id,1571/task,rss/" rel="self" type="application/rss+xml" />
		<item>
			<title>я написал:</title>
			<link>http://www.microsin.ru/programming/avr-troubleshooting-faq/tips-and-tricks-to-optimize-c-code-for-8-bit-avr.html#comment-4332</link>
			<description><![CDATA[ Оказывается работает даже с long long, просто нужно указать адрес старшего байта переменной.]]></description>
			<dc:creator>я</dc:creator>
			<pubDate>Tue, 06 Jun 2017 18:07:24 +0300</pubDate>
			<guid>http://www.microsin.ru/programming/avr-troubleshooting-faq/tips-and-tricks-to-optimize-c-code-for-8-bit-avr.html#comment-4332</guid>
		</item>
		<item>
			<title>я написал:</title>
			<link>http://www.microsin.ru/programming/avr-troubleshooting-faq/tips-and-tricks-to-optimize-c-code-for-8-bit-avr.html#comment-4291</link>
			<description><![CDATA[Для скорости можно использовать флаг -Ofast. microsin: про -Ofast в руководстве AVR GCC написано следующее: "Эта опция игнорирует строгое соответствие стандарту. -Ofast разрешает все оптимизации, которые включает опция -O3. Также -Ofast разрешает все оптимизации, которые не являются допустимыми для всех стандартно-совместимых программ. Она включает опции -ffast-math и относящиеся к Фортрану опции -fno-protect-parens и -fstack-arrays.". Так что используйте эту опцию с осторожностью.]]></description>
			<dc:creator>я</dc:creator>
			<pubDate>Sun, 28 May 2017 12:03:52 +0300</pubDate>
			<guid>http://www.microsin.ru/programming/avr-troubleshooting-faq/tips-and-tricks-to-optimize-c-code-for-8-bit-avr.html#comment-4291</guid>
		</item>
		<item>
			<title>я написал:</title>
			<link>http://www.microsin.ru/programming/avr-troubleshooting-faq/tips-and-tricks-to-optimize-c-code-for-8-bit-avr.html#comment-4231</link>
			<description><![CDATA[Легче вставлять ассемблер как тут https://embedderslife.wordpress.com/2012/02/19/avr-gcc-asm-and-c/ т. е. через библиотеку, а не вставку.]]></description>
			<dc:creator>я</dc:creator>
			<pubDate>Tue, 16 May 2017 19:45:17 +0300</pubDate>
			<guid>http://www.microsin.ru/programming/avr-troubleshooting-faq/tips-and-tricks-to-optimize-c-code-for-8-bit-avr.html#comment-4231</guid>
		</item>
		<item>
			<title>я написал:</title>
			<link>http://www.microsin.ru/programming/avr-troubleshooting-faq/tips-and-tricks-to-optimize-c-code-for-8-bit-avr.html#comment-4230</link>
			<description><![CDATA[И еще с словом register не работает bit_is_set, и другие макросы из той библиотеки, не знаю почему. У меня Atmel Studio 7.0.]]></description>
			<dc:creator>я</dc:creator>
			<pubDate>Tue, 16 May 2017 19:25:33 +0300</pubDate>
			<guid>http://www.microsin.ru/programming/avr-troubleshooting-faq/tips-and-tricks-to-optimize-c-code-for-8-bit-avr.html#comment-4230</guid>
		</item>
		<item>
			<title>я написал:</title>
			<link>http://www.microsin.ru/programming/avr-troubleshooting-faq/tips-and-tricks-to-optimize-c-code-for-8-bit-avr.html#comment-4229</link>
			<description><![CDATA[В старом мануале avr-libc есть флаг -mcall-prologues. сам не пробовал, но есть цитата из мануала: "So generally, it seems -Os -mcall-prologues is the most universal 'best' optimization level. Only applications that need to get the last few percent of speed benefit from using -O3." (avr libc user manual 1.8.0, пункт 11.17).]]></description>
			<dc:creator>я</dc:creator>
			<pubDate>Tue, 16 May 2017 19:19:21 +0300</pubDate>
			<guid>http://www.microsin.ru/programming/avr-troubleshooting-faq/tips-and-tricks-to-optimize-c-code-for-8-bit-avr.html#comment-4229</guid>
		</item>
		<item>
			<title>я написал:</title>
			<link>http://www.microsin.ru/programming/avr-troubleshooting-faq/tips-and-tricks-to-optimize-c-code-for-8-bit-avr.html#comment-4156</link>
			<description><![CDATA[В FAQ Atmel есть совет с помощью ключевого слова register привязывать переменные к физическим регистрам общего назначения (прогуглите How to permanently bind a variable to a register?). Это подходит для 8-битных переменных.]]></description>
			<dc:creator>я</dc:creator>
			<pubDate>Fri, 05 May 2017 15:23:30 +0300</pubDate>
			<guid>http://www.microsin.ru/programming/avr-troubleshooting-faq/tips-and-tricks-to-optimize-c-code-for-8-bit-avr.html#comment-4156</guid>
		</item>
		<item>
			<title>Дмитрий написал:</title>
			<link>http://www.microsin.ru/programming/avr-troubleshooting-faq/tips-and-tricks-to-optimize-c-code-for-8-bit-avr.html#comment-3436</link>
			<description><![CDATA[Подсказка #10 – развернутые циклы. В данном примере выгоднее будет вставить ассемблерные команды наподобие asm("sbi PORTB, 0 "); asm("cbi PORTB, 0"); .. в итоге 10 слов FLASH и 10 тактов выполнения (в большинстве случаев, так как порт B будет в основном лежать до адреса 0x3F).]]></description>
			<dc:creator>Дмитрий</dc:creator>
			<pubDate>Thu, 28 Jul 2016 17:16:20 +0300</pubDate>
			<guid>http://www.microsin.ru/programming/avr-troubleshooting-faq/tips-and-tricks-to-optimize-c-code-for-8-bit-avr.html#comment-3436</guid>
		</item>
	</channel>
</rss>
