<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rockbox/rbutil/rbutilqt/base/bootloaderinstallams.cpp, branch master</title>
<subtitle>My Rockbox tree</subtitle>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/'/>
<entry>
<title>rbutil: enable "done" signal on bootloader uninstall</title>
<updated>2016-08-15T18:10:59+00:00</updated>
<author>
<name>Cástor Muñoz</name>
<email>cmvidal@gmail.com</email>
</author>
<published>2016-01-09T01:21:45+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=5a673d6df2125c5b17534e8ee9c143de9e3cd512'/>
<id>5a673d6df2125c5b17534e8ee9c143de9e3cd512</id>
<content type='text'>
This allows to implement multi-stage uninstallers. Should not affect
the behaviour on current targets.

Change-Id: Idf8aec5caf76cf9317798890d094a7cebdbcabec
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows to implement multi-stage uninstallers. Should not affect
the behaviour on current targets.

Change-Id: Idf8aec5caf76cf9317798890d094a7cebdbcabec
</pre>
</div>
</content>
</entry>
<entry>
<title>Use cutelogger for Rockbox Utility internal trace.</title>
<updated>2013-11-04T22:32:52+00:00</updated>
<author>
<name>Dominik Riebeling</name>
<email>Dominik.Riebeling@gmail.com</email>
</author>
<published>2013-11-03T10:08:18+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=4d2ce949b3b41f8bf0af446fa20205ddd229e579'/>
<id>4d2ce949b3b41f8bf0af446fa20205ddd229e579</id>
<content type='text'>
Change tracing from qDebug() to use cutelogger, which is available under the
LGPL2.1. This allows to automatically add filename and line number to the log,
and also provides multiple log levels.

Change-Id: I5dbdaf902ba54ea99f07ae10a07467c52fdac910
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change tracing from qDebug() to use cutelogger, which is available under the
LGPL2.1. This allows to automatically add filename and line number to the log,
and also provides multiple log levels.

Change-Id: I5dbdaf902ba54ea99f07ae10a07467c52fdac910
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix typo in source string.</title>
<updated>2013-08-18T16:49:08+00:00</updated>
<author>
<name>Dominik Riebeling</name>
<email>Dominik.Riebeling@gmail.com</email>
</author>
<published>2013-06-18T21:08:09+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=ee55acdc938025f8d97f4f6be7a5a30bf8b8f489'/>
<id>ee55acdc938025f8d97f4f6be7a5a30bf8b8f489</id>
<content type='text'>
Change-Id: Iaa3f3c34b6f6931a6620dfbe3d24cf6a57b96e77
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Iaa3f3c34b6f6931a6620dfbe3d24cf6a57b96e77
</pre>
</div>
</content>
</entry>
<entry>
<title>Add note to AMS bootloader installation about OF file.</title>
<updated>2013-06-09T17:51:08+00:00</updated>
<author>
<name>Dominik Riebeling</name>
<email>Dominik.Riebeling@gmail.com</email>
</author>
<published>2013-06-09T15:32:30+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=a2c3e3fd0dee8ba65e0bb1bd3216fb5df9efcb74'/>
<id>a2c3e3fd0dee8ba65e0bb1bd3216fb5df9efcb74</id>
<content type='text'>
Some devices contain a bin file in the root folder of the player. This caused
confusion a couple of times, since the installer asks for a bin file. Add a
note that the required file is not present on the player and will get removed
automatically.

Change-Id: I6cd5c25b319770555c3939377a3ed86ed3181dad
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some devices contain a bin file in the root folder of the player. This caused
confusion a couple of times, since the installer asks for a bin file. Add a
note that the required file is not present on the player and will get removed
automatically.

