Need (undocumented) flash programming algorithm for 8051 clone: Nuvoton W78E058D - Page 1
Forum section: electronics / general

author: Hexley
author_rank: Regular Contributor
timestamp: March 24, 2019, 12:54:13 am
content: I am looking for information on how to program the flash memory of a blank Nuvoton W78E058D 8051 clone.The factory only publishes details for the "In-System Programming" method; which does not help if one has a completely blank part.I did find a partially-complete timing diagram for flash programming in an early version of the W78E058D manual (Figure 21.4.5, Program Operation). But that figure omits values for the timing parameters; it also omits to mention which device pins need to be kept high or low for functions like block erase, etc.Using that figure as a starting point, and taking a few pointers from a possibly similar procedure for another 8051 clone, the Atmel AT89C51, it was possible to make a first pass at estimating the timing values, programming voltage, and so on, and use those to run some programming tests.Unfortunately, I must be missing something as the Nuvoton is not accepting the programming data yet.I am hoping that someone in EEVblog-land may be able to lend some additional insight.Thanks - Hexley

author: PCB.Wiz
author_rank: Super Contributor
timestamp: March 24, 2019, 04:06:06 am
content: Quote from: Hexley on March 24, 2019, 12:54:13 amHow old are these parts ?My reading of the info herehttp://forum.nuvoton.com/viewtopic.php?f=20&t=303&sid=05c0a4cb7eea03bddd4793db85944dd4is that the W78E058D is included in the list of parts that have factory-installed-boot-loaders. (as of 29 Mar 2017)Nuvoton 8051 ISP-ICP Programmer v7.15 also lists the W78E058D - did you try that with the boot-load pins set as per the PDF at reset ?

author: amyk
author_rank: Super Contributor
timestamp: March 24, 2019, 04:15:12 am
content: Nuvoton used to be Winbond so searching for information on programming Winbond's 8051s might yield better results.This document (Russian) explains some of the related devices:http://www.romservice.ru/pdf/mp13_a6.pdfThis has some programming information for an (earlier?) Winbond 8051:http://www.icbase.com/pdf/WIB/WIB02080106.pdfThis has timing information:http://www.keil.com/dd/docs/datashts/nuvoton/w78e054c.pdfSearching for the phrase "flash data can be accessed only in flash mode" yields a lot of other datasheets, for which you might be able to piece together the information required.

author: Hexley
author_rank: Regular Contributor
timestamp: March 24, 2019, 05:42:03 pm
content: @PCB.Wiz - I did not have any luck accessing the factory bootloader.@amyk - Excellent resources. I'll try the Winbond parameters. They have more info about the port 3.x bits; that is very useful.Thanks for the help, folks.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: March 24, 2019, 11:16:23 pm
content: Quote from: Hexley on March 24, 2019, 05:42:03 pmHmm...I also did find this, on a ChipMAX Programmer menu (they do not list N78E058D)Manufacturer:WINBOND, Device name:W78E058BPackage Info.:DIP40, Organization:9000h x 8 bit, Adapter name:None, Manufacturer ID.:00DA, Device ID.:0063, Algorithm:Single, Vcc pin(s):40, Gnd pin(s):20, Vpp pin:None, Vccp:5.0V, Vpp:None, Tpwp:50Us, Topwp:NoneManufacturer:NUVOTON, Device name:W78E052DPackage Info.:DIP40, Organization:4000h x 8 bit, Adapter name:None, Manufacturer ID.:00DA, Device ID.:0040, Algorithm:Single, Vcc pin(s):40, Gnd pin(s):20, Vpp pin:None, Vccp:5.0V, Vpp:None, Tpwp:50Us, Topwp:NoneManufacturer:NUVOTON, Device name:W78E516DPGPackage Info.:PLCC44, Organization:11000h x 8 bit, Adapter name:PA44-48U, Manufacturer ID.:00DA, Device ID.:0070, Algorithm:Single, Vcc pin(s):44, Gnd pin(s):22, Vpp pin:None, Vccp:5.0V, Vpp:None, Tpwp:150Us, Topwp:NoneThe W78E516D/W78E058D Data Sheet is shared, so the W78E516Dtiming, I would expect to apply for the W78E058DGoogle also finds this :http://www.lapsun.com/sp300u-usb-programmer-for-51avratmelmicrochipsststc-9325293949-chips_p1017.html