cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F407 DMA1(USART1-USART6) TX Callback ınterrupt silence

baris.akpinar
Associate II

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.

0693W00000WJyufQAD.png

1 ACCEPTED SOLUTION

Accepted Solutions
baris.akpinar
Associate II

Thanks DeLorean,After setting the addresses as 512 bytes, my problem was solved.

View solution in original post

2 REPLIES 2

Don't the vectors need to live​ on a 512 byte (9-bit) boundaries?

U​se the sector boundaries

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
baris.akpinar
Associate II

Thanks DeLorean,After setting the addresses as 512 bytes, my problem was solved.