STM32 ARM header files for use with Eclipse and GCC
Here is a very simple program for flashing an LED on the STM32VLDISCOVERY board, which uses the STM32F100RB:

/* Test.c
** Simple program for STM32F100RB to flash LED on PC_9
**
*/

#include &lt;stm32f10x.h&gt;

void delay(void);

void main(void)
{
  // I/O port C clock enable
  RCC-&gt;APB2ENR = RCC_APB2ENR_IOPCEN;
  // Set PC_9 to output 
  GPIOC-&gt;CRH &amp;= ~(GPIO_CRH_MODE9 | GPIO_CRH_CNF9);
  GPIOC-&gt;CRH |= GPIO_CRH_MODE9;

  while(1)
  {
    GPIOC-&gt;BSRR = (1&lt;&lt;9);
    delay();
    GPIOC-&gt;BRR = (1&lt;&lt;9);
    delay();
  }
}

void delay(void)
{
  volatile unsigned int i;

  for (i = 0; i &lt; 20000; i++)
    ;
}