BCM20372S NVRAM Read/Write I2C Speed

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

I am sharing the I2C bus with the BCM20372S and 3 external devices.  To communicate with those external devices I am using the i2cm_* functions.  I set the clock to 100Khz using i2cm_setSpeed(I2CM_SPEED100KHZ);.  Communication to those external devices is flawless.

When I use bleprofile_WriteNVRAM it sometimes works (returns the length of data written).  When I use bleprofile_ReadNVRAM it never works (always returns 0 and does not change the payload).

I am able to remove my external devices from the I2C bus.  When I do this both bleprofile_WriteNVRAM and bleprofile_ReadNVRAM work correctly.

This test leads me to believe that the bleprofile_WriteNVRAM and bleprofile_ReadNVRAM are using a faster clock.  Is there a setting somewhere to change this?

I am surprised this isn't screwing up other BCM20732S EEPROM operations (programming, power up, resets).  How is NVRAM Read/Write different than those operations?

Thanks.

1 Solution
Anonymous
Not applicable

Hello jpwere,

So you were able to communicate with all 3 I2C devices on the bus?

Sorry that I assumed that you had 4 I2C devices on the bus and this may have been excessive loading.

Good to you hear you got it to work.

Thanks.

JT

View solution in original post

0 Likes
8 Replies