Hi,
I'm currently working with using your training tutorials as well as AN-B-010 to execute SUOTA with an external EEPROM. I have successfully been able to update the firmware using SmartSnippets and the SDK 3. When I try to execute SUOTA using the iOS app, I can successfully connect to the device, select my file, and I complete the update form with the same I2C settings as when I was using SUOTA, but when I send the update to the device, the update screen appears and then suddenly disappears and the DA14580 is no longer discoverable. Is there any documentation for working with I2C and external EEPROM with DA14580? Thank you, ao
Device:
Hi ao,
There is no specific document for working with I2C and SUOTA, the AN-B-010 mentions the changes that one has to do in order to boot from SPI or I2C.
Thanks MT_dialog
Thank you for responding!
I am able to boot from I2C, and complete SUOTA with Smart Snippets, but no luck with iOS.
Have you been able to successfully do the SUOTA with the iOS app through I2C?
I've now switched over to on board SPI Flash to investigate the SUOTA security feature while the I2C problem is not yet resolved. I've implemented each level of security: lvl 1 - 3, and am wondering how to use lvl 3 security - authentication properly and allow myself to create an authenticated bond with my device and send the SUOTA over. I've read all the provided documentation AN-B-010, and everything I could find about the system's security but am unable to find the information I am looking for.
Hi ao,
Yes there is a problem with the I2C regarding the iOS devices, since you have the code you can use the below snippet to fix it, otherwise you will have to wait for the next release.
suota_app_ios/SUOTA/SUOTAParamsViewController.m
if ([self.memoryTypeControl selectedSegmentIndex] == 0) { // I2C
- [self gpioScannerWithString:self.i2cAddress.text toInt:&i2cAddress];
+ [[NSScanner scannerWithString:self.i2cAddress.text] scanHexInt:&i2cAddress];
[self gpioScannerWithString:self.i2cSDAAddress.text toInt:&i2cSDA];
[self gpioScannerWithString:self.i2cSCLAddress.text toInt:&i2cSCL];
[vc setMemoryType:MEM_TYPE_SUOTA_I2C];
[vc setI2cAddress:i2cAddress];
[vc setI2cSDAAddress:i2cSDA];
- [vc setI2cSCLAddress:i2cSDA];
+ [vc setI2cSCLAddress:i2cSCL];
[defaults setObject:self.i2cAddress.text forKey:@"i2cAddress"];
[defaults setObject:self.i2cSDAAddress.text forKey:@"i2cSDAAddress"];
Regarding the security and the authentication, that means that you need MITM protection in order to place a PIN code and have the link authenticated, please check the below post, this will give you some insighthttp://support.dialog-semiconductor.com/static-hard-coded-pin-pairing-sdk-5.
Thanks MT_dialog