diff --git a/bacnet-stack/ports/stm32f10x/CMSIS/iar/startup_stm32f10x_xl.s b/bacnet-stack/ports/stm32f10x/CMSIS/iar/startup_stm32f10x_xl.s index 9ed63d54..53bce8ca 100644 --- a/bacnet-stack/ports/stm32f10x/CMSIS/iar/startup_stm32f10x_xl.s +++ b/bacnet-stack/ports/stm32f10x/CMSIS/iar/startup_stm32f10x_xl.s @@ -138,7 +138,7 @@ __vector_table THUMB PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER(2) + SECTION .text:CODE:REORDER:NOROOT(2) Reset_Handler LDR R0, =SystemInit BLX R0 @@ -146,347 +146,347 @@ Reset_Handler BX R0 PUBWEAK NMI_Handler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) NMI_Handler B NMI_Handler PUBWEAK HardFault_Handler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) HardFault_Handler B HardFault_Handler PUBWEAK MemManage_Handler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) MemManage_Handler B MemManage_Handler PUBWEAK BusFault_Handler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) BusFault_Handler B BusFault_Handler PUBWEAK UsageFault_Handler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) UsageFault_Handler B UsageFault_Handler PUBWEAK SVC_Handler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) SVC_Handler B SVC_Handler PUBWEAK DebugMon_Handler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) DebugMon_Handler B DebugMon_Handler PUBWEAK PendSV_Handler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) PendSV_Handler B PendSV_Handler PUBWEAK SysTick_Handler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) SysTick_Handler B SysTick_Handler PUBWEAK WWDG_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) WWDG_IRQHandler B WWDG_IRQHandler PUBWEAK PVD_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) PVD_IRQHandler B PVD_IRQHandler PUBWEAK TAMPER_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) TAMPER_IRQHandler B TAMPER_IRQHandler PUBWEAK RTC_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) RTC_IRQHandler B RTC_IRQHandler PUBWEAK FLASH_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) FLASH_IRQHandler B FLASH_IRQHandler PUBWEAK RCC_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) RCC_IRQHandler B RCC_IRQHandler PUBWEAK EXTI0_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) EXTI0_IRQHandler B EXTI0_IRQHandler PUBWEAK EXTI1_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) EXTI1_IRQHandler B EXTI1_IRQHandler PUBWEAK EXTI2_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) EXTI2_IRQHandler B EXTI2_IRQHandler PUBWEAK EXTI3_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) EXTI3_IRQHandler B EXTI3_IRQHandler PUBWEAK EXTI4_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) EXTI4_IRQHandler B EXTI4_IRQHandler PUBWEAK DMA1_Channel1_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) DMA1_Channel1_IRQHandler B DMA1_Channel1_IRQHandler PUBWEAK DMA1_Channel2_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) DMA1_Channel2_IRQHandler B DMA1_Channel2_IRQHandler PUBWEAK DMA1_Channel3_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) DMA1_Channel3_IRQHandler B DMA1_Channel3_IRQHandler PUBWEAK DMA1_Channel4_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) DMA1_Channel4_IRQHandler B DMA1_Channel4_IRQHandler PUBWEAK DMA1_Channel5_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) DMA1_Channel5_IRQHandler B DMA1_Channel5_IRQHandler PUBWEAK DMA1_Channel6_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) DMA1_Channel6_IRQHandler B DMA1_Channel6_IRQHandler PUBWEAK DMA1_Channel7_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) DMA1_Channel7_IRQHandler B DMA1_Channel7_IRQHandler PUBWEAK ADC1_2_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) ADC1_2_IRQHandler B ADC1_2_IRQHandler PUBWEAK USB_HP_CAN1_TX_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) USB_HP_CAN1_TX_IRQHandler B USB_HP_CAN1_TX_IRQHandler PUBWEAK USB_LP_CAN1_RX0_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) USB_LP_CAN1_RX0_IRQHandler B USB_LP_CAN1_RX0_IRQHandler PUBWEAK CAN1_RX1_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) CAN1_RX1_IRQHandler B CAN1_RX1_IRQHandler PUBWEAK CAN1_SCE_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) CAN1_SCE_IRQHandler B CAN1_SCE_IRQHandler PUBWEAK EXTI9_5_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) EXTI9_5_IRQHandler B EXTI9_5_IRQHandler PUBWEAK TIM1_BRK_TIM9_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) TIM1_BRK_TIM9_IRQHandler B TIM1_BRK_TIM9_IRQHandler PUBWEAK TIM1_UP_TIM10_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) TIM1_UP_TIM10_IRQHandler B TIM1_UP_TIM10_IRQHandler PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) TIM1_TRG_COM_TIM11_IRQHandler B TIM1_TRG_COM_TIM11_IRQHandler PUBWEAK TIM1_CC_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) TIM1_CC_IRQHandler B TIM1_CC_IRQHandler PUBWEAK TIM2_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) TIM2_IRQHandler B TIM2_IRQHandler PUBWEAK TIM3_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) TIM3_IRQHandler B TIM3_IRQHandler PUBWEAK TIM4_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) TIM4_IRQHandler B TIM4_IRQHandler PUBWEAK I2C1_EV_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) I2C1_EV_IRQHandler B I2C1_EV_IRQHandler PUBWEAK I2C1_ER_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) I2C1_ER_IRQHandler B I2C1_ER_IRQHandler PUBWEAK I2C2_EV_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) I2C2_EV_IRQHandler B I2C2_EV_IRQHandler PUBWEAK I2C2_ER_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) I2C2_ER_IRQHandler B I2C2_ER_IRQHandler PUBWEAK SPI1_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) SPI1_IRQHandler B SPI1_IRQHandler PUBWEAK SPI2_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) SPI2_IRQHandler B SPI2_IRQHandler PUBWEAK USART1_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) USART1_IRQHandler B USART1_IRQHandler PUBWEAK USART2_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) USART2_IRQHandler B USART2_IRQHandler PUBWEAK USART3_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) USART3_IRQHandler B USART3_IRQHandler PUBWEAK EXTI15_10_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) EXTI15_10_IRQHandler B EXTI15_10_IRQHandler PUBWEAK RTCAlarm_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) RTCAlarm_IRQHandler B RTCAlarm_IRQHandler PUBWEAK USBWakeUp_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) USBWakeUp_IRQHandler B USBWakeUp_IRQHandler PUBWEAK TIM8_BRK_TIM12_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) TIM8_BRK_TIM12_IRQHandler B TIM8_BRK_TIM12_IRQHandler PUBWEAK TIM8_UP_TIM13_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) TIM8_UP_TIM13_IRQHandler B TIM8_UP_TIM13_IRQHandler PUBWEAK TIM8_TRG_COM_TIM14_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) TIM8_TRG_COM_TIM14_IRQHandler B TIM8_TRG_COM_TIM14_IRQHandler PUBWEAK TIM8_CC_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) TIM8_CC_IRQHandler B TIM8_CC_IRQHandler PUBWEAK ADC3_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) ADC3_IRQHandler B ADC3_IRQHandler PUBWEAK FSMC_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) FSMC_IRQHandler B FSMC_IRQHandler PUBWEAK SDIO_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) SDIO_IRQHandler B SDIO_IRQHandler PUBWEAK TIM5_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) TIM5_IRQHandler B TIM5_IRQHandler PUBWEAK SPI3_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) SPI3_IRQHandler B SPI3_IRQHandler PUBWEAK UART4_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) UART4_IRQHandler B UART4_IRQHandler PUBWEAK UART5_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) UART5_IRQHandler B UART5_IRQHandler PUBWEAK TIM6_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) TIM6_IRQHandler B TIM6_IRQHandler PUBWEAK TIM7_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) TIM7_IRQHandler B TIM7_IRQHandler PUBWEAK DMA2_Channel1_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) DMA2_Channel1_IRQHandler B DMA2_Channel1_IRQHandler PUBWEAK DMA2_Channel2_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) DMA2_Channel2_IRQHandler B DMA2_Channel2_IRQHandler PUBWEAK DMA2_Channel3_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) DMA2_Channel3_IRQHandler B DMA2_Channel3_IRQHandler PUBWEAK DMA2_Channel4_5_IRQHandler - SECTION .text:CODE:REORDER(1) + SECTION .text:CODE:REORDER:NOROOT(1) DMA2_Channel4_5_IRQHandler B DMA2_Channel4_5_IRQHandler diff --git a/bacnet-stack/ports/stm32f10x/bacnet.ewp b/bacnet-stack/ports/stm32f10x/bacnet.ewp index d44a9a35..e3378ce4 100644 --- a/bacnet-stack/ports/stm32f10x/bacnet.ewp +++ b/bacnet-stack/ports/stm32f10x/bacnet.ewp @@ -1,2175 +1,1265 @@ - - + - 2 - - Debug - - ARM - - 1 - - General - 3 - - 24 - 1 + 3 + + Debug + + ARM + 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ICCARM - 2 - - 31 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AARM - 2 - - 9 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OBJCOPY - 0 - - 1 - 1 - 1 - - - - - - - - - CUSTOM - 3 - - - - 0 - - - - BICOMP - 0 - - - - BUILDACTION - 1 - - - - - - - ILINK - 0 - - 16 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IARCHIVE - 0 - - 0 - 1 - 1 - - - - - - - BILINK - 0 - - - - - Release - - ARM - - 0 - - General - 3 - - 24 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ICCARM - 2 - - 31 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AARM - 2 - - 9 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OBJCOPY - 0 - - 1 - 1 - 0 - - - - - - - - - CUSTOM - 3 - - - - 0 - - - - BICOMP - 0 - - - - BUILDACTION - 1 - - - - - - - ILINK - 0 - - 16 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IARCHIVE - 0 - - 0 - 1 - 0 - - - - - - - BILINK - 0 - - - - - BACnet + + General + 3 + + 29 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 34 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 10 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + 0 + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 20 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + BACnet + + $PROJ_DIR$\..\..\src\abort.c + + + $PROJ_DIR$\..\..\src\apdu.c + + + $PROJ_DIR$\..\..\src\bacaddr.c + + + $PROJ_DIR$\..\..\src\bacapp.c + + + $PROJ_DIR$\..\..\src\bacdcode.c + + + $PROJ_DIR$\..\..\src\bacerror.c + + + $PROJ_DIR$\..\..\src\bacint.c + + + $PROJ_DIR$\..\..\src\bacreal.c + + + $PROJ_DIR$\..\..\src\bacstr.c + + + $PROJ_DIR$\..\..\src\crc.c + + + $PROJ_DIR$\..\..\src\dcc.c + + + $PROJ_DIR$\..\..\src\fifo.c + + + $PROJ_DIR$\..\..\src\iam.c + + + $PROJ_DIR$\..\..\src\ihave.c + + + $PROJ_DIR$\..\..\src\memcopy.c + + + $PROJ_DIR$\..\..\src\npdu.c + + + $PROJ_DIR$\..\..\src\proplist.c + + + $PROJ_DIR$\..\..\src\rd.c + + + $PROJ_DIR$\..\..\src\reject.c + + + $PROJ_DIR$\..\..\src\ringbuf.c + + + $PROJ_DIR$\..\..\src\rp.c + + + $PROJ_DIR$\..\..\src\rpm.c + + + $PROJ_DIR$\..\..\src\whohas.c + + + $PROJ_DIR$\..\..\src\whois.c + + + $PROJ_DIR$\..\..\src\wp.c + + + + BACnet-Handlers + + $PROJ_DIR$\..\..\demo\handler\h_dcc.c + + + $PROJ_DIR$\..\..\demo\handler\h_npdu.c + + + $PROJ_DIR$\..\..\demo\handler\h_rd.c + + + $PROJ_DIR$\..\..\demo\handler\h_rp.c + + + $PROJ_DIR$\..\..\demo\handler\h_rpm.c + + + $PROJ_DIR$\..\..\demo\handler\h_whohas.c + + + $PROJ_DIR$\..\..\demo\handler\h_whois.c + + + $PROJ_DIR$\..\..\demo\handler\h_wp.c + + + $PROJ_DIR$\..\..\demo\handler\noserv.c + + + $PROJ_DIR$\..\..\demo\handler\s_iam.c + + + $PROJ_DIR$\..\..\demo\handler\s_ihave.c + + + $PROJ_DIR$\..\..\demo\handler\txbuf.c + + + + CMSIS + + $PROJ_DIR$\CMSIS\iar\startup_stm32f10x_xl.s + + + + STM32-Lib + + $PROJ_DIR$\drivers\src\stm32f10x_adc.c + + + $PROJ_DIR$\drivers\src\stm32f10x_bkp.c + + + $PROJ_DIR$\drivers\src\stm32f10x_can.c + + + $PROJ_DIR$\drivers\src\stm32f10x_cec.c + + + $PROJ_DIR$\drivers\src\stm32f10x_crc.c + + + $PROJ_DIR$\drivers\src\stm32f10x_dac.c + + + $PROJ_DIR$\drivers\src\stm32f10x_dbgmcu.c + + + $PROJ_DIR$\drivers\src\stm32f10x_dma.c + + + $PROJ_DIR$\drivers\src\stm32f10x_exti.c + + + $PROJ_DIR$\drivers\src\stm32f10x_flash.c + + + $PROJ_DIR$\drivers\src\stm32f10x_fsmc.c + + + $PROJ_DIR$\drivers\src\stm32f10x_gpio.c + + + $PROJ_DIR$\drivers\src\stm32f10x_i2c.c + + + $PROJ_DIR$\drivers\src\stm32f10x_iwdg.c + + + $PROJ_DIR$\drivers\src\stm32f10x_misc.c + + + $PROJ_DIR$\drivers\src\stm32f10x_pwr.c + + + $PROJ_DIR$\drivers\src\stm32f10x_rcc.c + + + $PROJ_DIR$\drivers\src\stm32f10x_rtc.c + + + $PROJ_DIR$\drivers\src\stm32f10x_sdio.c + + + $PROJ_DIR$\drivers\src\stm32f10x_spi.c + + + $PROJ_DIR$\drivers\src\stm32f10x_tim.c + + + $PROJ_DIR$\drivers\src\stm32f10x_usart.c + + + $PROJ_DIR$\drivers\src\stm32f10x_wwdg.c + + - $PROJ_DIR$\..\..\src\abort.c + $PROJ_DIR$\automac.c - $PROJ_DIR$\..\..\src\apdu.c + $PROJ_DIR$\bacnet.c - $PROJ_DIR$\..\..\src\bacaddr.c + $PROJ_DIR$\bo.c - $PROJ_DIR$\..\..\src\bacapp.c + $PROJ_DIR$\device.c - $PROJ_DIR$\..\..\src\bacdcode.c + $PROJ_DIR$\dlmstp.c - $PROJ_DIR$\..\..\src\bacerror.c + $PROJ_DIR$\led.c - $PROJ_DIR$\..\..\src\bacint.c + $PROJ_DIR$\main.c - $PROJ_DIR$\..\..\src\bacreal.c + $PROJ_DIR$\rs485.c - $PROJ_DIR$\..\..\src\bacstr.c + $PROJ_DIR$\stm32f10x_it.c - $PROJ_DIR$\..\..\src\crc.c + $PROJ_DIR$\system_stm32f10x.c - $PROJ_DIR$\..\..\src\dcc.c + $PROJ_DIR$\timer.c - $PROJ_DIR$\..\..\src\fifo.c + $PROJ_DIR$\timer_sys.c - - $PROJ_DIR$\..\..\src\iam.c - - - $PROJ_DIR$\..\..\src\ihave.c - - - $PROJ_DIR$\..\..\src\memcopy.c - - - $PROJ_DIR$\..\..\src\npdu.c - - - $PROJ_DIR$\..\..\src\proplist.c - - - $PROJ_DIR$\..\..\src\rd.c - - - $PROJ_DIR$\..\..\src\reject.c - - - $PROJ_DIR$\..\..\src\ringbuf.c - - - $PROJ_DIR$\..\..\src\rp.c - - - $PROJ_DIR$\..\..\src\rpm.c - - - $PROJ_DIR$\..\..\src\whohas.c - - - $PROJ_DIR$\..\..\src\whois.c - - - $PROJ_DIR$\..\..\src\wp.c - - - - BACnet-Handlers - - $PROJ_DIR$\..\..\demo\handler\h_dcc.c - - - $PROJ_DIR$\..\..\demo\handler\h_npdu.c - - - $PROJ_DIR$\..\..\demo\handler\h_rd.c - - - $PROJ_DIR$\..\..\demo\handler\h_rp.c - - - $PROJ_DIR$\..\..\demo\handler\h_rpm.c - - - $PROJ_DIR$\..\..\demo\handler\h_whohas.c - - - $PROJ_DIR$\..\..\demo\handler\h_whois.c - - - $PROJ_DIR$\..\..\demo\handler\h_wp.c - - - $PROJ_DIR$\..\..\demo\handler\noserv.c - - - $PROJ_DIR$\..\..\demo\handler\s_iam.c - - - $PROJ_DIR$\..\..\demo\handler\s_ihave.c - - - $PROJ_DIR$\..\..\demo\handler\txbuf.c - - - - STM32-Lib - - $PROJ_DIR$\drivers\src\stm32f10x_adc.c - - - $PROJ_DIR$\drivers\src\stm32f10x_bkp.c - - - $PROJ_DIR$\drivers\src\stm32f10x_can.c - - - $PROJ_DIR$\drivers\src\stm32f10x_cec.c - - - $PROJ_DIR$\drivers\src\stm32f10x_crc.c - - - $PROJ_DIR$\drivers\src\stm32f10x_dac.c - - - $PROJ_DIR$\drivers\src\stm32f10x_dbgmcu.c - - - $PROJ_DIR$\drivers\src\stm32f10x_dma.c - - - $PROJ_DIR$\drivers\src\stm32f10x_exti.c - - - $PROJ_DIR$\drivers\src\stm32f10x_flash.c - - - $PROJ_DIR$\drivers\src\stm32f10x_fsmc.c - - - $PROJ_DIR$\drivers\src\stm32f10x_gpio.c - - - $PROJ_DIR$\drivers\src\stm32f10x_i2c.c - - - $PROJ_DIR$\drivers\src\stm32f10x_iwdg.c - - - $PROJ_DIR$\drivers\src\stm32f10x_misc.c - - - $PROJ_DIR$\drivers\src\stm32f10x_pwr.c - - - $PROJ_DIR$\drivers\src\stm32f10x_rcc.c - - - $PROJ_DIR$\drivers\src\stm32f10x_rtc.c - - - $PROJ_DIR$\drivers\src\stm32f10x_sdio.c - - - $PROJ_DIR$\drivers\src\stm32f10x_spi.c - - - $PROJ_DIR$\drivers\src\stm32f10x_tim.c - - - $PROJ_DIR$\drivers\src\stm32f10x_usart.c - - - $PROJ_DIR$\drivers\src\stm32f10x_wwdg.c - - - - $PROJ_DIR$\automac.c - - - $PROJ_DIR$\bacnet.c - - - $PROJ_DIR$\bo.c - - - $PROJ_DIR$\device.c - - - $PROJ_DIR$\dlmstp.c - - - $PROJ_DIR$\led.c - - - $PROJ_DIR$\main.c - - - $PROJ_DIR$\rs485.c - - - $PROJ_DIR$\stm32f10x_it.c - - - $PROJ_DIR$\system_stm32f10x.c - - - $PROJ_DIR$\timer.c - - - $PROJ_DIR$\timer_sys.c - - - diff --git a/bacnet-stack/ports/stm32f10x/stm32f10x_flash.icf b/bacnet-stack/ports/stm32f10x/stm32f10x_flash.icf index 7ac8ed61..e5a211a7 100644 --- a/bacnet-stack/ports/stm32f10x/stm32f10x_flash.icf +++ b/bacnet-stack/ports/stm32f10x/stm32f10x_flash.icf @@ -5,11 +5,11 @@ define symbol __ICFEDIT_intvec_start__ = 0x08000000; /*-Memory Regions-*/ define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ; -define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; +define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; -define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; +define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; /*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x800; +define symbol __ICFEDIT_size_cstack__ = 0x1000; define symbol __ICFEDIT_size_heap__ = 0x200; /**** End of ICF editor section. ###ICF###*/ diff --git a/bacnet-stack/ports/stm32f10x/stm32f10x_it.c b/bacnet-stack/ports/stm32f10x/stm32f10x_it.c index 632ab73c..48a829d4 100644 --- a/bacnet-stack/ports/stm32f10x/stm32f10x_it.c +++ b/bacnet-stack/ports/stm32f10x/stm32f10x_it.c @@ -52,17 +52,78 @@ void NMI_Handler( { } +#ifndef NDEBUG +// From Joseph Yiu, minor edits by FVH +// hard fault handler in C, +// with stack frame location as input parameter +// called from HardFault_Handler in file xxx.s +void hard_fault_handler_c (unsigned int * hardfault_args) +{ + unsigned int stacked_r0; + unsigned int stacked_r1; + unsigned int stacked_r2; + unsigned int stacked_r3; + unsigned int stacked_r12; + unsigned int stacked_lr; + unsigned int stacked_pc; + unsigned int stacked_psr; + + stacked_r0 = ((unsigned long) hardfault_args[0]); + stacked_r1 = ((unsigned long) hardfault_args[1]); + stacked_r2 = ((unsigned long) hardfault_args[2]); + stacked_r3 = ((unsigned long) hardfault_args[3]); + + stacked_r12 = ((unsigned long) hardfault_args[4]); + stacked_lr = ((unsigned long) hardfault_args[5]); + stacked_pc = ((unsigned long) hardfault_args[6]); + stacked_psr = ((unsigned long) hardfault_args[7]); + +#if 0 + printf ("\n\n[Hard fault handler - all numbers in hex]\n"); + printf ("R0 = %x\n", stacked_r0); + printf ("R1 = %x\n", stacked_r1); + printf ("R2 = %x\n", stacked_r2); + printf ("R3 = %x\n", stacked_r3); + printf ("R12 = %x\n", stacked_r12); + printf ("LR [R14] = %x subroutine call return address\n", stacked_lr); + printf ("PC [R15] = %x program counter\n", stacked_pc); + printf ("PSR = %x\n", stacked_psr); + printf ("BFAR = %x\n", (*((volatile unsigned long *)(0xE000ED38)))); + printf ("CFSR = %x\n", (*((volatile unsigned long *)(0xE000ED28)))); + printf ("HFSR = %x\n", (*((volatile unsigned long *)(0xE000ED2C)))); + printf ("DFSR = %x\n", (*((volatile unsigned long *)(0xE000ED30)))); + printf ("AFSR = %x\n", (*((volatile unsigned long *)(0xE000ED3C)))); + printf ("SCB_SHCSR = %x\n", SCB->SHCSR); +#else + (void)stacked_r0; + (void)stacked_r1; + (void)stacked_r2; + (void)stacked_r3; + + (void)stacked_r12; + (void)stacked_lr; + (void)stacked_pc; + (void)stacked_psr; +#endif + + while (1); +} +#endif + /** * @brief This function handles Hard Fault exception. * @param None * @retval None */ -void HardFault_Handler( - void) +void HardFault_Handler(void) { - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) { - } +#ifndef NDEBUG +__ASM("TST LR, #4"); +__ASM("ITE EQ \n" + "MRSEQ R0, MSP \n" + "MRSNE R0, PSP"); +__ASM("B hard_fault_handler_c"); +#endif } /** @@ -134,4 +195,730 @@ void PendSV_Handler( { } +/******************************************************************************/ +/* 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). */ +/******************************************************************************/ + +void EXTI15_10_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void EXTI2_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void ETH_WKUP_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void WWDG_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void PVD_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TAMPER_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void RTC_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void FLASH_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void RCC_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void EXTI0_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void EXTI1_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void EXTI3_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void EXTI4_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void DMA1_Channel1_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void DMA1_Channel2_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void DMA1_Channel3_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void DMA1_Channel4_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void DMA1_Channel5_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +#if 0 +/* used by i2c driver */ +void DMA1_Channel6_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} +#endif + +#if 0 +/* used by i2c driver */ +void DMA1_Channel7_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} +#endif + +void ADC1_2_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void USB_HP_CAN_TX_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void USB_LP_CAN_RX0_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void CAN_RX1_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void CAN_SCE_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void EXTI9_5_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TIM1_BRK_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TIM1_UP_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TIM1_TRG_COM_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TIM1_CC_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TIM2_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TIM3_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TIM4_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void I2C1_EV_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void I2C1_ER_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void I2C2_EV_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void I2C2_ER_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void SPI1_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void SPI2_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void USART1_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +#if 0 +/* used directly in irb.c module */ +void USART2_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} +#endif + +void USART3_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void RTCAlarm_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void USBWakeUp_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TIM8_BRK_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TIM8_UP_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TIM8_TRG_COM_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TIM8_CC_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void ADC3_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void FSMC_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void SDIO_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TIM5_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void SPI3_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void UART4_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void UART5_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TIM6_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TIM7_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void DMA2_Channel1_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void DMA2_Channel2_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void DMA2_Channel3_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void DMA2_Channel4_5_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void USB_HP_CAN1_TX_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void USB_LP_CAN1_RX0_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void CAN1_RX1_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void CAN1_SCE_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TIM1_BRK_TIM9_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TIM1_UP_TIM10_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TIM1_TRG_COM_TIM11_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TIM8_BRK_TIM12_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TIM8_UP_TIM13_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + +void TIM8_TRG_COM_TIM14_IRQHandler(void) +{ +#ifndef NDEBUG + /* Go to infinite loop when interrupt occurs */ + while (1) { + /* do nothing */ + } +#endif +} + /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/