I am working on several projects that involve reverse engineering of small microcontroller systems. Increasingly I am finding that these contain Elan Microelectronics Corp microcontrollers in them, most commonly the EM78 series (specifically the EM78P156K and EM78P418N). These appear to be very low cost 8-bit processors with fairly typical peripherals and OTP ROM. This wikipedia page and datasheets suggest they have some similarity with PIC processors, but it would be a stretch to call them clones based on just the information I have.
I presume that they are targeted at cheap mass-produced consumer electronics as OTP ROM makes development awkward.
I have found these in many products across a range of manufacturers now, and I am surprised at how little they are mentioned on the internet as a whole, and how poor the documentation is. EMC does not seem interested in helping those who aren't buying thousands of units.
Here is a PDF of a PowerPoint presentation that refers to the in-system-programming in a roundabout way.
As stated by m.Alin, there is a big page of supporting documentation.
However, most of these 404 for me, and if I google for other copies, they are of poor quality and very disjointed. "AN-023 On Board Program for EM78 Family's OTP" looks interesting - but if this is a google cache of it (going by filename), then it isn't.
There are references to using the UWTR and DWTR programmers. I can't find where to buy these though. There have been listings on ebay, but they are untested and infrequent.
I have just found this document ("How to Implement ICP Using ELAN EM78PXXX General Purpose OTP MCUs") which has a couple of interesting pieces of information:
Note: for manufacturers wanting to develop their own OTP programming hardware, Elan’s OTP programming specifications are available free of charge under NonDisclosure Agreement (NDA).
The EM78P156 is pin and function compatible with Microchip PIC 16C54/55/56 (see Elan application note “Replacing Microchip’s PIC 16C54/55/56/57 with Elan Microelectronic’s EM78P156/P447”).
I can't find this application note unfortunately.
There are also references to a robot kit called "Cybot" and how they are PIC clones.
I have yet to get any response from their support and I have tried calling and emailing. The domain "www.elan-europe.com" mentioned on some datasheets is dead, so I am stuck with Taiwan.
So, my questions are:
- How close are these to clones of PIC processors? Sounds like the EM78P156K is a direct clone - does this include ISP?
- Does anyone know of any example projects, hobbyist or commercial, that are documented on the internet and use this series of processors?
- Is there an open source or otherwise freely available toolchain for them?
- Mention is made of in system programming in several data sheets and pages, but I can't find any documentation. Does anyone know of any?