<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://forums.obdev.at/app.php/feed/topic/8786" />

	<title>Objective Development Forums</title>
	
	<link href="https://forums.obdev.at/index.php" />
	<updated>2014-03-19T22:31:12+02:00</updated>

	<author><name><![CDATA[Objective Development Forums]]></name></author>
	<id>https://forums.obdev.at/app.php/feed/topic/8786</id>

		<entry>
		<author><name><![CDATA[cpldcpu]]></name></author>
		<updated>2014-03-19T22:31:12+02:00</updated>

		<published>2014-03-19T22:31:12+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26707#p26707</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26707#p26707"/>
		<title type="html"><![CDATA[Re: Minimal USB implementation]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26707#p26707"><![CDATA[
Some write up for those interested:<br /><br /><!-- m --><a class="postlink" href="http://cpldcpu.wordpress.com/2014/03/19/%c2%b5-wire-usb-on-an-attiny-10/">http://cpldcpu.wordpress.com/2014/03/19 ... attiny-10/</a><!-- m --><p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=20062">cpldcpu</a> — Wed Mar 19, 2014 10:31 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[cpldcpu]]></name></author>
		<updated>2014-01-22T17:51:40+02:00</updated>

		<published>2014-01-22T17:51:40+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26492#p26492</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26492#p26492"/>
		<title type="html"><![CDATA[Re: Minimal USB implementation]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26492#p26492"><![CDATA[
That looks like something that would break arbitrarily with new compiler versions <img class="smilies" src="./../../../images/smilies/icon_smile.gif" alt=":)" title="Smile" /><p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=20062">cpldcpu</a> — Wed Jan 22, 2014 5:51 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[blargg]]></name></author>
		<updated>2014-01-22T02:53:21+02:00</updated>

		<published>2014-01-22T02:53:21+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26489#p26489</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26489#p26489"/>
		<title type="html"><![CDATA[Re: Minimal USB implementation]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26489#p26489"><![CDATA[
At least with avr-gcc 4.5.3, I think I was able to silence the optimizer warnings by initializing a variable with itself, e.g.char c = c;. Too bad there are so many snags to inlining assembly, as otherwise it could be possible to get more optimal code by using just C rather than mixing it with assembly.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=20076">blargg</a> — Wed Jan 22, 2014 2:53 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[cpldcpu]]></name></author>
		<updated>2014-01-21T09:52:06+02:00</updated>

		<published>2014-01-21T09:52:06+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26481#p26481</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26481#p26481"/>
		<title type="html"><![CDATA[Re: Minimal USB implementation]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26481#p26481"><![CDATA[
Whenever I tried that, the compiler would also initialize the variables, which took up more space than it saved.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=20062">cpldcpu</a> — Tue Jan 21, 2014 9:52 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[blargg]]></name></author>
		<updated>2014-01-20T02:44:05+02:00</updated>

		<published>2014-01-20T02:44:05+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26472#p26472</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26472#p26472"/>
		<title type="html"><![CDATA[Re: Minimal USB implementation]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26472#p26472"><![CDATA[
Can you just set them as out variables? That would force the compiler to give them registers and let it know that you're modifying them.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=20076">blargg</a> — Mon Jan 20, 2014 2:44 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[cpldcpu]]></name></author>
		<updated>2014-01-19T17:14:19+02:00</updated>

		<published>2014-01-19T17:14:19+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26470#p26470</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26470#p26470"/>
		<title type="html"><![CDATA[Re: Minimal USB implementation]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26470#p26470"><![CDATA[
<blockquote><div><cite>blargg wrote:</cite>Actually not so much call overhead, but richer information to the optimizer about exactly what registers are modified. It could probably also be written to let the compiler assign all the registers it uses.</div></blockquote><br /><br />I wish <img class="smilies" src="./../../../images/smilies/icon_smile.gif" alt=":)" title="Smile" /> I have not found a way to define variables in the assemblercode without having the compiler initialize them.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=20062">cpldcpu</a> — Sun Jan 19, 2014 5:14 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[blargg]]></name></author>
		<updated>2014-01-19T07:55:06+02:00</updated>

		<published>2014-01-19T07:55:06+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26463#p26463</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26463#p26463"/>
		<title type="html"><![CDATA[Re: Minimal USB implementation]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26463#p26463"><![CDATA[
Actually not so much call overhead, but richer information to the optimizer about exactly what registers are modified. It could probably also be written to let the compiler assign all the registers it uses.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=20076">blargg</a> — Sun Jan 19, 2014 7:55 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[stf92]]></name></author>
		<updated>2014-01-19T04:30:55+02:00</updated>

		<published>2014-01-19T04:30:55+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26461#p26461</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26461#p26461"/>
		<title type="html"><![CDATA[Re: Minimal USB implementation]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26461#p26461"><![CDATA[
You mean call overhead, I see!<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=20156">stf92</a> — Sun Jan 19, 2014 4:30 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[cpldcpu]]></name></author>
		<updated>2014-01-18T12:59:48+02:00</updated>

		<published>2014-01-18T12:59:48+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26458#p26458</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26458#p26458"/>
		<title type="html"><![CDATA[Re: Minimal USB implementation]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26458#p26458"><![CDATA[
That is where it is right now. The idea was that inlining saves code space.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=20062">cpldcpu</a> — Sat Jan 18, 2014 12:59 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[stf92]]></name></author>
		<updated>2014-01-18T12:44:22+02:00</updated>

		<published>2014-01-18T12:44:22+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26457#p26457</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26457#p26457"/>
		<title type="html"><![CDATA[Re: Minimal USB implementation]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=8786&amp;p=26457#p26457"><![CDATA[
Why don't you include the CRC  routine in usbdrvasm.S. Christian Starkjohann did this in his first implementations. That way the compiler will have nothing to do with it and code will be minimal.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=20156">stf92</a> — Sat Jan 18, 2014 12:44 pm</p><hr />
]]></content>
	</entry>
	</feed>
