Search found 16 matches

by gicho
Mon Feb 23, 2015 5:34 pm
Forum: STM32 Support
Topic: I2C hangs in event interrupt if I2C bus is disturbed
Replies: 2
Views: 3828

Re: I2C hangs in event interrupt if I2C bus is disturbed

Hm, just found this post:
http://forum.chibios.org/phpbb/viewtopic.php?f=2&t=924
Not good at all. I really don't like the idea for SW I2C. But I cannot track the problem, the default: case in the event interrupt is not "a default", it is obviously intended to "work" in some ...
by gicho
Sun Feb 22, 2015 9:57 am
Forum: STM32 Support
Topic: I2C hangs in event interrupt if I2C bus is disturbed
Replies: 2
Views: 3828

I2C hangs in event interrupt if I2C bus is disturbed

This is a minor issue from RTOS point of view, but still I need to find a solution for it ...
I have a system where the MCU (STM32F4) communicates with a slave chip - ecompass. Currently the MCU polls the ecompass chip every 20ms to feed data to ecompass processing algorithm that makes the ...
by gicho
Sun Feb 22, 2015 9:21 am
Forum: STM32 Support
Topic: HandFault exception in PROLOGUE of DMA1_Stream interrupt
Replies: 4
Views: 2983

Re: HandFault exception in PROLOGUE of DMA1_Stream interrupt

ICU handler is relatively short - there are no long running activities, just simple Manchester decoding, I think it is below 5us (@84MHz) in any case. But I cannot disable it.
There is an I2C thread that polls the ecompass chips every 20ms, it reads some 12-18 bytes in each transaction.
In parallel ...
by gicho
Fri Feb 20, 2015 6:21 pm
Forum: STM32 Support
Topic: HandFault exception in PROLOGUE of DMA1_Stream interrupt
Replies: 4
Views: 2983

Re: HandFault exception in PROLOGUE of DMA1_Stream interrupt

Yes, all debug options are enabled. I will try the IRQ priority fix, if this doesn't help I will have to rewrite the I2C code using no interrupts (maybe libopencm3 driver or std lib ones).
Thank you for the hint, hope that the priority will help.
by gicho
Fri Feb 20, 2015 1:04 pm
Forum: STM32 Support
Topic: HandFault exception in PROLOGUE of DMA1_Stream interrupt
Replies: 4
Views: 2983

HandFault exception in PROLOGUE of DMA1_Stream interrupt

I see sporadic hardfaults (STM32F4 target). The application is quite complex - it uses 3 UARTS to communicate to the outside world and to other modules, also monitors digital compass on the I2C bus and not-so-often accesses an SPI FLASH on SPI1 peripheral. In the meantime I use the ICU peripheral ...
by gicho
Tue Feb 17, 2015 6:33 pm
Forum: STM32 Support
Topic: "Dirty" stop of the RTOS and entering deep sleep mode
Replies: 2
Views: 2466

Re: "Dirty" stop of the RTOS and entering deep sleep mode

Thank you, I will look for this information.
by gicho
Mon Feb 16, 2015 8:37 pm
Forum: STM32 Support
Topic: "Dirty" stop of the RTOS and entering deep sleep mode
Replies: 2
Views: 2466

"Dirty" stop of the RTOS and entering deep sleep mode

In my application I have to stop the microcontroller (STM32F4) in deep sleep mode. Then it will be woken by edge on SYS WKUP pin (this is equivalent to reset - that's why I don't care about "clean" stop of the RTOS - I don't need to "re-start" after sleep).
I have implemented the steps to stop all ...
by gicho
Sat Dec 20, 2014 7:11 pm
Forum: STM32 Support
Topic: Possible issue in USARTv1 driver, serve_interrupt() function
Replies: 7
Views: 3816

Re: Possible issue in USARTv1 driver, serve_interrupt() func

Everything without the debug trace. Yesterday I even enabled it (the debug trace) to check context switches to get a hint if anything runs after overrun error. What I saw is that the buffer pointer is not moving any more after the constant interrupt problem.
by gicho
Sat Dec 20, 2014 3:42 pm
Forum: STM32 Support
Topic: Possible issue in USARTv1 driver, serve_interrupt() function
Replies: 7
Views: 3816

Re: Possible issue in USARTv1 driver, serve_interrupt() func

I never lock anything in my threads.
I am using period/width callbacks with ICU driver and have some code inside, I know it runs in the interrupt context. But I don't use locking in my code (in the callback).
I had ADC callback too and it was using chSysLockFromIsr()/Unlock() around the call of ...
by gicho
Sat Dec 20, 2014 1:59 pm
Forum: STM32 Support
Topic: Possible issue in USARTv1 driver, serve_interrupt() function
Replies: 7
Views: 3816

Re: Possible issue in USARTv1 driver, serve_interrupt() func

I cannot simplify it, it hangs only with the complex project when all threads are active. Also, it does not appear instantly, I need to run the device for at least several minutes to get the problem.
Meanwhile I made a "hack" to the serve_interrupt() - it just check if ORE bit is set and makes the ...