Posted on October 26, 2015 at 20:39This code snippet is from STM32 IAP example. It is common for most bootloaders. // Check if valid stack address (RAM address) then jump to user application if( ((*(__IO uint32_t*)MAIN_PROGRAM_START_ADDRESS) & 0...
Posted on July 31, 2015 at 13:38As written in Ref.Man. DMA stream x FIFO control register (DMA_SxFCR) (x = 0..7) Address offset: 0x24 + 0x24 � stream number Reset value: 0x0000 0021 It is true only for DMA1 streams, but for DMA2 reset value...
Posted on September 26, 2014 at 11:40I have met such bug. Installing and reinstalling CubeMX and JavaVM few times does no effect. OS: win8.1. #clock-configuration #stm32cubemx
Posted on September 26, 2014 at 08:35I have met such bug. Installing and reinstalling CubeMX and JavaVM few times does no effect. OS: win8.1. #stm32cubemx #clock-configuration
Posted on June 24, 2014 at 09:04I'm trying to make reciprocal counter on STM32F4-Discovery. Concept: 0. Input signal connected to TIM1_Ch1 (PA8) and TIM4_ETR (PE0); 1. TIM1 is clocked from HSE 168MHz, configured to start from external ...
Posted on October 27, 2015 at 23:08O. NO. Playing with bit-masks is not good idea. Big chance to make mistake0x2FFE_0000 & 7000_0000 = 0x2000_0000 // will pass. NOT a RAM 0xFFFE_0000 & 1002_0000 = 0x1000_0000 // will pass. NOT a RAM Mask 0x2FFE_0...
Posted on October 27, 2015 at 22:41Your right. So resuming volatile uint32_t *stack_pointer = (volatile uint32_t*)MAIN_PROGRAM_START_ADDRESS; if( *stack_pointer & 0x2FFE0000 == 0x20000000 ) the same as if( 0x20000000<=*stack_pointer &&...
Posted on October 27, 2015 at 12:54I dont know any reason to put main stack into else address than end of RAM. Please explain. So my code will look like: uint32_t stack_pointer = *(__IO uint32_t*)MAIN_PROGRAM_START_ADDRESS; if( stack_pointe...