⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at https://www.dialog-semiconductor.com/support . We’ll be fixing bugs / optimising the searching and tagging over the coming days.
5 posts / 0 new
Last post
tinychipsarebig
Offline
Last seen: 10 months 2 weeks ago
Joined: 2020-09-07 19:03
DA14531 I2C boot address

Hello, I'd like to use an I2C memory whose address matches the address the SoC uses when booting from I2C. According to page 95 of the datasheet, the default I2C address is 0x055, but does that refer to the address it looks for upon booting? If so, then I should use a memory with a default I2C address of 1010101.

Device: 
PM_Dialog
Offline
Last seen: 2 days 8 hours ago
Staff
Joined: 2018-02-08 11:03
Hi tinychipsarebig,

Hi tinychipsarebig,

Thanks for your question. Apologies but I cannot understand what your issue is, so could you please try to explain it a bit more?

Do you want to boot from I2C? If yes, then please check the AN-B-072: DA14531 Booting from OTP and Serial Interfaces.

The SDK includes an example that demonstrates how to initiate, read, write and erase an EEPROM memory.

It is under projects\target_apps\peripheral_examples\i2c\i2c_eeprom SDK path.

Thanks, PM_Dialog

tinychipsarebig
Offline
Last seen: 10 months 2 weeks ago
Joined: 2020-09-07 19:03
I2C slave devices like memory

I2C slave devices like memory devices have an address which is typically 0101XXXX where the first 4 bits are usually 0101 (0x5) for memory devices, but the other 4 bits vary among devices, and some have programmable addresses.

I'd like to know what I2C boot address the DA14531 uses by default in its boot sequence when it queries P0_3 and P0_4 for I2C memory devices to boot from.

It would probably query a specific address on the P0_3 and P0_4 I2C port (possibly 0x55 as indicated on page 95), then see if it gets a valid response and if it does, it would boot from that interface. Booting from the Dialog software is not an option for my device as they will need to be mass produced, and the best route would be to program the I2C memory devices with the initial software, and with a specific I2C slave address.

Let me know if I left anything out, these are really complicated systems, so I'm very grateful to be able to have a dialog with Dialog on this forum!

PM_Dialog
Offline
Last seen: 2 days 8 hours ago
Staff
Joined: 2018-02-08 11:03
Hi There,

Hi There,

When the device boots from I2C`, it will scan from 0x50 and the address will be incremented up to 0x57. Then, it waits for a reply and try to boot from the I2C interface. Please take a look at the attached image. You can use a logic analyzer in your side too.

Thanks, PM_Dialog

Attachment: 
tinychipsarebig
Offline
Last seen: 10 months 2 weeks ago
Joined: 2020-09-07 19:03
Thanks for the answer, that's

Thanks for the answer, that's perfect. Additionally, that's an awesome bootloader design! Very robust and very cool. Thanks!