We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi, friend, is anybody willing to share on how to build a programmer in 8051 ?
My meaning is like create a own software and hardware for flashing 8051. Totally start from ZERO. Step by step up, bit by bit sending the HEX file to the MCUs.
source code avaliable I think is a good start point.
hmmm i might wish to make one for PIC ;) ;) ;)
"Hi, friend, is anybody willing to share on how to build a programmer in 8051 ?"
Yes, there are loads of them already published on the Web!
eg: home.tiscali.de/.../index.htm home.tiscali.de/.../index.htm www.atmel.com/.../doc3ae686c15593f.pdf www.atmel.com/.../app_notes.asp "
You cannot flash an actual 8051 - it is a ROM part.
The method required for programming a flash-based 8051-derivative is manufacturer-specific and often also chip-specific.
If you're dealing with flash parts, why not just go for ones that support In-System Programming (ISP)? Then you can just use free tools such as Flashmagic... http://www.flashmagictool.com/
Hi, friends,
what I mean is to build the programmer by ourselves including the software, firmware and hardware. The purpose is to learn how actually the firmware flash into the MCU. I think there is many hobbyist would like to learn about this. We need the lowest knowledge to build the programmer eg. how to send data bit by bit, byte by byte or packet by packet from computer to the flash programmer.
Willarc Pas and Willarc800 is the example. Is anyone here who is expert in this ? after built then can share it open source so that other members or hobbyist will help to upgrade it become more powerful or become multi programmer that means it is not only can program 8051s but also other MCUs or EEPROMs. We can call it Chye - Programmer which is open source to all members and hobbyist so that we no need to source so hard for a best programmer since we have the best and expertise here in the forum.
What will you think
Start by building electronics where every pin on the chip can be driven to any voltage between 1.2 to 15V and can supply up to maybe 50-100mA. More if the voltage is low.
Then you should be able to program most chips. Just switch in power (normally a combination of 1.8V, 3.3V and/or 5V) to the different Vcc pins of the chip. Supply any required high-voltage programming power (probably 8 to 15V) to Vpp pin (whichever that is).
Then perform the programming, using the required data voltages (normally 3.3V or 5V) and suitable timing.
Obviously, the amount of electronics is very expensive (check the price of commercial programmers) and then you have to supply a huge set of programming algorithms since there are a huge number of different ways to program chips (even chips of the lowly C51 family).
Then, many chips can change their programming method or timing or voltages between different revisions, so your code should (for some chips) try to see if there are a chip id to read out. This is especially important for chips with high-voltage programming.
a certified commercial programmer manufacturer.
(most) manufacturers do not release parallel programming info unless you have this status.
I have been told by an insider that this is the result of the technical support departments being overloaded by amateurs with their kitchen table programmer problems.
so, for all practical purposed you either limit yourself to ISP or find an investor.
Erik
anyone interested to do it for 8051 lets do that......lets make our own firmware , software + hardware for 8051 programmer. im just fed up with my programmer which is " ez downloader " available on internet.
"anyone interested to do it for 8051 lets do that......lets make our own firmware , software + hardware for 8051 programmer."
Fine - but not really a question about Keil products, is it? See: http://www.keil.com/forum/
Set yourselves up a project website, and make a start on it. Maybe at Sourceforge: sourceforge.net/index.php
Post a link here, so that any interested parties can join in...
If you're going to make it an open-source project, it might be more appropriate to use an open-source compiler...?
Just a thought.
Is anybody here can explain how actually send those bits in the HEX file from the PC to the mcu ?? Can show some examples code so that begineer can get understand easier. From UVISION source code is in C# language but it is too complicated and hard to understand. Can anybody shows some simple code ? maybe we can start to program EEPROM first also can.
"Is anybody here can explain how actually send those bits in the HEX file from the PC to the mcu ??"
There are many possible ways to do it - which one(s) do you want to support?
The easiest way is probably over an RS232 link - there are plenty of serial comms examples around!
"Can show some examples code so that begineer can get understand easier."
Look at the "Hello, world" sample, and start from there...
"From UVISION source code is in C# language"
No, it is not. It is in ANSI 'C' (possibly also C++ for ARM)
"it is too complicated and hard to understand."
If you can't understand it, then you are in no way ready to start building your own programmer!
You need to start with the basics; eg, see: http://www.keil.com/books/ www.8052.com/books.phtml www.8052.com/tutorial.phtml
"maybe we can start to program EEPROM"
That will still require transferring data to the microcontroller - so start with the serial comms!
I posted "manufacturers do not release parallel programming info." (check if you do not believe me) and the thread happily com=ntinu8es with "let's make one"