Hi Then, On Wed, Feb 22, 2017 at 02:11:36PM +0800, then yon wrote: > Dear Support, > > I'm followed the tutorial below: > https://mynewt.apache.org/latest/os/modules/split/split/ > > But i'm stuck at image upload step; it gave me the following error: [...] > Error: Target error: 2
Error 2 indicates that there is no free slot for the new image. In your email, the "image list" output is a bit touch to read because it got collapsed into a single line. Here is my attempt to unravel it: > $ newtmgr -c mynewt_serial image list > Images: > slot=0 > version: 1.0.0 > bootable: true > flags: active confirmed > hash: 493c5e78e76a9c1b9e574ab38b7bbf0d342d928ffd0111400dbe8c2c952da68e > > slot=1 > version: 1.0.0 > bootable: false > flags: active confirmed > hash: > 4d26a0d1596e12dab9059df3a13b4ffd54f96836cd9080d579c6afc167d58e81 > > Split status: matching Notice that both slots have the "active" and "confirmed" flags set. This indicates that both slots are currently running. You need to run the image in loader-only mode in order to replace the app in slot 1. This is described in the "Image Upgrade - Split" section of the page you linked to (https://mynewt.apache.org/latest/os/modules/split/split/). Specifically: 1. Disable split functionality; we need to deactivate the application image in slot 1 (newtmgr image test <current-loader-hash>). 2. Reboot device (newtmgr reset). 3. Make above change permanent (newtmgr image confirm). 4. Upload new loader to slot 1 (newtmgr image upload <filename>). 5. Tell device to "test out" the new loader on next boot (newtmgr image test <new-loader-hash>). 6. Reboot device (newtmgr reset). 7. Make above change of loader permanent (newtmgr image confirm). 8. Upload new application to slot 1 (newtmgr image upload <filename>). 9. Tell device to "test out" the new application on next boot (newtmgr image test <new-application-hash>). 10. Reboot device (newtmgr reset). 11. Make above change of application permanent (newtmgr image confirm). Steps 1 and 2 will leave the device in a state such that the app in slot 1 can be replaced. Chris