2022-12-01 04:32 AM
I wish everyone good work.First of all, sorry for my bad english.
I would like to talk about the problem I had with my STM32F407.
There are 3 programs running on my system.
These:
* Bootloader 1 (Updates the bootloader 2.)
load region = 0x08000000
size_region = 0x00004000
* Bootloader 2 (Updates the application.)
load region = 0x0800C100
size_region = 0x00014000
* Application
ROM 1:
load region = 0x08020100
size_region = 0x00040000
ROM 2:
load region = 0x080C0000
size_region = 0x0040000
When I install applications one by one, all the interrupts in the system work.
But as soon as I install the bootloader and the application, the UART DMA Tx interrupts do not work. A total of 6 UARTs are used in my system.Only UART1 and UART6 where I'm experiencing interrupt silence. UART1 and UART6 work on the APB1 line, depending on the DMA2 channel. I do not have a problem with the working uarts on the DMA1 channel. Although I turned off interrupts during application transitions, I could not solve the problem. I guess something is staying open during the migration.
I checked the addresses of my interrupt vectors. It starts from the same place as the application.
Vector address at application startup = SCB->VTOR = 0x08020100
I'd like to get your opinions on the transition problem I'm experiencing between applications.
Solved! Go to Solution.
2022-12-01 07:11 AM
Thanks DeLorean,After setting the addresses as 512 bytes, my problem was solved.
2022-12-01 06:16 AM
Don't the vectors need to live on a 512 byte (9-bit) boundaries?
Use the sector boundaries
2022-12-01 07:11 AM
Thanks DeLorean,After setting the addresses as 512 bytes, my problem was solved.