Explore Microelectronics EPF011/021 8051 core MCU programming tools:
A serial console that can be compiled/run on MacOS, Linux or Windows with dotnet SDK (5.x+), which also supports the EPF011/021 in-circuit programming (ICP) protocol:
dotnet build|run [-- [-b <baud>] [-a <load/dump address:0x0000>] [-w <memory write file>]]
Typical usage is to connect up via an FT232R or similar TTL serial device to UART (P7[0:1]),
pull up the
OP_MODE pin on the device (I got lucky, it's on a pair of pads in my HDMI switch)
then: power up; press '5' to stop the stream of semi-colons; press BKSP to dump memory from the
specified address or Ctrl-W to write a file to the specified address.
A folder containing example firmware for the EPF011/021, dependencies are:
make command, this should produce
bin/serial.bin that are
suitable to write to address 0x0000 in the device. ALWAYS BACK UP YOUR DEVIC MEMORY FIRST!
A simple blinkenlight for my HDMI switch, it toggles P6:0 pin at ~2Hz.
A serial port loopback test, it should reflect bytes as typed.
The smallest startup code ever - it declares an absolute segment
VECTOR that will always be at
address 0x0000, containing a jump to the C code
entry() function and exports a symbol
to mark the start of the interrupt vector table (unpopulated).
Definition of all the special function registers (SFR) according to the EPF021A manual/user guide.
This depends on the
include/mcs51/compiler.h that should be in your
You will need a password to unpack: random