Change-Id: I6cd5c25b319770555c3939377a3ed86ed3181dad
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove svn keyword lines from sources.</title>
<updated>2011-10-19T20:51:16+00:00</updated>
<author>
<name>Dominik Riebeling</name>
<email>Dominik.Riebeling@gmail.com</email>
</author>
<published>2011-10-19T20:51:16+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=7263ccb105c982155c80a1a77055dc77a4d85db4'/>
<id>7263ccb105c982155c80a1a77055dc77a4d85db4</id>
<content type='text'>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30806 a1c6a512-1295-4272-9138-f99709370657
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30806 a1c6a512-1295-4272-9138-f99709370657
</pre>
</div>
</content>
</entry>
<entry>
<title>Make the AMS bootloader prompt slightly more specific.</title>
<updated>2011-05-13T18:35:19+00:00</updated>
<author>
<name>Michael Giacomelli</name>
<email>giac2000@hotmail.com</email>
</author>
<published>2011-05-13T18:35:19+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=6484b45d711661c97c5d349065903c40f11ca579'/>
<id>6484b45d711661c97c5d349065903c40f11ca579</id>
<content type='text'>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29870 a1c6a512-1295-4272-9138-f99709370657
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29870 a1c6a512-1295-4272-9138-f99709370657
</pre>
</div>
</content>
</entry>
<entry>
<title>mkamsboot/rbutil/amsinfo : do not try to detect the model of a given Sansa AMS OF</title>
<updated>2010-05-24T10:06:52+00:00</updated>
<author>
<name>Rafaël Carré</name>
<email>rafael.carre@gmail.com</email>
</author>
<published>2010-05-24T10:06:52+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=ff6b0425e438add8d12393f90fdbfe93e1fb4746'/>
<id>ff6b0425e438add8d12393f90fdbfe93e1fb4746</id>
<content type='text'>
The field we thought was representative of the model is not, it has
changed in the past for fuzev1 and fuzev2.
For example the value 0x23 is found in 2 old fuzev1 OF versions, and in
the c200v2 OF

The only reliable way to detect the model of a given OF is by using the
built-in list of md5sums.

Modify mkamsboot and rbutilqt to load the rockbox bootloader first, and
then check if the model in the bootloader corresponds to the model of
the known md5sum of the given OF.

That way we can continue to present the user with a list of known OF
versions in case the OF is unknown to mkamsboot

Also explicit the dependency of main.c on mkamsboot.h in case the
prototypes change
Correct the header's description not updated in r21648

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26248 a1c6a512-1295-4272-9138-f99709370657
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The field we thought was representative of the model is not, it has
changed in the past for fuzev1 and fuzev2.
For example the value 0x23 is found in 2 old fuzev1 OF versions, and in
the c200v2 OF

The only reliable way to detect the model of a given OF is by using the
built-in list of md5sums.

Modify mkamsboot and rbutilqt to load the rockbox bootloader first, and
then check if the model in the bootloader corresponds to the model of
the known md5sum of the given OF.

That way we can continue to present the user with a list of known OF
versions in case the OF is unknown to mkamsboot

Also explicit the dependency of main.c on mkamsboot.h in case the
prototypes change
Correct the header's description not updated in r21648

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26248 a1c6a512-1295-4272-9138-f99709370657
</pre>
</div>
</content>
</entry>
<entry>
<title>rbutil: link to the Sansa forums when the user is requested to download a Sansa AMS firmware</title>
<updated>2010-02-19T23:45:29+00:00</updated>
<author>
<name>Rafaël Carré</name>
<email>rafael.carre@gmail.com</email>
</author>
<published>2010-02-19T23:45:29+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=8b1bbdb0135d394c99f4ecbf987b715a03214630'/>
<id>8b1bbdb0135d394c99f4ecbf987b715a03214630</id>
<content type='text'>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24778 a1c6a512-1295-4272-9138-f99709370657
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24778 a1c6a512-1295-4272-9138-f99709370657
</pre>
</div>
</content>
</entry>
<entry>
<title>mkamsboot: prevents 2 potential problems</title>
<updated>2010-02-19T14:10:26+00:00</updated>
<author>
<name>Rafaël Carré</name>
<email>rafael.carre@gmail.com</email>
</author>
<published>2010-02-19T14:10:26+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=b6c20c17e462d29192ea579ee061af8437457bac'/>
<id>b6c20c17e462d29192ea579ee061af8437457bac</id>
<content type='text'>
We checked if the new firmware block (bootloader+ucl function+packed
bootloader &amp; OF) fit in the OF file, but not if it would run properly.

