Hi Jan,

We set all but a few IRQ handlers to "os_default_irq_asm" on initialization. 
What you have to do is to set your handler with:

NVIC_SetVector(DMA2_Stream0_IRQn, (uint32_t)DMA2_Stream0_IRQHandler);
NVIC_EnableVector(DMA2_Stream0_IRQn);

PS: No need to use the "HAL_" macros from STM32Cube for this...

Best,
Fabio

On Mon, Jun 18, 2018, at 5:04 AM, Jan Clement wrote:
> Hello to you All,
> 
> I am new to mynewt and the ARM world as you would figure out by my 
> question.. I have a strong background in the 8-bit world where problems 
> tend to be easier..
> 
> I am working on a STM32f756 were I need to enable quite a lot of DMA 
> streams and also other peripheral functions (i.e. usb) I can't find yet 
> in mynewt code.
> 
> I really like the mynewt concept and would love to use it for my 
> application, a multimedia device with a touch tft, eth and wlan module.
> 
> So my question is, would it be able for me to use the mynewt kernel for 
> the running system (tasks, console, fs, update) but configure and access 
> the devices and the interrupts without using the API?
> 
> I did this when i tried to configure DMA for use with ADC1, but when I 
> write the NVIC register using HAL_NVIC_EnableIRQ(...) this crashes my 
> code, printing an "Unhandled interrupt (72)" to the console. When I 
> comment out the enable function, the system doesn't crash, but obviously 
> DMA is not working either.
> 
> I have the corresponding IRQ function in my code:
>       void DMA2_Stream0_IRQHandler(void)
> 
> but it never gets called, system crashes immediately after activating DMA.
> 
> 
> Any pointer in the right direction is highly appreciated!
> 
> Thank you very much
> 
> jan
> 
> 

Reply via email to