mirror of
				https://github.com/ayabusa/Numworks-zeta-os.git
				synced 2025-11-04 01:57:15 +00:00 
			
		
		
		
	added a button/led script
This commit is contained in:
		
							
								
								
									
										3
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								Makefile
									
									
									
									
									
								
							@@ -50,6 +50,9 @@ VECT_TBL = $(SRC_DIR)/vector_table.S
 | 
			
		||||
AS_SRC   = $(SRC_DIR)/core.S
 | 
			
		||||
C_SRC    = $(SRC_DIR)/main.c
 | 
			
		||||
 | 
			
		||||
INCLUDE  =  -I./
 | 
			
		||||
INCLUDE  += -I./device
 | 
			
		||||
 | 
			
		||||
OBJS =  $(BUILD_DIR)/$(notdir $(VECT_TBL:.S=.o))
 | 
			
		||||
OBJS += $(BUILD_DIR)/$(notdir $(AS_SRC:.S=.o))
 | 
			
		||||
OBJS += $(BUILD_DIR)/$(notdir $(C_SRC:.c=.o))
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								build/main.bin
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								build/main.bin
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								build/main.elf
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								build/main.elf
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								build/main.o
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								build/main.o
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										1373
									
								
								src/device/cmsis_gcc.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1373
									
								
								src/device/cmsis_gcc.h
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1937
									
								
								src/device/core_cm4.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1937
									
								
								src/device/core_cm4.h
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										87
									
								
								src/device/core_cmFunc.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								src/device/core_cmFunc.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,87 @@
 | 
			
		||||
/**************************************************************************//**
 | 
			
		||||
 * @file     core_cmFunc.h
 | 
			
		||||
 * @brief    CMSIS Cortex-M Core Function Access Header File
 | 
			
		||||
 * @version  V4.30
 | 
			
		||||
 * @date     20. October 2015
 | 
			
		||||
 ******************************************************************************/
 | 
			
		||||
/* Copyright (c) 2009 - 2015 ARM LIMITED
 | 
			
		||||
 | 
			
		||||
   All rights reserved.
 | 
			
		||||
   Redistribution and use in source and binary forms, with or without
 | 
			
		||||
   modification, are permitted provided that the following conditions are met:
 | 
			
		||||
   - Redistributions of source code must retain the above copyright
 | 
			
		||||
     notice, this list of conditions and the following disclaimer.
 | 
			
		||||
   - 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.
 | 
			
		||||
   - Neither the name of ARM 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 COPYRIGHT HOLDERS AND 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   defined ( __ICCARM__ )
 | 
			
		||||
 #pragma system_include         /* treat file as system include file for MISRA check */
 | 
			
		||||
#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
 | 
			
		||||
  #pragma clang system_header   /* treat file as system include file */
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef __CORE_CMFUNC_H
 | 
			
		||||
#define __CORE_CMFUNC_H
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* ###########################  Core Function Access  ########################### */
 | 
			
		||||
/** \ingroup  CMSIS_Core_FunctionInterface
 | 
			
		||||
    \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
 | 
			
		||||
  @{
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
/*------------------ RealView Compiler -----------------*/
 | 
			
		||||
#if   defined ( __CC_ARM )
 | 
			
		||||
  #include "cmsis_armcc.h"
 | 
			
		||||
 | 
			
		||||
/*------------------ ARM Compiler V6 -------------------*/
 | 
			
		||||
#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
 | 
			
		||||
  #include "cmsis_armcc_V6.h"
 | 
			
		||||
 | 
			
		||||
/*------------------ GNU Compiler ----------------------*/
 | 
			
		||||
#elif defined ( __GNUC__ )
 | 
			
		||||
  #include "cmsis_gcc.h"
 | 
			
		||||
 | 
			
		||||
/*------------------ ICC Compiler ----------------------*/
 | 
			
		||||
