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
.