Squirrels have fuzzy tails.
0 Members and 1 Guest are viewing this topic.
I don't think you can just wire a bunch of AVRs in parallel to program them using ISP since the programming process requires two-way SPI communication between the programmer and the AVR being programmed.
Your first step should be to program a single AVR with the bootloader, use that bootloader to upload your hello-world program, and then read the hex file from the AVR. Once you have that combined hex file, you can program all your AVRs with that single hex file (as opposed to the two programming cycles per chip you had planned).
if you need to change the fuses/lock bits, create a windows batch file that uses avrdude to configure and program each chip
you can order them programmed as you wish from atmel ...
the answer appears to be: chuck some money at it and buy a shiny gang programmer.
2) If you plan on doing this more than once or something you might be able to just hook up some kind of rig where you can just slide the MCU Board, all assembled already, under a little boom with the needed 6 pins but instead of pins use copper plates so when you slide it under, the copper plates contact, program, and push another one in to start the process over
And are you planning on doing swarm bots or something? Just curious as to why you need the same program on 50+ AVRs....Or are you going to sell 50 dollar bot chips preprogrammed?
Ill get back to you on this soon
Quote2) If you plan on doing this more than once or something you might be able to just hook up some kind of rig where you can just slide the MCU Board, all assembled already, under a little boom with the needed 6 pins but instead of pins use copper plates so when you slide it under, the copper plates contact, program, and push another one in to start the process overI think Ill do this in combo with bens's idea, as I need to do testing of the other pins too - attaching power, servos, etc to test the various functions/components.
QuoteYour first step should be to program a single AVR with the bootloader, use that bootloader to upload your hello-world program, and then read the hex file from the AVR. Once you have that combined hex file, you can program all your AVRs with that single hex file (as opposed to the two programming cycles per chip you had planned).Interesting idea!So when I do this, even though its one hex file, it still remains as two 'separate' programs correct? (meaning I can modify the 'hello world' program without re-uploading the bootloader too, correct?)
Your first step should be to program a single AVR with the bootloader, use that bootloader to upload your hello-world program, and then read the hex file from the AVR. Once you have that combined hex file, you can program all your AVRs with that single hex file (as opposed to the two programming cycles per chip you had planned).Interesting idea!
Hmmmm they seem to cost from $2k to $5k . . . a random student paid $20/hour (or pizza!) would be significantly cheaper . . . TonguePlus, my 100-pin surface mount AVR's will already be mounted on the PCB . . .
have you considered getting a bunch of USB parallel (or serial, depending on your programmer) dongles and using your regular programming method in multiple instances?
So when I do this, even though its one hex file, it still remains as two 'separate' programs correct? (meaning I can modify the 'hello world' program without re-uploading the bootloader too, correct?)
a bootloader is putting the program it receives into exactly the same kind of memory as any other programmer but in the space *after* the bootloader program.when the AVR first runs it's code it will run the the bootloader first (as it occupies the first program memory space). the bootloader looks for input. if it sees no input the bootloader routine will move on to execute the next bit of code which is where the code uploaded by the bootloader is stored.if you read the hex code from an AVR with bootloader and bootloaded code it will all appear as one as it all exists in the same memory space.(hope all that made sense. i'm a little tipsy.)