#elif defined ( __ICCARM__ )
 | 
			
		||||
  #include <cmsis_iar.h>
 | 
			
		||||
 | 
			
		||||
/*------------------ TI CCS Compiler -------------------*/
 | 
			
		||||
#elif defined ( __TMS470__ )
 | 
			
		||||
  #include <cmsis_ccs.h>
 | 
			
		||||
 | 
			
		||||
/*------------------ TASKING Compiler ------------------*/
 | 
			
		||||
#elif defined ( __TASKING__ )
 | 
			
		||||
  /*
 | 
			
		||||
   * The CMSIS functions have been implemented as intrinsics in the compiler.
 | 
			
		||||
   * Please use "carm -?i" to get an up to date list of all intrinsics,
 | 
			
		||||
   * Including the CMSIS ones.
 | 
			
		||||
   */
 | 
			
		||||
 | 
			
		||||
/*------------------ COSMIC Compiler -------------------*/
 | 
			
		||||
#elif defined ( __CSMC__ )
 | 
			
		||||
  #include <cmsis_csm.h>
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/*@} end of CMSIS_Core_RegAccFunctions */
 | 
			
		||||
 | 
			
		||||
#endif /* __CORE_CMFUNC_H */
 | 
			
		||||
							
								
								
									
										87
									
								
								src/device/core_cmInstr.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								src/device/core_cmInstr.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,87 @@
 | 
			
		||||
/**************************************************************************//**
 | 
			
		||||
 * @file     core_cmInstr.h
 | 
			
		||||
 * @brief    CMSIS Cortex-M Core Instruction Access Header File
 | 
			
		||||
 * @version  V4.30
 | 
			
		||||
 * @date     20. October 2015
 | 
			
		||||
 ******************************************************************************/
 | 
			
		||||
/* Copyright (c) 2009 - 2015 ARM LIMITED
 | 
			
		||||
 | 
			
		||||
   All rights reserved.
 | 
			
		||||
   Redistribution and use in source and binary forms, with or without
 | 
			
		||||
   modification, are permitted provided that the following conditions are met:
 | 
			
		||||
   - Redistributions of source code must retain the above copyright
 | 
			
		||||
     notice, this list of conditions and the following disclaimer.
 | 
			
		||||
   - 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.
 | 
			
		||||
   - Neither the name of ARM 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 COPYRIGHT HOLDERS AND 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   defined ( __ICCARM__ )
 | 
			
		||||
 #pragma system_include         /* treat file as system include file for MISRA check */
 | 
			
		||||
#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
 | 
			
		||||
  #pragma clang system_header   /* treat file as system include file */
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef __CORE_CMINSTR_H
 | 
			
		||||
#define __CORE_CMINSTR_H
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* ##########################  Core Instruction Access  ######################### */
 | 
			
		||||
/** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
 | 
			
		||||
  Access to dedicated instructions
 | 
			
		||||
  @{
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
/*------------------ RealView Compiler -----------------*/
 | 
			
		||||
#if   defined ( __CC_ARM )
 | 
			
		||||
  #include "cmsis_armcc.h"
 | 
			
		||||
 | 
			
		||||
/*------------------ ARM Compiler V6 -------------------*/
 | 
			
		||||
#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
 | 
			
		||||
  #include "cmsis_armcc_V6.h"
 | 
			
		||||
 | 
			
		||||
/*------------------ GNU Compiler ----------------------*/
 | 
			
		||||
#elif defined ( __GNUC__ )
 | 
			
		||||
  #include "cmsis_gcc.h"
 | 
			
		||||
 | 
			
		||||
/*------------------ ICC Compiler ----------------------*/
 | 
			
		||||
#elif defined ( __ICCARM__ )
 | 
			
		||||
  #include <cmsis_iar.h>
 | 
			
		||||
 | 
			
		||||
/*------------------ TI CCS Compiler -------------------*/
 | 
			
		||||
