Create LICENCE.md
variable baud rate for console, no local echo
Example firmware added
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:
Build with make
command, this should produce bin/hello51.bin
and 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 vectors
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 sdcc
package.
You will need a password to unpack: random