Programming an ROM for the Propeller without a board
nick112147
Posts: 42
Hey everyone, one thing I noticed is that in order to program the ROM chips, you have to have build or buy a propeller board just for the purpose of writing programs to a ROM chip. Do I have to build or buy a board for this purpose, or will any EEPROM, FLASH or EPROM writer capable of serial communications and compatible with the footprint? What are some alternatives to the method described in the manual and datasheet for getting propeller programs onto a ROM chip? Any help is greatly appriciated!
Nick
Nick
Comments
What is the purpose of programming a serial EEPROM chip with Propeller code unless it is connected to the Propeller???????????????
I2C serial EEPROMs can be programmed with 2 lines from the old PC parallel port if you really want to, but what are you going to do with it then???
Notice my use of question marks.
*Peter*
The only problem is the wait for the shipping. Pick UPS
Cheers,
--fletch
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Join us in the Un-Official Propeller IRC channel: irc.freenode.net #propeller
Newbies, oldies, programmers, math professors, and everyone in-between welcome!
Propeller IRC howto
spinc - open source Spin compiler
Are you trying to do a production run or similar for the Propeller Chip? I can understand if you are mass producing something that it is better to program the EEPROM external and then populate the circuit. I am working through this right now, but my quantity is 25 pieces, so it is isn't a problem to connect the device to the PC and upload the latest firmware.
Any cuircit or device that can program an I2C EEPROM should work for programming the EEPROM. The Prop Tool can save a binary and an EEPROM file that should be able to be upload in an EEPROM programmer.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter
www.brilldea.com·- check out the uOLED-IOC, an I/O expansion for the uOLED-96-PROP
www.tdswieter.com
One little spark of imagination is all it takes for an idea to explode
Post Edited (Timothy D. Swieter) : 3/14/2008 3:23:13 AM GMT
@fletch: Oh not that is more than reasonable, that is what I was hoping I could do. It is the devkit prices I was whining about lol. Good programmers that will last a while and can program more than one kind of chip really cost a bundle! However, as you explained, just making one myself wouldnt go above 100 dollars. Couple that with open chip programming software and it would be almost like having a custom made programmer.... because it is.
@Timothy: Not really a production run, but a single game cartrige will be using probably about four 32k eeproms for graphics and programs. Two chips each probably. As I said to Peter, I just don't want to have to use another propeller just to program the chips via a Propeller demo board. My console will already be using 2 propellers, one for main processing and another as a graphics co-processor.
My view of the propeller might be strange and different, but you have to admit, so is the propeller! In a very very good way might I add.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter
www.brilldea.com·- check out the uOLED-IOC, an I/O expansion for the uOLED-96-PROP
www.tdswieter.com
One little spark of imagination is all it takes for an idea to explode
Absolutely no offense intended, it's more of a "if I've gotta scratch my head that hard then I'm sure gonna make some funny sounds". But nobody does business out of a shoe-box anyway so certainly why would you quibble about a few bucks? I am not 100% sure of what you are trying to do or what the big problem is but I would solder blank eeproms directly to the cartridge and then have a propeller board hanging off the pc with a cartridge connector. That way you could just plug in a cartridge and hit F11. Alternatively you could program the propeller to automatically load a blank cartridge from a copy it has in it's eeprom(s). Or am I missing some vital point?
BTW, welcome fellow prophead, to the weird and wonderful world of the propeller way of doing things.
*Peter*
If you have some kind of EEPROM programmer already that you'd like to use, you could save your program in EEPROM image form (binary) from the Propeller Tool. This is simply a 32K file containing the contents of the EEPROM byte by byte. If you have a utility program for your EEPROM programmer that downloads an image file like this, then you're set. Otherwise, you'll have to write some kind of conversion program to a format that your EEPROM programmer will accept.
@Peter: LOL none taken. One of the main reasons I would quibble about a few bucks is finances. I have just enough to complete this project, I really do have to run a tight ship in order to squees all of the parts in. It can be done, I have bugeted it all out, but it will be within a penny's width of maxing out the budget I have (pun intended, after this is done, I would be suprised if I have any money left). Also another reason is, making a cartrige writer or eeprom writer from another propeller would be 10x more complex and time consuming than some proto-board, a DIP plug, some resistors and caps and a serial port connector. Some people sell them on Ebay for about 10 bucks and write several types of serial eeproms.
@Mr.Green: Sadly I do not have a good commercial eeprom programmer that comes with software. As I said before $10 serial programmers are widely avaliable off the internet. They usualy recommend something like WinPic or ICProg.
You all have excellent ideas, especialy making a dedicated cartrige writer! In the future, if it ever becomes commercial (I seriously doubt it, it is a pipe dream lol), that may be possible, but right now finances just do not permit. Having to spring for a new water heater the other day didn't help finances either LMAO. Here is honestly all I need, and want:
http://www.vk2zay.net/article_attachment.php/96
That accompanied with the programs I mentioned to Mr.Green should work.
Like I said, the Propeller Tool does make the compiled program available in a form that could be used for your serial programmer
given the right programming software. It is also pretty cheap and easy to take a Protoboard, cut the traces to the existing EEPROM
and add an 8-pin socket (maybe even a ZIF socket) for an EEPROM that you wire in place of the existing one. You can then use
the Propeller Tool directly to program all the EEPROMs you want.
All EEPROMs are given part numbers based on the number of bits, not bytes.
Be careful of "steals". It's easy to get something that won't really do what you want,
but sure sounds like it could or takes an inordinate amount of work to really work for you.
Post Edited (Mike Green) : 3/14/2008 5:39:28 AM GMT
·
* A commercial programmer
* IcProg / WinPic etc plus suitable Eeprom interface
* A DIY programmer, Propeller or otherwise
As you are on a tight budget a DIY programmer using a Propeller would seem to be the cheapest approach. You can use your actual Game Console hardware as that will already be fitted with the required interface and connectors for the cartridge already.
You do not need an additional Propeller chip to do the programming. You may be able to 'throw a switch' and have the PropTool download into the cartridge using F11 or you could temporarily remove the game software, load the cartridge programming software, program the cartridge then reload the game software.
If / when your funds stretch to buying another Propeller ProtoBoard you could quite easily turn that into a dedicated DIY Cartridge programmer and it should be a comparable price to a commercial unit. It would likely be more suited to programming cartridges with banked / multiple Eeprom if that's what you have than a commercial unit. As only a few I/O lines would be used it is also available for other Propeller development and experimenting when not in use as a programmer.
Before deciding on a commercial programmer ( or IcProg / WinPic etc ) I would recommend you have your cartridge design finalised and determine the process of how it will be programmed. If the cartridge contains a single Eeprom this will be simple but banked or multiple Eeprom may require more complex circuitry, setting switches, following complicated programming sequences, and may ultimately prove frustrating to use.
You can export the bin from proptool and program the eeprom with ponyprog..
There was also a fancy circuit just for the eeprom, there was a free programmer with it.. Don't have the link with me..
@LustInBlack: Yes, PonyProg will probably be used. I will be programming one chip at a time with the binary data.
You may have good reasons for doing it the way you are bu these are just some suggestions.
A few notes:
-If you can read the eeprom, you can write it with the same setup.
-Although the prop will load 32kb into memory automatically, to use this with multiple eeproms is going to be a pain. If you look into the eeprom writing i2c objects in the object exchange, it would be better to load what you need using it. With it you can address the particular eeprom you want, and what parts of it (even if it's over 32kb). It can write any of that also... which means that you can program it all with this object too.
-Like someone said above, i2c eeproms are a bus, so you can have up to like 127 on the same 2 lines, and with the i2c object, you can write or read from any of them with the propeller.
Using that, you can write a small prop program that you load into the system like normal, then from there it communicates to the pc through serial, and programs all the eeproms, including reprogramming the one it was loaded into with the system's -os-.
It took me an hour to learn to use the i2c object for writing/reading eeproms (to use the upper 32kb in the protoboard for data storage), I suggest you take a look at it.
I don't really understand this as the circuitry should be no different for reading than for writing. Writing is controlled entirely by software, a bit set in the 'command' one sends to the Eeprom indicating if it is a read or a write.
Also, why use eeproms for data at all? Just put propDOS on the one eeprom that the propeller needs and use an SD card for everything else. If you use an SD card than you just need a reader for that which you can get cheaply from just about anywhere.
One argument in support of the console also being used as the cartridge programmer is quite simply the saving of time and cost.
eeprom 1 = copy program and led blinker and push button sensor.
eeprom 2 = source eeprom
eeproms 3,4,5,6 = eeproms to be cloned with the source.
green led on: put eeproms in place.
press button
red led on: don't pull the eeproms, they're getting written
green led on: pull eeproms, they're cooked.
Not an arguement for eeprom, as at my local wallmart I can get a 12-in-1 memory card reader via usb for $20. (Which is about the same considering shipping on ebay.) However, if you must ebay, http://cgi.ebay.com/New-Viking-USB-12-in-1-Memory-Card-Reader-Smart-Media_W0QQitemZ320228648291QQihZ011QQcategoryZ18872QQssPageNameZWDVWQQrdZ1QQcmdZViewItem .
Just my 2 cents, but if your going eeprom, atleast look into, and play with the i2c object. It's quite obvious that you don't understand it completely, and I think if you did, although you might not do it exactly how it's been suggested, you'd atleast be more aware of your options. Now, as far as eeprom vs sd card... sd card is the way to go imo. Not only will you have much, much more space, it'll be cheaper to make some stickers to put on the sd card, then to buy an eeprom, produce a pcb, make a plastic casing, and finally still need a sticker. Finally, an sd card simplifies loading data strait from pc, making it as simple as pie.
You should wait till your design is finalized before doing anything, however, once again take a look at the i2c object. The more you know about all the options, the easier, and better your design will be.
Good Luck, keep us informed.