summaryrefslogtreecommitdiff
path: root/manual/advanced_topics/archos-flashing.tex
diff options
context:
space:
mode:
Diffstat (limited to 'manual/advanced_topics/archos-flashing.tex')
-rw-r--r--manual/advanced_topics/archos-flashing.tex36
1 files changed, 18 insertions, 18 deletions
diff --git a/manual/advanced_topics/archos-flashing.tex b/manual/advanced_topics/archos-flashing.tex
index 747fd5c0a4..29133ae6c2 100644
--- a/manual/advanced_topics/archos-flashing.tex
+++ b/manual/advanced_topics/archos-flashing.tex
@@ -37,7 +37,7 @@ the Archos firmware to there, too.
37\note{For now, the binary contained in the brand new player flash package does 37\note{For now, the binary contained in the brand new player flash package does
38contain Rockbox built from current CVS in the second image slot. This is to 38contain Rockbox built from current CVS in the second image slot. This is to
39lower the risk of flashing (at least one of the images will hopefully work) in 39lower the risk of flashing (at least one of the images will hopefully work) in
40case you don't program a second image yourself in the first step. Of course the 40case you do not program a second image yourself in the first step. Of course the
41second image can be replaced like with the other models.} 41second image can be replaced like with the other models.}
42 42
43There are two programming tools supplied: 43There are two programming tools supplied:
@@ -45,18 +45,18 @@ There are two programming tools supplied:
45\begin{itemize} 45\begin{itemize}
46\item The first one is called \fname{firmware\_flash.rock} and is used to 46\item The first one is called \fname{firmware\_flash.rock} and is used to
47 program the whole flash with a new content. You can also use it to revert 47 program the whole flash with a new content. You can also use it to revert
48 back to the original firmware you've hopefully backup-ed. In the ideal case, 48 back to the original firmware you have hopefully backup-ed. In the ideal case,
49 you'll need this tool only once. You can view this as "formatting" the flash 49 you'll need this tool only once. You can view this as "formatting" the flash
50 with the desired image structure. 50 with the desired image structure.
51\item The second one is called \fname{rockbox\_flash.rock} and is used to 51\item The second one is called \fname{rockbox\_flash.rock} and is used to
52 reprogram only the second image. It won't touch any other byte, should be 52 reprogram only the second image. It will not touch any other byte, should be
53 safe to fool around with. If the programmed firmware is in-operational, you 53 safe to fool around with. If the programmed firmware is in-operational, you
54 can still use the \opt{recorder,recorderv2fm}{\ButtonFOne}\opt{ondio}{\ButtonLeft}\opt{player}{\ButtonLeft} start with the Archos firmware and Rockbox booted 54 can still use the \opt{recorder,recorderv2fm}{\ButtonFOne}\opt{ondio}{\ButtonLeft}\opt{player}{\ButtonLeft} start with the Archos firmware and Rockbox booted
55 from disk to try better. 55 from disk to try better.
56\end{itemize} 56\end{itemize}
57 57
58The non-user tools are in the \fname{flash} subdirectory of the CVS source 58The non-user tools are in the \fname{flash} subdirectory of the CVS source
59files. There's an authoring tool which composed the firmware file with the 59files. There is an authoring tool which composed the firmware file with the
60bootloader and the 2 images. The bootloader project, a firmware extraction 60bootloader and the 2 images. The bootloader project, a firmware extraction
61tool, the plugin sources, and the tools for the UART boot feature: a monitor 61tool, the plugin sources, and the tools for the UART boot feature: a monitor
62program for the box and a PC tool to drive it. Feel free to review the sources 62program for the box and a PC tool to drive it. Feel free to review the sources
@@ -72,7 +72,7 @@ to bulletproof this code. The new firmware file is completely read before it
72starts programming, there are a lot of sanity checks. If any fails, it will not 72starts programming, there are a lot of sanity checks. If any fails, it will not
73program. Before releasing this, we have checked the flow with exactly these 73program. Before releasing this, we have checked the flow with exactly these
74files supplied here, starting from the original firmware in flash. It worked 74files supplied here, starting from the original firmware in flash. It worked
75reliably, there's no reason why such low level code should behave different on 75reliably, there is no reason why such low level code should behave different on
76your box. 76your box.
77 77
78\opt{player}{ 78\opt{player}{
@@ -86,11 +86,11 @@ your box.
86 } 86 }
87} 87}
88 88
89There's one ultimate safety net to bring back boxes with even completely 89There is one ultimate safety net to bring back boxes with even completely
90garbled flash content: the \emph{UART} boot mod, which in turn requires the 90garbled flash content: the \emph{UART} boot mod, which in turn requires the
91serial mod. It can bring the dead back to life, in that it is possible to 91serial mod. It can bring the dead back to life, in that it is possible to
92re-flash independently from the outside, even if the flash is completely erased. 92re-flash independently from the outside, even if the flash is completely erased.
93It has been used that during development, else Rockbox in flash wouldn't have 93It has been used that during development, else Rockbox in flash would not have
94been possible. Extensive development effort went into the exploitation of the 94been possible. Extensive development effort went into the exploitation of the
95UART boot mod. Mechanically adept users with good soldering skills can easily 95UART boot mod. Mechanically adept users with good soldering skills can easily
96perform these mods. Others may feel uncomfortable using the first tool 96perform these mods. Others may feel uncomfortable using the first tool
@@ -102,23 +102,23 @@ are unlikely to experience problems. The flash tools have been stable for quite
102a while. Several users have used them extensively, even flashing while playing! 102a while. Several users have used them extensively, even flashing while playing!
103Although it worked, it is not the recommended method. 103Although it worked, it is not the recommended method.
104 104
105About the safety of operation: Since we have dual boot, you're not giving up 105About the safety of operation: Since we have dual boot, you are not giving up
106the Archos firmware. It is still there when you hold 106the 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 107\opt{recorder,recorderv2fm}{\ButtonFOne}\opt{ondio}{\ButtonLeft}\opt{player}{\ButtonLeft} during startup. So even if Rockbox from flash is not 100\% stable for
108everyone, you can still use the box, re-flash the second image with an updated 108everyone, you can still use the box, re-flash the second image with an updated
109Rockbox copy, etc. 109Rockbox copy, etc.
110 110
111The flash chip being used by Archos is specified for 100,000 cycles, so you don't need to worry about that wearing out. 111The flash chip being used by Archos is specified for 100,000 cycles, so you do not need to worry about that wearing out.
112 112
113\subsection{Requirements} 113\subsection{Requirements}
114You need two things: 114You need two things:
115\begin{itemize} 115\begin{itemize}
116\item The first is a \playername. Be sure you're using the correct package, 116\item The first is a \playername. Be sure you are using the correct package,
117 they are different! 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 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 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=??), 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're out of luck. The only chance then is to solder in the right chip 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, 122 (SST39VF020), at best with the firmware already in. If the chip is blank,
123 you'll need the UART boot mod as well. 123 you'll need the UART boot mod as well.
124\end{itemize} 124\end{itemize}
@@ -151,11 +151,11 @@ Long version, step by step procedure:
151 This is purely for security reasons, flashing does not need more power than usual. 151 This is purely for security reasons, flashing does not need more power than usual.
152\item Run the \fname{firmware\_flash.rock} plugin. It again tells you about your 152\item Run the \fname{firmware\_flash.rock} plugin. It again tells you about your
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 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
154 hardware mask value will be kept, it won't overwrite it. Hitting \opt{recorder,recorderv2fm}{\ButtonFTwo}\opt{ondio}{\ButtonUp}\opt{player}{\ButtonOn} gives you 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
155 a big warning. If we still didn't 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 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
156 the sanity check fails, you have the wrong kind of boot ROM and are out of luck 156 the sanity check fails, you have the wrong kind of boot ROM and are out of luck
157 by now, sorry. 157 by now, sorry.
158\item In the unlikely event that the programming should give you any error, don't 158\item In the unlikely event that the programming should give you any error, do not
159 switch off the box! Otherwise you'll have seen it working for the last time. 159 switch off the box! Otherwise you'll have seen it working for the last time.
160 While Rockbox is still in DRAM and operational, we could upgrade the plugin via 160 While Rockbox is still in DRAM and operational, we could upgrade the plugin via
161 USB and try again. If you switch it off, it is gone. 161 USB and try again. If you switch it off, it is gone.
@@ -188,9 +188,9 @@ Long version:
188 188
189The second image is the working copy, the \fname{rockbox\_flash.rock} plugin from 189The second image is the working copy, the \fname{rockbox\_flash.rock} plugin from
190this package re-programs it. The plugins needs to be consistent with the Rockbox 190this package re-programs it. The plugins needs to be consistent with the Rockbox
191plugin API version, otherwise it will detect mismatch and won't run. 191plugin API version, otherwise it will detect mismatch and will not run.
192 192
193It requires an exotic input, a UCL-compressed image, because that's the internal 193It requires an exotic input, a UCL-compressed image, because that is the internal
194format. UCL is a nice open-source compression library. The decompression is very 194format. UCL is a nice open-source compression library. The decompression is very
195fast and less than a page of C-code. The efficiency is even better than Zip with 195fast and less than a page of C-code. The efficiency is even better than Zip with
196maximum compression, reduces file size to about 58\% of the original size. For 196maximum compression, reduces file size to about 58\% of the original size. For
@@ -212,7 +212,7 @@ Here are the steps:
212 content to the USB drive, replacing the old. 212 content to the USB drive, replacing the old.
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 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
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 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
215 version you're about to flash. It is required if you are currently running 215 version you are about to flash. It is required if you are currently running
216 RomBox. 216 RomBox.
217\item Just \emph{play} the \fname{.ucl} file in the \fname{.rockbox} directory, 217\item Just \emph{play} the \fname{.ucl} file in the \fname{.rockbox} directory,
218 this will kick off the \fname{rockbox\_flash.rock} plugin. It is a bit similar 218 this will kick off the \fname{rockbox\_flash.rock} plugin. It is a bit similar
@@ -229,7 +229,7 @@ and can run directly from flash ROM, saving some RAM. The second way is the newe
229and now preferred one. Use this if available. 229and now preferred one. Use this if available.
230 230
231If you like or have to, you can also flash the Archos image as the second one. 231If you like or have to, you can also flash the Archos image as the second one.
232E.g. in case Rockbox from flash doesn't work for you. This way you keep the dual 232E.g. in case Rockbox from flash does not work for you. This way you keep the dual
233bootloader and you can easily try different later. The \fname{.ucl} of the Archos 233bootloader and you can easily try different later. The \fname{.ucl} of the Archos
234firmware is included in the package. 234firmware is included in the package.
235 235