Find/Post your Online C Books & Tools here ....

43 posts / 0 new
Last post
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Freaks ..

As i see so many generic questions about pointers , arrays and other C related stuff. I think we should have a little place for some LEGAL ONLINE C tools and or references.

If this is going to be usefull , then this post should NOT end up being hundreds of pages long. So plese do not use it as your own private remote/backup of your favorite links. But if its generic and helpfull to most other C users , and maybe especially the learners then post a link to it.

Please describe what the link is pointing at/to , and do a skills classification.

I will start out with the obious GCC links (not classified) , and then some links to some online books/docs that i think would be helpfull to other users here.

Hope you will contribute , for the benefit to us all .....

/Bingo

------------------------------------------------------------------------------------

The "Must read's" :lol: :lol:

WinAVR (The free AVR C Compiler)
The Homepage
http://winavr.sourceforge.net/index.html

Download
http://winavr.sourceforge.net/download.html

The link to other AVR resources page , have a look here
http://winavr.sourceforge.net/links.html

avr-libc documentation:
The the avr-libc Homepage
http://www.nongnu.org/avr-libc/

The online html manual
http://www.nongnu.org/avr-libc/user-manual/index.html

The downloadable pdf manual (a must ....)
This is version specific , so have a look at the above homepage when a new version is out.
http://download.savannah.gnu.org/releases/avr-libc/avr-libc-user-manual-1.4.7.pdf.bz2

GNU Manuals Online
http://www.gnu.org/manual/

GCC Homepage
http://gcc.gnu.org/

GCC manual online
http://www.gnu.org/software/gcc/onlinedocs/

GNU make manual online
http://www.gnu.org/software/make/manual/make.pdf

Managing Projects with GNU Make, 3'ed
http://www.wanderinghorse.net/computing/make/

------------------------------------------------------------------------------------

Building the AVR Toolchain
http://www.nongnu.org/avr-libc/user-manual/install_tools.html
I did follow the above "Recipe" , and made it. You can read about my problems/solutions etc. here
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=25754

Note: If you want support for the latest processors (Applies to all builds)
You need to apply a patch to the binutils.

As EW wrote:

Quote:
The patches for the new devices are always available to anyone at the avr-libc project site on Savannah, in the Patch Manager.

Building the AVR Toolchain under Linux
A. J. Erasmus made this homepage
http://home.telkomsa.net/antera/
With a "Recipe" for building a "WinAVR" compatible toolchain under linux (Untested by me)
Do start with the Readme

I did update the above buildscripts in this thread
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=42631

Building the AVR Toolchain under MacOS X (10.1 or later recommended)
First you must install the developer tools from the Apple CD, which came with OS X, or can be downloaded from the Apple website for free.

Have a look here :
http://www.eecs.berkeley.edu/~mseeman/resources/macmicro.html

and maybe here (german) , but commands are linux (english)

http://www.mikrocontroller.net/forum/read-2-153385.html

Lately there is a "Local thread" , and i even think an academy project about MAC avr-gcc
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=38593&sid=df16488195acc5c6948dda8b785d4886

------------------------------------------------------------------------------------

The Generic C Tutorials

The C Book
http://publications.gbdirect.co.uk/c_book/
Category : Nice C tutorial
Level : All

Learn C/C++ Today
http://www.cyberdiem.com/vin/learn.html
A list of a few C and C++ language tutorials
Category : List of C tutorials & examples
Level : All