For example the Clipv2 OF is bigger than 0x50000 bytes uncompressed, but
it fitted in this space when packed and concatenated to a packed
bootloader + ucl function and dualboot code (but we use 1MB of RAM and
not 0x50000 anyway).

Now we check that both bootloader and OF are small enough to be unpacked
at runtime: the unpacked data must be smaller than available memory and
not overlap with ucl function and packed data (although the unpacked and
packed data could probably overlap a bit, I don't know how to calculate
this and this could be quite complex).

total_size() is replaced by check_sizes() which will perform all the
checks and set an error string if the firmware can't be patched.
(both mkamsboot and rbutilqt modified accordingly)

The second problem is that dualboot.S assumed r3 and r5 were left
untouched in the device specific checks. This was undocumented and very
error prone when modifying these checks.

r3 is the last byte of packed copy (bootloader or OF)
r5 is the entry point of uclunpack function derived from r3, so move r5
calculation after the device specific code.

Even if r3 is currently unused in the device specific code, we store it
in memory after copying the ucl function, when it points to the last byte
of packed data (not yet copied at this point since we didn't chose if we
boot the OF or the bootloader), and restore it just before using it so no
restriction is placed on registers usage in device specific code.

Add a new variable ucl_dest in dualboot.S set by mkamsboot.c, which
represents the last bound of buffer where we copy the ucl function, and
then the packed data (bootloader or OF).

RAM_SIZE definition is moved from dualboot.S to mkamsboot.c new
model_memory_size(), where it is a bit better documented.

Tested on e200v2 and Clip+

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24772 a1c6a512-1295-4272-9138-f99709370657
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We checked if the new firmware block (bootloader+ucl function+packed
bootloader &amp; OF) fit in the OF file, but not if it would run properly.

For example the Clipv2 OF is bigger than 0x50000 bytes uncompressed, but
it fitted in this space when packed and concatenated to a packed
bootloader + ucl function and dualboot code (but we use 1MB of RAM and
not 0x50000 anyway).

Now we check that both bootloader and OF are small enough to be unpacked
at runtime: the unpacked data must be smaller than available memory and
not overlap with ucl function and packed data (although the unpacked and
packed data could probably overlap a bit, I don't know how to calculate
this and this could be quite complex).

total_size() is replaced by check_sizes() which will perform all the
checks and set an error string if the firmware can't be patched.
(both mkamsboot and rbutilqt modified accordingly)

The second problem is that dualboot.S assumed r3 and r5 were left
untouched in the device specific checks. This was undocumented and very
error prone when modifying these checks.

r3 is the last byte of packed copy (bootloader or OF)
r5 is the entry point of uclunpack function derived from r3, so move r5
calculation after the device specific code.

Even if r3 is currently unused in the device specific code, we store it
in memory after copying the ucl function, when it points to the last byte
of packed data (not yet copied at this point since we didn't chose if we
boot the OF or the bootloader), and restore it just before using it so no
restriction is placed on registers usage in device specific code.

Add a new variable ucl_dest in dualboot.S set by mkamsboot.c, which
represents the last bound of buffer where we copy the ucl function, and
then the packed data (bootloader or OF).

RAM_SIZE definition is moved from dualboot.S to mkamsboot.c new
model_memory_size(), where it is a bit better documented.

Tested on e200v2 and Clip+

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24772 a1c6a512-1295-4272-9138-f99709370657
</pre>
</div>
</content>
</entry>
<entry>
<title>Make Rockbox Utility build again and make some strings translatable. Break some long lines.</title>
<updated>2010-01-19T23:16:43+00:00</updated>
<author>
<name>Dominik Riebeling</name>
<email>Dominik.Riebeling@gmail.com</email>
</author>
<published>2010-01-19T23:16:43+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=92042548a25101813dadc64e45ba987a1cc46210'/>
<id>92042548a25101813dadc64e45ba987a1cc46210</id>
<content type='text'>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24293 a1c6a512-1295-4272-9138-f99709370657
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24293 a1c6a512-1295-4272-9138-f99709370657
</pre>
</div>
</content>
</entry>
</feed>