#elif defined ( __TMS470__ )
 | 
			
		||||
  #include <cmsis_ccs.h>
 | 
			
		||||
 | 
			
		||||
/*------------------ TASKING Compiler ------------------*/
 | 
			
		||||
#elif defined ( __TASKING__ )
 | 
			
		||||
  /*
 | 
			
		||||
   * The CMSIS functions have been implemented as intrinsics in the compiler.
 | 
			
		||||
   * Please use "carm -?i" to get an up to date list of all intrinsics,
 | 
			
		||||
   * Including the CMSIS ones.
 | 
			
		||||
   */
 | 
			
		||||
 | 
			
		||||
/*------------------ COSMIC Compiler -------------------*/
 | 
			
		||||
#elif defined ( __CSMC__ )
 | 
			
		||||
  #include <cmsis_csm.h>
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/*@}*/ /* end of group CMSIS_Core_InstructionInterface */
 | 
			
		||||
 | 
			
		||||
#endif /* __CORE_CMINSTR_H */
 | 
			
		||||
							
								
								
									
										96
									
								
								src/device/core_cmSimd.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								src/device/core_cmSimd.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,96 @@
 | 
			
		||||
/**************************************************************************//**
 | 
			
		||||
 * @file     core_cmSimd.h
 | 
			
		||||
 * @brief    CMSIS Cortex-M SIMD Header File
 | 
			
		||||
 * @version  V4.30
 | 
			
		||||
 * @date     20. October 2015
 | 
			
		||||
 ******************************************************************************/
 | 
			
		||||
/* Copyright (c) 2009 - 2015 ARM LIMITED
 | 
			
		||||
 | 
			
		||||
   All rights reserved.
 | 
			
		||||
   Redistribution and use in source and binary forms, with or without
 | 
			
		||||
   modification, are permitted provided that the following conditions are met:
 | 
			
		||||
   - Redistributions of source code must retain the above copyright
 | 
			
		||||
     notice, this list of conditions and the following disclaimer.
 | 
			
		||||
   - 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.
 | 
			
		||||
   - Neither the name of ARM 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 COPYRIGHT HOLDERS AND 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   defined ( __ICCARM__ )
 | 
			
		||||
 #pragma system_include         /* treat file as system include file for MISRA check */
 | 
			
		||||
#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
 | 
			
		||||
  #pragma clang system_header   /* treat file as system include file */
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef __CORE_CMSIMD_H
 | 
			
		||||
