mirror of
https://github.com/apache/nuttx.git
synced 2026-06-02 09:38:37 +08:00
STM32 F100 High Density support and generic board configuration from Freddie Chopin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5315 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
@@ -184,6 +184,8 @@
|
|||||||
| | | `- <a href="http://svn.code.sf.net/p/nuttx/code/trunk/nuttx/configs/stm3220g-eval/README.txt"><b><i>README.txt</i></b></a>
|
| | | `- <a href="http://svn.code.sf.net/p/nuttx/code/trunk/nuttx/configs/stm3220g-eval/README.txt"><b><i>README.txt</i></b></a>
|
||||||
| | |- stm3240g-eval/
|
| | |- stm3240g-eval/
|
||||||
| | | `- <a href="http://svn.code.sf.net/p/nuttx/code/trunk/nuttx/configs/stm3240g-eval/README.txt"><b><i>README.txt</i></b></a>
|
| | | `- <a href="http://svn.code.sf.net/p/nuttx/code/trunk/nuttx/configs/stm3240g-eval/README.txt"><b><i>README.txt</i></b></a>
|
||||||
|
| | |- stm32f100rc_generic/
|
||||||
|
| | | `- <a href="http://svn.code.sf.net/p/nuttx/code/trunk/nuttx/configs/stm32f100rc_generic/README.txt"><b><i>README.txt</i></b></a>
|
||||||
| | |- stm32f4discovery/
|
| | |- stm32f4discovery/
|
||||||
| | | `- <a href="http://svn.code.sf.net/p/nuttx/code/trunk/nuttx/configs/stm32f4discovery/README.txt"><b><i>README.txt</i></b></a>
|
| | | `- <a href="http://svn.code.sf.net/p/nuttx/code/trunk/nuttx/configs/stm32f4discovery/README.txt"><b><i>README.txt</i></b></a>
|
||||||
| | |- sure-pic32mx/
|
| | |- sure-pic32mx/
|
||||||
|
|||||||
@@ -781,6 +781,8 @@ nuttx
|
|||||||
| | `- README.txt
|
| | `- README.txt
|
||||||
| |- stm3240g-eval/
|
| |- stm3240g-eval/
|
||||||
| | `- README.txt
|
| | `- README.txt
|
||||||
|
| |- stm32f100rc_generic/
|
||||||
|
| | `- README.txt
|
||||||
| |- stm32f4discovery/
|
| |- stm32f4discovery/
|
||||||
| | `- README.txt
|
| | `- README.txt
|
||||||
| |- sure-pic32mx/
|
| |- sure-pic32mx/
|
||||||
|
|||||||
+147
-53
@@ -59,12 +59,11 @@
|
|||||||
/* STM32 F100 Value Line ************************************************************/
|
/* STM32 F100 Value Line ************************************************************/
|
||||||
|
|
||||||
#if defined(CONFIG_ARCH_CHIP_STM32F100C8) || defined(CONFIG_ARCH_CHIP_STM32F100CB) \
|
#if defined(CONFIG_ARCH_CHIP_STM32F100C8) || defined(CONFIG_ARCH_CHIP_STM32F100CB) \
|
||||||
|| defined(CONFIG_ARCH_CHIP_STM32F100R8) || defined(CONFIG_ARCH_CHIP_STM32F100RB) \
|
|| defined(CONFIG_ARCH_CHIP_STM32F100R8) || defined(CONFIG_ARCH_CHIP_STM32F100RB)
|
||||||
|| defined(CONFIG_ARCH_CHIP_STM32F100V8) || defined(CONFIG_ARCH_CHIP_STM32F100VB)
|
|
||||||
# define CONFIG_STM32_STM32F10XX 1 /* STM32F10xxx family */
|
# define CONFIG_STM32_STM32F10XX 1 /* STM32F10xxx family */
|
||||||
# undef CONFIG_STM32_LOWDENSITY /* STM32F100x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
# undef CONFIG_STM32_LOWDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
||||||
# define CONFIG_STM32_MEDIUMDENSITY 1 /* STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
# define CONFIG_STM32_MEDIUMDENSITY 1 /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
||||||
# undef CONFIG_STM32_HIGHDENSITY /* STM32F101x and STM32F103x w/ 256/512 Kbytes */
|
# undef CONFIG_STM32_HIGHDENSITY /* STM32F100x, STM32F101x, and STM32F103x w/ 256/512 Kbytes */
|
||||||
# define CONFIG_STM32_VALUELINE 1 /* STM32F100x */
|
# define CONFIG_STM32_VALUELINE 1 /* STM32F100x */
|
||||||
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
||||||
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
||||||
@@ -72,15 +71,110 @@
|
|||||||
# define STM32_NFSMC 0 /* FSMC */
|
# define STM32_NFSMC 0 /* FSMC */
|
||||||
# define STM32_NATIM 1 /* One advanced timer TIM1 */
|
# define STM32_NATIM 1 /* One advanced timer TIM1 */
|
||||||
# define STM32_NGTIM 3 /* 16-bit general timers TIM2,3,4 with DMA */
|
# define STM32_NGTIM 3 /* 16-bit general timers TIM2,3,4 with DMA */
|
||||||
# define STM32_NBTIM 0 /* No basic timers */
|
# define STM32_NBTIM 2 /* 2 basic timers: TIM6, TIM7 */
|
||||||
# define STM32_NDMA 2 /* DMA1-2 */
|
// TODO: there are also 3 additional timers (15-17) that don't fit any existing category
|
||||||
|
# define STM32_NDMA 1 /* DMA1 */
|
||||||
# define STM32_NSPI 2 /* SPI1-2 */
|
# define STM32_NSPI 2 /* SPI1-2 */
|
||||||
# define STM32_NI2S 0 /* No I2S (?) */
|
# define STM32_NI2S 0 /* No I2S */
|
||||||
# define STM32_NUSART 3 /* USART1-3 */
|
# define STM32_NUSART 3 /* USART1-3 */
|
||||||
# define STM32_NI2C 2 /* I2C1-2 */
|
# define STM32_NI2C 2 /* I2C1-2 */
|
||||||
# define STM32_NCAN 0 /* No CAN */
|
# define STM32_NCAN 0 /* No CAN */
|
||||||
# define STM32_NSDIO 0 /* No SDIO */
|
# define STM32_NSDIO 0 /* No SDIO */
|
||||||
# define STM32_NUSBOTG 0 /* No USB OTG FS/HS */
|
# define STM32_NUSBOTG 0 /* No USB OTG FS/HS */
|
||||||
|
# define STM32_NGPIO 64 /* GPIOA-D */
|
||||||
|
# define STM32_NADC 1 /* ADC1 */
|
||||||
|
# define STM32_NDAC 2 /* DAC 1-2 */
|
||||||
|
# define STM32_NCRC 1 /* CRC1 */
|
||||||
|
# define STM32_NETHERNET 0 /* No ethernet */
|
||||||
|
# define STM32_NRNG 0 /* No random number generator (RNG) */
|
||||||
|
# define STM32_NDCMI 0 /* No digital camera interface (DCMI) */
|
||||||
|
|
||||||
|
#elif defined(CONFIG_ARCH_CHIP_STM32F100V8) || defined(CONFIG_ARCH_CHIP_STM32F100VB)
|
||||||
|
# define CONFIG_STM32_STM32F10XX 1 /* STM32F10xxx family */
|
||||||
|
# undef CONFIG_STM32_LOWDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
||||||
|
# define CONFIG_STM32_MEDIUMDENSITY 1 /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
||||||
|
# undef CONFIG_STM32_HIGHDENSITY /* STM32F100x, STM32F101x, and STM32F103x w/ 256/512 Kbytes */
|
||||||
|
# define CONFIG_STM32_VALUELINE 1 /* STM32F100x */
|
||||||
|
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
||||||
|
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
||||||
|
# undef CONFIG_STM32_STM32F40XX /* STM32F405xx and STM32407xx families */
|
||||||
|
# define STM32_NFSMC 0 /* FSMC */
|
||||||
|
# define STM32_NATIM 1 /* One advanced timer TIM1 */
|
||||||
|
# define STM32_NGTIM 3 /* 16-bit general timers TIM2,3,4 with DMA */
|
||||||
|
# define STM32_NBTIM 2 /* 2 basic timers: TIM6, TIM7 */
|
||||||
|
// TODO: there are also 3 additional timers (15-17) that don't fit any existing category
|
||||||
|
# define STM32_NDMA 1 /* DMA1 */
|
||||||
|
# define STM32_NSPI 2 /* SPI1-2 */
|
||||||
|
# define STM32_NI2S 0 /* No I2S */
|
||||||
|
# define STM32_NUSART 3 /* USART1-3 */
|
||||||
|
# define STM32_NI2C 2 /* I2C1-2 */
|
||||||
|
# define STM32_NCAN 0 /* No CAN */
|
||||||
|
# define STM32_NSDIO 0 /* No SDIO */
|
||||||
|
# define STM32_NUSBOTG 0 /* No USB OTG FS/HS */
|
||||||
|
# define STM32_NGPIO 80 /* GPIOA-E */
|
||||||
|
# define STM32_NADC 1 /* ADC1 */
|
||||||
|
# define STM32_NDAC 2 /* DAC 1-2 */
|
||||||
|
# define STM32_NCRC 1 /* CRC1 */
|
||||||
|
# define STM32_NETHERNET 0 /* No ethernet */
|
||||||
|
# define STM32_NRNG 0 /* No random number generator (RNG) */
|
||||||
|
# define STM32_NDCMI 0 /* No digital camera interface (DCMI) */
|
||||||
|
|
||||||
|
/* STM32 F100 High-density value Line ************************************************************/
|
||||||
|
|
||||||
|
#elif defined(CONFIG_ARCH_CHIP_STM32F100RC) || defined(CONFIG_ARCH_CHIP_STM32F100RD) \
|
||||||
|
|| defined(CONFIG_ARCH_CHIP_STM32F100RE)
|
||||||
|
# define CONFIG_STM32_STM32F10XX 1 /* STM32F10xxx family */
|
||||||
|
# undef CONFIG_STM32_LOWDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
||||||
|
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
||||||
|
# define CONFIG_STM32_HIGHDENSITY 1 /* STM32F100x, STM32F101x, and STM32F103x w/ 256/512 Kbytes */
|
||||||
|
# define CONFIG_STM32_VALUELINE 1 /* STM32F100x */
|
||||||
|
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
||||||
|
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
||||||
|
# undef CONFIG_STM32_STM32F40XX /* STM32F405xx and STM32407xx families */
|
||||||
|
# define STM32_NFSMC 0 /* FSMC */
|
||||||
|
# define STM32_NATIM 1 /* One advanced timer TIM1 */
|
||||||
|
# define STM32_NGTIM 4 /* 16-bit general timers TIM2,3,4,5 with DMA */
|
||||||
|
# define STM32_NBTIM 2 /* 2 basic timers: TIM6, TIM7 */
|
||||||
|
// TODO: there are also 6 additional timers (12-17) that don't fit any existing category
|
||||||
|
# define STM32_NDMA 2 /* DMA1-2 */
|
||||||
|
# define STM32_NSPI 3 /* SPI1-3 */
|
||||||
|
# define STM32_NI2S 0 /* No I2S */
|
||||||
|
# define STM32_NUSART 5 /* USART1-5 */
|
||||||
|
# define STM32_NI2C 2 /* I2C1-2 */
|
||||||
|
# define STM32_NCAN 0 /* No CAN */
|
||||||
|
# define STM32_NSDIO 0 /* No SDIO */
|
||||||
|
# define STM32_NUSBOTG 0 /* No USB OTG FS/HS */
|
||||||
|
# define STM32_NGPIO 64 /* GPIOA-D */
|
||||||
|
# define STM32_NADC 1 /* ADC1 */
|
||||||
|
# define STM32_NDAC 2 /* DAC 1-2 */
|
||||||
|
# define STM32_NCRC 1 /* CRC1 */
|
||||||
|
# define STM32_NETHERNET 0 /* No ethernet */
|
||||||
|
# define STM32_NRNG 0 /* No random number generator (RNG) */
|
||||||
|
# define STM32_NDCMI 0 /* No digital camera interface (DCMI) */
|
||||||
|
|
||||||
|
#elif defined(CONFIG_ARCH_CHIP_STM32F100VC) || defined(CONFIG_ARCH_CHIP_STM32F100VD) \
|
||||||
|
|| defined(CONFIG_ARCH_CHIP_STM32F100VE)
|
||||||
|
# define CONFIG_STM32_STM32F10XX 1 /* STM32F10xxx family */
|
||||||
|
# undef CONFIG_STM32_LOWDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
||||||
|
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
||||||
|
# define CONFIG_STM32_HIGHDENSITY 1 /* STM32F100x, STM32F101x, and STM32F103x w/ 256/512 Kbytes */
|
||||||
|
# define CONFIG_STM32_VALUELINE 1 /* STM32F100x */
|
||||||
|
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
||||||
|
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
||||||
|
# undef CONFIG_STM32_STM32F40XX /* STM32F405xx and STM32407xx families */
|
||||||
|
# define STM32_NFSMC 1 /* FSMC */
|
||||||
|
# define STM32_NATIM 1 /* One advanced timer TIM1 */
|
||||||
|
# define STM32_NGTIM 4 /* 16-bit general timers TIM2,3,4,5 with DMA */
|
||||||
|
# define STM32_NBTIM 2 /* 2 basic timers: TIM6, TIM7 */
|
||||||
|
// TODO: there are also 6 additional timers (12-17) that don't fit any existing category
|
||||||
|
# define STM32_NDMA 2 /* DMA1-2 */
|
||||||
|
# define STM32_NSPI 3 /* SPI1-3 */
|
||||||
|
# define STM32_NI2S 0 /* No I2S */
|
||||||
|
# define STM32_NUSART 5 /* USART1-5 */
|
||||||
|
# define STM32_NI2C 2 /* I2C1-2 */
|
||||||
|
# define STM32_NCAN 0 /* No CAN */
|
||||||
|
# define STM32_NSDIO 0 /* No SDIO */
|
||||||
|
# define STM32_NUSBOTG 0 /* No USB OTG FS/HS */
|
||||||
# define STM32_NGPIO 80 /* GPIOA-E */
|
# define STM32_NGPIO 80 /* GPIOA-E */
|
||||||
# define STM32_NADC 1 /* ADC1 */
|
# define STM32_NADC 1 /* ADC1 */
|
||||||
# define STM32_NDAC 2 /* DAC 1-2 */
|
# define STM32_NDAC 2 /* DAC 1-2 */
|
||||||
@@ -96,9 +190,9 @@
|
|||||||
|
|
||||||
#elif defined(CONFIG_ARCH_CHIP_STM32F103RET6)
|
#elif defined(CONFIG_ARCH_CHIP_STM32F103RET6)
|
||||||
# define CONFIG_STM32_STM32F10XX 1 /* STM32F10xxx family */
|
# define CONFIG_STM32_STM32F10XX 1 /* STM32F10xxx family */
|
||||||
# undef CONFIG_STM32_LOWDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
# undef CONFIG_STM32_LOWDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
||||||
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
||||||
# define CONFIG_STM32_HIGHDENSITY 1 /* STM32F101x and STM32F103x w/ 256/512 Kbytes */
|
# define CONFIG_STM32_HIGHDENSITY 1 /* STM32F100x, STM32F101x, and STM32F103x w/ 256/512 Kbytes */
|
||||||
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
||||||
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
||||||
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
||||||
@@ -129,9 +223,9 @@
|
|||||||
|
|
||||||
#elif defined(CONFIG_ARCH_CHIP_STM32F103VCT6) || defined(CONFIG_ARCH_CHIP_STM32F103VET6)
|
#elif defined(CONFIG_ARCH_CHIP_STM32F103VCT6) || defined(CONFIG_ARCH_CHIP_STM32F103VET6)
|
||||||
# define CONFIG_STM32_STM32F10XX 1 /* STM32F10xxx family */
|
# define CONFIG_STM32_STM32F10XX 1 /* STM32F10xxx family */
|
||||||
# undef CONFIG_STM32_LOWDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
# undef CONFIG_STM32_LOWDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
||||||
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
||||||
# define CONFIG_STM32_HIGHDENSITY 1 /* STM32F101x and STM32F103x w/ 256/512 Kbytes */
|
# define CONFIG_STM32_HIGHDENSITY 1 /* STM32F100x, STM32F101x, and STM32F103x w/ 256/512 Kbytes */
|
||||||
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
||||||
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
||||||
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
||||||
@@ -162,9 +256,9 @@
|
|||||||
|
|
||||||
#elif defined(CONFIG_ARCH_CHIP_STM32F103ZET6)
|
#elif defined(CONFIG_ARCH_CHIP_STM32F103ZET6)
|
||||||
# define CONFIG_STM32_STM32F10XX 1 /* STM32F10xxx family */
|
# define CONFIG_STM32_STM32F10XX 1 /* STM32F10xxx family */
|
||||||
# undef CONFIG_STM32_LOWDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
# undef CONFIG_STM32_LOWDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
||||||
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
||||||
# define CONFIG_STM32_HIGHDENSITY 1 /* STM32F101x and STM32F103x w/ 256/512 Kbytes */
|
# define CONFIG_STM32_HIGHDENSITY 1 /* STM32F100x, STM32F101x, and STM32F103x w/ 256/512 Kbytes */
|
||||||
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
||||||
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
||||||
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
||||||
@@ -192,9 +286,9 @@
|
|||||||
/* STM32 F105/F107 Connectivity Line *******************************************************/
|
/* STM32 F105/F107 Connectivity Line *******************************************************/
|
||||||
#elif defined(CONFIG_ARCH_CHIP_STM32F105VBT7)
|
#elif defined(CONFIG_ARCH_CHIP_STM32F105VBT7)
|
||||||
# define CONFIG_STM32_STM32F10XX 1 /* STM32F10xxx family */
|
# define CONFIG_STM32_STM32F10XX 1 /* STM32F10xxx family */
|
||||||
# undef CONFIG_STM32_LOWDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
# undef CONFIG_STM32_LOWDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
||||||
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
||||||
# undef CONFIG_STM32_HIGHDENSITY /* STM32F101x and STM32F103x w/ 256/512 Kbytes */
|
# undef CONFIG_STM32_HIGHDENSITY /* STM32F100x, STM32F101x, and STM32F103x w/ 256/512 Kbytes */
|
||||||
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
||||||
# define CONFIG_STM32_CONNECTIVITYLINE 1 /* STM32F105x and STM32F107x */
|
# define CONFIG_STM32_CONNECTIVITYLINE 1 /* STM32F105x and STM32F107x */
|
||||||
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
||||||
@@ -221,9 +315,9 @@
|
|||||||
|
|
||||||
#elif defined(CONFIG_ARCH_CHIP_STM32F107VC)
|
#elif defined(CONFIG_ARCH_CHIP_STM32F107VC)
|
||||||
# define CONFIG_STM32_STM32F10XX 1 /* STM32F10xxx family */
|
# define CONFIG_STM32_STM32F10XX 1 /* STM32F10xxx family */
|
||||||
# undef CONFIG_STM32_LOWDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
# undef CONFIG_STM32_LOWDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
||||||
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
||||||
# undef CONFIG_STM32_HIGHDENSITY /* STM32F101x and STM32F103x w/ 256/512 Kbytes */
|
# undef CONFIG_STM32_HIGHDENSITY /* STM32F100x, STM32F101x, and STM32F103x w/ 256/512 Kbytes */
|
||||||
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
||||||
# define CONFIG_STM32_CONNECTIVITYLINE 1 /* STM32F105x and STM32F107x */
|
# define CONFIG_STM32_CONNECTIVITYLINE 1 /* STM32F105x and STM32F107x */
|
||||||
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
||||||
@@ -251,9 +345,9 @@
|
|||||||
/* STM32 F2 Family ******************************************************************/
|
/* STM32 F2 Family ******************************************************************/
|
||||||
#elif defined(CONFIG_ARCH_CHIP_STM32F207IG) /* UFBGA-176 1024Kb FLASH 128Kb SRAM */
|
#elif defined(CONFIG_ARCH_CHIP_STM32F207IG) /* UFBGA-176 1024Kb FLASH 128Kb SRAM */
|
||||||
# undef CONFIG_STM32_STM32F10XX /* STM32F10xxx family */
|
# undef CONFIG_STM32_STM32F10XX /* STM32F10xxx family */
|
||||||
# undef CONFIG_STM32_LOWDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
# undef CONFIG_STM32_LOWDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
||||||
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
||||||
# undef CONFIG_STM32_HIGHDENSITY /* STM32F101x and STM32F103x w/ 256/512 Kbytes */
|
# undef CONFIG_STM32_HIGHDENSITY /* STM32F100x, STM32F101x, and STM32F103x w/ 256/512 Kbytes */
|
||||||
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
||||||
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
||||||
# define CONFIG_STM32_STM32F20XX 1 /* STM32F205x and STM32F207x */
|
# define CONFIG_STM32_STM32F20XX 1 /* STM32F205x and STM32F207x */
|
||||||
@@ -283,9 +377,9 @@
|
|||||||
/* STM23 F4 Family ******************************************************************/
|
/* STM23 F4 Family ******************************************************************/
|
||||||
#elif defined(CONFIG_ARCH_CHIP_STM32F405RG) /* LQFP 64 10x10x1.4 1024Kb FLASH 192Kb SRAM */
|
#elif defined(CONFIG_ARCH_CHIP_STM32F405RG) /* LQFP 64 10x10x1.4 1024Kb FLASH 192Kb SRAM */
|
||||||
# undef CONFIG_STM32_STM32F10XX /* STM32F10xxx family */
|
# undef CONFIG_STM32_STM32F10XX /* STM32F10xxx family */
|
||||||
# undef CONFIG_STM32_LOWDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
# undef CONFIG_STM32_LOWDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
||||||
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
||||||
# undef CONFIG_STM32_HIGHDENSITY /* STM32F101x and STM32F103x w/ 256/512 Kbytes */
|
# undef CONFIG_STM32_HIGHDENSITY /* STM32F100x, STM32F101x, and STM32F103x w/ 256/512 Kbytes */
|
||||||
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
||||||
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
||||||
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
||||||
@@ -314,9 +408,9 @@
|
|||||||
|
|
||||||
#elif defined(CONFIG_ARCH_CHIP_STM32F405VG) /* LQFP 100 14x14x1.4 1024Kb FLASH 192Kb SRAM */
|
#elif defined(CONFIG_ARCH_CHIP_STM32F405VG) /* LQFP 100 14x14x1.4 1024Kb FLASH 192Kb SRAM */
|
||||||
# undef CONFIG_STM32_STM32F10XX /* STM32F10xxx family */
|
# undef CONFIG_STM32_STM32F10XX /* STM32F10xxx family */
|
||||||
# undef CONFIG_STM32_LOWDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
# undef CONFIG_STM32_LOWDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
||||||
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
||||||
# undef CONFIG_STM32_HIGHDENSITY /* STM32F101x and STM32F103x w/ 256/512 Kbytes */
|
# undef CONFIG_STM32_HIGHDENSITY /* STM32F100x, STM32F101x, and STM32F103x w/ 256/512 Kbytes */
|
||||||
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
||||||
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
||||||
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
||||||
@@ -345,9 +439,9 @@
|
|||||||
|
|
||||||
#elif defined(CONFIG_ARCH_CHIP_STM32F405ZG) /* LQFP 144 20x20x1.4 1024Kb FLASH 192Kb SRAM */
|
#elif defined(CONFIG_ARCH_CHIP_STM32F405ZG) /* LQFP 144 20x20x1.4 1024Kb FLASH 192Kb SRAM */
|
||||||
# undef CONFIG_STM32_STM32F10XX /* STM32F10xxx family */
|
# undef CONFIG_STM32_STM32F10XX /* STM32F10xxx family */
|
||||||
# undef CONFIG_STM32_LOWDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
# undef CONFIG_STM32_LOWDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
||||||
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
||||||
# undef CONFIG_STM32_HIGHDENSITY /* STM32F101x and STM32F103x w/ 256/512 Kbytes */
|
# undef CONFIG_STM32_HIGHDENSITY /* STM32F100x, STM32F101x, and STM32F103x w/ 256/512 Kbytes */
|
||||||
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
||||||
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
||||||
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
||||||
@@ -376,9 +470,9 @@
|
|||||||
|
|
||||||
#elif defined(CONFIG_ARCH_CHIP_STM32F407VE) /* LQFP-100 512Kb FLASH 192Kb SRAM */
|
#elif defined(CONFIG_ARCH_CHIP_STM32F407VE) /* LQFP-100 512Kb FLASH 192Kb SRAM */
|
||||||
# undef CONFIG_STM32_STM32F10XX /* STM32F10xxx family */
|
# undef CONFIG_STM32_STM32F10XX /* STM32F10xxx family */
|
||||||
# undef CONFIG_STM32_LOWDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
# undef CONFIG_STM32_LOWDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
||||||
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
||||||
# undef CONFIG_STM32_HIGHDENSITY /* STM32F101x and STM32F103x w/ 256/512 Kbytes */
|
# undef CONFIG_STM32_HIGHDENSITY /* STM32F100x, STM32F101x, and STM32F103x w/ 256/512 Kbytes */
|
||||||
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
||||||
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
||||||
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
||||||
@@ -407,9 +501,9 @@
|
|||||||
|
|
||||||
#elif defined(CONFIG_ARCH_CHIP_STM32F407VG) /* LQFP-100 14x14x1.4 1024Kb FLASH 192Kb SRAM */
|
#elif defined(CONFIG_ARCH_CHIP_STM32F407VG) /* LQFP-100 14x14x1.4 1024Kb FLASH 192Kb SRAM */
|
||||||
# undef CONFIG_STM32_STM32F10XX /* STM32F10xxx family */
|
# undef CONFIG_STM32_STM32F10XX /* STM32F10xxx family */
|
||||||
# undef CONFIG_STM32_LOWDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
# undef CONFIG_STM32_LOWDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
||||||
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
||||||
# undef CONFIG_STM32_HIGHDENSITY /* STM32F101x and STM32F103x w/ 256/512 Kbytes */
|
# undef CONFIG_STM32_HIGHDENSITY /* STM32F100x, STM32F101x, and STM32F103x w/ 256/512 Kbytes */
|
||||||
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
||||||
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
||||||
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
||||||
@@ -438,9 +532,9 @@
|
|||||||
|
|
||||||
#elif defined(CONFIG_ARCH_CHIP_STM32F407ZE) /* LQFP-144 512Kb FLASH 192Kb SRAM */
|
#elif defined(CONFIG_ARCH_CHIP_STM32F407ZE) /* LQFP-144 512Kb FLASH 192Kb SRAM */
|
||||||
# undef CONFIG_STM32_STM32F10XX /* STM32F10xxx family */
|
# undef CONFIG_STM32_STM32F10XX /* STM32F10xxx family */
|
||||||
# undef CONFIG_STM32_LOWDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
# undef CONFIG_STM32_LOWDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
||||||
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
||||||
# undef CONFIG_STM32_HIGHDENSITY /* STM32F101x and STM32F103x w/ 256/512 Kbytes */
|
# undef CONFIG_STM32_HIGHDENSITY /* STM32F100x, STM32F101x, and STM32F103x w/ 256/512 Kbytes */
|
||||||
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
||||||
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
||||||
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
||||||
@@ -469,9 +563,9 @@
|
|||||||
|
|
||||||
#elif defined(CONFIG_ARCH_CHIP_STM32F407ZG) /* LQFP 144 20x20x1.4 1024Kb FLASH 192Kb SRAM */
|
#elif defined(CONFIG_ARCH_CHIP_STM32F407ZG) /* LQFP 144 20x20x1.4 1024Kb FLASH 192Kb SRAM */
|
||||||
# undef CONFIG_STM32_STM32F10XX /* STM32F10xxx family */
|
# undef CONFIG_STM32_STM32F10XX /* STM32F10xxx family */
|
||||||
# undef CONFIG_STM32_LOWDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
# undef CONFIG_STM32_LOWDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
||||||
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
||||||
# undef CONFIG_STM32_HIGHDENSITY /* STM32F101x and STM32F103x w/ 256/512 Kbytes */
|
# undef CONFIG_STM32_HIGHDENSITY /* STM32F100x, STM32F101x, and STM32F103x w/ 256/512 Kbytes */
|
||||||
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
||||||
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
||||||
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
||||||
@@ -500,9 +594,9 @@
|
|||||||
|
|
||||||
#elif defined(CONFIG_ARCH_CHIP_STM32F407IE) /* LQFP 176 24x24x1.4 512Kb FLASH 192Kb SRAM */
|
#elif defined(CONFIG_ARCH_CHIP_STM32F407IE) /* LQFP 176 24x24x1.4 512Kb FLASH 192Kb SRAM */
|
||||||
# undef CONFIG_STM32_STM32F10XX /* STM32F10xxx family */
|
# undef CONFIG_STM32_STM32F10XX /* STM32F10xxx family */
|
||||||
# undef CONFIG_STM32_LOWDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
# undef CONFIG_STM32_LOWDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
||||||
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
||||||
# undef CONFIG_STM32_HIGHDENSITY /* STM32F101x and STM32F103x w/ 256/512 Kbytes */
|
# undef CONFIG_STM32_HIGHDENSITY /* STM32F100x, STM32F101x, and STM32F103x w/ 256/512 Kbytes */
|
||||||
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
||||||
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
||||||
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
||||||
@@ -531,9 +625,9 @@
|
|||||||
|
|
||||||
#elif defined(CONFIG_ARCH_CHIP_STM32F407IG) /* BGA 176; LQFP 176 24x24x1.4 1024Kb FLASH 192Kb SRAM */
|
#elif defined(CONFIG_ARCH_CHIP_STM32F407IG) /* BGA 176; LQFP 176 24x24x1.4 1024Kb FLASH 192Kb SRAM */
|
||||||
# undef CONFIG_STM32_STM32F10XX /* STM32F10xxx family */
|
# undef CONFIG_STM32_STM32F10XX /* STM32F10xxx family */
|
||||||
# undef CONFIG_STM32_LOWDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
# undef CONFIG_STM32_LOWDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
|
||||||
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
# undef CONFIG_STM32_MEDIUMDENSITY /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
|
||||||
# undef CONFIG_STM32_HIGHDENSITY /* STM32F101x and STM32F103x w/ 256/512 Kbytes */
|
# undef CONFIG_STM32_HIGHDENSITY /* STM32F100x, STM32F101x, and STM32F103x w/ 256/512 Kbytes */
|
||||||
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
# undef CONFIG_STM32_VALUELINE /* STM32F100x */
|
||||||
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
# undef CONFIG_STM32_CONNECTIVITYLINE /* STM32F105x and STM32F107x */
|
||||||
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
# undef CONFIG_STM32_STM32F20XX /* STM32F205x and STM32F207x */
|
||||||
|
|||||||
+279
-86
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -222,7 +222,7 @@
|
|||||||
#define GPIO_ETH_MII_TX_EN_2 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN11)
|
#define GPIO_ETH_MII_TX_EN_2 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN11)
|
||||||
#define GPIO_ETH_PPS_OUT_1 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN5)
|
#define GPIO_ETH_PPS_OUT_1 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN5)
|
||||||
#define GPIO_ETH_PPS_OUT_2 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN8)
|
#define GPIO_ETH_PPS_OUT_2 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN8)
|
||||||
#define GPIO_ETH_RMII_CRS_DV (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULLGPIO_PORTA|GPIO_PIN7)
|
#define GPIO_ETH_RMII_CRS_DV (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
|
||||||
#define GPIO_ETH_RMII_REF_CLK (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
|
#define GPIO_ETH_RMII_REF_CLK (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
|
||||||
#define GPIO_ETH_RMII_RXD0 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN4)
|
#define GPIO_ETH_RMII_RXD0 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN4)
|
||||||
#define GPIO_ETH_RMII_RXD1 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN5)
|
#define GPIO_ETH_RMII_RXD1 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN5)
|
||||||
|
|||||||
@@ -222,7 +222,7 @@
|
|||||||
#define GPIO_ETH_MII_TX_EN_2 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN11)
|
#define GPIO_ETH_MII_TX_EN_2 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN11)
|
||||||
#define GPIO_ETH_PPS_OUT_1 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN5)
|
#define GPIO_ETH_PPS_OUT_1 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN5)
|
||||||
#define GPIO_ETH_PPS_OUT_2 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN8)
|
#define GPIO_ETH_PPS_OUT_2 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN8)
|
||||||
#define GPIO_ETH_RMII_CRS_DV (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULLGPIO_PORTA|GPIO_PIN7)
|
#define GPIO_ETH_RMII_CRS_DV (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
|
||||||
#define GPIO_ETH_RMII_REF_CLK (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
|
#define GPIO_ETH_RMII_REF_CLK (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
|
||||||
#define GPIO_ETH_RMII_RXD0 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN4)
|
#define GPIO_ETH_RMII_RXD0 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN4)
|
||||||
#define GPIO_ETH_RMII_RXD1 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN5)
|
#define GPIO_ETH_RMII_RXD1 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN5)
|
||||||
|
|||||||
@@ -228,6 +228,27 @@ static inline void rcc_enableapb1(void)
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_STM32_TIM12
|
||||||
|
/* Timer 12 clock enable */
|
||||||
|
#ifdef CONFIG_STM32_FORCEPOWER
|
||||||
|
regval |= RCC_APB1ENR_TIM12EN;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_STM32_TIM13
|
||||||
|
/* Timer 13 clock enable */
|
||||||
|
#ifdef CONFIG_STM32_FORCEPOWER
|
||||||
|
regval |= RCC_APB1ENR_TIM13EN;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_STM32_TIM14
|
||||||
|
/* Timer 14 clock enable */
|
||||||
|
#ifdef CONFIG_STM32_FORCEPOWER
|
||||||
|
regval |= RCC_APB1ENR_TIM14EN;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_STM32_WWDG
|
#ifdef CONFIG_STM32_WWDG
|
||||||
/* Window Watchdog clock enable */
|
/* Window Watchdog clock enable */
|
||||||
|
|
||||||
@@ -319,6 +340,13 @@ static inline void rcc_enableapb1(void)
|
|||||||
|
|
||||||
regval |= RCC_APB1ENR_DACEN;
|
regval |= RCC_APB1ENR_DACEN;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_STM32_CEC
|
||||||
|
/* CEC clock enable */
|
||||||
|
|
||||||
|
regval |= RCC_APB1ENR_CECEN;
|
||||||
|
#endif
|
||||||
|
|
||||||
putreg32(regval, STM32_RCC_APB1ENR);
|
putreg32(regval, STM32_RCC_APB1ENR);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -408,6 +436,28 @@ static inline void rcc_enableapb2(void)
|
|||||||
|
|
||||||
regval |= RCC_APB2ENR_ADC3EN;
|
regval |= RCC_APB2ENR_ADC3EN;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_STM32_TIM15
|
||||||
|
/* TIM15 Timer clock enable */
|
||||||
|
#ifdef CONFIG_STM32_FORCEPOWER
|
||||||
|
regval |= RCC_APB2ENR_TIM15EN;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_STM32_TIM16
|
||||||
|
/* TIM16 Timer clock enable */
|
||||||
|
#ifdef CONFIG_STM32_FORCEPOWER
|
||||||
|
regval |= RCC_APB2ENR_TIM16EN;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_STM32_TIM17
|
||||||
|
/* TIM17 Timer clock enable */
|
||||||
|
#ifdef CONFIG_STM32_FORCEPOWER
|
||||||
|
regval |= RCC_APB2ENR_TIM17EN;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
putreg32(regval, STM32_RCC_APB2ENR);
|
putreg32(regval, STM32_RCC_APB2ENR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+74
-61
@@ -457,6 +457,15 @@ config ARCH_BOARD_STM3240G_EVAL
|
|||||||
microcontroller (ARM Cortex-M4 with FPU). This port uses a GNU Cortex-M4
|
microcontroller (ARM Cortex-M4 with FPU). This port uses a GNU Cortex-M4
|
||||||
toolchain (such as CodeSourcery).
|
toolchain (such as CodeSourcery).
|
||||||
|
|
||||||
|
config ARCH_BOARD_STM32F100RC_GENERIC
|
||||||
|
bool "STMicro STM32F100RC generic board"
|
||||||
|
depends on ARCH_CHIP_STM32F100RC
|
||||||
|
select ARCH_HAVE_LEDS
|
||||||
|
select ARCH_HAVE_BUTTONS
|
||||||
|
select ARCH_HAVE_IRQBUTTONS
|
||||||
|
---help---
|
||||||
|
STMicro STM32F100RC generic board.
|
||||||
|
|
||||||
config ARCH_BOARD_STM32F4_DISCOVERY
|
config ARCH_BOARD_STM32F4_DISCOVERY
|
||||||
bool "STMicro STM32F4-Discovery board"
|
bool "STMicro STM32F4-Discovery board"
|
||||||
depends on ARCH_CHIP_STM32F407VG
|
depends on ARCH_CHIP_STM32F407VG
|
||||||
@@ -464,7 +473,7 @@ config ARCH_BOARD_STM32F4_DISCOVERY
|
|||||||
select ARCH_HAVE_BUTTONS
|
select ARCH_HAVE_BUTTONS
|
||||||
select ARCH_HAVE_IRQBUTTONS
|
select ARCH_HAVE_IRQBUTTONS
|
||||||
---help---
|
---help---
|
||||||
STMicro STM32F4-Discovery board boased on the STMIcro STM32F407VGT6 MCU.
|
STMicro STM32F4-Discovery board based on the STMicro STM32F407VGT6 MCU.
|
||||||
|
|
||||||
config ARCH_BOARD_SUREPIC32MX
|
config ARCH_BOARD_SUREPIC32MX
|
||||||
bool "Sure PIC32MX boards"
|
bool "Sure PIC32MX boards"
|
||||||
@@ -595,66 +604,67 @@ endchoice
|
|||||||
|
|
||||||
config ARCH_BOARD
|
config ARCH_BOARD
|
||||||
string
|
string
|
||||||
default "amber" if ARCH_BOARD_AMBER
|
default "amber" if ARCH_BOARD_AMBER
|
||||||
default "avr32dev1" if ARCH_BOARD_AVR32DEV1
|
default "avr32dev1" if ARCH_BOARD_AVR32DEV1
|
||||||
default "c5471evm" if ARCH_BOARD_C5471EVM
|
default "c5471evm" if ARCH_BOARD_C5471EVM
|
||||||
default "compal_e88" if ARCH_BOARD_COMPALE88
|
default "compal_e88" if ARCH_BOARD_COMPALE88
|
||||||
default "compal_e99" if ARCH_BOARD_COMPALE99
|
default "compal_e99" if ARCH_BOARD_COMPALE99
|
||||||
default "demo9s12ne64" if ARCH_BOARD_DEMOS92S12NEC64
|
default "demo9s12ne64" if ARCH_BOARD_DEMOS92S12NEC64
|
||||||
default "ea3131" if ARCH_BOARD_EA3131
|
default "ea3131" if ARCH_BOARD_EA3131
|
||||||
default "ea3152" if ARCH_BOARD_EA3152
|
default "ea3152" if ARCH_BOARD_EA3152
|
||||||
default "eagle100" if ARCH_BOARD_EAGLE100
|
default "eagle100" if ARCH_BOARD_EAGLE100
|
||||||
default "ekk-lm3s9b96" if ARCH_BOARD_EKK_LM3S9B96
|
default "ekk-lm3s9b96" if ARCH_BOARD_EKK_LM3S9B96
|
||||||
default "ez80f0910200kitg" if ARCH_BOARD_EZ80F910200KITG
|
default "ez80f0910200kitg" if ARCH_BOARD_EZ80F910200KITG
|
||||||
default "ez80f0910200zco" if ARCH_BOARD_EZ80F910200ZCO
|
default "ez80f0910200zco" if ARCH_BOARD_EZ80F910200ZCO
|
||||||
default "fire-stm32v2" if ARCH_BOARD_FIRE_STM32
|
default "fire-stm32v2" if ARCH_BOARD_FIRE_STM32
|
||||||
default "hymini-stm32v" if ARCH_BOARD_HYMINI_STM32V
|
default "hymini-stm32v" if ARCH_BOARD_HYMINI_STM32V
|
||||||
default "kwikstik-k40" if ARCH_BOARD_KWIKSTIK_K40
|
default "kwikstik-k40" if ARCH_BOARD_KWIKSTIK_K40
|
||||||
default "lincoln60" if ARCH_BOARD_LINCOLN60
|
default "lincoln60" if ARCH_BOARD_LINCOLN60
|
||||||
default "lm3s6432-s2e" if ARCH_BOARD_LM3S6432S2E
|
default "lm3s6432-s2e" if ARCH_BOARD_LM3S6432S2E
|
||||||
default "lm3s6965-ek" if ARCH_BOARD_LM3S6965EK
|
default "lm3s6965-ek" if ARCH_BOARD_LM3S6965EK
|
||||||
default "lm3s8962-ek" if ARCH_BOARD_LM3S8962EK
|
default "lm3s8962-ek" if ARCH_BOARD_LM3S8962EK
|
||||||
default "lpc4330-xplorer" if ARCH_BOARD_LPC4330_XPLORER
|
default "lpc4330-xplorer" if ARCH_BOARD_LPC4330_XPLORER
|
||||||
default "lpcxpresso-lpc1768" if ARCH_BOARD_LPCXPRESSO
|
default "lpcxpresso-lpc1768" if ARCH_BOARD_LPCXPRESSO
|
||||||
default "m68322evb" if ARCH_BOARD_M68332EVB
|
default "m68322evb" if ARCH_BOARD_M68332EVB
|
||||||
default "mbed" if ARCH_BOARD_MBED
|
default "mbed" if ARCH_BOARD_MBED
|
||||||
default "mcu123-lpc214x" if ARCH_BOARD_MCU123
|
default "mcu123-lpc214x" if ARCH_BOARD_MCU123
|
||||||
default "micropendous3" if ARCH_BOARD_MICROPENDOUS3
|
default "micropendous3" if ARCH_BOARD_MICROPENDOUS3
|
||||||
default "mirtoo" if ARCH_BOARD_MIRTOO
|
default "mirtoo" if ARCH_BOARD_MIRTOO
|
||||||
default "mx1ads" if ARCH_BOARD_MX1ADS
|
default "mx1ads" if ARCH_BOARD_MX1ADS
|
||||||
default "ne64badge" if ARCH_BOARD_NE64BADGE
|
default "ne64badge" if ARCH_BOARD_NE64BADGE
|
||||||
default "ntosd-dm320" if ARCH_BOARD_NTOSD_DM320
|
default "ntosd-dm320" if ARCH_BOARD_NTOSD_DM320
|
||||||
default "nucleus2g" if ARCH_BOARD_NUCLEUS2G
|
default "nucleus2g" if ARCH_BOARD_NUCLEUS2G
|
||||||
default "olimex-lpc1766stk" if ARCH_BOARD_LPC1766STK
|
default "olimex-lpc1766stk" if ARCH_BOARD_LPC1766STK
|
||||||
default "olimex-lpc2378" if ARCH_BOARD_OLIMEXLPC2378
|
default "olimex-lpc2378" if ARCH_BOARD_OLIMEXLPC2378
|
||||||
default "olimex-stm32-p107" if ARCH_BOARD_OLIMEX_STM32P107
|
default "olimex-stm32-p107" if ARCH_BOARD_OLIMEX_STM32P107
|
||||||
default "olimex-strp711" if ARCH_BOARD_OLIMEX_STRP711
|
default "olimex-strp711" if ARCH_BOARD_OLIMEX_STRP711
|
||||||
default "pcblogic-pic32mx" if ARCH_BOARD_PCBLOGICPIC32MX
|
default "pcblogic-pic32mx" if ARCH_BOARD_PCBLOGICPIC32MX
|
||||||
default "pic32-starterkit" if ARCH_BOARD_PIC32_STARTERKIT
|
default "pic32-starterkit" if ARCH_BOARD_PIC32_STARTERKIT
|
||||||
default "pic32mx7mmb" if ARCH_BOARD_PIC32_PIC32MX7MMB
|
default "pic32mx7mmb" if ARCH_BOARD_PIC32_PIC32MX7MMB
|
||||||
default "pjrc-8051" if ARCH_BOARD_PJRC_87C52
|
default "pjrc-8051" if ARCH_BOARD_PJRC_87C52
|
||||||
default "qemu-i486" if ARCH_BOARD_QEMU_I486
|
default "qemu-i486" if ARCH_BOARD_QEMU_I486
|
||||||
default "rgmp" if ARCH_BOARD_RGMP
|
default "rgmp" if ARCH_BOARD_RGMP
|
||||||
default "sam3u-ek" if ARCH_BOARD_SAM3UEK
|
default "sam3u-ek" if ARCH_BOARD_SAM3UEK
|
||||||
default "shenzhou" if ARCH_BOARD_SHENZHOU
|
default "shenzhou" if ARCH_BOARD_SHENZHOU
|
||||||
default "skp16c26" if ARCH_BOARD_SKP16C26
|
default "skp16c26" if ARCH_BOARD_SKP16C26
|
||||||
default "stm3210e-eval" if ARCH_BOARD_STM3210E_EVAL
|
default "stm3210e-eval" if ARCH_BOARD_STM3210E_EVAL
|
||||||
default "stm3220g-eval" if ARCH_BOARD_STM3220G_EVAL
|
default "stm3220g-eval" if ARCH_BOARD_STM3220G_EVAL
|
||||||
default "stm3240g-eval" if ARCH_BOARD_STM3240G_EVAL
|
default "stm3240g-eval" if ARCH_BOARD_STM3240G_EVAL
|
||||||
default "stm32f4discovery" if ARCH_BOARD_STM32F4_DISCOVERY
|
default "stm32f100rc_generic" if ARCH_BOARD_STM32F100RC_GENERIC
|
||||||
default "sure-pic32mx" if ARCH_BOARD_SUREPIC32MX
|
default "stm32f4discovery" if ARCH_BOARD_STM32F4_DISCOVERY
|
||||||
default "teensy" if ARCH_BOARD_TEENSY
|
default "sure-pic32mx" if ARCH_BOARD_SUREPIC32MX
|
||||||
default "twr-k60n512" if ARCH_BOARD_TWR_K60N512
|
default "teensy" if ARCH_BOARD_TEENSY
|
||||||
default "ubw32" if ARCH_BOARD_UBW32
|
default "twr-k60n512" if ARCH_BOARD_TWR_K60N512
|
||||||
default "us7032evb1" if ARCH_BOARD_US7032EVB1
|
default "ubw32" if ARCH_BOARD_UBW32
|
||||||
default "vsn" if ARCH_BOARD_VSN
|
default "us7032evb1" if ARCH_BOARD_US7032EVB1
|
||||||
default "xtrs" if ARCH_BOARD_XTRS
|
default "vsn" if ARCH_BOARD_VSN
|
||||||
default "z16f2800100zcog" if ARCH_BOARD_Z16F2800100ZCOG
|
default "xtrs" if ARCH_BOARD_XTRS
|
||||||
default "z80sim" if ARCH_BOARD_Z80SIM
|
default "z16f2800100zcog" if ARCH_BOARD_Z16F2800100ZCOG
|
||||||
default "z8encore000zco" if ARCH_BOARD_Z8ENCORE000ZCO
|
default "z80sim" if ARCH_BOARD_Z80SIM
|
||||||
default "z8f64200100kit" if ARCH_BOARD_Z8F64200100KI
|
default "z8encore000zco" if ARCH_BOARD_Z8ENCORE000ZCO
|
||||||
default "sim" if ARCH_BOARD_SIM
|
default "z8f64200100kit" if ARCH_BOARD_Z8F64200100KI
|
||||||
default "" if ARCH_BOARD_CUSTOM
|
default "sim" if ARCH_BOARD_SIM
|
||||||
|
default "" if ARCH_BOARD_CUSTOM
|
||||||
|
|
||||||
comment "Common Board Options"
|
comment "Common Board Options"
|
||||||
|
|
||||||
@@ -849,6 +859,9 @@ endif
|
|||||||
if ARCH_BOARD_STM3240G_EVAL
|
if ARCH_BOARD_STM3240G_EVAL
|
||||||
source "configs/stm3240g-eval/Kconfig"
|
source "configs/stm3240g-eval/Kconfig"
|
||||||
endif
|
endif
|
||||||
|
if ARCH_BOARD_STM32F100RC_GENERIC
|
||||||
|
source "configs/stm32f100_generic/Kconfig"
|
||||||
|
endif
|
||||||
if ARCH_BOARD_STM32F4_DISCOVERY
|
if ARCH_BOARD_STM32F4_DISCOVERY
|
||||||
source "configs/stm32f4discovery/Kconfig"
|
source "configs/stm32f4discovery/Kconfig"
|
||||||
endif
|
endif
|
||||||
|
|||||||
+7
-1
@@ -1830,8 +1830,14 @@ configs/stm3240g-eval
|
|||||||
microcontroller (ARM Cortex-M4 with FPU). This port uses a GNU Cortex-M4
|
microcontroller (ARM Cortex-M4 with FPU). This port uses a GNU Cortex-M4
|
||||||
toolchain (such as CodeSourcery).
|
toolchain (such as CodeSourcery).
|
||||||
|
|
||||||
|
configs/stm32f100rc_generic
|
||||||
|
STMicro STM32F100RC generic board based on STM32F100RC high-density value line
|
||||||
|
chip. This "generic" configuration is not very usable out-of-box, but can be
|
||||||
|
used as a starting point to creating new configs with similar STM32
|
||||||
|
high-density value line chips.
|
||||||
|
|
||||||
configs/stm32f4discovery
|
configs/stm32f4discovery
|
||||||
STMicro STM32F4-Discovery board boased on the STMIcro STM32F407VGT6 MCU.
|
STMicro STM32F4-Discovery board based on the STMIcro STM32F407VGT6 MCU.
|
||||||
|
|
||||||
configs/sure-pic32mx
|
configs/sure-pic32mx
|
||||||
The "Advanced USB Storage Demo Board," Model DB-DP11215, from Sure
|
The "Advanced USB Storage Demo Board," Model DB-DP11215, from Sure
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
#
|
||||||
|
# For a description of the syntax of this configuration file,
|
||||||
|
# see misc/tools/kconfig-language.txt.
|
||||||
|
#
|
||||||
|
|
||||||
|
if ARCH_BOARD_STM32F100RC_GENERIC
|
||||||
|
comment "STM32F100RC Generic Hardware Configuration"
|
||||||
|
|
||||||
|
config PM_BUTTONS
|
||||||
|
bool "PM Button support"
|
||||||
|
default n
|
||||||
|
depends on PM && ARCH_IRQBUTTONS
|
||||||
|
---help---
|
||||||
|
Enable PM button EXTI interrupts to support PM testing
|
||||||
|
|
||||||
|
config PM_BUTTON_ACTIVITY
|
||||||
|
int "Button PM activity weight"
|
||||||
|
default 10
|
||||||
|
depends on PM_BUTTONS
|
||||||
|
---help---
|
||||||
|
The activity weight to report to the power management subsystem when a button is pressed.
|
||||||
|
|
||||||
|
config PM_ALARM_SEC
|
||||||
|
int "PM_STANDBY delay (seconds)"
|
||||||
|
default 15
|
||||||
|
depends on PM && RTC_ALARM
|
||||||
|
--help---
|
||||||
|
Number of seconds to wait in PM_STANDBY before going to PM_STANDBY mode.
|
||||||
|
|
||||||
|
config PM_ALARM_NSEC
|
||||||
|
int "PM_STANDBY delay (nanoseconds)"
|
||||||
|
default 0
|
||||||
|
depends on PM && RTC_ALARM
|
||||||
|
--help---
|
||||||
|
Number of additional nanoseconds to wait in PM_STANDBY before going to PM_STANDBY mode.
|
||||||
|
|
||||||
|
config PM_SLEEP_WAKEUP
|
||||||
|
bool "PM_SLEEP wake-up alarm"
|
||||||
|
default n
|
||||||
|
depends on PM && RTC_ALARM
|
||||||
|
--help---
|
||||||
|
Wake-up of PM_SLEEP mode after a delay and resume normal operation.
|
||||||
|
|
||||||
|
config PM_SLEEP_WAKEUP_SEC
|
||||||
|
int "PM_SLEEP delay (seconds)"
|
||||||
|
default 10
|
||||||
|
depends on PM && RTC_ALARM
|
||||||
|
--help---
|
||||||
|
Number of seconds to wait in PM_SLEEP before going to PM_STANDBY mode.
|
||||||
|
|
||||||
|
config PM_SLEEP_WAKEUP_NSEC
|
||||||
|
int "PM_SLEEP delay (nanoseconds)"
|
||||||
|
default 0
|
||||||
|
depends on PM && RTC_ALARM
|
||||||
|
--help---
|
||||||
|
Number of additional nanoseconds to wait in PM_SLEEP before going to PM_STANDBY mode.
|
||||||
|
|
||||||
|
endif
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,223 @@
|
|||||||
|
/************************************************************************************
|
||||||
|
* configs/stm32f100rc_generic/include/board.h
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
||||||
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
* Freddie Chopin <freddie_chopin@op.pl>
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
* 3. Neither the name NuttX nor the names of its contributors may be
|
||||||
|
* used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#ifndef __ARCH_BOARD_BOARD_H
|
||||||
|
#define __ARCH_BOARD_BOARD_H
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Included Files
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#include <nuttx/config.h>
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
|
# include <stdint.h>
|
||||||
|
#endif
|
||||||
|
#include "stm32_rcc.h"
|
||||||
|
#include "stm32_internal.h"
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Definitions
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
/* Clocking *************************************************************************/
|
||||||
|
|
||||||
|
/* On-board crystal frequency is 8MHz (HSE) */
|
||||||
|
|
||||||
|
#define STM32_BOARD_XTAL 8000000ul
|
||||||
|
|
||||||
|
/* PLL source is HSE / 1, PLL multiplier is 3: PLL output frequency is 8MHz (XTAL) x 3 = 24MHz */
|
||||||
|
|
||||||
|
#define STM32_CFGR2_PREDIV1 RCC_CFGR2_PREDIV1d1
|
||||||
|
#define STM32_CFGR_PLLSRC RCC_CFGR_PLLSRC
|
||||||
|
#define STM32_CFGR_PLLXTPRE 0
|
||||||
|
#define STM32_CFGR_PLLMUL RCC_CFGR_PLLMUL_CLKx3
|
||||||
|
#define STM32_PLL_FREQUENCY (3 * STM32_BOARD_XTAL)
|
||||||
|
|
||||||
|
/* Use the PLL and set the SYSCLK source to be the PLL */
|
||||||
|
|
||||||
|
#define STM32_SYSCLK_SW RCC_CFGR_SW_PLL
|
||||||
|
#define STM32_SYSCLK_SWS RCC_CFGR_SWS_PLL
|
||||||
|
#define STM32_SYSCLK_FREQUENCY STM32_PLL_FREQUENCY
|
||||||
|
|
||||||
|
/* AHB clock (HCLK) is SYSCLK (24MHz) */
|
||||||
|
|
||||||
|
#define STM32_RCC_CFGR_HPRE RCC_CFGR_HPRE_SYSCLK
|
||||||
|
#define STM32_HCLK_FREQUENCY STM32_PLL_FREQUENCY
|
||||||
|
|
||||||
|
/* APB2 clock (PCLK2) is HCLK (24MHz) */
|
||||||
|
|
||||||
|
#define STM32_RCC_CFGR_PPRE2 RCC_CFGR_PPRE2_HCLK
|
||||||
|
#define STM32_PCLK2_FREQUENCY STM32_HCLK_FREQUENCY
|
||||||
|
|
||||||
|
/* APB2 timers (1, 15-17) will receive PCLK2. */
|
||||||
|
|
||||||
|
#define STM32_APB2_TIM1_CLKIN STM32_PCLK2_FREQUENCY
|
||||||
|
#define STM32_APB2_TIM15_CLKIN STM32_PCLK2_FREQUENCY
|
||||||
|
#define STM32_APB2_TIM16_CLKIN STM32_PCLK2_FREQUENCY
|
||||||
|
#define STM32_APB2_TIM17_CLKIN STM32_PCLK2_FREQUENCY
|
||||||
|
|
||||||
|
/* APB1 clock (PCLK1) is HCLK (24MHz) */
|
||||||
|
|
||||||
|
#define STM32_RCC_CFGR_PPRE1 RCC_CFGR_PPRE1_HCLK
|
||||||
|
#define STM32_PCLK1_FREQUENCY STM32_HCLK_FREQUENCY
|
||||||
|
|
||||||
|
/* APB1 timers (2-7, 12-14) will receive PCLK1. */
|
||||||
|
|
||||||
|
#define STM32_APB1_TIM2_CLKIN STM32_PCLK1_FREQUENCY
|
||||||
|
#define STM32_APB1_TIM3_CLKIN STM32_PCLK1_FREQUENCY
|
||||||
|
#define STM32_APB1_TIM4_CLKIN STM32_PCLK1_FREQUENCY
|
||||||
|
#define STM32_APB1_TIM5_CLKIN STM32_PCLK1_FREQUENCY
|
||||||
|
#define STM32_APB1_TIM6_CLKIN STM32_PCLK1_FREQUENCY
|
||||||
|
#define STM32_APB1_TIM7_CLKIN STM32_PCLK1_FREQUENCY
|
||||||
|
#define STM32_APB1_TIM12_CLKIN STM32_PCLK1_FREQUENCY
|
||||||
|
#define STM32_APB1_TIM13_CLKIN STM32_PCLK1_FREQUENCY
|
||||||
|
#define STM32_APB1_TIM14_CLKIN STM32_PCLK1_FREQUENCY
|
||||||
|
|
||||||
|
/* Timer Frequencies, if APBx is set to 1, frequency is same to APBx
|
||||||
|
* otherwise frequency is 2xAPBx.
|
||||||
|
* Note: TIM1,15-17 are on APB2, others on APB1 */
|
||||||
|
|
||||||
|
#define STM32_TIM18_FREQUENCY STM32_HCLK_FREQUENCY
|
||||||
|
#define STM32_TIM27_FREQUENCY STM32_HCLK_FREQUENCY
|
||||||
|
|
||||||
|
/* LED definitions ******************************************************************/
|
||||||
|
|
||||||
|
/* It is assumed that a generic board has 1 LED. Thus only two different states
|
||||||
|
* can be shown. Statuses defined as "1" will light the LED, the ones defined as
|
||||||
|
* "0" will turn the LED off. */
|
||||||
|
|
||||||
|
#define LED_STARTED 1
|
||||||
|
#define LED_HEAPALLOCATE 1
|
||||||
|
#define LED_IRQSENABLED 1
|
||||||
|
#define LED_STACKCREATED 1
|
||||||
|
#define LED_INIRQ 1
|
||||||
|
#define LED_SIGNAL 1
|
||||||
|
#define LED_ASSERTION 0
|
||||||
|
#define LED_PANIC 0
|
||||||
|
|
||||||
|
/* Button definitions ***************************************************************/
|
||||||
|
|
||||||
|
/* It is assumed that a generic board has 1 button. */
|
||||||
|
|
||||||
|
#define BUTTON_0 0
|
||||||
|
|
||||||
|
#define NUM_BUTTONS 1
|
||||||
|
|
||||||
|
#define BUTTON_0_BIT (1 << BUTTON_0)
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Public Data
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
|
|
||||||
|
#undef EXTERN
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define EXTERN extern "C"
|
||||||
|
extern "C" {
|
||||||
|
#else
|
||||||
|
#define EXTERN extern
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Public Function Prototypes
|
||||||
|
************************************************************************************/
|
||||||
|
/************************************************************************************
|
||||||
|
* Name: stm32_boardinitialize
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* All STM32 architectures must provide the following entry point. This entry point
|
||||||
|
* is called early in the intitialization -- after all memory has been configured
|
||||||
|
* and mapped but before any devices have been initialized.
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
EXTERN void stm32_boardinitialize(void);
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Name: stm32_ledinit, stm32_setled, and stm32_setleds
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* If CONFIG_ARCH_LEDS is defined, then NuttX will control the on-board LEDs. If
|
||||||
|
* CONFIG_ARCH_LEDS is not defined, then the following interfacesare available to
|
||||||
|
* control the LEDs from user applications.
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#ifndef CONFIG_ARCH_LEDS
|
||||||
|
EXTERN void stm32_ledinit(void);
|
||||||
|
EXTERN void stm32_setled(int led, bool ledon);
|
||||||
|
EXTERN void stm32_setleds(uint8_t ledset);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Button support.
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* up_buttoninit() must be called to initialize button resources. After
|
||||||
|
* that, up_buttons() may be called to collect the current state of all
|
||||||
|
* buttons or up_irqbutton() may be called to register button interrupt
|
||||||
|
* handlers.
|
||||||
|
*
|
||||||
|
* After up_buttoninit() has been called, up_buttons() may be called to
|
||||||
|
* collect the state of all buttons. up_buttons() returns an 8-bit bit set
|
||||||
|
* with each bit associated with a button. See the BUTTON_*_BIT and JOYSTICK_*_BIT
|
||||||
|
* definitions in board.h for the meaning of each bit.
|
||||||
|
*
|
||||||
|
* up_irqbutton() may be called to register an interrupt handler that will
|
||||||
|
* be called when a button is depressed or released. The ID value is a
|
||||||
|
* button enumeration value that uniquely identifies a button resource. See the
|
||||||
|
* BUTTON_* and JOYSTICK_* definitions in board.h for the meaning of enumeration
|
||||||
|
* value. The previous interrupt handler address is returned (so that it may
|
||||||
|
* restored, if so desired).
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARCH_BUTTONS
|
||||||
|
EXTERN void up_buttoninit(void);
|
||||||
|
EXTERN uint8_t up_buttons(void);
|
||||||
|
#ifdef CONFIG_ARCH_IRQBUTTONS
|
||||||
|
EXTERN xcpt_t up_irqbutton(int id, xcpt_t irqhandler);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef EXTERN
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* __ASSEMBLY__ */
|
||||||
|
#endif /* __ARCH_BOARD_BOARD_H */
|
||||||
@@ -0,0 +1,147 @@
|
|||||||
|
############################################################################
|
||||||
|
# configs/stm32f100rc_generic/nsh/Make.defs
|
||||||
|
#
|
||||||
|
# Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
||||||
|
# Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
# Freddie Chopin <freddie_chopin@op.pl>
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
#
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in
|
||||||
|
# the documentation and/or other materials provided with the
|
||||||
|
# distribution.
|
||||||
|
# 3. Neither the name NuttX nor the names of its contributors may be
|
||||||
|
# used to endorse or promote products derived from this software
|
||||||
|
# without specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
#
|
||||||
|
############################################################################
|
||||||
|
|
||||||
|
include ${TOPDIR}/.config
|
||||||
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
|
||||||
|
# Setup for the selected toolchain
|
||||||
|
|
||||||
|
LDSCRIPT = ld.script
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_STM32_CODESOURCERYW),y)
|
||||||
|
# CodeSourcery under Windows
|
||||||
|
CROSSDEV = arm-none-eabi-
|
||||||
|
WINTOOL = y
|
||||||
|
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
endif
|
||||||
|
ifeq ($(CONFIG_STM32_CODESOURCERYL),y)
|
||||||
|
# CodeSourcery under Linux
|
||||||
|
CROSSDEV = arm-none-eabi-
|
||||||
|
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
MAXOPTIMIZATION = -Os
|
||||||
|
endif
|
||||||
|
ifeq ($(CONFIG_STM32_DEVKITARM),y)
|
||||||
|
# devkitARM under Windows
|
||||||
|
CROSSDEV = arm-eabi-
|
||||||
|
WINTOOL = y
|
||||||
|
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
endif
|
||||||
|
ifeq ($(CONFIG_STM32_RAISONANCE),y)
|
||||||
|
# Raisonance RIDE7 under Windows
|
||||||
|
CROSSDEV = arm-none-eabi-
|
||||||
|
WINTOOL = y
|
||||||
|
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
endif
|
||||||
|
ifeq ($(CONFIG_STM32_BUILDROOT),y)
|
||||||
|
# NuttX buildroot under Linux or Cygwin
|
||||||
|
# OABI
|
||||||
|
# CROSSDEV = arm-nuttx-elf-
|
||||||
|
# ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
# EABI
|
||||||
|
CROSSDEV = arm-nuttx-eabi-
|
||||||
|
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
MAXOPTIMIZATION = -Os
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(WINTOOL),y)
|
||||||
|
# Windows-native toolchains
|
||||||
|
DIRLINK = $(TOPDIR)/tools/winlink.sh
|
||||||
|
DIRUNLINK = $(TOPDIR)/tools/unlink.sh
|
||||||
|
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
|
||||||
|
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
|
||||||
|
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
|
||||||
|
ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/$(LDSCRIPT)}"
|
||||||
|
MAXOPTIMIZATION = -O2
|
||||||
|
else
|
||||||
|
# Linux/Cygwin-native toolchain
|
||||||
|
MKDEP = $(TOPDIR)/tools/mkdeps.sh
|
||||||
|
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
|
||||||
|
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
|
||||||
|
ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/$(LDSCRIPT)
|
||||||
|
endif
|
||||||
|
|
||||||
|
CC = $(CROSSDEV)gcc
|
||||||
|
CXX = $(CROSSDEV)g++
|
||||||
|
CPP = $(CROSSDEV)gcc -E
|
||||||
|
LD = $(CROSSDEV)ld
|
||||||
|
AR = $(CROSSDEV)ar rcs
|
||||||
|
NM = $(CROSSDEV)nm
|
||||||
|
OBJCOPY = $(CROSSDEV)objcopy
|
||||||
|
OBJDUMP = $(CROSSDEV)objdump
|
||||||
|
|
||||||
|
ARCHCCVERSION = ${shell $(CC) -v 2>&1 | sed -n '/^gcc version/p' | sed -e 's/^gcc version \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g' -e '1q'}
|
||||||
|
ARCHCCMAJOR = ${shell echo $(ARCHCCVERSION) | cut -d'.' -f1}
|
||||||
|
|
||||||
|
ifeq ("${CONFIG_DEBUG_SYMBOLS}","y")
|
||||||
|
ARCHOPTIMIZATION = -g
|
||||||
|
else
|
||||||
|
ARCHOPTIMIZATION = $(MAXOPTIMIZATION) -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer
|
||||||
|
endif
|
||||||
|
|
||||||
|
ARCHCFLAGS = -fno-builtin
|
||||||
|
ARCHCXXFLAGS = -fno-builtin -fno-exceptions -fno-rtti
|
||||||
|
ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow
|
||||||
|
ARCHWARNINGSXX = -Wall -Wshadow
|
||||||
|
ARCHDEFINES =
|
||||||
|
ARCHPICFLAGS = -fpic -msingle-pic-base -mpic-register=r10
|
||||||
|
|
||||||
|
CFLAGS = $(ARCHCFLAGS) $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe
|
||||||
|
CPICFLAGS = $(ARCHPICFLAGS) $(CFLAGS)
|
||||||
|
CXXFLAGS = $(ARCHCXXFLAGS) $(ARCHWARNINGSXX) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHXXINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe
|
||||||
|
CXXPICFLAGS = $(ARCHPICFLAGS) $(CXXFLAGS)
|
||||||
|
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
||||||
|
AFLAGS = $(CFLAGS) -D__ASSEMBLY__
|
||||||
|
|
||||||
|
NXFLATLDFLAGS1 = -r -d -warn-common
|
||||||
|
NXFLATLDFLAGS2 = $(NXFLATLDFLAGS1) -T$(TOPDIR)/binfmt/libnxflat/gnu-nxflat-pcrel.ld -no-check-sections
|
||||||
|
LDNXFLATFLAGS = -e main -s 2048
|
||||||
|
|
||||||
|
OBJEXT = .o
|
||||||
|
LIBEXT = .a
|
||||||
|
EXEEXT =
|
||||||
|
|
||||||
|
ifneq ($(CROSSDEV),arm-nuttx-elf-)
|
||||||
|
LDFLAGS = -nostartfiles -nodefaultlibs
|
||||||
|
endif
|
||||||
|
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
||||||
|
LDFLAGS = -g
|
||||||
|
endif
|
||||||
|
|
||||||
|
HOSTCC = gcc
|
||||||
|
HOSTINCLUDES = -I.
|
||||||
|
HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -g -pipe
|
||||||
|
HOSTLDFLAGS =
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
Executable
+76
@@ -0,0 +1,76 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# configs/stm32f100rc_generic/nsh/setenv.sh
|
||||||
|
#
|
||||||
|
# Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
||||||
|
# Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
# Freddie Chopin <freddie_chopin@op.pl>
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
#
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in
|
||||||
|
# the documentation and/or other materials provided with the
|
||||||
|
# distribution.
|
||||||
|
# 3. Neither the name NuttX nor the names of its contributors may be
|
||||||
|
# used to endorse or promote products derived from this software
|
||||||
|
# without specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
#
|
||||||
|
|
||||||
|
if [ "$_" = "$0" ] ; then
|
||||||
|
echo "You must source this script, not run it!" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
WD=`pwd`
|
||||||
|
if [ ! -x "setenv.sh" ]; then
|
||||||
|
echo "This script must be executed from the top-level NuttX build directory"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${PATH_ORIG}" ]; then
|
||||||
|
export PATH_ORIG="${PATH}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# This is the Cygwin path to the location where I installed the RIDE
|
||||||
|
# toolchain under windows. You will also have to edit this if you install
|
||||||
|
# the RIDE toolchain in any other location
|
||||||
|
#export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/Raisonance/Ride/arm-gcc/bin"
|
||||||
|
|
||||||
|
# This is the Cygwin path to the location where I installed the CodeSourcery
|
||||||
|
# toolchain under windows. You will also have to edit this if you install
|
||||||
|
# the CodeSourcery toolchain in any other location
|
||||||
|
export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin"
|
||||||
|
|
||||||
|
# These are the Cygwin paths to the locations where I installed the Atollic
|
||||||
|
# toolchain under windows. You will also have to edit this if you install
|
||||||
|
# the Atollic toolchain in any other location. /usr/bin is added before
|
||||||
|
# the Atollic bin path because there is are binaries named gcc.exe and g++.exe
|
||||||
|
# at those locations as well.
|
||||||
|
#export TOOLCHAIN_BIN="/usr/bin:/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for ARM Pro 2.3.0/ARMTools/bin"
|
||||||
|
#export TOOLCHAIN_BIN="/usr/bin:/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for STMicroelectronics STM32 Lite 2.3.0/ARMTools/bin"
|
||||||
|
|
||||||
|
# This is the Cygwin path to the location where I build the buildroot
|
||||||
|
# toolchain.
|
||||||
|
#export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin"
|
||||||
|
|
||||||
|
# Add the path to the toolchain to the PATH varialble
|
||||||
|
export PATH="${TOOLCHAIN_BIN}:/sbin:/usr/sbin:${PATH_ORIG}"
|
||||||
|
|
||||||
|
echo "PATH : ${PATH}"
|
||||||
@@ -0,0 +1,147 @@
|
|||||||
|
############################################################################
|
||||||
|
# configs/stm32f100rc_generic/ostest/Make.defs
|
||||||
|
#
|
||||||
|
# Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
||||||
|
# Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
# Freddie Chopin <freddie_chopin@op.pl>
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
#
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in
|
||||||
|
# the documentation and/or other materials provided with the
|
||||||
|
# distribution.
|
||||||
|
# 3. Neither the name NuttX nor the names of its contributors may be
|
||||||
|
# used to endorse or promote products derived from this software
|
||||||
|
# without specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
#
|
||||||
|
############################################################################
|
||||||
|
|
||||||
|
include ${TOPDIR}/.config
|
||||||
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
|
||||||
|
# Setup for the selected toolchain
|
||||||
|
|
||||||
|
LDSCRIPT = ld.script
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_STM32_CODESOURCERYW),y)
|
||||||
|
# CodeSourcery under Windows
|
||||||
|
CROSSDEV = arm-none-eabi-
|
||||||
|
WINTOOL = y
|
||||||
|
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
endif
|
||||||
|
ifeq ($(CONFIG_STM32_CODESOURCERYL),y)
|
||||||
|
# CodeSourcery under Linux
|
||||||
|
CROSSDEV = arm-none-eabi-
|
||||||
|
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
MAXOPTIMIZATION = -Os
|
||||||
|
endif
|
||||||
|
ifeq ($(CONFIG_STM32_DEVKITARM),y)
|
||||||
|
# devkitARM under Windows
|
||||||
|
CROSSDEV = arm-eabi-
|
||||||
|
WINTOOL = y
|
||||||
|
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
endif
|
||||||
|
ifeq ($(CONFIG_STM32_RAISONANCE),y)
|
||||||
|
# Raisonance RIDE7 under Windows
|
||||||
|
CROSSDEV = arm-none-eabi-
|
||||||
|
WINTOOL = y
|
||||||
|
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
endif
|
||||||
|
ifeq ($(CONFIG_STM32_BUILDROOT),y)
|
||||||
|
# NuttX buildroot under Linux or Cygwin
|
||||||
|
# OABI
|
||||||
|
# CROSSDEV = arm-nuttx-elf-
|
||||||
|
# ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
# EABI
|
||||||
|
CROSSDEV = arm-nuttx-eabi-
|
||||||
|
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
MAXOPTIMIZATION = -Os
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(WINTOOL),y)
|
||||||
|
# Windows-native toolchains
|
||||||
|
DIRLINK = $(TOPDIR)/tools/winlink.sh
|
||||||
|
DIRUNLINK = $(TOPDIR)/tools/unlink.sh
|
||||||
|
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
|
||||||
|
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
|
||||||
|
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
|
||||||
|
ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/$(LDSCRIPT)}"
|
||||||
|
MAXOPTIMIZATION = -O2
|
||||||
|
else
|
||||||
|
# Linux/Cygwin-native toolchain
|
||||||
|
MKDEP = $(TOPDIR)/tools/mkdeps.sh
|
||||||
|
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
|
||||||
|
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
|
||||||
|
ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/$(LDSCRIPT)
|
||||||
|
endif
|
||||||
|
|
||||||
|
CC = $(CROSSDEV)gcc
|
||||||
|
CXX = $(CROSSDEV)g++
|
||||||
|
CPP = $(CROSSDEV)gcc -E
|
||||||
|
LD = $(CROSSDEV)ld
|
||||||
|
AR = $(CROSSDEV)ar rcs
|
||||||
|
NM = $(CROSSDEV)nm
|
||||||
|
OBJCOPY = $(CROSSDEV)objcopy
|
||||||
|
OBJDUMP = $(CROSSDEV)objdump
|
||||||
|
|
||||||
|
ARCHCCVERSION = ${shell $(CC) -v 2>&1 | sed -n '/^gcc version/p' | sed -e 's/^gcc version \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g' -e '1q'}
|
||||||
|
ARCHCCMAJOR = ${shell echo $(ARCHCCVERSION) | cut -d'.' -f1}
|
||||||
|
|
||||||
|
ifeq ("${CONFIG_DEBUG_SYMBOLS}","y")
|
||||||
|
ARCHOPTIMIZATION = -g
|
||||||
|
else
|
||||||
|
ARCHOPTIMIZATION = $(MAXOPTIMIZATION) -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer
|
||||||
|
endif
|
||||||
|
|
||||||
|
ARCHCFLAGS = -fno-builtin
|
||||||
|
ARCHCXXFLAGS = -fno-builtin -fno-exceptions -fno-rtti
|
||||||
|
ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow
|
||||||
|
ARCHWARNINGSXX = -Wall -Wshadow
|
||||||
|
ARCHDEFINES =
|
||||||
|
ARCHPICFLAGS = -fpic -msingle-pic-base -mpic-register=r10
|
||||||
|
|
||||||
|
CFLAGS = $(ARCHCFLAGS) $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe
|
||||||
|
CPICFLAGS = $(ARCHPICFLAGS) $(CFLAGS)
|
||||||
|
CXXFLAGS = $(ARCHCXXFLAGS) $(ARCHWARNINGSXX) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHXXINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe
|
||||||
|
CXXPICFLAGS = $(ARCHPICFLAGS) $(CXXFLAGS)
|
||||||
|
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
||||||
|
AFLAGS = $(CFLAGS) -D__ASSEMBLY__
|
||||||
|
|
||||||
|
NXFLATLDFLAGS1 = -r -d -warn-common
|
||||||
|
NXFLATLDFLAGS2 = $(NXFLATLDFLAGS1) -T$(TOPDIR)/binfmt/libnxflat/gnu-nxflat-pcrel.ld -no-check-sections
|
||||||
|
LDNXFLATFLAGS = -e main -s 2048
|
||||||
|
|
||||||
|
OBJEXT = .o
|
||||||
|
LIBEXT = .a
|
||||||
|
EXEEXT =
|
||||||
|
|
||||||
|
ifneq ($(CROSSDEV),arm-nuttx-elf-)
|
||||||
|
LDFLAGS = -nostartfiles -nodefaultlibs
|
||||||
|
endif
|
||||||
|
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
||||||
|
LDFLAGS = -g
|
||||||
|
endif
|
||||||
|
|
||||||
|
HOSTCC = gcc
|
||||||
|
HOSTINCLUDES = -I.
|
||||||
|
HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -g -pipe
|
||||||
|
HOSTLDFLAGS =
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
Executable
+76
@@ -0,0 +1,76 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# configs/stm32f100rc_generic/ostest/setenv.sh
|
||||||
|
#
|
||||||
|
# Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
||||||
|
# Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
# Freddie Chopin <freddie_chopin@op.pl>
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
#
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in
|
||||||
|
# the documentation and/or other materials provided with the
|
||||||
|
# distribution.
|
||||||
|
# 3. Neither the name NuttX nor the names of its contributors may be
|
||||||
|
# used to endorse or promote products derived from this software
|
||||||
|
# without specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
#
|
||||||
|
|
||||||
|
if [ "$_" = "$0" ] ; then
|
||||||
|
echo "You must source this script, not run it!" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
WD=`pwd`
|
||||||
|
if [ ! -x "setenv.sh" ]; then
|
||||||
|
echo "This script must be executed from the top-level NuttX build directory"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${PATH_ORIG}" ]; then
|
||||||
|
export PATH_ORIG="${PATH}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# This is the Cygwin path to the location where I installed the RIDE
|
||||||
|
# toolchain under windows. You will also have to edit this if you install
|
||||||
|
# the RIDE toolchain in any other location
|
||||||
|
#export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/Raisonance/Ride/arm-gcc/bin"
|
||||||
|
|
||||||
|
# This is the Cygwin path to the location where I installed the CodeSourcery
|
||||||
|
# toolchain under windows. You will also have to edit this if you install
|
||||||
|
# the CodeSourcery toolchain in any other location
|
||||||
|
export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin"
|
||||||
|
|
||||||
|
# These are the Cygwin paths to the locations where I installed the Atollic
|
||||||
|
# toolchain under windows. You will also have to edit this if you install
|
||||||
|
# the Atollic toolchain in any other location. /usr/bin is added before
|
||||||
|
# the Atollic bin path because there is are binaries named gcc.exe and g++.exe
|
||||||
|
# at those locations as well.
|
||||||
|
#export TOOLCHAIN_BIN="/usr/bin:/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for ARM Pro 2.3.0/ARMTools/bin"
|
||||||
|
#export TOOLCHAIN_BIN="/usr/bin:/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for STMicroelectronics STM32 Lite 2.3.0/ARMTools/bin"
|
||||||
|
|
||||||
|
# This is the Cygwin path to the location where I build the buildroot
|
||||||
|
# toolchain.
|
||||||
|
#export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin"
|
||||||
|
|
||||||
|
# Add the path to the toolchain to the PATH varialble
|
||||||
|
export PATH="${TOOLCHAIN_BIN}:/sbin:/usr/sbin:${PATH_ORIG}"
|
||||||
|
|
||||||
|
echo "PATH : ${PATH}"
|
||||||
@@ -0,0 +1,118 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
* configs/stm32f100rc_generic/scripts/ld.script
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
||||||
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
* Freddie Chopin <freddie_chopin@op.pl>
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
* 3. Neither the name NuttX nor the names of its contributors may be
|
||||||
|
* used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/* The STM32F100RC has 256kB of FLASH beginning at address 0x08000000 and 24kB
|
||||||
|
* of SRAM beginning at address 0x20000000. When booting from FLASH, FLASH
|
||||||
|
* memory is aliased to address 0x00000000 where the code expects to begin
|
||||||
|
* execution by jumping to the entry point in the 0x08000000 address range.
|
||||||
|
*/
|
||||||
|
|
||||||
|
MEMORY
|
||||||
|
{
|
||||||
|
flash (rx) : ORIGIN = 0x08000000, LENGTH = 256K
|
||||||
|
sram (rwx) : ORIGIN = 0x20000000, LENGTH = 24K
|
||||||
|
}
|
||||||
|
|
||||||
|
OUTPUT_ARCH(arm)
|
||||||
|
EXTERN(_vectors)
|
||||||
|
ENTRY(_stext)
|
||||||
|
|
||||||
|
SECTIONS
|
||||||
|
{
|
||||||
|
.text : {
|
||||||
|
_stext = ABSOLUTE(.);
|
||||||
|
*(.vectors)
|
||||||
|
*(.text .text.*)
|
||||||
|
*(.fixup)
|
||||||
|
*(.gnu.warning)
|
||||||
|
*(.rodata .rodata.*)
|
||||||
|
*(.gnu.linkonce.t.*)
|
||||||
|
*(.glue_7)
|
||||||
|
*(.glue_7t)
|
||||||
|
*(.got)
|
||||||
|
*(.gcc_except_table)
|
||||||
|
*(.gnu.linkonce.r.*)
|
||||||
|
_etext = ABSOLUTE(.);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
.init_section : {
|
||||||
|
_sinit = ABSOLUTE(.);
|
||||||
|
*(.init_array .init_array.*)
|
||||||
|
_einit = ABSOLUTE(.);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
.ARM.extab : {
|
||||||
|
*(.ARM.extab*)
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
__exidx_start = ABSOLUTE(.);
|
||||||
|
.ARM.exidx : {
|
||||||
|
*(.ARM.exidx*)
|
||||||
|
} > flash
|
||||||
|
__exidx_end = ABSOLUTE(.);
|
||||||
|
|
||||||
|
_eronly = ABSOLUTE(.);
|
||||||
|
|
||||||
|
.data : {
|
||||||
|
_sdata = ABSOLUTE(.);
|
||||||
|
*(.data .data.*)
|
||||||
|
*(.gnu.linkonce.d.*)
|
||||||
|
CONSTRUCTORS
|
||||||
|
_edata = ABSOLUTE(.);
|
||||||
|
} > sram AT > flash
|
||||||
|
|
||||||
|
.bss : {
|
||||||
|
_sbss = ABSOLUTE(.);
|
||||||
|
*(.bss .bss.*)
|
||||||
|
*(.gnu.linkonce.b.*)
|
||||||
|
*(COMMON)
|
||||||
|
_ebss = ABSOLUTE(.);
|
||||||
|
} > sram
|
||||||
|
|
||||||
|
/* Stabs debugging sections. */
|
||||||
|
.stab 0 : { *(.stab) }
|
||||||
|
.stabstr 0 : { *(.stabstr) }
|
||||||
|
.stab.excl 0 : { *(.stab.excl) }
|
||||||
|
.stab.exclstr 0 : { *(.stab.exclstr) }
|
||||||
|
.stab.index 0 : { *(.stab.index) }
|
||||||
|
.stab.indexstr 0 : { *(.stab.indexstr) }
|
||||||
|
.comment 0 : { *(.comment) }
|
||||||
|
.debug_abbrev 0 : { *(.debug_abbrev) }
|
||||||
|
.debug_info 0 : { *(.debug_info) }
|
||||||
|
.debug_line 0 : { *(.debug_line) }
|
||||||
|
.debug_pubnames 0 : { *(.debug_pubnames) }
|
||||||
|
.debug_aranges 0 : { *(.debug_aranges) }
|
||||||
|
}
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
############################################################################
|
||||||
|
# configs/stm32f100rc_generic/src/Makefile
|
||||||
|
#
|
||||||
|
# Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
||||||
|
# Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
# Freddie Chopin <freddie_chopin@op.pl>
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
#
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in
|
||||||
|
# the documentation and/or other materials provided with the
|
||||||
|
# distribution.
|
||||||
|
# 3. Neither the name NuttX nor the names of its contributors may be
|
||||||
|
# used to endorse or promote products derived from this software
|
||||||
|
# without specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
#
|
||||||
|
############################################################################
|
||||||
|
|
||||||
|
-include $(TOPDIR)/Make.defs
|
||||||
|
|
||||||
|
ASRCS =
|
||||||
|
AOBJS = $(ASRCS:.S=$(OBJEXT))
|
||||||
|
|
||||||
|
CSRCS = up_boot.c up_leds.c up_buttons.c
|
||||||
|
COBJS = $(CSRCS:.c=$(OBJEXT))
|
||||||
|
|
||||||
|
SRCS = $(ASRCS) $(CSRCS)
|
||||||
|
OBJS = $(AOBJS) $(COBJS)
|
||||||
|
|
||||||
|
ARCH_SRCDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src
|
||||||
|
ifeq ($(WINTOOL),y)
|
||||||
|
CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/chip}" \
|
||||||
|
-I "${shell cygpath -w $(ARCH_SRCDIR)/common}" \
|
||||||
|
-I "${shell cygpath -w $(ARCH_SRCDIR)/armv7-m}"
|
||||||
|
else
|
||||||
|
CFLAGS += -I$(ARCH_SRCDIR)/chip -I$(ARCH_SRCDIR)/common -I$(ARCH_SRCDIR)/armv7-m
|
||||||
|
endif
|
||||||
|
|
||||||
|
all: libboard$(LIBEXT)
|
||||||
|
|
||||||
|
$(AOBJS): %$(OBJEXT): %.S
|
||||||
|
$(call ASSEMBLE, $<, $@)
|
||||||
|
|
||||||
|
$(COBJS) $(LINKOBJS): %$(OBJEXT): %.c
|
||||||
|
$(call COMPILE, $<, $@)
|
||||||
|
|
||||||
|
libboard$(LIBEXT): $(OBJS)
|
||||||
|
@( for obj in $(OBJS) ; do \
|
||||||
|
$(call ARCHIVE, $@, $${obj}); \
|
||||||
|
done ; )
|
||||||
|
|
||||||
|
.depend: Makefile $(SRCS)
|
||||||
|
@$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep
|
||||||
|
@touch $@
|
||||||
|
|
||||||
|
depend: .depend
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@rm -f libboard$(LIBEXT) *~ .*.swp
|
||||||
|
$(call CLEAN)
|
||||||
|
|
||||||
|
distclean: clean
|
||||||
|
@rm -f Make.dep .depend
|
||||||
|
|
||||||
|
-include Make.dep
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
/************************************************************************************
|
||||||
|
* configs/stm32f100rc_generic/src/stm32f100rc_internal.h
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
||||||
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
* Freddie Chopin <freddie_chopin@op.pl>
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
* 3. Neither the name NuttX nor the names of its contributors may be
|
||||||
|
* used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#ifndef __CONFIGS_STM32F100RC_GENERIC_SRC_STM32F100RC_INTERNAL_H
|
||||||
|
#define __CONFIGS_STM32F100RC_GENERIC_SRC_STM32F100RC_INTERNAL_H
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Definitions
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
/* LED - assume it is on PA0 */
|
||||||
|
|
||||||
|
#define GPIO_LED1 (GPIO_OUTPUT | GPIO_CNF_OUTPP | GPIO_MODE_50MHz | GPIO_OUTPUT_CLEAR | GPIO_PORTA | GPIO_PIN0)
|
||||||
|
|
||||||
|
/* BUTTON - assume it is on PA1 */
|
||||||
|
|
||||||
|
#define MIN_IRQBUTTON BUTTON_0
|
||||||
|
#define MAX_IRQBUTTON BUTTON_0
|
||||||
|
#define NUM_IRQBUTTONS 1
|
||||||
|
|
||||||
|
#define GPIO_BTN_0 (GPIO_INPUT | GPIO_CNF_INFLOAT | GPIO_MODE_INPUT | GPIO_PORTA | GPIO_PIN1)
|
||||||
|
|
||||||
|
#endif /* __CONFIGS_STM32F100RC_GENERIC_SRC_STM32F100RC_INTERNAL_H */
|
||||||
|
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
/************************************************************************************
|
||||||
|
* configs/stm32f100rc_generic/src/up_boot.c
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
||||||
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
* Freddie Chopin <freddie_chopin@op.pl>
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
* 3. Neither the name NuttX nor the names of its contributors may be
|
||||||
|
* used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Included Files
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#include <nuttx/config.h>
|
||||||
|
|
||||||
|
#include <debug.h>
|
||||||
|
|
||||||
|
#include <arch/board/board.h>
|
||||||
|
|
||||||
|
#include "up_arch.h"
|
||||||
|
#include "stm32f100rc_internal.h"
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Public Functions
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Name: stm32_boardinitialize
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* All STM32 architectures must provide the following entry point. This entry point
|
||||||
|
* is called early in the intitialization -- after all memory has been configured
|
||||||
|
* and mapped but before any devices have been initialized.
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
void stm32_boardinitialize(void)
|
||||||
|
{
|
||||||
|
/* Configure on-board LEDs if LED support has been selected. */
|
||||||
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
|
up_ledinit();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
@@ -0,0 +1,117 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
* configs/stm32f100rc_generic/src/up_buttons.c
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
||||||
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
* Freddie Chopin <freddie_chopin@op.pl>
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
* 3. Neither the name NuttX nor the names of its contributors may be
|
||||||
|
* used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Included Files
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#include <nuttx/config.h>
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#include <arch/board/board.h>
|
||||||
|
#include "stm32f100rc_internal.h"
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARCH_BUTTONS
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Public Functions
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Name: up_buttoninit
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* up_buttoninit() must be called to initialize button resources. After
|
||||||
|
* that, up_buttons() may be called to collect the current state of all
|
||||||
|
* buttons or up_irqbutton() may be called to register button interrupt
|
||||||
|
* handlers.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
void up_buttoninit(void)
|
||||||
|
{
|
||||||
|
stm32_configgpio(GPIO_BTN_0); /* Configure the GPIO pins as inputs. */
|
||||||
|
}
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Name: up_buttons
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
uint8_t up_buttons(void)
|
||||||
|
{
|
||||||
|
uint8_t ret = 0;
|
||||||
|
|
||||||
|
ret = (stm32_gpioread(g_buttons[i]) == false ? 1 : 0);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Button support.
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* up_buttoninit() must be called to initialize button resources. After
|
||||||
|
* that, up_buttons() may be called to collect the current state of all
|
||||||
|
* buttons or up_irqbutton() may be called to register button interrupt
|
||||||
|
* handlers.
|
||||||
|
*
|
||||||
|
* After up_buttoninit() has been called, up_buttons() may be called to
|
||||||
|
* collect the state of all buttons. up_buttons() returns an 8-bit bit set
|
||||||
|
* with each bit associated with a button. See the BUTTON_*_BIT and JOYSTICK_*_BIT
|
||||||
|
* definitions in board.h for the meaning of each bit.
|
||||||
|
*
|
||||||
|
* up_irqbutton() may be called to register an interrupt handler that will
|
||||||
|
* be called when a button is depressed or released. The ID value is a
|
||||||
|
* button enumeration value that uniquely identifies a button resource. See the
|
||||||
|
* BUTTON_* and JOYSTICK_* definitions in board.h for the meaning of enumeration
|
||||||
|
* value. The previous interrupt handler address is returned (so that it may
|
||||||
|
* restored, if so desired).
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARCH_IRQBUTTONS
|
||||||
|
xcpt_t up_irqbutton(int id, xcpt_t irqhandler)
|
||||||
|
{
|
||||||
|
xcpt_t oldhandler = NULL;
|
||||||
|
|
||||||
|
if (id == 0)
|
||||||
|
oldhandler = stm32_gpiosetevent(GPIO_BTN_0, true, true, true, irqhandler);
|
||||||
|
|
||||||
|
return oldhandler;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif /* CONFIG_ARCH_BUTTONS */
|
||||||
@@ -0,0 +1,108 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
* configs/stm32f100rc_generic/src/up_leds.c
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
||||||
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
* Freddie Chopin <freddie_chopin@op.pl>
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
* 3. Neither the name NuttX nor the names of its contributors may be
|
||||||
|
* used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Included Files
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#include <nuttx/config.h>
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include <debug.h>
|
||||||
|
|
||||||
|
#include <arch/board/board.h>
|
||||||
|
#include <nuttx/power/pm.h>
|
||||||
|
|
||||||
|
#include "chip.h"
|
||||||
|
#include "up_arch.h"
|
||||||
|
#include "up_internal.h"
|
||||||
|
#include "stm32_internal.h"
|
||||||
|
#include "stm32f100rc_internal.h"
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Definitions
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/* Enables debug output from this file (needs CONFIG_DEBUG with
|
||||||
|
* CONFIG_DEBUG_VERBOSE too)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#undef LED_DEBUG /* Define to enable debug */
|
||||||
|
|
||||||
|
#ifdef LED_DEBUG
|
||||||
|
# define leddbg lldbg
|
||||||
|
# define ledvdbg llvdbg
|
||||||
|
#else
|
||||||
|
# define leddbg(x...)
|
||||||
|
# define ledvdbg(x...)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Public Functions
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Name: up_ledinit
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
|
void up_ledinit(void)
|
||||||
|
{
|
||||||
|
stm32_configgpio(GPIO_LED1); /* Configure LED1 GPIO for output */
|
||||||
|
}
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Name: up_ledon
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
void up_ledon(int led)
|
||||||
|
{
|
||||||
|
if (led == 1)
|
||||||
|
stm32_gpiowrite(GPIO_LED1, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Name: up_ledoff
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
void up_ledoff(int led)
|
||||||
|
{
|
||||||
|
if (led == 0)
|
||||||
|
stm32_gpiowrite(GPIO_LED1, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* CONFIG_ARCH_LEDS */
|
||||||
Reference in New Issue
Block a user