Dear Chris,

Yes, i've followed the step you given; but after step 2 it gave me "Error: Timeout reading from serial connection".

It only recover after i reset nrf52dk power and it show the result i sent to you previously.

And when i tried to do step 1 again, it gave me "Error:  rc=6"

$ newtmgr -c mynewt_serial image list Images: slot=0 version: 1.0.0 <http://1.0.0.0/> bootable: true flags: active confirmed hash: 6d1b9bb73f9cf223145a28e4e0d7702a1b2aaf60a7a6d66497e02a841cd72c8c slot=1 version: 1.0.0 <http://1.0.0.0/> bootable: false flags: hash: 0fd6f020a3ff70d4cd150e6233185c6e9b8b93f60af97fb67bc728daa6573f0b Split status: matching $ newtmgr -c mynewt_serial image test 0fd 6f020a3ff70d4cd150e6233185c6e9b8b93f60af97fb67bc728daa6573f0b Images: slot=0 version: 1.0.0 <http://1.0.0.0/> bootable: true flags: active confirmed hash: 6d1b9bb73f9cf223145a28e4e0d7702a1b2aaf60a7a6d66497e02a841cd72c8c slot=1 version: 1.0.0 <http://1.0.0.0/> bootable: false flags: pending hash: 0fd6f020a3ff70d4cd150e6233185c6e9b8b93f60af97fb67bc728daa6573f0b Split status: matching $ newtmgr -c mynewt_serial reset Done $ newtmgr -c mynewt_serial image list ^C (cause it hang here indefinitely so i cancel it) $ newtmgr -c mynewt_serial image upload splitty.img <http://plitty.img/>Error: Timeout reading from serial connection upload - Upload image to target Usage: newtmgr image upload [flags] Examples: newtmgr -c olimex image upload <image_file newtmgr -c olimex image upload bin/slinky_zero/apps/slinky.img <http://slinky.img/> Global Flags: -c, --conn string connection profile to use. -l, --loglevel string log level to use (default INFO.) <http://info.%29/>(default "info") -t, --trace print all bytes transmitted and received


Thank you.

Regards,

Then Yoong Ze


On 23/2/2017 12:44 AM, Christopher Collins wrote:
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
.


Reply via email to