#define __CORE_CMSIMD_H
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
 extern "C" {
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* ###################  Compiler specific Intrinsics  ########################### */
 | 
			
		||||
/** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics
 | 
			
		||||
  Access to dedicated SIMD instructions
 | 
			
		||||
  @{
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
/*------------------ RealView Compiler -----------------*/
 | 
			
		||||
#if   defined ( __CC_ARM )
 | 
			
		||||
  #include "cmsis_armcc.h"
 | 
			
		||||
 | 
			
		||||
/*------------------ ARM Compiler V6 -------------------*/
 | 
			
		||||
#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
 | 
			
		||||
  #include "cmsis_armcc_V6.h"
 | 
			
		||||
 | 
			
		||||
/*------------------ GNU Compiler ----------------------*/
 | 
			
		||||
#elif defined ( __GNUC__ )
 | 
			
		||||
  #include "cmsis_gcc.h"
 | 
			
		||||
 | 
			
		||||
/*------------------ ICC Compiler ----------------------*/
 | 
			
		||||
#elif defined ( __ICCARM__ )
 | 
			
		||||
  #include <cmsis_iar.h>
 | 
			
		||||
 | 
			
		||||
/*------------------ TI CCS Compiler -------------------*/
 | 
			
		||||
#elif defined ( __TMS470__ )
 | 
			
		||||
  #include <cmsis_ccs.h>
 | 
			
		||||
 | 
			
		||||
/*------------------ TASKING Compiler ------------------*/
 | 
			
		||||
#elif defined ( __TASKING__ )
 | 
			
		||||
  /*
 | 
			
		||||
   * The CMSIS functions have been implemented as intrinsics in the compiler.
 | 
			
		||||
   * Please use "carm -?i" to get an up to date list of all intrinsics,
 | 
			
		||||
   * Including the CMSIS ones.
 | 
			
		||||
   */
 | 
			
		||||
 | 
			
		||||
/*------------------ COSMIC Compiler -------------------*/
 | 
			
		||||
#elif defined ( __CSMC__ )
 | 
			
		||||
  #include <cmsis_csm.h>
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/*@} end of group CMSIS_SIMD_intrinsics */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif /* __CORE_CMSIMD_H */
 | 
			
		||||
							
								
								
									
										9979
									
								
								src/device/stm32f4xx.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9979
									
								
								src/device/stm32f4xx.h
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										105
									
								
								src/device/system_stm32f4xx.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										105
									
								
								src/device/system_stm32f4xx.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,105 @@
 | 
			
		||||
/**
 | 
			
		||||
  ******************************************************************************
 | 
			
		||||
  * @file    system_stm32f4xx.h
 | 
			
		||||
  * @author  MCD Application Team
 | 
			
		||||
  * @version V1.6.1
 | 
			
		||||
  * @date    21-October-2015
 | 
			
		||||
  * @brief   CMSIS Cortex-M4 Device System Source File for STM32F4xx devices.       
 | 
			
		||||
  ******************************************************************************  
 | 
			
		||||
  * @attention
 | 
			
		||||
  *
 | 
			
		||||
  * <h2><center>© COPYRIGHT 2015 STMicroelectronics</center></h2>
 | 
			
		||||
  *
 | 
			
		||||
  * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
 | 
			
		||||
  * You may not use this file except in compliance with the License.
 | 
			
		||||
  * You may obtain a copy of the License at:
 | 
			
		||||
  *
 | 
			
		||||
  *        http://www.st.com/software_license_agreement_liberty_v2
 | 
			
		||||
  *
 | 
			
		||||
  * Unless required by applicable law or agreed to in writing, software 
 | 
			
		||||
  * distributed under the License is distributed on an "AS IS" BASIS, 
 | 
			
		||||
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
  * See the License for the specific language governing permissions and
 | 
			
		||||
  * limitations under the License.
 | 
			
		||||
  *
 | 
			
		||||
  ******************************************************************************  
 | 
			
		||||
  */ 
 | 
			
		||||
 | 
			
		||||
/** @addtogroup CMSIS
 | 
			
		||||
  * @{
 | 
			
		||||
  */
 | 
			
		||||
 | 
			
		||||
/** @addtogroup stm32f4xx_system
 | 
			
		||||
  * @{
 | 
			
		||||
  */  
 | 
			
		||||
  
 | 
			
		||||
/**
 | 
			
		||||
  * @brief Define to prevent recursive inclusion
 | 
			
		||||
  */
 | 
			
		||||
#ifndef __SYSTEM_STM32F4XX_H
 | 
			
		||||
#define __SYSTEM_STM32F4XX_H
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
 extern "C" {
 | 
			
		||||
#endif 
 | 
			
		||||
 | 
			
		||||
/** @addtogroup STM32F4xx_System_Includes
 | 
			
		||||
  * @{
 | 
			
		||||
  */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
  * @}
 | 
			
		||||
  */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/** @addtogroup STM32F4xx_System_Exported_types
 | 
			
		||||
  * @{
 | 
			
		||||
  */
 | 
			
		||||
 | 
			
		||||
extern uint32_t SystemCoreClock;          /*!< System Clock Frequency (Core Clock) */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
  * @}
 | 
			
		||||
  */
 | 
			
		||||
 | 
			
		||||
