Re: Flash Boards
"Mark Gollahon" <[email protected]> Fri, 02 Feb 2007 14:10:04 -0500 (EST)
| Newsgroups | gmane.comp.handhelds.linux.jornada |
|---|---|
| Message-ID | <[email protected]> |
Brian Hechinger wrote .. > On Thu, Feb 01, 2007 at 05:28:53PM -0500, Mark Gollahon wrote: > > > > Not seriously hard, but it is going to be tricky - I will > > have to write a program as well as design the hardware - all > > while not knowing if I am getting the hardware signals right > > or not (I've not created a flash programmer before). I've > > already reviewed a number of custom flash programmers that > > hobbyists have been kind enough to post, but none of them > > are exactly what is needed (most of them are waaaay too > > slow - overnight programming is ok for one-offs, but when > > you want to do twenty of them, well, its not good enough). > > Ok, so let's first look at what programming options we have > (not in any particular order): > > 1) JTAG > 2) USB > 3) the system board connector > > 1) This would probably be the easiest, however most limited > option. > > 2) This would be quite fancy, and shouldn't be too terribly > hard to add. What is the data path between the flash board > and the system board? Could we piggy-back the USB bits into > the system and be able to add a USB host adapter to the 720? > That would be wild. > > 3) This would be the most complicated as we would need to most > likely reverse engineer the interface to make it work (#2 > makes the a phase II option as the onboard USB would be able > to be used for flashing) in the first place, so while neat, > probably not an option. You haven't read the history yet, have you? We've already hashed all of this out a number of times. JTAG is useless because HP didn't bring the signals out. USB is useless because its going to be a *host* USB not a *device* USB. Furthermore, the Jornada cannot be the vehicle by which we put the "first" programming into the flash board (a "chicken-and-egg" problem - see next paragraph). Finally, reverse engineering the system connector has already been done - that is how I got the information for making a new board.... ;) You have to remember that the Jornada isn't like a "regular PC". When you pull off its ROM/RAM board, its dead. It has absolutely no programming for the StrongARM processor to execute. Sticking a new board on it with empty flash is useless because of this (its like a PC with corrupted or no BIOS - it just doesn't work). The flash has to have something on it for the Jornada to even boot - and the Jornada can't be the vehicle by which we program the flash because there isn't any programming in the flash initially (ad nauseum). So, the only options we have left is either program the flash on a "standard" flash programmer *before* soldering it to the board, OR to program the flash after soldering it to the board. The problem with programming before we solder to the board is: "what happens if the program loaded doesn't run?" - which is bound to happen at least early in the project. To reprogram the flash with "new bits", we'd have to unsolder them. I don't know about you, but I'd say that unsoldered BGA flash is dead flash. Unsoldered TSOP flash is just about as dead. I don't want to junk what could be upwards of $100 in parts just because I can't reprogram the silly flash. Finally, we're left with programming the flash through the only interface we have - the J's system connector. However, we can't use the J to flash because its dead without its board. We have to create a specialized flash programmer that acts like a J but that can program the flash. And creating this programmer is the real time-sink (and why I haven't made this work yet). > > And don't forget someone still has to put together the > > bootloader that will go into the flash.... The only non-x86 > > bootloader I've had experience with so far is RedBoot, and > > that has been as a user and not a developer. > > I keep meaning to start working with RedBoot and eCos. Maybe > this is the perfect opportunity. :) I'd LOVE it if you could do that piece. However, making the board AND programmer must come before RedBoot and eCos. There are a few things you can do in parallel (like getting RedBoot's RAM version running on the J), but we will still need a ROM version to put into the flash and that step can only be done once the hardware has been manufactured. > > Needless to say, there is a lot more work to do than just > > putting a board together.... I'm hoping that we can interest > > some of the really hard-core "gear-head" embedded types to > > help out or take over the bootloader once the board is ready. > > They'd probably be able to get things running faster than I > > would. > > I'm a software guy, new to the embedded field, but I do know > quite a few people who are just completely freakin' amazing with > embedded stuff, so I might be able to dig up some resources. > > From the very positive response on this list of who wants boards, > I think we should be able to get ourselves into a cheaper > quantity discount fairly easily. So far I've counted somewhere in the neighborhood of 20 boards for the community. This means a minimum of two batches of boards - 5 in the first batch as development "you can torch these boards", and 20 in the second batch for the community once the development is done. Not a large number , but nothing "to sneeze at" either. Now, if I could buy a couple of J's from Buy.com so that I can blow them up, too. :) Regards, -Mark Gollahon _______________________________________________ jornada mailing list [email protected] https://handhelds.org/mailman/listinfo/jornada