EEVblog Electronics Community Forum

Electronics => Microcontrollers => Topic started by: Hexley on March 24, 2019, 12:54:13 am

Title: Need (undocumented) flash programming algorithm for 8051 clone: Nuvoton W78E058D
Post by: Hexley on March 24, 2019, 12:54:13 am
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

Title: Re: Need (undocumented) flash programming algorithm for 8051 clone: Nuvoton W78E058D
Post by: PCB.Wiz on March 24, 2019, 04:06:06 am
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.

How old are these parts ?
My reading of the info here
http://forum.nuvoton.com/viewtopic.php?f=20&t=303&sid=05c0a4cb7eea03bddd4793db85944dd4 (http://forum.nuvoton.com/viewtopic.php?f=20&t=303&sid=05c0a4cb7eea03bddd4793db85944dd4)
is 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 ?
Title: Re: Need (undocumented) flash programming algorithm for 8051 clone: Nuvoton W78E058D
Post by: amyk on March 24, 2019, 04:15:12 am
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.pdf (http://www.romservice.ru/pdf/mp13_a6.pdf)

This has some programming information for an (earlier?) Winbond 8051:
http://www.icbase.com/pdf/WIB/WIB02080106.pdf (http://www.icbase.com/pdf/WIB/WIB02080106.pdf)

This has timing information:
http://www.keil.com/dd/docs/datashts/nuvoton/w78e054c.pdf (http://www.keil.com/dd/docs/datashts/nuvoton/w78e054c.pdf)

Searching 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.
Title: Re: Need (undocumented) flash programming algorithm for 8051 clone: Nuvoton W78E058D
Post by: Hexley on March 24, 2019, 05:42:03 pm
@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.
Title: Re: Need (undocumented) flash programming algorithm for 8051 clone: Nuvoton W78E058D
Post by: PCB.Wiz on March 24, 2019, 11:16:23 pm
@PCB.Wiz - I did not have any luck accessing the factory bootloader.
Hmm...
I also did find this, on a ChipMAX Programmer menu (they do not list N78E058D)

Manufacturer:WINBOND, Device name:W78E058B
Package 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:None

Manufacturer:NUVOTON, Device name:W78E052D
Package 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:None

Manufacturer:NUVOTON, Device name:W78E516DPG
Package 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:None

The  W78E516D/W78E058D Data Sheet is shared, so the W78E516D timing, I would expect to apply for the W78E058D

Google also finds this :
http://www.lapsun.com/sp300u-usb-programmer-for-51avratmelmicrochipsststc-9325293949-chips_p1017.html (http://www.lapsun.com/sp300u-usb-programmer-for-51avratmelmicrochipsststc-9325293949-chips_p1017.html)