<?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>AVR Studio +gcc: как разместить строки и константы на flash</title>
		<description>Обсуждение AVR Studio +gcc: как разместить строки и константы на flash</description>
		<link>http://microsin.ru/programming/avr/avrstudio-gcc-progmem.html</link>
		<lastBuildDate>Sun, 12 Jul 2026 03:07:38 +0300</lastBuildDate>
		<generator>JComments</generator>
		<atom:link href="http://microsin.ru/component/option,com_jcomments/format,raw/limit,10/object_group,com_content/object_id,1070/task,rss/" rel="self" type="application/rss+xml" />
		<item>
			<title>Вячеслав Мезенцев написал:</title>
			<link>http://microsin.ru/programming/avr/avrstudio-gcc-progmem.html#comment-1393</link>
			<description><![CDATA[Там в исходниках есть такая вот интересная вещь: /* The real thing. */ # define PSTR(s) (__extension__( {static char __c[] PROGMEM = (s); &__c[0];})) Эта фича позволяет писать внутри функций так: char * mystr = PSTR( ":)" ); Небольшая такая автоматизация. Увы, но это мало помогает, если пишешь для IAR и GCC сразу. В IAR очень удобно можно объявлять строки прямо в коде функций. PSTR() тут поможет, но флеш-строки порою используются в флеш-структурах, где, увы, такой фокус уже не проходит. Это единственная неудобная вещь, когда пишешь код, который одновременно может компилироваться в IAR и GCC (на EC++ без специфики). Если кому интересно, вот недоделанная пока заготовка кросс-компиляторного шаблона: https://mysvn.ru/cop/Example/ Компилируется в IAR 5.51 и AVR-GCC. Для переключения компилятора комментим три строки в Defines.h. Открывать проект в VS2008 (c WinAVR-20100110) либо в IAR 5.51.]]></description>
			<dc:creator>Вячеслав Мезенцев</dc:creator>
			<pubDate>Fri, 15 Jul 2011 04:49:50 +0300</pubDate>
			<guid>http://microsin.ru/programming/avr/avrstudio-gcc-progmem.html#comment-1393</guid>
		</item>
		<item>
			<title>Alex написал:</title>
			<link>http://microsin.ru/programming/avr/avrstudio-gcc-progmem.html#comment-1175</link>
			<description><![CDATA[Спасибо за перевод! Но вот хочется разместить не только во Flash, но еще и с заданного адреса во Flash. Может кто-нибудь подсказать как такое сделать в AVR Studio +gcc. microsin: в документации к Вашему WinAVR все подробно на пальцах описано, как это делать - см. docavr-libcavr-libc-user-manual.pdf, FAQ "How do I relocate code to a fixed address?". Или, как обычно, воспользуйтесь Google, ключевые слова для поиска "__attribute__" section "--section-start="]]></description>
			<dc:creator>Alex</dc:creator>
			<pubDate>Tue, 22 Mar 2011 14:37:22 +0300</pubDate>
			<guid>http://microsin.ru/programming/avr/avrstudio-gcc-progmem.html#comment-1175</guid>
		</item>
		<item>
			<title>Дмитрий написал:</title>
			<link>http://microsin.ru/programming/avr/avrstudio-gcc-progmem.html#comment-631</link>
			<description><![CDATA[Огромное вам спасибо за ваши труды, статья помогла при разработке очень важного проекта!!!]]></description>
			<dc:creator>Дмитрий</dc:creator>
			<pubDate>Mon, 02 Aug 2010 19:50:34 +0300</pubDate>
			<guid>http://microsin.ru/programming/avr/avrstudio-gcc-progmem.html#comment-631</guid>
		</item>
		<item>
			<title>Юрий написал:</title>
			<link>http://microsin.ru/programming/avr/avrstudio-gcc-progmem.html#comment-461</link>
			<description><![CDATA[Спасибо за грамотный перевод, ибо я в общих чертах понял особенности работы с Flash, при прочтении на английском, но в вашем переводе все значительно упростилось!]]></description>
			<dc:creator>Юрий</dc:creator>
			<pubDate>Mon, 19 Apr 2010 15:12:52 +0300</pubDate>
			<guid>http://microsin.ru/programming/avr/avrstudio-gcc-progmem.html#comment-461</guid>
		</item>
	</channel>
</rss>
