<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Old dog, no C in 8-bit Microcontrollers</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164239#M10212</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;An assembler programmer won't have to worry much about make those efficiency mistakes when writing C though. They all know what's going on behind the C code, as opposed to most PC programmers moving to embedded systems. Also, new microcontrollers are written in such a way that they will yield more effective C code. 8051 is not one of them, it is the least code-effective micro on the market.&lt;BR /&gt;&lt;BR /&gt;(Btw, function calls are free! There is inlining! &lt;IMG alt=":smileyhappy:" class="emoticon emoticon-smileyhappy" id="smileyhappy" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-happy.gif" title="Smiley Happy" /&gt; )&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 15 Nov 2007 16:02:15 GMT</pubDate>
    <dc:creator>Lundin</dc:creator>
    <dc:date>2007-11-15T16:02:15Z</dc:date>
    <item>
      <title>Old dog, no C</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164235#M10208</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;Hi folks,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Well, after 29 years of designing &amp;amp; writing code&lt;/DIV&gt;&lt;DIV&gt;for micros, I guess it's time to bite the bullet &amp;amp;&lt;/DIV&gt;&lt;DIV&gt;learn C.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Anybody have some good&amp;nbsp;info on how to&amp;nbsp;learn C for&lt;/DIV&gt;&lt;DIV&gt;micros?&amp;nbsp; Books, Ap notes, etc&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Freescale 08s&amp;nbsp;would&amp;nbsp;be good to start on,&lt;/DIV&gt;&lt;DIV&gt;as I already have some knowledge of the parts &amp;amp;&lt;/DIV&gt;&lt;DIV&gt;a Cyclone with CW08.&amp;nbsp; (plus a new project coming&lt;/DIV&gt;&lt;DIV&gt;down the pike that uses USB) &lt;A href="http://freescale.i.lithium.com/i/smilies/16x16_smiley-surprised.gif"&gt;&lt;IMG alt=":smileysurprised:" class="emoticon emoticon-smileysurprised" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-surprised.gif" title="Smiley Surprised" /&gt;&lt;/A&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;Thanks a bunch!&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;woof&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Tim&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Nov 2007 06:34:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164235#M10208</guid>
      <dc:creator>UtopiaTim</dc:creator>
      <dc:date>2007-11-15T06:34:09Z</dc:date>
    </item>
    <item>
      <title>Re: Old dog, no C</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164236#M10209</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Tim,&lt;/DIV&gt;&lt;DIV&gt;Although it's not specifically for micros, "Software Engineering in C" by Peter Darnell is great and used is only a buck at Abe Books (out-of-print, paperback, so check condition). It's still the only book on C that I own or use&amp;nbsp;even though it's almost 20 years old.&lt;/DIV&gt;&lt;DIV&gt;Bill&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Nov 2007 08:15:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164236#M10209</guid>
      <dc:creator>ballen</dc:creator>
      <dc:date>2007-11-15T08:15:03Z</dc:date>
    </item>
    <item>
      <title>Re: Old dog, no C</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164237#M10210</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Old dog.&lt;/P&gt;&lt;P&gt;Why C?&amp;nbsp; You probably have a lot of experience with assembly -- and IMHO its the "right" choice for most embedded MCU apps anyway.&amp;nbsp; (You won't be seduced into thinking that function calls or floating point ops. are "free," for example.)&amp;nbsp; And you CAN do USB apps. in assembly.&amp;nbsp; Take a look at "USB Design by Example" by John Hyde as a good 8051-oriented intro.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Nov 2007 12:44:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164237#M10210</guid>
      <dc:creator>Curt</dc:creator>
      <dc:date>2007-11-15T12:44:12Z</dc:date>
    </item>
    <item>
      <title>Re: Old dog, no C</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164238#M10211</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi Bill/Curt,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks for the info on the book Bill.. I'll check it out.&amp;nbsp; I have a copy of&lt;/DIV&gt;&lt;DIV&gt;'C Primer Plus' by Waite/Prata &amp;amp; Martin, and am going through it, although&lt;/DIV&gt;&lt;DIV&gt;it is geared more for larger systems.&amp;nbsp; (published in 1984, there weren't&lt;/DIV&gt;&lt;DIV&gt;many efficient compilers for micros).&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Curt - I agree mostly, but it is such that every ap note I come across seems&lt;/DIV&gt;&lt;DIV&gt;to have it's code done in C.&amp;nbsp; In the work that I do, time to project completion&lt;/DIV&gt;&lt;DIV&gt;is a major consideration, and if I can leverage some code snippits from an&lt;/DIV&gt;&lt;DIV&gt;ap-note, it will save me time (and $).&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I understand the tradeoffs of code size, execution speed, etc, and obviously&lt;/DIV&gt;&lt;DIV&gt;the time sensitive stuff will still be done in assembly.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;It's certainly not an 'end-all' answer, but just another tool in my bag of tricks.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I've perused Amazon's site, &amp;amp; there are a ton of 'C with PICs', but haven't&lt;/DIV&gt;&lt;DIV&gt;seen one for Freescale's micros.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks again!&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Tim&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Nov 2007 13:41:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164238#M10211</guid>
      <dc:creator>UtopiaTim</dc:creator>
      <dc:date>2007-11-15T13:41:31Z</dc:date>
    </item>
    <item>
      <title>Re: Old dog, no C</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164239#M10212</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;An assembler programmer won't have to worry much about make those efficiency mistakes when writing C though. They all know what's going on behind the C code, as opposed to most PC programmers moving to embedded systems. Also, new microcontrollers are written in such a way that they will yield more effective C code. 8051 is not one of them, it is the least code-effective micro on the market.&lt;BR /&gt;&lt;BR /&gt;(Btw, function calls are free! There is inlining! &lt;IMG alt=":smileyhappy:" class="emoticon emoticon-smileyhappy" id="smileyhappy" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-happy.gif" title="Smiley Happy" /&gt; )&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Nov 2007 16:02:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164239#M10212</guid>
      <dc:creator>Lundin</dc:creator>
      <dc:date>2007-11-15T16:02:15Z</dc:date>
    </item>
    <item>
      <title>Re: Old dog, no C</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164240#M10213</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hello Tim,&lt;BR /&gt;&lt;BR /&gt;In addition to books, you can get a good start on learning 'C' by going to Google and typing in:&lt;BR /&gt;"C tutorial"&amp;nbsp; or "C programming tutorial"&amp;nbsp;&amp;nbsp; (use the quotes in both cases).&lt;BR /&gt;&lt;BR /&gt;Also, you might want to pick up a copy of the book, "The C Programming Language" ( Second Edition ) (ISBN 0-13-110362-8) by Kernighan and Ritchie, the authors of the language.&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;&lt;BR /&gt;Frank&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Nov 2007 22:14:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164240#M10213</guid>
      <dc:creator>thisobj</dc:creator>
      <dc:date>2007-11-15T22:14:35Z</dc:date>
    </item>
    <item>
      <title>Re: Old dog, no C</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164241#M10214</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;hello, I am a similar old dog and now I am using C.&lt;/DIV&gt;&lt;DIV&gt;once you use c, you won't get back to assembly any more,it's just so convenient.&lt;/DIV&gt;&lt;DIV&gt;in most situations, we don't pursue extreme efficiency and C is just too portabel for applications and it's easy to use...&lt;/DIV&gt;&lt;DIV&gt;I used QG8 to learn C,it's 8-bit so it's easy and freescale has a lot ready-made c programms for you to try on,when I don't understand I go back to read book or just surf online.&lt;/DIV&gt;&lt;DIV&gt;this way is pretty efficient for an old dog like me.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Nov 2007 23:14:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164241#M10214</guid>
      <dc:creator>HarrySun</dc:creator>
      <dc:date>2007-11-16T23:14:40Z</dc:date>
    </item>
    <item>
      <title>Re: Old dog, no C</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164242#M10215</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;Hi Tim&lt;BR /&gt;&lt;BR /&gt;As i am also a old dog, i was used to write my code in assembly (for a lot of MCU's). Back in the 1980's i tried "C" for the first time and my first program&amp;nbsp; showed 65 errors in only 5 lines of code!!&amp;nbsp; At this point i decided&amp;nbsp; that "C"&amp;nbsp; was definitely NOT my language! So after using Pasqual, Modul2 and a lot of BASICs (mainly for PC stuff) last year i decided to try "C" again.&amp;nbsp; The result is that i have rewritten my simple OS in "C" (Info's on &lt;A href="http://www.systech-gmbh.ch" rel="nofollow" target="_blank"&gt;www.systech-gmbh.ch&lt;/A&gt; -&amp;gt; EBS08). And i must say am not really unhappy with the result. I was also surprised about the code size with is almost as short as my assembly code! I have bought different books for getting some information about "C" but the heavy ones (2kg!) didn't not help really, finally i found the book (bought in 1982!) form Kernighan and Ritchie (original title "The C Programming Language" ) and i find this book helped really. (wight &amp;lt; 300gramms)! Probably you can find it used!&lt;BR /&gt;&lt;BR /&gt;Good luck&lt;BR /&gt;&lt;BR /&gt;Joerg&lt;BR /&gt;&lt;BR /&gt;PS. I hate automatic smiles!!&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by joerg on &lt;SPAN class="date_text"&gt;2007-11-16&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;05:49 PM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 17 Nov 2007 00:47:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164242#M10215</guid>
      <dc:creator>joerg</dc:creator>
      <dc:date>2007-11-17T00:47:08Z</dc:date>
    </item>
    <item>
      <title>Re: Old dog, no C</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164243#M10216</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Hello Tim,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Here are a couple of Internet references I have found to be useful -&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://users.ece.utexas.edu/~valvano/embed/toc1.htm" rel="nofollow" target="_blank"&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;A href="http://users.ece.utexas.edu/~valvano/embed/toc1.htm" target="test_blank"&gt;http://users.ece.utexas.edu/~valvano/embed/toc1.htm&lt;/A&gt;&lt;BR /&gt;&lt;A href="http://www.eskimo.com/~scs/cclass/cclass.html" rel="nofollow" target="_blank"&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;A href="http://www.eskimo.com/~scs/cclass/cclass.html" target="test_blank"&gt;http://www.eskimo.com/~scs/cclass/cclass.html&lt;/A&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Regards,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Mac&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 17 Nov 2007 06:41:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164243#M10216</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2007-11-17T06:41:16Z</dc:date>
    </item>
    <item>
      <title>Re: Old dog, no C</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164244#M10217</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Thanks everyone for your information, experiences &amp;amp; links!&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;That light at the end of the tunnel may not be a train!!&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks again,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Tim&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 20 Nov 2007 11:44:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Old-dog-no-C/m-p/164244#M10217</guid>
      <dc:creator>UtopiaTim</dc:creator>
      <dc:date>2007-11-20T11:44:23Z</dc:date>
    </item>
  </channel>
</rss>

