Quantcast
Channel: Processors
Viewing all articles
Browse latest Browse all 125121

Forum Post: TMS320C5505 I2C I2C_init() lockup condition

$
0
0

Hello,

I am troubleshooting a lockup condition with my C5505 firmware involving the initialization of the I2C peripheral.

The I2C_init() function will often times not return. It just hangs up the processor.

I noticed that the CSL documentation referenced on TI's C5000 web page is no longer up to date.

The only current documentation I found was the html generated from the sparse comments in the I2C source code.

Can someone answer some simple questions for me?

Q1) I am using version 2.5 of the CSL. Are there issues with the I2C interface of this rev?

Q2) Does the CSL I2C_init() function use one of the hardware timers?

TIMER0 is used elsewhere in my code base.

Q3) The html Documentation tells me that nothing is required prior to calling I2C_init().

Is that actually true?

Q4) is the configuration structure mentioned in the CSL doc still accurate? (see below)

If so, It sure looks like a hardware timer is being used.

I2C_Config

Uint16 i2coar Own address register

Uint16 i2cier Interrupt mask/status register

Uint16 i2cstr Interrupt status register

Uint16 i2cclkl Clock Divider Low register

Uint16 i2cclkh Clock Divider High register

Uint16 i2ccnt Data Count register

Uint16 i2csar Slave Address register

Uint16 i2cmdr Mode register

Uint16 i2cisrc Interrupt source vector register

Uint16 i2cpsc Prescaler register

Thank You,

Forrest


Viewing all articles
Browse latest Browse all 125121

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>