C Programming Notes
Notes to Accompany The C Programming Language, by Kernighan and Ritchie (``K&R'') (2'nd ed)
http://www.eskimo.com/~scs/cclass/krnotes/top.html
Category : Comments to the K&R book , divided into each chapter
Level : All

C Programming

Quote:
The notes on these pages are for the courses in C Programming I used to teach in the Experimental College at the University of Washington in Seattle

http://www.eskimo.com/~scs/cclass/cclass.html
Category : Seems like a good site with C intros for both beginners & Intermediate
Level : All

C and C++ Programming
Link to a page with lots of c/c++ doc links
http://web.archive.org/web/20090803195254/http://geocities.com/SiliconValley/Lakes/6007/Programming.htm
Category : Links to dozens of C and C++ related Books/Guides
Level : All

A TUTORIAL ON POINTERS AND ARRAYS IN C
http://pweb.netcom.com/~tjensen/ptr/pointers.htm
PDF Version
http://pweb.netcom.com/~tjensen/ptr/pointers.pdf
Level : All

ISO/IEC 9899 (C library reference)
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf
Level : All

What Belongs in a C .h Header File?

http://embeddedgurus.com/barr-code/2010/11/what-belongs-in-a-c-h-header-file/
Level: All

------------------------------------------------------------------------------------

The advanced stuff

Numerical Recipes in C
http://lib-www.lanl.gov/numerical/bookcpdf.html
Category : C filters , fft ... etc.
Level : Advanced

Binary to Decimal Conversion in Limited Precision
http://www.cs.uiowa.edu/~jones/bcd/decimal.html
Category : C BCD Conversion routines.
Level : Advanced

The Function Pointer Tutorials
http://www.newty.de/fpt/index.html
http://www.newty.de/fpt/zip/e_fpt.pdf (here as PDF)
Category : Using pointers to functions in C
Level : Advanced

Introduction to the Volatile Keyword
http://www.embedded.com/story/OEG20010615S0107
Category : When to use the volatile keyword in C
Level : ALL (a must read)

How to Use C's volatile Keyword
http://www.netrino.com/Embedded-Systems/How-To/C-Volatile-Keyword
Category : How to use the volatile keyword in C
Level : ALL (a must read)

Combining C's volatile and const Keywords
http://embeddedgurus.com/barr-code/2012/01/combining-cs-volatile-and-const-keywords/
Category : Does it ever make sense to declare a variable volatile const
Level : ALL (interesting)

Understanding C99's strict aliasing rules
http://cellperformance.beyond3d.com/articles/2006/06/understanding-strict-aliasing.html
Category : Understanding C99's strict aliasing rules
Level : ALL (a must read)

Nine ways to break your systems code using volatile
http://blog.regehr.org/archives/28
Category : (mis)Using the volatile keyword in C
Level : ALL (a must read)

"Getting the Least out of Your C Compiler"
http://user.it.uu.se/~jakob/publications/engblom-esc-sf-2001.pdf
Category : What you (thought) you told your compiler
Level : ALL

Efficient C Code for Eight-Bit MCUs
http://www.embedded.com/98/9811/9811fe3.htm
Category : How to make efficient code on an 8 bit mcu
Level : ALL

Programming Embedded Systems
http://www.le.ac.uk/engineering/mjp9/pes1ohp_a4.pdf
Category : Programming Embedded Systems (a 10 Week Course)
Basic Hardware / OS types / C coding
Level : ALL

The New C Standard
Category : Discuss C and Codingstandards in depth
Level : Advanced
http://theinquirer.net/?article=24092
http://www.knosof.co.uk/cbook/cbook.html

Programming Embedded Systems II
http://www.le.ac.uk/engineering/mjp9/pes2ohp_a4.pdf
Category : Programming Embedded Systems (a 10 Week Course)
RS485 / RS232 / I2C / Schedulers / CAN master/slave / etc.....
Level : Intermediate to Advanced

Using watchdog timers to improve the reliability
http://www.le.ac.uk/engineering/mjp9/mjpvp02.pdf
Category : Publication from the above author about using Watchdogs
Level : Intermediate to Advanced

Control And Embedded Systems
http://www.learn-c.com/
Category : Focused on controlling things with embeddec C.
Seems like a nice site with a lot of embedded examples in links on left side
Level : Beginners to Intermediate
Starts with basic electronics , then on to controlling ports in C

Interactive Digital Filter Design
http://www-users.cs.york.ac.uk/~fisher/mkfilter/
Category : Give desired parameters for a digital filter ,
and it will output C code for it (untested by me)
Level : Unknown

LC Filter Design
http://www-users.cs.york.ac.uk/~fisher/lcfilter/
Category : Give desired parameters for a LC filter ,
and it will draw schematic for it
Level : Unknown

Interactive Digital Phase Locked Loop Design
http://www-users.cs.york.ac.uk/~fisher/mkpll/
Category : Give desired parameters for a PLL filter ,
and it will draw schematic for it
Level : Unknown

Sampling: What Nyquist Didn't Say, and What to Do About It
http://www.wescottdesign.com/articles/Sampling/sampling.html
Category : An advanced insight into Sampling
Level : Advanced

Algorithms for Programmers
http://www.jjj.de/
http://www.jjj.de/fxt/fxtbook.pdf

What Every Computer Scientist Should Know About Floating-Point Arithmetic
http://docs.sun.com/source/806-3568/ncg_goldberg.html
Category : A floating point in depth paper
Level : Advanced (masochist level)

A nice online TCP/IP guide
http://www.tcpipguide.com/free/index.htm
Index
http://www.tcpipguide.com/free/t_toc.htm
Category : Easy read guide about tcp/ip & lots of related things
Level : Easy read

------------------------------------------------------------------------------------

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Category: Generic "Standard C" Reference
Level: All
http://www.acm.uiuc.edu/webmonkeys/book/c_guide/introduction.html
http://www.acm.uiuc.edu/webmonkeys/book/c_guide/index.html

Quote:

This guide provides a useful look at the standard C programming language. ...It is merely a handy reference to the standard C library.
...
This guide is divided into two sections. The first part, "Language", is an analysis of the syntax and the environment. The second part, "Library", is a list of the functions available in the standard C library. ...

You can put lipstick on a pig, but it is still a pig.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Category: Generic Standard C
Level: All except learning C

The actual ANSI C Reference can be purchased at:
http://webstore.ansi.org/ansidocstore/product.asp?sku=INCITS%2FISO%2FIEC+9899%2D1999

If the link stops working it is document number INCITS/ISO/IEC 9899-1999. It costs $18, but is well worth it.

You would have trouble learning C from this document, but it is an extreamly good reference for writing/understanding other C programs I have found. Not for someone who needs something to learn the C language from, but great for someone who has another C book to go with this document (even if they are learning the C language).

I have attached the index of the file for reference.

Attachment(s): 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Absolute Beginner's Guide to C (2nd Edition)
by Greg Perry
Category: ANSI C
Level: absolute beginners!
ISBN: 0672305100

Embedded C Programming and the Atmel AVR
by Richard H. Barnett, Sarah A. Cox, Larry D. O'Cull
Category: AVR Embedded C; CodevisionAVR compiler specific
Level: beginner/intermediate

C Programming Language (2nd Edition)
by Brian W. Kernighan, Dennis Ritchie, Dennis M. Ritchie
Category: ANSI C
Level: int/advanced
Comment: Written by the developers of C, this new version helps readers keep up with the finalized ANSI standard for C while showing how to take advantage of C's rich set of operators, economy of expression, improved control flow, and data structures. This 2nd edition has been completely rewritten with additional examples and problem sets to clarify the implementation of difficult language constructs.

You can find them here

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think avrbeginners.net should be mentioned here. Though I don't like it, I'll now "officially" advertise our website for the very first time. Many people ran across it and everybody understood what they had read. I think it's become a really good starting point for beginners.

Christoph

I tend to post off-topic replies when I've noticed some interesting detail.
Feel free to stop me.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

One I just stumbled on and wish I had known about it before is the AVR Webring:

http://r.webring.com/hub?ring=avr

Some very cool stuff there.

Not C books but of general interest:

And another board that was mentioned here recently - the EDA Board:

http://www.edaboard.com/

Also check out the Circuit Cellar AVR Contest winners:

http://www.circuitcellar.com/avr2004/

Please note - this post may not present all information available on a subject.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The Intel Hexadecimal Object File Format Specification:

http://www.xess.com/faq/intelhex.pdf

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You can now get a great AVR microcontroller development board and C compiler for an unprecedented low cost. ATMEL’s Butterfly Evaluation Board is $19.99 at Digi-Key.com and the WinAVR C compiler is free. This combination replaces hardware and software that until recently would costs hundreds of dollars just for an entry level system. Now you can join the AVR club for pocket change.

To help you get started, download the free ‘Quick Start Guide for Using WinAVR Compiler and ATMEL’s AVR Butterfly’, a 30-page tutorial in .pdf format, from http://www.smileymicros.com.

This tutorial is an extract of the first two chapters of the book: ' C Programming for Microcontrollers Featuring ATMEL's Butterfly and the WinAVR Compiler' also available on the SmileyMicros website.

FREE TUTORIAL: 'Quick Start Guide for Using the WinAVR C Compiler with ATMEL's AVR Butterfly' AVAILABLE AT: http://www.smileymicros.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'd recommend http://www.cs.virginia.edu/~lcc-win32/
Even if you have no intention of using the compiler, it's C-Tutorial is among the best I have ever read. It's an ANSI C implementation so learning to program in this is essentially learning to program using anything else. The tutorial is concise, easy to read and not too wordy. The PDF file is organized very well including plenty of code examples. Best of all, the compiler, the tutorial and even a healthy dose of extra goodies (Explanations on how to use a lot of Windows API's) are all available completley free of cost unless you're writing something for comercial use (in which case there are licensing feeds) I would recommend it to anyone with an interest in C programming, if for nothing other than a very good refrence.

-Curiosity may have killed the cat
-But that's why they have nine lives

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

The below "Programming 101" post seems to be referred to posters several times a week (at least recently). I thought it might be helpful to include the link in this thread:

http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=40348&highlight=programming+101#40348

Regards,
Steve

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

NASA C Programming Style Guide
http://sel.gsfc.nasa.gov/website/documents/online-doc/94-003.pdf

UIUC C Library Reference Guide
http://www.acm.uiuc.edu/webmonkeys/book/c_guide/index.html

C Tutorial
http://www.its.strath.ac.uk/courses/c/

I have a bunch more posted on my Lab's resource page including opamps, digital circuits, and controls tutorials.
http://mechatronics.me.wisc.edu/ -> Lab Resources

I had previously posted under the electronics section without seeing this thread - which is more appropriate.

Erick

Pages