This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

C reference manual

Hi Everyone

I am new in the arm enviroment and i want to learn about these, so i bought a cheap chinese board with a st32 arm cortex m3 inside.

I installed the keil uVision software and all was ok. the only problem is that i cant find a C reference manual to start programming in C. where can i find a c manual?? in the help i just see an assambler reference guide.

  • Javier;

    Many of the cheap demo boards do not include the eval version of the Keil compiler. Do you have the compiler in your Keil demo toolset?

    The online manuals for the Keil ARM tools are located at this URL on the Keil website.

    Bradford

    http://www.keil.com/support/man_arm.htm

  • Thank you for your response Al

    I have downloaded the MDK-ARM lite from here http://www.keil.com/arm/mdk.asp

    I reviewed the examples, but my question it's where can i see the register and functions in C??

    For example: the blinky example has this code:

    #include <LPC21xx.H>                       /* LPC21xx definitions */
    
    void wait (void)  {                        /* wait function */
      int  d;
    
      for (d = 0; d < 1000000; d++);           /* only to delay for LED flashes */
    }
    
    int main (void) {
      unsigned int i;                          /* LED var */
    
      IODIR1 = 0x00FF0000;                     /* P1.16..23 defined as Outputs */
    
      while (1)  {                             /* Loop forever */
        for (i = 1<<16; i < 1<<23; i <<= 1) {  /* Blink LED 0,1,2,3,4,5,6 */
          IOSET1 = i;                          /* Turn on LED */
          wait ();                             /* call wait function */
          IOCLR1 = i;                          /* Turn off LED */
        }
        for (i = 1<<23; i > 1<<16; i >>=1 ) {  /* Blink LED 7,6,5,4,3,2,1 */
          IOSET1 = i;                          /* Turn on LED */
          wait ();                             /* call wait function */
          IOCLR1 = i;                          /* Turn off LED */
        }
      }
    }
    

    My doubt is : Where is the manual where these functions are documented? how can i know that iodir1 is the input/output register and stuff like that?

  • Your code don't contain any functions that you can expect documentation for in any manual.

    But the processor manufacturer will have the required documentation about the processor - which register controls different I/O pins etc. Depending on manufacturer, it's normally called user manual or datasheet. Also look for application notes and code bundles. This site also have a bit of documentation available.

  • Not sure what you're seeking here:

    Do you want to learn the 'C' programming language?
    If so, any standard textbook will do for that:
    blog.antronics.co.uk/.../

    Do you want to know the specific implementation details of Keil's tools?
    If so, the Keil Manuals are what you need:
    http://www.keil.com/support/man_arm.htm

    Do you want to know specific details of the STM32 chip?
    If so, the Manufacturer's Documentation is what you need:
    http://www.st.com/stm32

  • Wait a minute!

    I am new in the arm enviroment and i want to learn about these, so i bought a cheap chinese board with a st32 arm cortex m3 inside.

    #include <LPC21xx.H>                       /* LPC21xx definitions */
    
    void wait (void)  {                        /* wait function */
      int  d;
    
      for (d = 0; d < 1000000; d++);           /* only to delay for LED flashes */
    }