Hi,
today I was very excited when I finally got the following output:
bash-3.2$ sdcc -mpdk14 hellopfs154noprintf.c
bash-3.2$ ./easypdkprog write hellopfs154noprintf.ihx --icname PFS154 --fuse 31FD
Erasing IC... done.
Writing IC... done.
Writing IC Fuse... done.
bash-3.2$ ./easypdkprog start
Running IC (5.00V)... IC started, press [Esc] to stop.
Hello World!
Hello World!
Hello World!
Hello World!Explanation:
1. SDCC compiler development branch which supports PADAUK (MANY MANY thanks to SPTH and Nicolas Lesser) is used to compile a small test program
2. easypdkprog is used to send the compiled program to PFS154 sitting in a socket on top of the Easy PDK programmer
3. the PFS154 IC is started while still in the socket on top of the programmer. All serial output on PA.7 is captured and shown on the screen
So real development can start now
I will cleanup the sources and release all of them on
https://free-pdk.github.io during the next few days:
- Easy PDK programmer schematic and PCB design files
- STL files for 3D printable housing (housing not required)
- Easy PDK programmer firmware + source code
- easypdkprog source code
Right now only PFS154 is supported but other types will get added quickly now.
In case you are curious here the output of:
bash-3.2$ ./easypdkprog --help
Usage: easypdkprog [OPTION...] probe|read|write|erase|start [FILE]
easypdkprog -- read, write and execute programs on PADAUK microcontroller
https://free-pdk.github.io
-b, --bin Binary file output. Default: ihex8
-c, --calibrate Calibrate IC after writing
-f, --fuse=FUSE FUSE value, e.g. 0x31FD
-n, --icname=NAME IC name, e.g. PFS154
--noblankchk Skip blank check before write
--noerase Skip erase before write
--noverify Skip verify after write
-o, --otpid=ID OTP ID, e.g. 0x2AA1
-p, --port=PORT COM port of programmer. Default: Auto search
-r, --runvdd=VDD VDD voltage for running IC (e.g. 3.3). Default: 5.0
-v, --verbose Verbose output
-?, --help Give this help list
--usage Give a short usage message
-V, --version Print program version
Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.