From a1e543399593523ac2c9e09df258d5603b6da671 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 28 Nov 2009 15:45:16 +0000 Subject: [PATCH] git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1336 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- demos/ARMCM3-STM32F103-FATFS-GCC/Makefile | 22 ++---- demos/ARMCM3-STM32F103-FATFS-GCC/board.c | 85 ++-------------------- demos/ARMCM3-STM32F103-FATFS-GCC/main.c | 17 ++--- ext/ff007e-patched.zip | Bin 634232 -> 634222 bytes 4 files changed, 20 insertions(+), 104 deletions(-) diff --git a/demos/ARMCM3-STM32F103-FATFS-GCC/Makefile b/demos/ARMCM3-STM32F103-FATFS-GCC/Makefile index 58a37266f..042a82793 100644 --- a/demos/ARMCM3-STM32F103-FATFS-GCC/Makefile +++ b/demos/ARMCM3-STM32F103-FATFS-GCC/Makefile @@ -57,6 +57,8 @@ LDSCRIPT= ch.ld # Imported source files CHIBIOS = ../.. +include ${CHIBIOS}/os/hal/hal.mk +include ${CHIBIOS}/os/hal/platforms/STM32/platform.mk include ${CHIBIOS}/os/ports/GCC/ARMCM3/port.mk include ${CHIBIOS}/os/kernel/kernel.mk include ${CHIBIOS}/test/test.mk @@ -67,15 +69,9 @@ include ${CHIBIOS}/ext/fatfs/fatfs.mk CSRC = ${PORTSRC} \ ${KERNSRC} \ ${TESTSRC} \ + ${HALSRC} \ + ${PLATFORMSRC} \ ${FATFSSRC} \ - ${CHIBIOS}/os/io/pal.c \ - ${CHIBIOS}/os/io/serial.c \ - ${CHIBIOS}/os/io/spi.c \ - ${CHIBIOS}/os/io/mmc_spi.c \ - ${CHIBIOS}/os/io/platforms/STM32/pal_lld.c \ - ${CHIBIOS}/os/io/platforms/STM32/serial_lld.c \ - ${CHIBIOS}/os/io/platforms/STM32/spi_lld.c \ - ${CHIBIOS}/os/io/platforms/STM32/stm32_dma.c \ ${CHIBIOS}/os/various/evtimer.c \ ${CHIBIOS}/os/various/syscalls.c \ board.c main.c @@ -108,11 +104,9 @@ TCPPSRC = ASMSRC = $(PORTASM) \ ${CHIBIOS}/os/ports/GCC/ARMCM3/STM32F103/vectors.s -INCDIR = $(PORTINC) $(KERNINC) $(TESTINC) \ - ${CHIBIOS}/os/io \ - ${CHIBIOS}/os/io/platforms/STM32 \ - ${CHIBIOS}/os/various \ - $(FATFSINC) +INCDIR = $(PORTINC) $(KERNINC) $(TESTINC) $(HALINC) $(PLATFORMINC) \ + $(FATFSINC) \ + ${CHIBIOS}/os/various # # Project, sources and paths @@ -159,7 +153,7 @@ CPPWARN = -Wall -Wextra # # List all default C defines here, like -D_DEBUG=1 -DDEFS = -DSTDOUT_SD=SD2 -DSTDIN_SD=SD2 +DDEFS = # List all default ASM defines here, like -D_DEBUG=1 DADEFS = diff --git a/demos/ARMCM3-STM32F103-FATFS-GCC/board.c b/demos/ARMCM3-STM32F103-FATFS-GCC/board.c index bc384a544..58be4d77f 100644 --- a/demos/ARMCM3-STM32F103-FATFS-GCC/board.c +++ b/demos/ARMCM3-STM32F103-FATFS-GCC/board.c @@ -17,35 +17,8 @@ along with this program. If not, see . */ -#include -#include -#include -#include -#include -#include -#include - -#include "board.h" - -#define AIRCR_VECTKEY 0x05FA0000 - -/* - * Digital I/O ports static configuration as defined in @p board.h. - */ -static const STM32GPIOConfig pal_config = -{ - {VAL_GPIOAODR, VAL_GPIOACRL, VAL_GPIOACRH}, - {VAL_GPIOBODR, VAL_GPIOBCRL, VAL_GPIOBCRH}, - {VAL_GPIOCODR, VAL_GPIOCCRL, VAL_GPIOCCRH}, - {VAL_GPIODODR, VAL_GPIODCRL, VAL_GPIODCRH}, -#if !defined(STM32F10X_LD) - {VAL_GPIOEODR, VAL_GPIOECRL, VAL_GPIOECRH}, -#endif -#if defined(STM32F10X_HD) - {VAL_GPIOFODR, VAL_GPIOFCRL, VAL_GPIOFCRH}, - {VAL_GPIOGODR, VAL_GPIOGCRL, VAL_GPIOGCRH}, -#endif -}; +#include "ch.h" +#include "hal.h" /* * Early initialization code. @@ -54,39 +27,7 @@ static const STM32GPIOConfig pal_config = */ void hwinit0(void) { - /* - * Clocks and PLL initialization. - */ - // HSI setup. - RCC->CR = RCC_CR_HSITRIM_RESET_BITS | RCC_CR_HSION; - while (!(RCC->CR & RCC_CR_HSIRDY)) - ; // Waits until HSI stable, it should already be. - // HSE setup. - RCC->CR |= RCC_CR_HSEON; - while (!(RCC->CR & RCC_CR_HSERDY)) - ; // Waits until HSE stable. - // PLL setup. - RCC->CFGR = RCC_CFGR_PLLSRC_HSE_BITS | PLLPREBITS | PLLMULBITS; - RCC->CR |= RCC_CR_PLLON; - while (!(RCC->CR & RCC_CR_PLLRDY)) - ; // Waits until PLL stable. - // Clock sources. - RCC->CFGR |= RCC_CFGR_HPRE_DIV1 | RCC_CFGR_PPRE1_DIV2 | - RCC_CFGR_PPRE2_DIV2 | RCC_CFGR_ADCPRE_DIV8 | - RCC_CFGR_MCO_NOCLOCK | USBPREBITS; - - /* - * Flash setup and final clock selection. - */ - FLASH->ACR = FLASHBITS; // Flash wait states depending on clock. - RCC->CFGR |= RCC_CFGR_SW_PLL; // Switches on the PLL clock. - while ((RCC->CFGR & RCC_CFGR_SW) != RCC_CFGR_SW_PLL) - ; - - /* - * I/O ports initialization as specified in board.h. - */ - palInit(&pal_config); + stm32_clock_init(); } /* @@ -98,27 +39,13 @@ void hwinit1(void) { /* * NVIC/SCB initialization. - * Note: PRIGROUP 4:0 (4:4). */ - SCB->AIRCR = AIRCR_VECTKEY | SCB_AIRCR_PRIGROUP_0 | SCB_AIRCR_PRIGROUP_1; - NVICSetSystemHandlerPriority(HANDLER_SVCALL, PRIORITY_SVCALL); - NVICSetSystemHandlerPriority(HANDLER_SYSTICK, PRIORITY_SYSTICK); - NVICSetSystemHandlerPriority(HANDLER_PENDSV, PRIORITY_PENDSV); + stm32_nvic_init(); /* - * SysTick initialization. + * HAL initialization. */ - SysTick->LOAD = SYSCLK / (8000000 / CH_FREQUENCY) - 1; - SysTick->VAL = 0; - SysTick->CTRL = SysTick_CTRL_ENABLE | SysTick_CTRL_TICKINT; - - /* - * Other subsystems initialization. - */ - dmaInit(); - sdInit(); - spiInit(); - mmcInit(); + halInit(); /* * ChibiOS/RT initialization. diff --git a/demos/ARMCM3-STM32F103-FATFS-GCC/main.c b/demos/ARMCM3-STM32F103-FATFS-GCC/main.c index d46678a3b..b2ff15bdd 100644 --- a/demos/ARMCM3-STM32F103-FATFS-GCC/main.c +++ b/demos/ARMCM3-STM32F103-FATFS-GCC/main.c @@ -17,20 +17,15 @@ along with this program. If not, see . */ -#include -#include -#include -#include -#include -#include -#include - -#include - #include #include -#include "board.h" +#include "ch.h" +#include "hal.h" +#include "test.h" +#include "evtimer.h" + +#include "ff.h" /** * @brief FS object. diff --git a/ext/ff007e-patched.zip b/ext/ff007e-patched.zip index 0e10e030825af53638c56955d91edd2fe0af5858..e6aab7a8be0fa25a47cc0a6717ec455f5103f45e 100644 GIT binary patch delta 1284 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