/** @addtogroup STM32F4xx_System_Exported_Constants
 | 
			
		||||
  * @{
 | 
			
		||||
  */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
  * @}
 | 
			
		||||
  */
 | 
			
		||||
 | 
			
		||||
/** @addtogroup STM32F4xx_System_Exported_Macros
 | 
			
		||||
  * @{
 | 
			
		||||
  */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
  * @}
 | 
			
		||||
  */
 | 
			
		||||
 | 
			
		||||
/** @addtogroup STM32F4xx_System_Exported_Functions
 | 
			
		||||
  * @{
 | 
			
		||||
  */
 | 
			
		||||
  
 | 
			
		||||
extern void SystemInit(void);
 | 
			
		||||
extern void SystemCoreClockUpdate(void);
 | 
			
		||||
/**
 | 
			
		||||
  * @}
 | 
			
		||||
  */
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif /*__SYSTEM_STM32F4XX_H */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
  * @}
 | 
			
		||||
  */
 | 
			
		||||
  
 | 
			
		||||
/**
 | 
			
		||||
  * @}
 | 
			
		||||
  */  
 | 
			
		||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
 | 
			
		||||
							
								
								
									
										37
									
								
								src/main.c
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								src/main.c
									
									
									
									
									
								
							@@ -1,7 +1,34 @@
 | 
			
		||||
/* Main program. */
 | 
			
		||||
#include "main.h"
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Main program.
 | 
			
		||||
 */
 | 
			
		||||
int main(void) {
 | 
			
		||||
  int val = 0;
 | 
			
		||||
  while (1) {
 | 
			
		||||
    val += 1;
 | 
			
		||||
  // Enable the GPIOa and GPIOC peripheral in RCC.
 | 
			
		||||
  RCC->AHB1ENR   |= RCC_AHB1ENR_GPIOAEN ;
 | 
			
		||||
  RCC->AHB1ENR   |= RCC_AHB1ENR_GPIOCEN ;
 | 
			
		||||
 | 
			
		||||
  // Initialize the GPIOC pins.
 | 
			
		||||
  // C15 should be set to 'input' mode with pull-up.
 | 
			
		||||
  GPIOC->MODER  &= ~(0x3 << (BUTTON_PIN*2));
 | 
			
		||||
  GPIOC->PUPDR  &= ~(0x3 << (BUTTON_PIN*2));
 | 
			
		||||
  GPIOC->PUPDR  |=  (0x1 << (BUTTON_PIN*2));
 | 
			
		||||
 | 
			
		||||
  // A5 is connected to an LED on the 'Nucleo' board.
 | 
			
		||||
  // It should be set to push-pull low-speed output.
 | 
			
		||||
  GPIOA->MODER  &= ~(0x3 << (LED_PIN*2));
 | 
			
		||||
  GPIOA->MODER  |=  (0x1 << (LED_PIN*2));
 | 
			
		||||
  GPIOA->OTYPER &= ~(1 << LED_PIN);
 | 
			
		||||
 | 
			
		||||
  // Main loop
 | 
			
		||||
  while (1){
 | 
			
		||||
    // Invert the IDR register since '0' means 'pressed'.
 | 
			
		||||
    uint32_t idr_val = ~GPIOC->IDR;
 | 
			
		||||
    if (idr_val & (1 << BUTTON_PIN)) {
 | 
			
		||||
      GPIOA->ODR = (1 << LED_PIN);
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
      GPIOA->ODR = (0 << LED_PIN);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										8
									
								
								src/main.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								src/main.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
#ifndef _VVC_MAIN_H
 | 
			
		||||
#define _VVC_MAIN_H
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
#include "device/stm32f4xx.h"
 | 
			
		||||
// Define GPIOB pin mappings for our LED and button.
 | 
			
		||||
#define BUTTON_PIN (13) //C13
 | 
			
		||||
#define LED_PIN    (5) //A5
 | 
			
		||||
#endif
 | 
			
		||||
		Reference in New Issue
	
	Block a user