/Modules/CommSerial/ETH01A/SW/STM32F107_ETH_uIP/Project/Webserver_Demo_uIP/main.c |
---|
0,0 → 1,402 |
/** |
****************************************************************************** |
* @file main.c |
* @author MCD Application Team |
* @version V1.0.0 |
* @date 06/19/2009 |
* @brief Main program body |
****************************************************************************** |
* @copy |
* |
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS |
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE |
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY |
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING |
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE |
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. |
* |
* <h2><center>© COPYRIGHT 2009 STMicroelectronics</center></h2> |
*/ |
/* Includes ------------------------------------------------------------------*/ |
#include "stm32f10x.h" |
#include "stm32_eval.h" |
#include "stm32_eth.h" |
#include <stdio.h> |
#include <errno.h> |
#include "uip.h" |
/** @addtogroup Webserver_Demo_uIP |
* @{ |
*/ |
/* Private typedef -----------------------------------------------------------*/ |
/* Private define ------------------------------------------------------------*/ |
/*---------------LCD Messages ------------------------------------------------*/ |
#define DP83848_PHY /* Ethernet pins mapped on STM3210C-EVAL Board */ |
#define PHY_ADDRESS 0x01 /* Relative to STM3210C-EVAL Board */ |
#define MII_MODE /* MII mode for STM3210C-EVAL Board (MB784) (check jumpers setting) */ |
//#define RMII_MODE /* RMII mode for STM3210C-EVAL Board (MB784) (check jumpers setting) */ |
#define ETH_RXBUFNB 8 |
#define ETH_TXBUFNB 2 |
/* Private macro -------------------------------------------------------------*/ |
/* Private variables ---------------------------------------------------------*/ |
ETH_InitTypeDef ETH_InitStructure; |
/* Ethernet Rx & Tx DMA Descriptors */ |
ETH_DMADESCTypeDef DMARxDscrTab[ETH_RXBUFNB], DMATxDscrTab[ETH_TXBUFNB]; |
/* Ethernet buffers */ |
u8 Rx_Buff[ETH_RXBUFNB][ETH_MAX_PACKET_SIZE], Tx_Buff[ETH_TXBUFNB][ETH_MAX_PACKET_SIZE]; |
ErrorStatus HSEStartUpStatus; |
vu32 Value = 0; |
/* Private functions ---------------------------------------------------------*/ |
void RCC_Configuration(void); |
void GPIO_Configuration(void); |
void NVIC_Configuration(void); |
void ADC_Configuration(void); |
void uIPMain(void); |
int _write(int file, char *ptr, int len) |
{ |
int i; |
if (file == 1) { |
for (i = 0; i < len; i++) { |
USART_SendData(USART1, *ptr++); |
while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); |
} |
return i; |
} |
errno = EIO; |
return -1; |
} |
/** |
* @brief Main program. |
* @param None |
* @retval None |
*/ |
int main(void) |
{ |
/* Setup STM32 system (clock, PLL and Flash configuration) */ |
SystemInit(); |
/* Initialize LEDs **********************************************************/ |
STM_EVAL_LEDInit(LED1); |
STM_EVAL_LEDInit(LED2); |
STM_EVAL_LEDInit(LED3); |
STM_EVAL_LEDInit(LED4); |
/* Turn on leds available on STM3210X-EVAL **********************************/ |
STM_EVAL_LEDOff(LED1); |
STM_EVAL_LEDOff(LED2); |
STM_EVAL_LEDOff(LED3); |
STM_EVAL_LEDOff(LED4); |
/* System Clocks Configuration */ |
RCC_Configuration(); |
/* NVIC configuration */ |
NVIC_Configuration(); |
/* ADC configuration */ |
ADC_Configuration(); |
/* ETHERNET pins remapp in STM3210C-EVAL board: RX_DV and RxD[3:0] */ |
//GPIO_PinRemapConfig(GPIO_Remap_ETH, ENABLE); |
/* MII/RMII Media interface selection */ |
#ifdef MII_MODE /* Mode MII with STM3210C-EVAL */ |
GPIO_ETH_MediaInterfaceConfig(GPIO_ETH_MediaInterface_MII); |
/* Get HSE clock = 25MHz on PA8 pin(MCO) */ |
//RCC_MCOConfig(RCC_MCO_HSE); |
#elif defined RMII_MODE /* Mode RMII with STM3210C-EVAL */ |
GPIO_ETH_MediaInterfaceConfig(GPIO_ETH_MediaInterface_RMII); |
/* Get HSE clock = 25MHz on PA8 pin(MCO) */ |
/* set PLL3 clock output to 50MHz (25MHz /5 *10 =50MHz) */ |
RCC_PLL3Config(RCC_PLL3Mul_10); |
/* Enable PLL3 */ |
RCC_PLL3Cmd(ENABLE); |
/* Wait till PLL3 is ready */ |
while (RCC_GetFlagStatus(RCC_FLAG_PLL3RDY) == RESET) |
{} |
/* Get clock PLL3 clock on PA8 pin */ |
RCC_MCOConfig(RCC_MCO_PLL3CLK); |
#endif |
/* Configure the GPIO ports */ |
GPIO_Configuration(); |
USART_Cmd(USART1, ENABLE); |
USART_InitTypeDef USART_InitStructure; |
USART_InitStructure.USART_BaudRate = 9600; |
USART_InitStructure.USART_WordLength = USART_WordLength_8b; |
USART_InitStructure.USART_StopBits = USART_StopBits_1; |
USART_InitStructure.USART_Parity = USART_Parity_No; |
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; |
USART_InitStructure.USART_Mode = USART_Mode_Tx; |
USART_Init(USART1, &USART_InitStructure); |
/* Enable ETHERNET clock */ |
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_ETH_MAC | RCC_AHBPeriph_ETH_MAC_Tx | |
RCC_AHBPeriph_ETH_MAC_Rx, ENABLE); |
/* Reset ETHERNET on AHB Bus */ |
ETH_DeInit(); |
/* Software reset */ |
ETH_SoftwareReset(); |
/* Wait for software reset */ |
while(ETH_GetSoftwareResetStatus()==SET); |
/* ETHERNET Configuration ------------------------------------------------------*/ |
/* Call ETH_StructInit if you don't like to configure all ETH_InitStructure parameter */ |
ETH_StructInit(Ð_InitStructure); |
/* Fill ETH_InitStructure parametrs */ |
/*------------------------ MAC -----------------------------------*/ |
ETH_InitStructure.ETH_AutoNegotiation = ETH_AutoNegotiation_Disable; |
//ETH_InitStructure.ETH_Speed = ETH_Speed_100M; |
ETH_InitStructure.ETH_LoopbackMode = ETH_LoopbackMode_Disable; |
//ETH_InitStructure.ETH_Mode = ETH_Mode_FullDuplex; |
ETH_InitStructure.ETH_RetryTransmission = ETH_RetryTransmission_Disable; |
ETH_InitStructure.ETH_AutomaticPadCRCStrip = ETH_AutomaticPadCRCStrip_Disable; |
ETH_InitStructure.ETH_ReceiveAll = ETH_ReceiveAll_Enable; |
ETH_InitStructure.ETH_BroadcastFramesReception = ETH_BroadcastFramesReception_Disable; |
ETH_InitStructure.ETH_PromiscuousMode = ETH_PromiscuousMode_Disable; |
ETH_InitStructure.ETH_MulticastFramesFilter = ETH_MulticastFramesFilter_Perfect; |
ETH_InitStructure.ETH_UnicastFramesFilter = ETH_UnicastFramesFilter_Perfect; |
/* Configure ETHERNET */ |
printf("Before init...\r\n"); |
Value = ETH_Init(Ð_InitStructure, PHY_ADDRESS); |
printf("After init... Value: %x\r\n", Value); |
/* Initialize Tx Descriptors list: Chain Mode */ |
ETH_DMATxDescChainInit(DMATxDscrTab, &Tx_Buff[0][0], ETH_TXBUFNB); |
/* Initialize Rx Descriptors list: Chain Mode */ |
ETH_DMARxDescChainInit(DMARxDscrTab, &Rx_Buff[0][0], ETH_RXBUFNB); |
/* Enable MAC and DMA transmission and reception */ |
ETH_Start(); |
/* uIP stack main loop */ |
uIPMain(); |
/* Infinite loop */ |
while (1) |
{ |
} |
} |
/** |
* @brief Configures the clock |
* @param None |
* @retval None |
*/ |
void RCC_Configuration(void) |
{ |
RCC_ClocksTypeDef RCC_ClockFreq; |
/* RCC system reset(for debug purpose) */ |
RCC_DeInit(); |
/* Enable HSE */ |
RCC_HSEConfig(RCC_HSE_ON); |
/* Wait till HSE is ready */ |
HSEStartUpStatus = RCC_WaitForHSEStartUp(); |
if(HSEStartUpStatus != ERROR) |
{ |
/* Enable Prefetch Buffer */ |
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); |
/****************************************************************/ |
/* HSE=25MHz, HCLK=72MHz, PCLK2=72MHz, PCLK1=36MHz */ |
/****************************************************************/ |
/* Flash 2 wait state */ |
FLASH_SetLatency(FLASH_Latency_2); |
/* HCLK = SYSCLK */ |
RCC_HCLKConfig(RCC_SYSCLK_Div1); |
/* PCLK2 = HCLK */ |
RCC_PCLK2Config(RCC_HCLK_Div1); |
/* PCLK1 = HCLK/2 */ |
RCC_PCLK1Config(RCC_HCLK_Div2); |
/* ADCCLK = PCLK2/4 */ |
RCC_ADCCLKConfig(RCC_PCLK2_Div6); |
/* Configure PLLs *********************************************************/ |
/* PPL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */ |
RCC_PREDIV2Config(RCC_PREDIV2_Div5); |
RCC_PLL2Config(RCC_PLL2Mul_8); |
/* Enable PLL2 */ |
RCC_PLL2Cmd(ENABLE); |
/* Wait till PLL2 is ready */ |
while (RCC_GetFlagStatus(RCC_FLAG_PLL2RDY) == RESET) |
{} |
/* PPL1 configuration: PLLCLK = (PLL2 / 5) * 9 = 72 MHz */ |
RCC_PREDIV1Config(RCC_PREDIV1_Source_PLL2, RCC_PREDIV1_Div5); |
RCC_PLLConfig(RCC_PLLSource_PREDIV1, RCC_PLLMul_9); |
/* Enable PLL */ |
RCC_PLLCmd(ENABLE); |
/* Wait till PLL is ready */ |
while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) |
{} |
/* Select PLL as system clock source */ |
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); |
/* Wait till PLL is used as system clock source */ |
while (RCC_GetSYSCLKSource() != 0x08) |
{} |
} |
RCC_GetClocksFreq(&RCC_ClockFreq); |
/* Enable USART1 clock */ |
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); |
/* Enable GPIOs clocks */ |
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | |
RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE| RCC_APB2Periph_AFIO, ENABLE); |
/* Enable ADC1 clock */ |
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE); |
} |
/** |
* @brief Configures the different GPIO ports. |
* @param None |
* @retval None |
*/ |
void GPIO_Configuration(void) |
{ |
GPIO_InitTypeDef GPIO_InitStructure; |
/* ETHERNET pins configuration */ |
/* AF Output Push Pull */ |
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_9; |
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; |
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; |
GPIO_Init(GPIOA, &GPIO_InitStructure); |
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2; |
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; |
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; |
GPIO_Init(GPIOC, &GPIO_InitStructure); |
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_8 | GPIO_Pin_11 | |
GPIO_Pin_12 | GPIO_Pin_13; |
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; |
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; |
GPIO_Init(GPIOB, &GPIO_InitStructure); |
/* Input (Reset Value) */ |
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_3; |
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; |
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; |
GPIO_Init(GPIOA, &GPIO_InitStructure); |
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_10; |
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; |
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; |
GPIO_Init(GPIOB, &GPIO_InitStructure); |
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5; |
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; |
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; |
GPIO_Init(GPIOC, &GPIO_InitStructure); |
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; |
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; |
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; |
GPIO_Init(GPIOA, &GPIO_InitStructure); |
} |
/** |
* @brief Configures the ADC. |
* @param None |
* @retval None |
*/ |
void ADC_Configuration(void) |
{ |
ADC_InitTypeDef ADC_InitStructure; |
/* ADC1 Configuration ------------------------------------------------------*/ |
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; |
ADC_InitStructure.ADC_ScanConvMode = DISABLE; |
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; |
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; |
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; |
ADC_InitStructure.ADC_NbrOfChannel = 1; |
ADC_Init(ADC1, &ADC_InitStructure); |
/* ADC1 regular channel4 configuration */ |
ADC_RegularChannelConfig(ADC1, ADC_Channel_4, 1, ADC_SampleTime_13Cycles5); |
/* Enable ADC1 */ |
ADC_Cmd(ADC1, ENABLE); |
/* Start ADC1 Software Conversion */ |
ADC_SoftwareStartConvCmd(ADC1, ENABLE); |
} |
/** |
* @brief Configures the nested vectored interrupt controller. |
* @param None |
* @retval None |
*/ |
void NVIC_Configuration(void) |
{ |
/* Set the Vector Table base location at 0x08000000 */ |
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0); |
} |
#ifdef USE_FULL_ASSERT |
/** |
* @brief Reports the name of the source file and the source line number |
* where the assert_param error has occurred. |
* @param file: pointer to the source file name |
* @param line: assert_param error line source number |
* @retval None |
*/ |
void assert_failed(uint8_t* file, uint32_t line) |
{ |
/* User can add his own implementation to report the file name and line number, |
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ |
/* Infinite loop */ |
while (1) |
{ |
} |
} |
#endif |
/** |
* @} |
*/ |
/******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/ |
/Modules/CommSerial/ETH01A/SW/STM32F107_ETH_uIP/Project/Webserver_Demo_uIP/main.d |
---|
0,0 → 1,36 |
Project/Webserver_Demo_uIP/main.o: Project/Webserver_Demo_uIP/main.c \ |
Libraries/CMSIS/Core/CM3/stm32f10x.h Libraries/CMSIS/Core/CM3/core_cm3.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/include/stdint.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/stdint.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/_ansi.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/newlib.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/sys/config.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/machine/ieeefp.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/sys/features.h \ |
Libraries/CMSIS/Core/CM3/system_stm32f10x.h \ |
Project/Webserver_Demo_uIP/stm32f10x_conf.h \ |
Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_adc.h \ |
Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_exti.h \ |
Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_flash.h \ |
Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_gpio.h \ |
Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_rcc.h \ |
Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_spi.h \ |
Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_usart.h \ |
Libraries/STM32F10x_StdPeriph_Driver/inc/misc.h \ |
Utilities/STM32_EVAL/stm32_eval.h \ |
Libraries/STM32_ETH_Driver/inc/stm32_eth.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/stdio.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/_ansi.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/include/stddef.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/include/stdarg.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/sys/reent.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/sys/_types.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/machine/_types.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/machine/_default_types.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/sys/lock.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/sys/types.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/machine/types.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/sys/stdio.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/errno.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/sys/errno.h \ |
Utilities/uip/uip.h Utilities/uip/uipopt.h Utilities/uip/httpd.h |
/Modules/CommSerial/ETH01A/SW/STM32F107_ETH_uIP/Project/Webserver_Demo_uIP/stm32f10x_conf.h |
---|
0,0 → 1,76 |
/** |
****************************************************************************** |
* @file stm32f10x_conf.h |
* @author MCD Application Team |
* @version V1.0.0 |
* @date 04/19/2009 |
* @brief Library configuration file. |
****************************************************************************** |
* @copy |
* |
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS |
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE |
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY |
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING |
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE |
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. |
* |
* <h2><center>© COPYRIGHT 2009 STMicroelectronics</center></h2> |
*/ |
/* Define to prevent recursive inclusion -------------------------------------*/ |
#ifndef __STM32F10x_CONF_H |
#define __STM32F10x_CONF_H |
/* Includes ------------------------------------------------------------------*/ |
/* Uncomment the line below to enable peripheral header file inclusion */ |
#include "stm32f10x_adc.h" |
/* #include "stm32f10x_bkp.h" */ |
/* #include "stm32f10x_can.h" */ |
/* #include "stm32f10x_crc.h" */ |
/* #include "stm32f10x_dac.h" */ |
/* #include "stm32f10x_dbgmcu.h" */ |
/* #include "stm32f10x_dma.h" */ |
#include "stm32f10x_exti.h" |
#include "stm32f10x_flash.h" |
/* #include "stm32f10x_fsmc.h" */ |
#include "stm32f10x_gpio.h" |
/* #include "stm32f10x_i2c.h" */ |
/* #include "stm32f10x_iwdg.h" */ |
/* #include "stm32f10x_pwr.h" */ |
#include "stm32f10x_rcc.h" |
/* #include "stm32f10x_rtc.h" */ |
/* #include "stm32f10x_sdio.h" */ |
#include "stm32f10x_spi.h" |
/* #include "stm32f10x_tim.h" */ |
#include "stm32f10x_usart.h" |
/* #include "stm32f10x_wwdg.h" */ |
#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ |
/* Exported types ------------------------------------------------------------*/ |
/* Exported constants --------------------------------------------------------*/ |
/* Uncomment the line below to expanse the "assert_param" macro in the |
Standard Peripheral Library drivers code */ |
/* #define USE_FULL_ASSERT 1 */ |
/* Exported macro ------------------------------------------------------------*/ |
#ifdef USE_FULL_ASSERT |
/** |
* @brief The assert_param macro is used for function's parameters check. |
* @param expr: If expr is false, it calls assert_failed function |
* which reports the name of the source file and the source |
* line number of the call that failed. |
* If expr is true, it returns no value. |
* @retval None |
*/ |
#define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) |
/* Exported functions ------------------------------------------------------- */ |
void assert_failed(uint8_t* file, uint32_t line); |
#else |
#define assert_param(expr) ((void)0) |
#endif /* USE_FULL_ASSERT */ |
#endif /* __STM32F10x_CONF_H */ |
/******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/ |
/Modules/CommSerial/ETH01A/SW/STM32F107_ETH_uIP/Project/Webserver_Demo_uIP/stm32f10x_it.c |
---|
0,0 → 1,169 |
/** |
****************************************************************************** |
* @file stm32f10x_it.c |
* @author MCD Application Team |
* @version V1.0.0 |
* @date 06/19/2009 |
* @brief Main Interrupt Service Routines. |
* This file provides template for all exceptions handler and |
* peripherals interrupt service routine. |
****************************************************************************** |
* @copy |
* |
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS |
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE |
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY |
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING |
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE |
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. |
* |
* <h2><center>© COPYRIGHT 2009 STMicroelectronics</center></h2> |
*/ |
/* Includes ------------------------------------------------------------------*/ |
#include "stm32f10x_it.h" |
/** @addtogroup Webserver_Demo_uIP |
* @{ |
*/ |
/* Private typedef -----------------------------------------------------------*/ |
/* Private define ------------------------------------------------------------*/ |
/* Private macro -------------------------------------------------------------*/ |
/* Private variables ---------------------------------------------------------*/ |
/* Private function prototypes -----------------------------------------------*/ |
/* Private functions ---------------------------------------------------------*/ |
/******************************************************************************/ |
/* Cortex-M3 Processor Exceptions Handlers */ |
/******************************************************************************/ |
/** |
* @brief This function handles NMI exception. |
* @param None |
* @retval None |
*/ |
void NMI_Handler(void) |
{ |
} |
/** |
* @brief This function handles Hard Fault exception. |
* @param None |
* @retval None |
*/ |
void HardFault_Handler(void) |
{ |
/* Go to infinite loop when Hard Fault exception occurs */ |
while (1) |
{ |
} |
} |
/** |
* @brief This function handles Memory Manage exception. |
* @param None |
* @retval None |
*/ |
void MemManage_Handler(void) |
{ |
/* Go to infinite loop when Memory Manage exception occurs */ |
while (1) |
{ |
} |
} |
/** |
* @brief This function handles Bus Fault exception. |
* @param None |
* @retval None |
*/ |
void BusFault_Handler(void) |
{ |
/* Go to infinite loop when Bus Fault exception occurs */ |
while (1) |
{ |
} |
} |
/** |
* @brief This function handles Usage Fault exception. |
* @param None |
* @retval None |
*/ |
void UsageFault_Handler(void) |
{ |
/* Go to infinite loop when Usage Fault exception occurs */ |
while (1) |
{ |
} |
} |
/** |
* @brief This function handles SVCall exception. |
* @param None |
* @retval None |
*/ |
void SVC_Handler(void) |
{ |
} |
/** |
* @brief This function handles Debug Monitor exception. |
* @param None |
* @retval None |
*/ |
void DebugMon_Handler(void) |
{ |
} |
/** |
* @brief This function handles PendSVC exception. |
* @param None |
* @retval None |
*/ |
void PendSV_Handler(void) |
{ |
} |
/** |
* @brief This function handles SysTick Handler. |
* @param None |
* @retval None |
*/ |
void SysTick_Handler(void) |
{ |
} |
/******************************************************************************/ |
/* STM32F10x Peripherals Interrupt Handlers */ |
/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ |
/* available peripheral interrupt handler's name please refer to the startup */ |
/* file (startup_stm32f10x_xx.s). */ |
/******************************************************************************/ |
/** |
* @brief This function handles ETH interrupt request. |
* @param None |
* @retval None |
*/ |
void ETH_IRQHandler(void) |
{ |
} |
/** |
* @brief This function handles ETH Weke-up interrupt request. |
* @param None |
* @retval None |
*/ |
void ETH_WKUP_IRQHandler(void) |
{ |
} |
/** |
* @} |
*/ |
/******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/ |
/Modules/CommSerial/ETH01A/SW/STM32F107_ETH_uIP/Project/Webserver_Demo_uIP/stm32f10x_it.d |
---|
0,0 → 1,21 |
Project/Webserver_Demo_uIP/stm32f10x_it.o: \ |
Project/Webserver_Demo_uIP/stm32f10x_it.c \ |
Project/Webserver_Demo_uIP/stm32f10x_it.h \ |
Libraries/CMSIS/Core/CM3/stm32f10x.h Libraries/CMSIS/Core/CM3/core_cm3.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/include/stdint.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/stdint.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/_ansi.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/newlib.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/sys/config.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/machine/ieeefp.h \ |
/usr/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/include/sys/features.h \ |
Libraries/CMSIS/Core/CM3/system_stm32f10x.h \ |
Project/Webserver_Demo_uIP/stm32f10x_conf.h \ |
Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_adc.h \ |
Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_exti.h \ |
Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_flash.h \ |
Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_gpio.h \ |
Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_rcc.h \ |
Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_spi.h \ |
Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_usart.h \ |
Libraries/STM32F10x_StdPeriph_Driver/inc/misc.h |
/Modules/CommSerial/ETH01A/SW/STM32F107_ETH_uIP/Project/Webserver_Demo_uIP/stm32f10x_it.h |
---|
0,0 → 1,55 |
/** |
****************************************************************************** |
* @file stm32f10x_it.h |
* @author MCD Application Team |
* @version V1.0.0 |
* @date 06/19/2009 |
* @brief This file contains the headers of the interrupt handlers. |
****************************************************************************** |
* @copy |
* |
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS |
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE |
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY |
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING |
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE |
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. |
* |
* <h2><center>© COPYRIGHT 2009 STMicroelectronics</center></h2> |
*/ |
/* Define to prevent recursive inclusion -------------------------------------*/ |
#ifndef __STM32F10x_IT_H |
#define __STM32F10x_IT_H |
#ifdef __cplusplus |
extern "C" { |
#endif |
/* Includes ------------------------------------------------------------------*/ |
#include "stm32f10x.h" |
/* Exported types ------------------------------------------------------------*/ |
/* Exported constants --------------------------------------------------------*/ |
/* Exported macro ------------------------------------------------------------*/ |
/* Exported functions ------------------------------------------------------- */ |
void NMI_Handler(void); |
void HardFault_Handler(void); |
void MemManage_Handler(void); |
void BusFault_Handler(void); |
void UsageFault_Handler(void); |
void SVC_Handler(void); |
void DebugMon_Handler(void); |
void PendSV_Handler(void); |
void SysTick_Handler(void); |
void ETH_IRQHandler(void); |
void ETH_WKUP_IRQHandler(void); |
#ifdef __cplusplus |
} |
#endif |
#endif /* __STM32F10x_IT_H */ |
/******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/ |