diff options
Diffstat (limited to 'manual/advanced_topics/archos-flashing.tex')
-rw-r--r-- | manual/advanced_topics/archos-flashing.tex | 36 |
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 |
38 | contain Rockbox built from current CVS in the second image slot. This is to | 38 | contain Rockbox built from current CVS in the second image slot. This is to |
39 | lower the risk of flashing (at least one of the images will hopefully work) in | 39 | lower the risk of flashing (at least one of the images will hopefully work) in |
40 | case you don't program a second image yourself in the first step. Of course the | 40 | case you do not program a second image yourself in the first step. Of course the |
41 | second image can be replaced like with the other models.} | 41 | second image can be replaced like with the other models.} |
42 | 42 | ||
43 | There are two programming tools supplied: | 43 | There 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 | ||
58 | The non-user tools are in the \fname{flash} subdirectory of the CVS source | 58 | The non-user tools are in the \fname{flash} subdirectory of the CVS source |
59 | files. There's an authoring tool which composed the firmware file with the | 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 | 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 | 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 | 62 | program 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 | |||
72 | starts programming, there are a lot of sanity checks. If any fails, it will not | 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 | 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 | 74 | files supplied here, starting from the original firmware in flash. It worked |
75 | reliably, there's no reason why such low level code should behave different on | 75 | reliably, there is no reason why such low level code should behave different on |
76 | your box. | 76 | your box. |
77 | 77 | ||
78 | \opt{player}{ | 78 | \opt{player}{ |
@@ -86,11 +86,11 @@ your box. | |||
86 | } | 86 | } |
87 | } | 87 | } |
88 | 88 | ||
89 | There's one ultimate safety net to bring back boxes with even completely | 89 | There is one ultimate safety net to bring back boxes with even completely |
90 | garbled flash content: the \emph{UART} boot mod, which in turn requires the | 90 | garbled flash content: the \emph{UART} boot mod, which in turn requires the |
91 | serial mod. It can bring the dead back to life, in that it is possible to | 91 | serial mod. It can bring the dead back to life, in that it is possible to |
92 | re-flash independently from the outside, even if the flash is completely erased. | 92 | re-flash independently from the outside, even if the flash is completely erased. |
93 | It has been used that during development, else Rockbox in flash wouldn't have | 93 | It has been used that during development, else Rockbox in flash would not have |
94 | been possible. Extensive development effort went into the exploitation of the | 94 | been possible. Extensive development effort went into the exploitation of the |
95 | UART boot mod. Mechanically adept users with good soldering skills can easily | 95 | UART boot mod. Mechanically adept users with good soldering skills can easily |
96 | perform these mods. Others may feel uncomfortable using the first tool | 96 | perform 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 | |||
102 | a while. Several users have used them extensively, even flashing while playing! | 102 | a while. Several users have used them extensively, even flashing while playing! |
103 | Although it worked, it is not the recommended method. | 103 | Although it worked, it is not the recommended method. |
104 | 104 | ||
105 | About the safety of operation: Since we have dual boot, you're not giving up | 105 | About the safety of operation: Since we have dual boot, you are not giving up |
106 | the Archos firmware. It is still there when you hold | 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 | 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 | 108 | everyone, you can still use the box, re-flash the second image with an updated |
109 | Rockbox copy, etc. | 109 | Rockbox copy, etc. |
110 | 110 | ||
111 | The flash chip being used by Archos is specified for 100,000 cycles, so you don't need to worry about that wearing out. | 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 | 112 | ||
113 | \subsection{Requirements} | 113 | \subsection{Requirements} |
114 | You need two things: | 114 | You 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 | ||
189 | The second image is the working copy, the \fname{rockbox\_flash.rock} plugin from | 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 | 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 won't run. | 191 | plugin API version, otherwise it will detect mismatch and will not run. |
192 | 192 | ||
193 | It requires an exotic input, a UCL-compressed image, because that's the internal | 193 | It requires an exotic input, a UCL-compressed image, because that is the internal |
194 | format. UCL is a nice open-source compression library. The decompression is very | 194 | format. UCL is a nice open-source compression library. The decompression is very |
195 | fast and less than a page of C-code. The efficiency is even better than Zip with | 195 | fast and less than a page of C-code. The efficiency is even better than Zip with |
196 | maximum compression, reduces file size to about 58\% of the original size. For | 196 | maximum 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 | |||
229 | and now preferred one. Use this if available. | 229 | and now preferred one. Use this if available. |
230 | 230 | ||
231 | If you like or have to, you can also flash the Archos image as the second one. | 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 doesn't work for you. This way you keep the dual | 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 | 233 | bootloader and you can easily try different later. The \fname{.ucl} of the Archos |
234 | firmware is included in the package. | 234 | firmware is included in the package. |
235 | 235 | ||