add STM8S Discovery
authorNIIBE Yutaka <gniibe@fsij.org>
Wed, 10 Aug 2011 07:07:46 +0000 (16:07 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Wed, 10 Aug 2011 07:07:46 +0000 (16:07 +0900)
ChangeLog
THANKS [new file with mode: 0644]
boards/OLIMEX_STM32_H103/mcuconf.h
boards/STM8S_DISCOVERY/board.c [new file with mode: 0644]
boards/STM8S_DISCOVERY/board.h [new file with mode: 0644]
boards/STM8S_DISCOVERY/board.h~ [new file with mode: 0644]
boards/STM8S_DISCOVERY/mcuconf.h [new file with mode: 0644]

index fa31bfb..502bbfa 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
+2011-08-10  NIIBE Yutaka  <gniibe@fsij.org>
+
+       * boards/STM8S_DISCOVERY/mcuconf.h: New.
+       * boards/STM8S_DISCOVERY/board.h: New.
+       * boards/STM8S_DISCOVERY/board.c: New.
+
 2011-07-22  NIIBE Yutaka  <gniibe@fsij.org>
 
+       * boards/OLIMEX_STM32_H103/mcuconf.h (STM32_USBPRE): Add.
+
        * src/main.c (main): Fix one shot logic.
 
 2011-07-21  NIIBE Yutaka  <gniibe@fsij.org>
diff --git a/THANKS b/THANKS
new file mode 100644 (file)
index 0000000..fde2d6c
--- /dev/null
+++ b/THANKS
@@ -0,0 +1,11 @@
+We would like to express our gratitudes to Giovanni Di Sirio for
+ChibiOS/RT.
+
+NeuG was originally written by NIIBE Yutaka.  People contributed by
+encouraging the development, testing the implementation, suggesting
+improvements, or fixing bugs.  Here is a list of those people.
+
+Hironobu SUZUKI                hironobu@h2np.net
+Jan Suhr               jan@suhr.info
+Kaz Kojima             kkojima@rr.iij4u.or.jp
+Shane Coughlan         scoughlan@openinventionnetwork.com
index 9b670b0..acfb005 100644 (file)
@@ -9,6 +9,7 @@
 #define STM32_PPRE1                 STM32_PPRE1_DIV2
 #define STM32_PPRE2                 STM32_PPRE2_DIV2
 #define STM32_ADCPRE                STM32_ADCPRE_DIV4
+#define STM32_USBPRE                STM32_USBPRE_DIV1P5
 #define STM32_MCO                   STM32_MCO_NOCLOCK
 
 #include "mcuconf-common.h"
diff --git a/boards/STM8S_DISCOVERY/board.c b/boards/STM8S_DISCOVERY/board.c
new file mode 100644 (file)
index 0000000..a68252b
--- /dev/null
@@ -0,0 +1,26 @@
+#include "config.h"
+#include "ch.h"
+#include "hal.h"
+
+/*
+ * Board-specific initialization code.
+ */
+void boardInit(void)
+{
+}
+
+void
+USB_Cable_Config (int NewState)
+{
+  /* No functionality to stop USB.  */
+  (void)NewState;
+}
+
+void
+set_led (int value)
+{
+  if (value)
+    palSetPad (IOPORT1, GPIOA_LED);
+  else
+    palClearPad (IOPORT1, GPIOA_LED);
+}
diff --git a/boards/STM8S_DISCOVERY/board.h b/boards/STM8S_DISCOVERY/board.h
new file mode 100644 (file)
index 0000000..dacb763
--- /dev/null
@@ -0,0 +1,138 @@
+/*
+    ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio.
+
+    This file is part of ChibiOS/RT.
+
+    ChibiOS/RT is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 3 of the License, or
+    (at your option) any later version.
+
+    ChibiOS/RT is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+                                      ---
+
+    A special exception to the GPL can be applied should you wish to distribute
+    a combined work that includes ChibiOS/RT, without being obliged to provide
+    the source code for any proprietary components. See the file exception.txt
+    for full details of how and when the exception can be applied.
+*/
+
+#ifndef _BOARD_H_
+#define _BOARD_H_
+
+/*
+ * Setup for the ST-Link part of STM8S-Discovery board.
+ */
+
+/*
+ * Board identifier.
+ */
+#define BOARD_ST_DISCOVERY
+#define BOARD_NAME "STM8S Discovery"
+
+/*
+ * Board frequencies.
+ */
+#define STM32_LSECLK            32768
+#define STM32_HSECLK            8000000
+
+/*
+ * MCU type, this macro is used by both the ST library and the ChibiOS/RT
+ * native STM32 HAL.
+ */
+#define STM32F10X_MD
+
+/*
+ * IO pins assignments.
+ */
+#define GPIOA_LED                8
+
+/*
+ * I/O ports initial setup, this configuration is established soon after reset
+ * in the initialization code.
+ *
+ * The digits have the following meaning:
+ *   0 - Analog input.
+ *   1 - Push Pull output 10MHz.
+ *   2 - Push Pull output 2MHz.
+ *   3 - Push Pull output 50MHz.
+ *   4 - Digital input.
+ *   5 - Open Drain output 10MHz.
+ *   6 - Open Drain output 2MHz.
+ *   7 - Open Drain output 50MHz.
+ *   8 - Digital input with PullUp or PullDown resistor depending on ODR.
+ *   9 - Alternate Push Pull output 10MHz.
+ *   A - Alternate Push Pull output 2MHz.
+ *   B - Alternate Push Pull output 50MHz.
+ *   C - Reserved.
+ *   D - Alternate Open Drain output 10MHz.
+ *   E - Alternate Open Drain output 2MHz.
+ *   F - Alternate Open Drain output 50MHz.
+ * Please refer to the STM32 Reference Manual for details.
+ */
+
+/*
+ * Port A setup.
+ * PA11 - input with pull-up (USBDM)
+ * PA12 - input with pull-up (USBDP)
+ * Everything input with pull-up except:
+ * PA8  - Push pull output   (LED 1:ON 0:OFF)
+ */
+#define VAL_GPIOACRL            0x88888888      /*  PA7...PA0 */
+#define VAL_GPIOACRH            0x88888883      /* PA15...PA8 */
+#define VAL_GPIOAODR            0xFFFFFFFF
+
+/*
+ * Port B setup.
+ * Everything input with pull-up except:
+ */
+#define VAL_GPIOBCRL            0x88888888      /*  PB7...PB0 */
+#define VAL_GPIOBCRH            0x88888888      /* PB15...PB8 */
+#define VAL_GPIOBODR            0xFFFFFFFF
+
+/*
+ * Port C setup.
+ * Everything input with pull-up except:
+ */
+#define VAL_GPIOCCRL            0x88888888      /*  PC7...PC0 */
+#define VAL_GPIOCCRH            0x88888888      /* PC15...PC8 */
+#define VAL_GPIOCODR            0xFFFFFFFF
+
+/*
+ * Port D setup.
+ * Everything input with pull-up except:
+ * PD0  - Normal input (XTAL).
+ * PD1  - Normal input (XTAL).
+ */
+#define VAL_GPIODCRL            0x88888844      /*  PD7...PD0 */
+#define VAL_GPIODCRH            0x88888888      /* PD15...PD8 */
+#define VAL_GPIODODR            0xFFFFFFFF
+
+/*
+ * Port E setup.
+ * Everything input with pull-up except:
+ */
+#define VAL_GPIOECRL            0x88888888      /*  PE7...PE0 */
+#define VAL_GPIOECRH            0x88888888      /* PE15...PE8 */
+#define VAL_GPIOEODR            0xFFFFFFFF
+
+#if !defined(_FROM_ASM_)
+#ifdef __cplusplus
+extern "C" {
+#endif
+  void boardInit(void);
+  void USB_Cable_Config (int NewState);
+  void set_led (int value);
+#ifdef __cplusplus
+}
+#endif
+#endif /* _FROM_ASM_ */
+
+#endif /* _BOARD_H_ */
diff --git a/boards/STM8S_DISCOVERY/board.h~ b/boards/STM8S_DISCOVERY/board.h~
new file mode 100644 (file)
index 0000000..ec3f0bd
--- /dev/null
@@ -0,0 +1,139 @@
+/*
+    ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio.
+
+    This file is part of ChibiOS/RT.
+
+    ChibiOS/RT is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 3 of the License, or
+    (at your option) any later version.
+
+    ChibiOS/RT is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+                                      ---
+
+    A special exception to the GPL can be applied should you wish to distribute
+    a combined work that includes ChibiOS/RT, without being obliged to provide
+    the source code for any proprietary components. See the file exception.txt
+    for full details of how and when the exception can be applied.
+*/
+
+#ifndef _BOARD_H_
+#define _BOARD_H_
+
+/*
+ * Setup for the ST-Link part of STM8S-Discovery board.
+ */
+
+/*
+ * Board identifier.
+ */
+#define BOARD_ST_DISCOVERY
+#define BOARD_NAME "STM8S Discovery"
+
+/*
+ * Board frequencies.
+ */
+#define STM32_LSECLK            32768
+#define STM32_HSECLK            8000000
+
+/*
+ * MCU type, this macro is used by both the ST library and the ChibiOS/RT
+ * native STM32 HAL.
+ */
+#define STM32F10X_MD
+
+/*
+ * IO pins assignments.
+ */
+#define GPIOA_LED                8
+
+/*
+ * I/O ports initial setup, this configuration is established soon after reset
+ * in the initialization code.
+ *
+ * The digits have the following meaning:
+ *   0 - Analog input.
+ *   1 - Push Pull output 10MHz.
+ *   2 - Push Pull output 2MHz.
+ *   3 - Push Pull output 50MHz.
+ *   4 - Digital input.
+ *   5 - Open Drain output 10MHz.
+ *   6 - Open Drain output 2MHz.
+ *   7 - Open Drain output 50MHz.
+ *   8 - Digital input with PullUp or PullDown resistor depending on ODR.
+ *   9 - Alternate Push Pull output 10MHz.
+ *   A - Alternate Push Pull output 2MHz.
+ *   B - Alternate Push Pull output 50MHz.
+ *   C - Reserved.
+ *   D - Alternate Open Drain output 10MHz.
+ *   E - Alternate Open Drain output 2MHz.
+ *   F - Alternate Open Drain output 50MHz.
+ * Please refer to the STM32 Reference Manual for details.
+ */
+
+/*
+ * Port A setup.
+ * PA11 - input with pull-up (USBDM)
+ * PA12 - input with pull-up (USBDP)
+ * Everything input with pull-up except:
+ * PA8  - Push pull output   (LED 1:ON 0:OFF)
+ */
+#define VAL_GPIOACRL            0x88888888      /*  PA7...PA0 */
+#define VAL_GPIOACRH            0x88888883      /* PA15...PA8 */
+#define VAL_GPIOAODR            0xFFFFFFFF
+
+/*
+ * Port B setup.
+ * Everything input with pull-up except:
+ */
+#define VAL_GPIOBCRL            0x88888888      /*  PB7...PB0 */
+#define VAL_GPIOBCRH            0x88888888      /* PB15...PB8 */
+#define VAL_GPIOBODR            0xFFFFFFFF
+#endif
+
+/*
+ * Port C setup.
+ * Everything input with pull-up except:
+ */
+#define VAL_GPIOCCRL            0x88888888      /*  PC7...PC0 */
+#define VAL_GPIOCCRH            0x88888888      /* PC15...PC8 */
+#define VAL_GPIOCODR            0xFFFFFFFF
+
+/*
+ * Port D setup.
+ * Everything input with pull-up except:
+ * PD0  - Normal input (XTAL).
+ * PD1  - Normal input (XTAL).
+ */
+#define VAL_GPIODCRL            0x88888844      /*  PD7...PD0 */
+#define VAL_GPIODCRH            0x88888888      /* PD15...PD8 */
+#define VAL_GPIODODR            0xFFFFFFFF
+
+/*
+ * Port E setup.
+ * Everything input with pull-up except:
+ */
+#define VAL_GPIOECRL            0x88888888      /*  PE7...PE0 */
+#define VAL_GPIOECRH            0x88888888      /* PE15...PE8 */
+#define VAL_GPIOEODR            0xFFFFFFFF
+
+#if !defined(_FROM_ASM_)
+#ifdef __cplusplus
+extern "C" {
+#endif
+  void boardInit(void);
+  void USB_Cable_Config (int NewState);
+  void set_led (int value);
+#ifdef __cplusplus
+}
+#endif
+#endif /* _FROM_ASM_ */
+
+#endif /* _BOARD_H_ */
diff --git a/boards/STM8S_DISCOVERY/mcuconf.h b/boards/STM8S_DISCOVERY/mcuconf.h
new file mode 100644 (file)
index 0000000..9b670b0
--- /dev/null
@@ -0,0 +1,14 @@
+/*
+ * HAL driver system settings.
+ */
+#define STM32_SW                    STM32_SW_PLL
+#define STM32_PLLSRC                STM32_PLLSRC_HSE
+#define STM32_PLLXTPRE              STM32_PLLXTPRE_DIV1
+#define STM32_PLLMUL_VALUE          9
+#define STM32_HPRE                  STM32_HPRE_DIV1
+#define STM32_PPRE1                 STM32_PPRE1_DIV2
+#define STM32_PPRE2                 STM32_PPRE2_DIV2
+#define STM32_ADCPRE                STM32_ADCPRE_DIV4
+#define STM32_MCO                   STM32_MCO_NOCLOCK
+
+#include "mcuconf-common.h"