diff options
Diffstat (limited to 'manual/advanced_topics')
-rw-r--r-- | manual/advanced_topics/archos-flashing.tex | 408 |
1 files changed, 163 insertions, 245 deletions
diff --git a/manual/advanced_topics/archos-flashing.tex b/manual/advanced_topics/archos-flashing.tex index 29133ae6c2..5b730820d2 100644 --- a/manual/advanced_topics/archos-flashing.tex +++ b/manual/advanced_topics/archos-flashing.tex | |||
@@ -1,271 +1,189 @@ | |||
1 | \section{\label{ref:Rockboxinflash}Rockbox in flash} | 1 | \section{\label{ref:Rockboxinflash}Rockbox in Flash} |
2 | \fixme{These instructions are outdated!!. This section is a copy of the wikipage FlashingRockbox revision r.1.19.} | ||
3 | |||
4 | \warn{Flashing Rockbox is optional. It is not required for using Rockbox on your | ||
5 | \playername. Please read the whole section thoroughly before flashing. | ||
6 | } | ||
7 | 2 | ||
8 | \subsection{Introduction} | 3 | \subsection{Introduction} |
9 | Flashing in the sense used here and elsewhere in regard to Rockbox means | ||
10 | reprogramming the flash memory of the \playerman\ unit. | ||
11 | |||
12 | When you bought your \playerman, it came with the \playerman\ firmware flashed. | ||
13 | Now, you can add Rockbox to the built-in software. | ||
14 | |||
15 | \subsection{Terminology} | ||
16 | \begin{description} | ||
17 | \item[Firmware: ] The flash ROM content as a whole. | ||
18 | \item[Image: ] Means one operating software started from there | ||
19 | \end{description} | ||
20 | |||
21 | By reprogramming the firmware, we can boot much faster. \playerman\ has an | ||
22 | unnecessary slow bootloader, versus the boot time for Rockbox is much faster | ||
23 | than the disk spin-up, in fact it has to wait for the disk. Your boot time will | ||
24 | be as quick as a disk spin-up (e.g. 4 seconds from power-up until resuming | ||
25 | playback). | ||
26 | |||
27 | \subsection{Method} | ||
28 | |||
29 | The replaced firmware will host a bootloader and 2 images. This is possible by | ||
30 | compression. The first is the \emph{permanent} backup, not to be changed any | ||
31 | more.The second is the default one to be started, the first is only used when | ||
32 | you hold the \opt{recorder,recorderv2fm}{\ButtonFOne}\opt{ondio}{\ButtonLeft}\opt{player}{\ButtonLeft} -key during start. Like supplied here, the first image | ||
33 | is the original Archos firmware, the second is empty, left for you to program | ||
34 | and update. It can contain anything you like. If you prefer, you can program | ||
35 | the Archos firmware to there, too. | ||
36 | 4 | ||
37 | \note{For now, the binary contained in the brand new player flash package does | 5 | When you bought your \playertype, it came with the \playerman\ firmware in |
38 | contain Rockbox built from current CVS in the second image slot. This is to | 6 | flash ROM. When you power on your \dap, this \playerman\ firmware starts, |
39 | lower the risk of flashing (at least one of the images will hopefully work) in | 7 | and then loads an updated firmware from disk if present (\firmwarefilename). |
40 | case you do not program a second image yourself in the first step. Of course the | 8 | An ordinary Rockbox installation only replaces the on-disk firmware, leaving |
41 | second image can be replaced like with the other models.} | 9 | the flash ROM contents intact. That means the \playerman\ firmware still |
10 | controls the boot process. | ||
11 | |||
12 | The main reason to change this is to improve the startup time of your player. | ||
13 | The \playerman\ bootloader is rather slow. With Rockbox in flash, your \dap\ | ||
14 | will boot much faster, typically in three to five seconds. Furthermore you | ||
15 | might prefer a clean Rockbox environment, with as little remnants of the | ||
16 | \playerman\ software as possible. | ||
17 | \opt{rombox}{On your \dap\ it is also possible to execute Rockbox directly | ||
18 | from flash ROM, increasing the amount of free RAM for buffering music. This | ||
19 | is called \emph{Rombox}. | ||
20 | } | ||
42 | 21 | ||
43 | There are two programming tools supplied: | 22 | \warn{Flashing your \dap\ is somewhat dangerous, like programming a mainboard |
23 | \emph{BIOS}, \emph{CD/DVD} drive firmware, mobile phone, etc. If the power | ||
24 | fails, the chip breaks while programming or most of all the programming | ||
25 | software malfunctions, you'll have a dead box. We take no responsibility of | ||
26 | any kind, you do that at your own risk. However, we tried as carefully as | ||
27 | possible to bulletproof this code. There are a lot of sanity checks. If any | ||
28 | of them fails, it will not program. | ||
29 | } | ||
44 | 30 | ||
45 | \begin{itemize} | 31 | \opt{ondio}{\warn{After flashing Rockbox, never try to ROLO the \playerman\ |
46 | \item The first one is called \fname{firmware\_flash.rock} and is used to | 32 | firmware |
47 | program the whole flash with a new content. You can also use it to revert | 33 | \opt{ondiofm}{versions 1.31f or 1.32b! These versions are flash updates |
48 | back to the original firmware you have hopefully backup-ed. In the ideal case, | 34 | themselves. If they are} |
49 | you'll need this tool only once. You can view this as "formatting" the flash | 35 | \opt{ondiosp}{version 1.32b! This version is a flash update itself. |
50 | with the desired image structure. | 36 | If it is} |
51 | \item The second one is called \fname{rockbox\_flash.rock} and is used to | 37 | applied when Rockbox is flashed, you'll end up with a garbled flash ROM |
52 | reprogram only the second image. It will not touch any other byte, should be | 38 | and hence a dead box. |
53 | safe to fool around with. If the programmed firmware is in-operational, you | 39 | }} |
54 | can still use the \opt{recorder,recorderv2fm}{\ButtonFOne}\opt{ondio}{\ButtonLeft}\opt{player}{\ButtonLeft} start with the Archos firmware and Rockbox booted | 40 | |
55 | from disk to try better. | 41 | There's an ultimate safety net to bring back boxes with even completely |
56 | \end{itemize} | 42 | garbled flash content: the \emph{UART} boot mod, which in turn requires the |
43 | \emph{serial} mod. With that it's possible to reflash independently from the | ||
44 | outside, even if the flash ROM is completely erased. | ||
45 | \nopt{ondio}{This won't work if you have one of the rare "ROMless" boxes. These | ||
46 | have no boot ROM and boot directly from flash. | ||
47 | } | ||
48 | If the first $\approx$2KB of the flash ROM are flashed ok, \emph{Minimon} can | ||
49 | be used for the same purpose. | ||
57 | 50 | ||
58 | The non-user tools are in the \fname{flash} subdirectory of the CVS source | 51 | \subsection{Terminology and Basic operation} |
59 | files. There is an authoring tool which composed the firmware file with the | ||
60 | bootloader and the 2 images. The bootloader project, a firmware extraction | ||
61 | tool, the plugin sources, and the tools for the UART boot feature: a monitor | ||
62 | program for the box and a PC tool to drive it. Feel free to review the sources | ||
63 | for all of it, but be careful when fooling around with powerful toys! | ||
64 | 52 | ||
65 | \subsection{Risks} | 53 | \begin{description} |
66 | Well, is it dangerous? Yes, certainly, like programming a mainboard | 54 | \item[Firmware:] The flash ROM contents as a whole. |
67 | \emph{BIOS}, \emph{CD/DVD} drive firmware, mobile phone, etc. If the power | 55 | \item[Image:] One operating software started from there. |
68 | fails, your chip breaks while programming or most of all the programming | 56 | \end{description} |
69 | software malfunctions, you'll have a dead box. We take no responsibility of any | ||
70 | kind, you do that at your own risk. However, we tried as carefully as possible | ||
71 | to bulletproof this code. The new firmware file is completely read before it | ||
72 | starts programming, there are a lot of sanity checks. If any fails, it will not | ||
73 | program. Before releasing this, we have checked the flow with exactly these | ||
74 | files supplied here, starting from the original firmware in flash. It worked | ||
75 | reliably, there is no reason why such low level code should behave different on | ||
76 | your box. | ||
77 | 57 | ||
78 | \opt{player}{ | 58 | The replacement firmware contains a bootloader and two images. The first image |
79 | \warn{The risk is slightly higher for player flashing, because: | 59 | is the \emph{permanent} rescue software, to be used in case something is wrong |
80 | \begin{itemize} | 60 | with the second (main) image. In current firmware files this first image |
81 | \item This is brand new | 61 | contains \emph{Bootbox} (see wiki for details). The second image is what is |
82 | \item It could not be tested with all hardware versions. | 62 | booted by default. The current firmware files contain a copy of Rockbox 3.0.1 |
83 | \end{itemize} | 63 | in the main image. It can easily be updated/replaced later. |
84 | Refer to this e-mail: | 64 | |
85 | \url{http://www.rockbox.org/mail/archive/rockbox-archive-2004-12/0245.shtml} | 65 | The bootloader allows to select which image to run. Pressing |
66 | \opt{RECORDER_PAD}{\ButtonFOne}\opt{PLAYER_PAD,ONDIO_PAD}{\ButtonLeft} at boot | ||
67 | selects the first image. | ||
68 | \opt{RECORDER_PAD}{\ButtonFTwo}\opt{PLAYER_PAD}{\ButtonPlay}\opt{ONDIO_PAD}{\ButtonUp} | ||
69 | selects the second image, which will also be booted if you don't press any | ||
70 | button. The button mapping is only there for completeness. | ||
71 | \opt{RECORDER_PAD}{\ButtonFThree}\opt{PLAYER_PAD,ONDIO_PAD}{\ButtonRight} | ||
72 | selects the built-in serial monitor called \emph{Minimon}. You should know this | ||
73 | in case you invoke it by accident. Minimon won't display anything on the | ||
74 | screen. To get out of it, perform a hardware shutdown of your \dap. | ||
75 | |||
76 | \subsection{Initial Flashing Procedure} | ||
77 | |||
78 | You only need to perform this procedure the first time you flash your | ||
79 | \playertype. You may also want to perform it in case the update procedure for | ||
80 | the second image recommends it. In the latter case do not perform the steps | ||
81 | listed under "Preparation". | ||
82 | |||
83 | \subsubsection{Preparation} | ||
84 | |||
85 | \nopt{ondio}{ | ||
86 | First, check whether your \playertype\ is flashable at all. Select | ||
87 | \setting{System $\rightarrow$ Debug (Keep Out!) $\rightarrow$ View HW | ||
88 | Info}. | ||
89 | \opt{lcd_charcell}{Cycle through the displayed values with \ButtonRight / | ||
90 | \ButtonLeft\ until "Flash:" is displayed. If it shows question marks, | ||
91 | } | ||
92 | \opt{lcd_bitmap}{Check the values in the line starting with "Flash:". If it | ||
93 | shows question marks after "M=" and "D=", | ||
86 | } | 94 | } |
95 | you're out of luck, your \dap\ is not flashable without modifying the | ||
96 | hardware. You can stop here. Sorry. | ||
87 | } | 97 | } |
88 | 98 | ||
89 | There is one ultimate safety net to bring back boxes with even completely | 99 | \nopt{ondio}{If your \dap\ is flashable, you}\opt{ondio}{You} should perform a |
90 | garbled flash content: the \emph{UART} boot mod, which in turn requires the | 100 | backup of the current flash ROM contents, in case you want to restore it later. |
91 | serial mod. It can bring the dead back to life, in that it is possible to | 101 | Select \setting{System $\rightarrow$ Debug (Keep Out!) $\rightarrow$ Dump ROM |
92 | re-flash independently from the outside, even if the flash is completely erased. | 102 | contents}. You'll notice a few seconds of disk activity. When you connect your |
93 | It has been used that during development, else Rockbox in flash would not have | 103 | \dap\ to the PC afterwards, you'll find two files in the root of your \dap. |
94 | been possible. Extensive development effort went into the exploitation of the | 104 | Copy the 256KB-sized file named \fname{internal\_rom\_2000000-203FFFF.bin} to |
95 | UART boot mod. Mechanically adept users with good soldering skills can easily | 105 | a safe place. |
96 | perform these mods. Others may feel uncomfortable using the first tool | ||
97 | (\fname{firmware\_flash.rock}) for re-flashing the firmware. | ||
98 | |||
99 | |||
100 | To comfort you a bit again: If you are starting with a known-good image, you | ||
101 | are unlikely to experience problems. The flash tools have been stable for quite | ||
102 | a while. Several users have used them extensively, even flashing while playing! | ||
103 | Although it worked, it is not the recommended method. | ||
104 | 106 | ||
105 | About the safety of operation: Since we have dual boot, you are not giving up | 107 | \subsubsection{Flashing} |
106 | the Archos firmware. It is still there when you hold | ||
107 | \opt{recorder,recorderv2fm}{\ButtonFOne}\opt{ondio}{\ButtonLeft}\opt{player}{\ButtonLeft} during startup. So even if Rockbox from flash is not 100\% stable for | ||
108 | everyone, you can still use the box, re-flash the second image with an updated | ||
109 | Rockbox copy, etc. | ||
110 | 108 | ||
111 | The flash chip being used by Archos is specified for 100,000 cycles, so you do not need to worry about that wearing out. | ||
112 | |||
113 | \subsection{Requirements} | ||
114 | You need two things: | ||
115 | \begin{itemize} | ||
116 | \item The first is a \playername. Be sure you are using the correct package, | ||
117 | they are different! | ||
118 | \item Second, you need an in-circuit programmable flash. \opt{recorder,recorderv2fm,player}{The older chips are not flashable.}\opt{ondio}{This should always | ||
119 | be flashable on Ondios, because Archos does itself provide flash updates for | ||
120 | these.} You can find out via Rockbox (\setting{Info $\rightarrow$ Debug $\rightarrow$ Hardware Info}). If the flash info gives you question marks (Flash M=?? D=??), | ||
121 | you are out of luck. The only chance then is to solder in the right chip | ||
122 | (SST39VF020), at best with the firmware already in. If the chip is blank, | ||
123 | you'll need the UART boot mod as well. | ||
124 | \end{itemize} | ||
125 | |||
126 | \subsection{Flashing procedure} | ||
127 | Short explanation: copy the \fname{firmware\_*.bin} files for your model from the | ||
128 | distribution to the root directory of your \dap, then run the | ||
129 | \fname{firmware\_flash.rock} plugin. | ||
130 | Long version, step by step procedure: | ||
131 | \begin{enumerate} | 109 | \begin{enumerate} |
132 | \item Completely install the Rockbox version you want to have in flash, from a | 110 | \item Download the correct package for your \dap\ from |
133 | full \fname{.zip} distribution, including all the plugins, etc. | 111 | \url{http://download.rockbox.org/bootloader/archos/}. It is named |
134 | \item Back up the current firmware, using the first option of the debug menu | 112 | \fname{flash-{\textless}model{\textgreater}-{\textless}version{\textgreater}.zip}. |
135 | (\setting{Info $\rightarrow$ Debug $\rightarrow$ Dump ROM Contents}). | 113 | The current packages are v2. |
136 | This creates 2 files in the root directory, which you may not immediately see | 114 | \item Unzip the flash package to the root of your \dap. |
137 | in the Rockbox browser. The 256kB-sized \fname{internal\_rom\_2000000-203FFFF.bin} one is your present firmware. Back both up to your PC. You will need them if | 115 | \nopt{ondio}{This will extract two files to the root, |
138 | you want to restore the flash contents. | 116 | \fname{firmware\_{\textless}model{\textgreater}.bin} and |
139 | \item Download the correct package for you model. Copy one or two files of it to | 117 | \fname{firmware\_{\textless}model{\textgreater}\_norom.bin}. The flash |
140 | your box: \fname{firmware\_*.bin} (name depends on your model) into the root | 118 | plugin will select the correct one for your \dap. |
141 | directory (the initial firmware for your model, with the bootloader and the | 119 | } |
142 | Archos image). There now is also a \_norom variant, copy both, the plugin will | 120 | \opt{ondio}{This will extract one file to the root, |
143 | decide which one is required for your box. | 121 | \fname{firmware\_{\textless}model{\textgreater}.bin}. |
144 | \item Enter the debug menu and select the hardware info screen. Check your flash | 122 | } |
145 | IDs (bottom line), and please make a note about your \opt{recorder,recorderv2fm,ondio}{hardware mask value}\opt{player}{ROM version}. The latter is just for our | 123 | \opt{recorder,recorderv2fm}{(The {\textless}model{\textgreater} part is |
146 | curiosity, not needed for the flow. If the flash info shows question marks, | 124 | slighty different from that in the .zip file name.) |
147 | you can stop here, sorry. | 125 | } |
148 | \item Use the \opt{recorder,recorderv2fm}{\ButtonFTwo\ settings or }the menu (\setting{General settings $\rightarrow$ File view $\rightarrow$ Show files}) to | 126 | Now safely disconnect USB. |
149 | configure seeing all files within the browser. | 127 | \item |
150 | \item Connect the charger and make sure your batteries are also in good shape. | 128 | \nopt{ondio}{Make sure your batteries are in good shape and fully charged.} |
151 | This is purely for security reasons, flashing does not need more power than usual. | 129 | \opt{ondio}{Make sure you use a set of fresh batteries.} |
152 | \item Run the \fname{firmware\_flash.rock} plugin. It again tells you about your | 130 | Flashing doesn't need more power than normal operation, but you don't want |
153 | flash and the file it is going to program. After \opt{recorder,recorderv2fm}{\ButtonFOne}\opt{ondio}{\ButtonLeft}\opt{player}{\ButtonLeft} it checks the file. Your | 131 | your \dap\ to run out of power while flashing. |
154 | hardware mask value will be kept, it will not overwrite it. Hitting \opt{recorder,recorderv2fm}{\ButtonFTwo}\opt{ondio}{\ButtonUp}\opt{player}{\ButtonOn} gives you | 132 | \item Select \setting{Plugins $\rightarrow$ Applications}, and run the |
155 | a big warning. If we still did not manage to scare you off, you can hit\opt{recorder,recorderv2fm}{\ButtonFThree}\opt{ondio}{\ButtonRight}\opt{player}{\ButtonRight} to actually program and verify. The programming takes just a few seconds. If | 133 | \fname{firmware\_flash} plugin. It will tell you about your flash and |
156 | the sanity check fails, you have the wrong kind of boot ROM and are out of luck | 134 | which file it is going to program. After pressing |
157 | by now, sorry. | 135 | \opt{RECORDER_PAD}{\ButtonFOne}\opt{PLAYER_PAD}{\ButtonMenu}\opt{ONDIO_PAD}{\ButtonLeft} |
158 | \item In the unlikely event that the programming should give you any error, do not | 136 | it will check the file. If the file is OK, pressing |
159 | switch off the box! Otherwise you'll have seen it working for the last time. | 137 | \opt{RECORDER_PAD}{\ButtonFTwo}\opt{PLAYER_PAD}{\ButtonOn}\opt{ONDIO_PAD}{\ButtonUp} |
160 | While Rockbox is still in DRAM and operational, we could upgrade the plugin via | 138 | will give you a big warning. If we still didn't manage to scare you off, you |
161 | USB and try again. If you switch it off, it is gone. | 139 | need to press |
140 | \opt{RECORDER_PAD}{\ButtonFThree}\opt{PLAYER_PAD,ONDIO_PAD}{\ButtonRight} | ||
141 | to actually program and verify. The programming takes just a few seconds. | ||
142 | \item In the unlikely event that the programming or verify steps should give | ||
143 | you any error, \emph{do not switch off the box!} Otherwise you'll have seen | ||
144 | it working for the last time. While Rockbox is still in RAM and operational, | ||
145 | we could upgrade the plugin via USB and try again. If you switch it off, | ||
146 | it's gone. | ||
162 | \end{enumerate} | 147 | \end{enumerate} |
163 | 148 | ||
164 | \nopt{player}{ | 149 | \note{After successful flashing you may delete the \fname{.bin} files from the |
165 | Now the initial procedure is done. Since the second half of the flash is still | 150 | root of your \dap. |
166 | empty, there is ``just'' the Archos image starting when you reboot now. Not much | ||
167 | has changed yet. The Archos software starts a bit quicker than usual, then loads | ||
168 | Rockbox from disk. The fun really starts when you add Rockbox to the flash, as | ||
169 | described in the next section. | ||
170 | } | 151 | } |
171 | 152 | ||
172 | \note{You may delete the \fname{.bin} files now.} | 153 | \subsection{Updating the Rockbox Image in Flash} |
173 | |||
174 | \subsection{Bringing in a Rockbox build} | ||
175 | Short version: very easy, just play an \fname{.ucl} file like | ||
176 | \fname{rockbox.ucl} from a release or build: | ||
177 | |||
178 | \begin{itemize} | ||
179 | \item Make sure you are running the same version that you are trying to flash: | ||
180 | play the \fname{ajbrec.ajz} file. | ||
181 | \item Enter the \fname{.rockbox} directory in the file browser (you might need | ||
182 | to set the \setting{File View} option to \setting{All Files}). | ||
183 | \item Play the \fname{rockbox.ucl} file (or \fname{rombox.ucl} if you want to | ||
184 | flash ROMBox) | ||
185 | \end{itemize} | ||
186 | |||
187 | Long version: | ||
188 | |||
189 | The second image is the working copy, the \fname{rockbox\_flash.rock} plugin from | ||
190 | this package re-programs it. The plugins needs to be consistent with the Rockbox | ||
191 | plugin API version, otherwise it will detect mismatch and will not run. | ||
192 | 154 | ||
193 | It requires an exotic input, a UCL-compressed image, because that is the internal | 155 | When Rockbox is booted from flash, it does not check for an updated firmware |
194 | format. UCL is a nice open-source compression library. The decompression is very | 156 | on disk. This is one of the reasons why it boots faster than the \playerman\ |
195 | fast and less than a page of C-code. The efficiency is even better than Zip with | 157 | firmware. It means that whenever you update Rockbox, you also need to update |
196 | maximum compression, reduces file size to about 58\% of the original size. For | 158 | the image in the flash. This is a simple and safe procedure: |
197 | details on UCL, see \url{http://www.oberhumer.com/opensource/ucl/}. | ||
198 | |||
199 | Rockbox developers using Linux will have to download it from there and compile | ||
200 | it. For Win32 and Cygwin the executables are next to the packages. The sample | ||
201 | program from that download is called \fname{uclpack}. We'll use that to compress | ||
202 | \fname{rockbox.bin} which is the result of the compilation. This is a part of the | ||
203 | build process meanwhile. If you compile Rockbox yourself, you should copy | ||
204 | \fname{uclpack} to a directory which is in the path, we recommend placing it in | ||
205 | the same directory as SH compiler. | ||
206 | |||
207 | |||
208 | Here are the steps: | ||
209 | 159 | ||
210 | \begin{enumerate} | 160 | \begin{enumerate} |
211 | \item Normally, you'll simply download a \fname{.zip} distribution. Copy all the | 161 | \item Download (or build) the Rockbox build you want to use, and unzip it to |
212 | content to the USB drive, replacing the old. | 162 | the root of your \dap. Safely disconnect USB. |
213 | \item Force a disk boot by holding \opt{recorder,recorderv2fm}{\ButtonFOne}\opt{ondio}{\ButtonLeft}\opt{player}{\ButtonLeft} during power-up, or at least rolo into | 163 | \item ROLO into the new rockbox version. |
214 | the new Rockbox version by \emph{Playing} the \fname{ajbrec.ajz}/fname{archos.mod} file. This may not always be necessary, but it is better to first run the | 164 | \item Go to the file browser, and enter the \fname{.rockbox} directory (you |
215 | version you are about to flash. It is required if you are currently running | 165 | might need to set the \setting{File View} option to \setting{All}.) |
216 | RomBox. | 166 | \item Play the file \fname{rockbox.ucl}\opt{rombox}{, or preferably |
217 | \item Just \emph{play} the \fname{.ucl} file in the \fname{.rockbox} directory, | 167 | \fname{rombox.ucl}}, and follow the instructions. The plugin handling |
218 | this will kick off the \fname{rockbox\_flash.rock} plugin. It is a bit similar | 168 | this is \fname{rockbox\_flash}, a viewer plugin. |
219 | to the other one, but it is made different to make the user aware. It will check | ||
220 | the file, available size, etc. With \opt{recorder,recorderv2fm}{\ButtonFTwo}\opt{ondio}{\ButtonUp}\opt{player}{\ButtonOn} it is being programmed. No need for | ||
221 | warning this time. If it goes wrong, you'll still have the permanent image. | ||
222 | \item When done, you can restart the box and hopefully your new Rockbox image. | ||
223 | \end{enumerate} | 169 | \end{enumerate} |
224 | 170 | ||
225 | You may find two \fname{.ucl} files in the \fname{.rockbox} directory. The | 171 | \subsection{Restoring the Original Flash ROM Contents} |
226 | classical, compressed one is \fname{rockbox.ucl}. If your model has enough flash | ||
227 | space left, there may be an additional \fname{rombox.ucl}, which is uncompressed | ||
228 | and can run directly from flash ROM, saving some RAM. The second way is the newer | ||
229 | and now preferred one. Use this if available. | ||
230 | |||
231 | If you like or have to, you can also flash the Archos image as the second one. | ||
232 | E.g. in case Rockbox from flash does not work for you. This way you keep the dual | ||
233 | bootloader and you can easily try different later. The \fname{.ucl} of the Archos | ||
234 | firmware is included in the package. | ||
235 | 172 | ||
236 | \subsection{Restoring the original firmware} | 173 | In case you ever want to restore the original flash contents, you will need |
237 | If you'd like to revert to the original firmware, you can do like you did when | 174 | the backup file. The procedure is very similar to initial flashing, with the |
238 | you flashed Rockbox for the first time. You simply use the backup files you saved | 175 | following differences: |
239 | when flashing Rockbox for the first time and rename \fname{internal\_rom\_2000000-203FFFF.bin} to \fname{firmware\_*.bin} (name varies per model, use the filename that \fname{firmware\_flash.rock} asks for) and put it in the root. | ||
240 | 176 | ||
241 | \subsection{Known issues and limitations} | 177 | \begin{enumerate} |
242 | Rockbox has a charging screen, but it is not 100\% perfect. You'll get it when | 178 | \item Check that you do not have any \fname{firmware\_*.bin} files in your |
243 | the unit is off and you plug in the charger. The Rockbox charging algorithm is | 179 | \dap's root. |
244 | first measuring the battery voltage for about 40 seconds, after that it only | 180 | \item Select \setting{Plugins $\rightarrow$ Applications}, and run the |
245 | starts charging when the capacity is below 85\%. | 181 | \fname{firmware\_flash} plugin. Write down the filename it displays in the |
246 | \opt{recorder,recorderv2fm}{You can use the Archos charging (which always tops off) by holding \ButtonFOne\ while plugging in.}\opt{recorderv2fm}{Some FM users reported charging problems even with \ButtonFOne, they had to revert to the original flash content.} | 182 | first screen, then exit the plugin. |
247 | 183 | \item Connect USB, and copy the flash ROM backup file to the root of your | |
248 | If the plugin API is changed, new builds may render the plugins incompatible. | 184 | \dap. \emph{Only use the backup file from that very box, otherwise you're |
249 | When updating, make sure you grab those too, and ROLO or \opt{recorder,recorderv2fm}{\ButtonFOne}\opt{ondio}{\ButtonLeft}\opt{player}{\ButtonLeft} boot into the | 185 | asking for trouble!} Rename the file so that it matches the name requested |
250 | new version before flashing it. | 186 | by the \fname{firmware\_flash} plugin. Safely disconnect USB. |
251 | 187 | \end{enumerate} | |
252 | There are two variants of how the boxes starts, therefore the normal and the | ||
253 | \_norom firmware files. The vast majority of the \daps\ all have the same boot | ||
254 | ROM content, differentiation comes later by flash content. Rockbox identifies | ||
255 | this boot ROM with a CRC value of 0x222F in the hardware info screen. \opt{recorder,recorderv2fm}{Some recorders have the boot ROM disabled (it might be unprogrammed) and start directly from a flash mirror at address zero. They need the new | ||
256 | \_norom firmware that has a slightly different bootloader.} | ||
257 | Without a boot ROM there is no UART boot safety net. To compensate for that as | ||
258 | much as possible the MiniMon monitor is included, it starts with \opt{recorder,recorderv2fm}{\ButtonFThree+\ButtonOn}\opt{ondio}{\ButtonRight+\ButtonOff}\opt{player}{\ButtonRight+\ButtonOn}. | ||
259 | Using that the box can be reprogrammed via serial if the first 2000 bytes of the | ||
260 | flash are OK. | ||
261 | 188 | ||
262 | \subsection{Download the new flash content file to your box} | 189 | Now follow the instructions given for initial flashing, starting with step 3. |
263 | \fixme{These links are not valid. Refer to the wikipage BootBox for further | ||
264 | instructions} | ||
265 | Jens Arnold hosts flash content for download. Use the following url: | ||
266 | \opt{player}{\url{http://www.jens-arnold.net/Rockbox/flash\_player.zip}} | ||
267 | \opt{recorder}{\url{http://www.jens-arnold.net/Rockbox/flash\_rec.zip}} | ||
268 | \opt{recorderv2fm}{\url{http://www.jens-arnold.net/Rockbox/flash\_fm.zip}, | ||
269 | \url{http://www.jens-arnold.net/Rockbox/flash\_v2.zip}} | ||
270 | \opt{ondiofm}{\url{http://www.jens-arnold.net/Rockbox/flash\_ondiofm.zip}} | ||
271 | \opt{ondiosp}{\url{http://www.jens-arnold.net/Rockbox/flash\_ondiosp.zip}} | ||