Commit graph

30 commits

Author SHA1 Message Date
Amaury Pouly
03a4ba5481 mkimxboot: rewrite dualboot
Rewrite dualboot in C code instead of assembly. Also properly
handle subtarget and simply Makefile. This should make the
dualboot stub more readable and easier to extend. The new code
also gracefully handles power up from RTC alarm on imx233.

Change-Id: I7c225254b1463a97e76b6cb4de476aa2d2c9d2f9
2013-07-07 17:36:21 +02:00
Amaury Pouly
55babd5895 mkimxboot: add zen style 100/300 firmware to the list
The tool cannot produce any firmware yet but it can extract the
OF from the installer.

Change-Id: I98684b2bf43310443d93b482aa853464f6f87fa8
2013-06-18 15:02:01 +02:00
Amaury Pouly
d561017f35 mkimxboot: factor code, add support for ELF files
Refactor code.
This tool can now either load a scrambled rockbox
firmware (in which case the model is check against the
firmware), or any ELF file. This is useful for example
for hwstub which produces a ELF file and still needs
to be loaded by producing a SB file.

Change-Id: I7aa381b3f6587788d1950793e89ce5608c53cccc
2013-06-16 02:14:52 +02:00
Amaury Pouly
7c7fa36918 sbtools,mkximboot: fix whitespace
Change-Id: I8d8adb783707172d1aaef302366c240310350ed8
2013-06-15 22:27:34 +02:00
Amaury Pouly
58e27b9fa1 mkimxboot: refactor code, no functional change
The mkimxboot was becoming messy with juge functions and
redundant code. Factor reading/writing/loading code into smaller
functions. Introduce the concept of rockbox firmware to simplify
support of other formats than scramble.

Change-Id: I3a61295ca5abca1a0eee8c9e8709c6b8dfa256a6
2013-06-15 22:27:34 +02:00
Amaury Pouly
6483e23f07 mkximxboot: fix usage() formatting
Change-Id: I2f708e2830168f481018b8d8ce98134e40b4e8f8
2013-06-15 22:27:34 +02:00
Dominik Riebeling
8a4075d454 Make libtools compile rule more generic.
Create the object - source dependency internally and use a more generic rule
for compiling. Removes the need for explicit rules for source files located in
a different folder.

This adds the limitation for SOURCES and LIBSOURCES to only hold C files.

Change-Id: I56f6a4b1e7df36347cd2f54051e072251f456092
2013-05-11 20:34:11 +02:00
Amaury Pouly
44c32f8405 mkimxboot: fix usage
Change-Id: I049908ac0fe65646906999b7e661a64506bd2594
2013-03-10 15:10:56 +01:00
Amaury Pouly
ef958abdae mkimxtool: increase performance by compiling with O3
Change-Id: I3d69801488abec4fbc2a84665614936105f60ad2
2013-02-17 12:47:01 +01:00
Amaury Pouly
42a725f7ec mkimxboot: add a switch to force version
Add a switch to override the product and component version of the
sb file. This can usually for target like the Zen X-Fi2 where the
upader allows to drop any file named firmware.sb and prints the
version: by using a funky version the users can check they got it
right. This should not be used on the fuze+ or zenxfi3 because the
OF prevents downgrade.
Also make rbutil always zero out the option structure passed to
mkimxboot, this has already created bugs in the past.

Change-Id: I175c5def52c40c2132e11300e2f037d60a4f040e
2013-01-29 11:53:07 +00:00
Amaury Pouly
7fda69222c mkimxboot: add support for 1.23.01 installer
Change-Id: Ibce345ec411a189bd4a0a9555d145c4f057d8b15
2013-01-28 21:02:19 +00:00
Amaury Pouly
aad4308f03 zenxfi2: rework dualboot
The previous dualboot scheme had a major flow: it needed to hold
menu to boot OF but the X-Fi2 boot in recovery mode with menu!
It was possible but very trick to enter the OF with USB plugged.
This code provides a new scheme:
- no USB plugged: boot to OF when menu is pressed
- USB plugged: boot to OF when power is pressed

