Index: ChangeLog =================================================================== RCS file: /cvsroot/avr-libc/avr-libc/ChangeLog,v retrieving revision 1.342 diff -u -u -r1.342 ChangeLog --- ChangeLog 5 Apr 2004 18:03:51 -0000 1.342 +++ ChangeLog 5 Apr 2004 21:36:35 -0000 @@ -1,3 +1,8 @@ +2004-04-05 Joerg Wunsch + + * doc/api/main_page.dox, faq.dox: Add reference to Bruce Lightner's + trickery page for programming small AVRs in C. + 2004-04-05 Theodore A. Roth * configure.in (AM_INIT_AUTOMAKE): Bump version. Index: doc/api/main_page.dox =================================================================== RCS file: /cvsroot/avr-libc/avr-libc/doc/api/main_page.dox,v retrieving revision 1.16 diff -u -u -r1.16 main_page.dox --- doc/api/main_page.dox 30 Sep 2003 23:05:17 -0000 1.16 +++ doc/api/main_page.dox 5 Apr 2004 21:36:35 -0000 @@ -108,8 +108,9 @@ \anchor supp_dev_footnote_one -\note [1] Assembly only. There is no support for these devices to be -programmed in C since they do not have a ram based stack. +\note [1] Assembly only. There is no direct support for these devices to be +programmed in C since they do not have a RAM based stack. Still, it could be +possible to program them in C, see the \ref faq_tinyavr_c "FAQ" for an option. \anchor supp_dev_footnote_two Index: doc/api/faq.dox =================================================================== RCS file: /cvsroot/avr-libc/avr-libc/doc/api/faq.dox,v retrieving revision 1.30 diff -u -u -r1.30 faq.dox --- doc/api/faq.dox 18 Feb 2004 22:54:22 -0000 1.30 +++ doc/api/faq.dox 5 Apr 2004 21:36:37 -0000 @@ -52,6 +52,7 @@ -# \ref faq_flashstrings -# \ref faq_intpromote -# \ref faq_ramoverlap +-# \ref faq_tinyavr_c \section faq_volatile My program doesn't recognize a variable updated within an interrupt routine @@ -1051,6 +1052,21 @@ of stack required for this function, you have to add up that for all functions where you know that the calls could be nested. + +Back to \ref faq_index. + +\section faq_tinyavr_c Is it really impossible to program the ATtinyXX in C? + +While some small AVRs are not directly supported by the C compiler +since they do not have a RAM-based stack (and some do not even have +RAM at all), it is possible anyway to use the general-purpose +registers as a RAM replacement since they are mapped into the data +memory region. + +Bruce D. Lightner wrote an excellent description of how to do this, +and offers this together with a toolkit on his web page: + +http://lightner.net/avr/ATtinyAvrGcc.html Back to \ref faq_index.