###################################################
-CFLAGS = -std=gnu99 -g -O2 -Wall -Tstm32_flash.ld -DSTM32F4XX -DCORTEX_M4
+CFLAGS = -std=gnu99 -O2 -g -Wall -Tstm32_flash.ld -DSTM32F4XX -DCORTEX_M4
CFLAGS += -mlittle-endian -mthumb -mthumb-interwork -nostartfiles -mcpu=cortex-m4
ifeq ($(FLOAT_TYPE), hard)
fft_test.elf: $(FFT_TEST_SRCS)
$(CC) $(CFLAGS) $^ -o $@ $(LIBPATHS) $(LIBS)
-DAC_TEST=$(PERIPHLIBDIR)/Project/STM32F4xx_StdPeriph_Examples/DAC/DAC_SignalsGeneration
DAC_TEST_SRCS=\
src/dac_ut.c \
+src/dac_it.c \
src/system_stm32f4xx.c \
src/startup_stm32f4xx.s \
src/init.c
-#$(DAC_TEST)/stm32f4xx_it.c \
-#$(DAC_TEST)/system_stm32f4xx.c \
-#(PERIPHLIBDIR)/Utilities/STM32_EVAL/STM3240_41_G_EVAL/stm324xg_eval.c \
-
dac_ut.elf: $(DAC_TEST_SRCS)
- $(CC) $(CFLAGS) -DUSE_STM324xG_EVAL -I$(PERIPHLIBDIR)/Utilities/STM32_EVAL/STM3240_41_G_EVAL -I$(PERIPHLIBDIR)/Utilities/STM32_EVAL/Common $^ -o $@ $(LIBPATHS) $(LIBS)
+ $(CC) $(CFLAGS) -O0 $^ -o $@ $(LIBPATHS) $(LIBS)
clean:
rm -f *.o
--- /dev/null
+/**\r
+ ******************************************************************************\r
+ * @file DMA/DMA_FLASHToRAM/stm32f4xx_it.h \r
+ * @author MCD Application Team\r
+ * @version V1.1.0\r
+ * @date 18-January-2013\r
+ * @brief This file contains the headers of the interrupt handlers.\r
+ ******************************************************************************\r
+ * @attention\r
+ *\r
+ * <h2><center>© COPYRIGHT 2013 STMicroelectronics</center></h2>\r
+ *\r
+ * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");\r
+ * You may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at:\r
+ *\r
+ * http://www.st.com/software_license_agreement_liberty_v2\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software \r
+ * distributed under the License is distributed on an "AS IS" BASIS, \r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ ******************************************************************************\r
+ */\r
+\r
+/* Define to prevent recursive inclusion -------------------------------------*/\r
+#ifndef __STM32F4xx_IT_H\r
+#define __STM32F4xx_IT_H\r
+\r
+#ifdef __cplusplus\r
+ extern "C" {\r
+#endif \r
+\r
+/* Includes ------------------------------------------------------------------*/\r
+#include "stm32f4xx_dma.h"\r
+\r
+/* Exported types ------------------------------------------------------------*/\r
+/* Exported constants --------------------------------------------------------*/\r
+/* Exported macro ------------------------------------------------------------*/\r
+/* Exported functions ------------------------------------------------------- */\r
+\r
+void NMI_Handler(void);\r
+void HardFault_Handler(void);\r
+void MemManage_Handler(void);\r
+void BusFault_Handler(void);\r
+void UsageFault_Handler(void);\r
+void SVC_Handler(void);\r
+void DebugMon_Handler(void);\r
+void PendSV_Handler(void);\r
+void SysTick_Handler(void);\r
+void DMA_STREAM_IRQHANDLER(void);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif /* __STM32F4xx_IT_H */\r
+\r
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/\r
+++ /dev/null
-/**\r
- ******************************************************************************\r
- * @file DAC/DAC_SignalsGeneration/main.h \r
- * @author MCD Application Team\r
- * @version V1.1.0\r
- * @date 18-January-2013\r
- * @brief Header for main.c module\r
- ******************************************************************************\r
- * @attention\r
- *\r
- * <h2><center>© COPYRIGHT 2013 STMicroelectronics</center></h2>\r
- *\r
- * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");\r
- * You may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at:\r
- *\r
- * http://www.st.com/software_license_agreement_liberty_v2\r
- *\r
- * Unless required by applicable law or agreed to in writing, software \r
- * distributed under the License is distributed on an "AS IS" BASIS, \r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- *\r
- ******************************************************************************\r
- */\r
- \r
-/* Define to prevent recursive inclusion -------------------------------------*/\r
-#ifndef __MAIN_H\r
-#define __MAIN_H\r
-\r
-/* Includes ------------------------------------------------------------------*/\r
-#include "stm32f4xx.h"\r
-\r
-#if defined (USE_STM324xG_EVAL)\r
- #include "stm324xg_eval.h"\r
-\r
-#elif defined (USE_STM324x7I_EVAL) \r
- #include "stm324x7i_eval.h"\r
-\r
-#else\r
- #error "Please select first the Evaluation board used in your application (in Project Options)"\r
-#endif\r
-\r
-/* Exported types ------------------------------------------------------------*/\r
-/* Exported constants --------------------------------------------------------*/\r
-/* Exported macro ------------------------------------------------------------*/\r
-#if defined (USE_STM324xG_EVAL)\r
-\r
- #define DAC_DHR12R2_ADDRESS 0x40007414\r
- #define DAC_DHR8R1_ADDRESS 0x40007410\r
-\r
-#else /* defined (USE_STM324x7I_EVAL)*/ \r
-\r
- #define DAC_DHR12R2_ADDRESS 0x40007414\r
- #define DAC_DHR8R1_ADDRESS 0x40007410\r
-\r
-#endif\r
-/* Exported functions ------------------------------------------------------- */\r
-\r
-#endif /* __MAIN_H */\r
-\r
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/\r
--- /dev/null
+/**\r
+ ******************************************************************************\r
+ * @file DMA/DMA_FLASHToRAM/stm32f4xx_it.c \r
+ * @author MCD Application Team\r
+ * @version V1.1.0\r
+ * @date 18-January-2013\r
+ * @brief Main Interrupt Service Routines.\r
+ * This file provides template for all exceptions handler and \r
+ * peripherals interrupt service routine.\r
+ ******************************************************************************\r
+ * @attention\r
+ *\r
+ * <h2><center>© COPYRIGHT 2013 STMicroelectronics</center></h2>\r
+ *\r
+ * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");\r
+ * You may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at:\r
+ *\r
+ * http://www.st.com/software_license_agreement_liberty_v2\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software \r
+ * distributed under the License is distributed on an "AS IS" BASIS, \r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ ******************************************************************************\r
+ */\r
+int interrupts;\r
+\r
+\r
+/* Includes ------------------------------------------------------------------*/\r
+#include "dac_it.h"\r
+\r
+/** @addtogroup STM32F4xx_StdPeriph_Examples\r
+ * @{\r
+ */\r
+\r
+/** @addtogroup DMA_FLASHToRAM\r
+ * @{\r
+ */ \r
+\r
+/* Private typedef -----------------------------------------------------------*/\r
+/* Private define ------------------------------------------------------------*/\r
+/* Private macro -------------------------------------------------------------*/\r
+/* Private variables ---------------------------------------------------------*/\r
+/* Private function prototypes -----------------------------------------------*/\r
+/* Private functions ---------------------------------------------------------*/\r
+\r
+/******************************************************************************/\r
+/* Cortex-M4 Processor Exceptions Handlers */\r
+/******************************************************************************/\r
+\r
+/**\r
+ * @brief This function handles NMI exception.\r
+ * @param None\r
+ * @retval None\r
+ */\r
+void NMI_Handler(void)\r
+{\r
+}\r
+\r
+/**\r
+ * @brief This function handles Hard Fault exception.\r
+ * @param None\r
+ * @retval None\r
+ */\r
+void HardFault_Handler(void)\r
+{\r
+ /* Go to infinite loop when Hard Fault exception occurs */\r
+ while (1)\r
+ {\r
+ }\r
+}\r
+\r
+/**\r
+ * @brief This function handles Memory Manage exception.\r
+ * @param None\r
+ * @retval None\r
+ */\r
+void MemManage_Handler(void)\r
+{\r
+ /* Go to infinite loop when Memory Manage exception occurs */\r
+ while (1)\r
+ {\r
+ }\r
+}\r
+\r
+/**\r
+ * @brief This function handles Bus Fault exception.\r
+ * @param None\r
+ * @retval None\r
+ */\r
+void BusFault_Handler(void)\r
+{\r
+ /* Go to infinite loop when Bus Fault exception occurs */\r
+ while (1)\r
+ {\r
+ }\r
+}\r
+\r
+/**\r
+ * @brief This function handles Usage Fault exception.\r
+ * @param None\r
+ * @retval None\r
+ */\r
+void UsageFault_Handler(void)\r
+{\r
+ /* Go to infinite loop when Usage Fault exception occurs */\r
+ while (1)\r
+ {\r
+ }\r
+}\r
+\r
+/**\r
+ * @brief This function handles SVCall exception.\r
+ * @param None\r
+ * @retval None\r
+ */\r
+void SVC_Handler(void)\r
+{\r
+}\r
+\r
+/**\r
+ * @brief This function handles Debug Monitor exception.\r
+ * @param None\r
+ * @retval None\r
+ */\r
+void DebugMon_Handler(void)\r
+{\r
+}\r
+\r
+/**\r
+ * @brief This function handles PendSVC exception.\r
+ * @param None\r
+ * @retval None\r
+ */\r
+void PendSV_Handler(void)\r
+{\r
+}\r
+\r
+/**\r
+ * @brief This function handles SysTick Handler.\r
+ * @param None\r
+ * @retval None\r
+ */\r
+void SysTick_Handler(void)\r
+{\r
+}\r
+\r
+/******************************************************************************/\r
+/* STM32F4xx Peripherals Interrupt Handlers */\r
+/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */\r
+/* available peripheral interrupt handler's name please refer to the startup */\r
+/* file (startup_stm32f40xx.s/startup_stm32f427x.s). */\r
+/******************************************************************************/\r
+\r
+/**\r
+ * @brief This function handles DMA Stream interrupt request.\r
+ * @param None\r
+ * @retval None\r
+ */\r
+void DMA1_Stream6_IRQHandler(void)\r
+{\r
+ /* Test on DMA Stream Transfer Complete interrupt */\r
+ if(DMA_GetITStatus(DMA1_Stream6, DMA_IT_HTIF6))\r
+ {\r
+ /* Clear DMA Stream Transfer Complete interrupt pending bit */\r
+ DMA_ClearITPendingBit(DMA1_Stream6, DMA_IT_HTIF6); \r
+ interrupts++;\r
+ }\r
+ if(DMA_GetITStatus(DMA1_Stream6, DMA_IT_TCIF6))\r
+ {\r
+ /* Clear DMA Stream Transfer Complete interrupt pending bit */\r
+ DMA_ClearITPendingBit(DMA1_Stream6, DMA_IT_TCIF6); \r
+ interrupts++;\r
+ }\r
+}\r
+\r
+/**\r
+ * @}\r
+ */ \r
+\r
+/**\r
+ * @}\r
+ */\r
+\r
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/\r
static void DAC_Ch2_SineWaveConfig(void)\r
{\r
DMA_InitTypeDef DMA_InitStructure;\r
+ NVIC_InitTypeDef NVIC_InitStructure;\r
\r
/* DAC channel2 Configuration */\r
DAC_InitStructure.DAC_Trigger = DAC_Trigger_T6_TRGO;\r
DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;\r
DMA_Init(DMA1_Stream6, &DMA_InitStructure);\r
\r
+ /* Enable DMA Half 7 Complete interrupts */\r
+ DMA_ITConfig(DMA1_Stream6, DMA_IT_TC | DMA_IT_HT, ENABLE);\r
+\r
+ /* Enable the DMA Stream IRQ Channel */\r
+\r
+ NVIC_InitStructure.NVIC_IRQChannel = DMA1_Stream6_IRQn;\r
+ NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;\r
+ NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;\r
+ NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;\r
+ NVIC_Init(&NVIC_InitStructure); \r
+\r
/* Enable DMA1_Stream6 */\r
DMA_Cmd(DMA1_Stream6, ENABLE);\r
\r