Change-Id: Ia6e76d3ada1f67137b727daa050cf6c77afbbfb9
2013-01-28 19:15:38 +00:00
Amaury Pouly
f2dfc84760 mkimxboot: add partial support for the Zen X-Fi Style
Change-Id: I3428a398959dfd7fc46175d87fc67acce6a75171
2013-01-26 18:37:12 +00:00
Amaury Pouly
2c36c82a89 fix style
Change-Id: I169b6712121979453269f5f5238b33cc49cd62b2
2013-01-26 18:37:05 +00:00
Amaury Pouly
f6e4456cc4 mkimxboot: add an option to extract the of without processing
Change-Id: Ie370f152f4efff4428ee023a9211b82a77fd1df4
2013-01-26 18:24:50 +00:00
Amaury Pouly
b6cad07f33 mkimxboot: fix bad return on internal error
Change-Id: I6aec9ec694568c15856b03322208f257181eca21
2013-01-26 18:24:50 +00:00
Amaury Pouly
4b1c48f5f5 mkximxboot: add version string and add zenxfi3 file
Add a version string with each md5sum, fix the version of an
entry, add a new zenxfi3 file entry.

Change-Id: I9fba76ee6032bbe31acd791b8d5e104b87992653
2013-01-15 19:10:55 +00:00
Dominik Riebeling
1e2c6506fb Fix crash in mkimxboot bootloader installation.
mkimxboot requires passing a structure which got extended with another field.
This wasn't adjusted in Rockbox Utility, causing an out of bound access to an
array, which results in a segfault.

Change-Id: I0252849ed0b41f1d8804537c053debc9b0ecd08d
2012-06-09 22:08:54 +02:00
Amaury Pouly
a87a9ef373 imxtools: move tools to a new sbtools/ subdirectory
Change-Id: I0d8d6831b35037725486f61fc363de87bc8ba92e
2012-05-31 13:57:25 +02:00
Amaury Pouly
e09c1e3d43 mkimxboot: add support for more target and variants
Add creative zen x-fi 2/3 and add a variant mechanism

Change-Id: Ic2ee82a4238a87c2eb5d72b8309650d9a280325f
2012-05-19 16:10:52 +02:00
Amaury Pouly
8c0c844b7b imx233: always boot when powered up from 5v
Change-Id: I3adb901d293c801f0a8493ae4f0b23af4fa535e8
2012-02-29 00:02:31 +01:00
Amaury Pouly
c735ff2ac0 mkimxboot/fuze+: fix booting to the OF
Change-Id: I51db192d9c88952173acac6558941ba6421a31dd
2012-02-28 21:00:23 +01:00
Amaury Pouly
15c69b8baf mkximxboot/fuze+: add power button delay to power on
Only boot to rockbox if the power button is hold sufficiently long.
For consistency, use the same mechanism as the OF:
- read PSWITCH 550000 times
- boot if PSWITCH=1 at least 400000 out of 550000 times
Only apply the delay if Volume Down is not hold,
so that the OF and RB delay don't cumulate.

Change-Id: I1e8a4cd108c56bf784fcf1c320f7a001ef161701
2012-02-28 00:03:46 +01:00
Dominik Riebeling
c5530d9258 Allow passing additional CFLAGS.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31524 a1c6a512-1295-4272-9138-f99709370657
2012-01-02 16:59:26 +00:00
Dominik Riebeling
b52a9cc976 mkimxboot: use common Makefile.
Change mkimxboot to use the common Makefile. This will fix the object file
clash when building libmkimxboot for linking with Rockbox Utility (will be
needed for FS#12402).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31261 a1c6a512-1295-4272-9138-f99709370657
2011-12-14 22:00:47 +00:00
Dominik Riebeling
346f1e0fc6 Add double inclusion protection and prepare for use with C++ code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31138 a1c6a512-1295-4272-9138-f99709370657
2011-12-04 13:54:18 +00:00
Dominik Riebeling
2d2fa5c128 Add missing include.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31137 a1c6a512-1295-4272-9138-f99709370657
2011-12-04 13:54:07 +00:00
Amaury Pouly
c871076c20 mkimxboot: remove an unecessary include that will prevent compilation of rbutil
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31099 a1c6a512-1295-4272-9138-f99709370657
2011-11-30 18:44:58 +00:00
Amaury Pouly
d9b7d58fa6 mkimxboot: fix bootloader load address, replace call by jump on final call to have a clean boot
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30922 a1c6a512-1295-4272-9138-f99709370657
2011-11-06 20:40:54 +00:00
Amaury Pouly
303c486f4f Introduce mkimxboot to build bootloader images for the i.MX (only the fuze+ currently). Still not integrated in rbutil
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30920 a1c6a512-1295-4272-9138-f99709370657
2011-11-06 19:44:03 +00:00