Firmware Upgrade KL27 using Embedded Host via I2C

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Firmware Upgrade KL27 using Embedded Host via I2C

2,159 Views
lewismarkwell
Contributor II

Hi,

I have been working on a embedded project which uses a KL27 series MCU interfaced back to a i.MX6 Solo processor via I2C. I would like to make use of the KL27s boot ROM to undertake in-field firmware upgrades whereby the i.MX6 would act as the embedded host. It should be noted that the i.MX6 is running Linux.

Could anyone please point me towards relevant information detailing how we should go about implementing the embedded host application (specifically I2C based) on an i.MX6 running Linux?

Labels (1)
0 Kudos
3 Replies

1,947 Views
LethalCorpse
Contributor I

I've got the same problem, and it's poorly documented. I've got a host running uTasker (much like FreeRTOS) on the KL17Z, with a KL03Z16 slave connected by I2C. I'd like to use MCUBOOT to deliver field updates to the slave from the host, but can't find any real examples of using an embedded host. All the documentation assumes you'll be connecting a windows PC to the slave. I've found another project which uses a cut-down version of bus_pal, but it appears (again, poorly documented) to be just a protocol translator between the USB host PC and the I2C slave. The actual work of talking to the bootloader and managing the update process appears to still be out of scope. So has anyone else attempted this and can provide example code or other resources? I'd rather not start from scratch with the bootloader reference manual.

0 Kudos

1,896 Views
isaakdevisser
Contributor I

Hello,

I was wondering if you found a way to do a firmware upgrade using embedded host via i2c. I'm also looking for such a solution. Many thanks!

Best regards,

Idv

0 Kudos

1,947 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi,

I'm afraid there isn't a demo code for your case. You have to make it by yourself. Please read the Kinetis Bootloader v2.0.0 Reference Manual for the detail of the command.

But I think there is a way to speed up your work. There is a project called BusPal in NXP_Kinetis_Bootloader_2_0_0\apps\bus_pal which  is an embedded software tool that is available as a companion to blhost. The tool acts as a bus translator with an established connection with blhost over UART and with the target device over I2C, SPI, or CAN. You can take it as a middle level component of your project.

Regards,

Jing

0 Kudos