#define LED_PIN (1 << 12)
+static void led_init(void)
+{
+ /* Enable clocking on GPIOA and GPIOC */
+ RCC->APB2ENR |= RCC_APB2_GPIOC;
+ /* Configure the LED pin as GPIO */
+ stm32_gpioPinConfig((struct stm32_gpio *)GPIOC_BASE,
+ LED_PIN, GPIO_MODE_OUT_PP, GPIO_SPEED_50MHZ);
+}
+
int main(void)
{
+ int i;
+
IRQ_ENABLE;
+ kdbg_init();
timer_init();
+ proc_init();
+ led_init();
- /* Enable clocking on RCC APB2 */
- RCC->AHBENR |= 1;
- /* Enable clocking on GPIOA and GPIOC */
- RCC->APB2ENR |= RCC_APB2_GPIOA | RCC_APB2_GPIOC;
-
- stm32_gpioPinConfig((struct stm32_gpio *)GPIOC_BASE,
- LED_PIN, GPIO_MODE_OUT_PP, GPIO_SPEED_50MHZ);
- while(1)
+ for (i = 0; ; i = !i)
{
- ticks_t clock = timer_clock_unlocked();
-
- if (clock & 0x10)
- stm32_gpioPinWrite((struct stm32_gpio *)GPIOC_BASE, LED_PIN, 1);
- else
- stm32_gpioPinWrite((struct stm32_gpio *)GPIOC_BASE, LED_PIN, 0);
+ stm32_gpioPinWrite((struct stm32_gpio *)GPIOC_BASE, LED_PIN, i);
+ kputs("hello world\n");
+ timer_delay(500);
}
}
# Author: Andrea Righi <arighi@develer.com>
# Set to 1 for debug builds
-stm32p103_DEBUG = 0
+stm32p103_DEBUG = 1
include bertos/fonts/fonts.mk
TRG += stm32p103
stm32p103_CSRC = \
+ bertos/mware/formatwr.c \
+ bertos/mware/hex.c \
+ bertos/mware/sprintf.c \
+ bertos/mware/event.c \
+ bertos/struct/heap.c \
+ bertos/kern/signal.c \
+ bertos/kern/monitor.c \
bertos/kern/proc.c \
bertos/drv/timer.c \
+ bertos/cpu/cortex-m3/drv/kdebug_stm32.c \
bertos/cpu/cortex-m3/drv/gpio_stm32.c \
bertos/cpu/cortex-m3/drv/clock_stm32.c \
bertos/cpu/cortex-m3/drv/timer_cm3.c \