Ok just a little update: Error is still there, but occurs only on SDA line glitches. SCL is error prone.
To reproduce error:
1) Perform continuous communication with I2C slave in loop.
2) Toggle SDA line to ground externally.
3) In around 10% cases the MCU gets stuck in I2C1_EV_IRQHandler ...
Search found 7 matches
- Thu Jan 03, 2013 2:27 pm
- Forum: General Support
- Topic: I2C Bus error handling
- Replies: 13
- Views: 18147
- Mon Aug 27, 2012 2:53 pm
- Forum: Development and Feedback
- Topic: ChibiOS OpenOCD support
- Replies: 179
- Views: 134630
Re: ChibiOS OpenOCD support
I missed this:
@dandys, I believe that __attribute__ is a GCC-specific extension.
Agree. But there can be some similar extensions for other compilers too (as is for packed structures for example). In this case some macros like KEEP_SYMBOL_BEGIN and KEEP_SYMBOL_END can be defined in chtypes.h. Are ...
@dandys, I believe that __attribute__ is a GCC-specific extension.
Agree. But there can be some similar extensions for other compilers too (as is for packed structures for example). In this case some macros like KEEP_SYMBOL_BEGIN and KEEP_SYMBOL_END can be defined in chtypes.h. Are ...
- Mon Aug 27, 2012 12:51 pm
- Forum: Development and Feedback
- Topic: ChibiOS OpenOCD support
- Replies: 179
- Views: 134630
Re: ChibiOS OpenOCD support
I missed this:
@dandys, I believe that __attribute__ is a GCC-specific extension.
Agree. But there can be some similar extensions for other compilers too (as is for packed structures for example). In this case some macros like KEEP_SYMBOL_BEGIN and KEEP_SYMBOL_END can be defined in chtypes.h. Are ...
@dandys, I believe that __attribute__ is a GCC-specific extension.
Agree. But there can be some similar extensions for other compilers too (as is for packed structures for example). In this case some macros like KEEP_SYMBOL_BEGIN and KEEP_SYMBOL_END can be defined in chtypes.h. Are ...
- Mon Aug 27, 2012 6:25 am
- Forum: Development and Feedback
- Topic: ChibiOS OpenOCD support
- Replies: 179
- Views: 134630
Re: ChibiOS OpenOCD support
Hi mabl,
maybe gcc __attribute__ ((used)) can also work for you to preserve structure. But don't know if any other commercial compilers has some similar option, so not sure about portability. Another solution would be put structure in dedicated section and use KEEP keyword for this input section in ...
maybe gcc __attribute__ ((used)) can also work for you to preserve structure. But don't know if any other commercial compilers has some similar option, so not sure about portability. Another solution would be put structure in dedicated section and use KEEP keyword for this input section in ...
- Sun Aug 05, 2012 11:02 pm
- Forum: Development and Feedback
- Topic: [STM32] I2C HAL driver problems and fixes
- Replies: 36
- Views: 55472
Re: [STM32] I2C HAL driver problems and fixes
SOLVED: it was just I2C IRQ priority problem. Increased priority and no errors now. Big thanks to barthess for patience. He helped me on IRC channel much.
- Sun Aug 05, 2012 7:41 pm
- Forum: Development and Feedback
- Topic: [STM32] I2C HAL driver problems and fixes
- Replies: 36
- Views: 55472
Re: [STM32] I2C HAL driver problems and fixes
@ barthess
Unfortunately still returning error. CH_DBG_ENABLE_ASSERTS was already disabled and I've tried attached driver . Error rate seems to be unchanged
Also tried remove Invensense MPU6050 code, but error still happening while reading out LSM303DLHC magnetometer.
Unfortunately still returning error. CH_DBG_ENABLE_ASSERTS was already disabled and I've tried attached driver . Error rate seems to be unchanged
- Sun Aug 05, 2012 1:23 pm
- Forum: Development and Feedback
- Topic: [STM32] I2C HAL driver problems and fixes
- Replies: 36
- Views: 55472
Re: [STM32] I2C HAL driver problems and fixes
Hi barthess, I have the similar behavior on my board. I2CD_ACK_FAILURE error occurs once per approximately 1400 I2C transactions, no matter what device I actually reading- I have MPU6050, LSM303DLHC and MS5611 on the bus. Early I thougt it's electrical problem, but i can see nice edges on ...