OSTC3 firmware upgrades

Anton Lundin glance at acc.umu.se
Fri Nov 14 09:01:29 PST 2014


Hi!

This is is a RFC series of patches to add support for firmware upgrades
on the OSTC3. The code have bin tested both against a "pcb" by HW and
against my OSTC3 so it works and does the right things. JeanDo's
ostc-companion[1] have bin the reference implementation I've looked at
when I wrote this code. 

There are still a couple of pain-points that I would like some feedback
on:


How to start the device in service mode:
To get access to the necessary commands for service mode, we can't INIT
the device with INIT(0xBB), we need to INIT it with a special service
mode sequence(0xAA, 0xAB, 0xCD, 0xEF). Now the INIT is sent in
hw_ostc3_device_open, so how do you suggest that we refactor the code to
allow another sequence after open?

The current quite crude hack is to just EXIT(0xFF) the device and
re-init it after a 6s sleep. This won't work against the OSTC Sport.


The timing between command and data in write_block:
The current hw_ostc3_device_write_block is a bit of copy-paste from
hw_ostc3_transfer, to be able to send the data buffer to the device,
without a additional copy.


Library triggered closed state:
The device reboots when it gets the FLASH_FIRM-command so how can we
"not fail" when the application then tries to talk to the device
afterwards, or even call hw_ostc3_device_close?


There are also a couple of other FIXME's in the code, which I plan on
cleaning up, but I thought that I should send out a first RFC patch
series to get some additional feedback going.


Any other ideas about how the code looks?


//Anton


1. https://bitbucket.org/JeanDo/ostc-companion/

-- 
Anton Lundin	+46702-161604


More information about the devel mailing list