So – some people dont use Windows and cant use the Espressif Flash Download Tool to flash RunCPM on the TTGO VGA32.
For these people (and also Mac-Users could use the Mac-Version of eesptool) here are some short instructions how to flash the RunCPM Binary to your TTG VGA32 😉
Mac-Users, Linux AMD64 and Windows 64Bit could get the esptool-archive binary at
https://github.com/espressif/esptool/releases
You need a esptool-version >= v3.1
Unfortunately actual distributions like armbian only do get v2.5.1 while using „apt install esptools
“ 😦
To get a actual version 4.2 (at this time) of the esptools we could use this way:cd /home/guido
git clone https://github.com/espressif/esptool.git esptool
(does clone the github-repository in /home/guido/esptool/)
Because the esptool is using python-serial it has mostly to be installed like:
for Python 3.x use:apt install python3-serial
When inserting the TTGO VGA32 via USB cable your dmesg should show something like this:[ 150.833231] cp210x 8-1:1.0: cp210x converter detected
[ 150.838286] usb 8-1: cp210x converter now attached to ttyUSB0
Then we have to change to the directory, where we extracted the Binary-version of RunCPM for the TTGO VGA32:cd /home/guido/vga32
Here we have to enter a VERY LONG command (like the Arduino IDE does when flashing RunCPM)
Firstly I will show the whole command in some shorter lines for better reading and then you will see the command in one line for copying 🙂
Here the parts:
python3 /home/guido/esptool/esptool.py
--chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default_reset
--after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect
0xe000 ./boot_app0_0xe000.bin
0x1000 ./RunCPM_VGA32_v5_7_11072022_bootloader_0x1000.bin
0x10000 ./RunCPM_VGA32_v5_7_11072022_ino_0x10000.bin
0x8000 ./RunCPM_VGA32_v5_7_11072022_partitions_0x8000.bin
and here the whole command in one line:python3 /home/guido/esptool/esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0xe000 ./boot_app0_0xe000.bin 0x1000 ./RunCPM_VGA32_v5_7_11072022_bootloader_0x1000.bin 0x10000 ./RunCPM_VGA32_v5_7_11072022_ino_0x10000.bin 0x8000 ./RunCPM_VGA32_v5_7_11072022_partitions_0x8000.bin
When everything is/has working fine/well you should get the following output from the esptool:
Using esptool.exe with Windows:
At the github-release-page for esptool there is also a 64bit Windows-version of the esptool
(V4.1 at this time) which can be used like the Linux-version (and you ddidnt have to install python nor python-serial to use it 😉 )
The command is like on Linux, but you have to declare the serial port in the Windows-way rather like on Linux.
This means the option –port /dev/ttyUSB0 does transform in –port com9 (if you VGA32 uses COM9).
The complete command is (if you got esptool.exe and the .bin’s in one directory):esptool.exe --chip esp32 --port com9 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0xe000 ./0xe000.bin 0x1000 ./0x1000.bin 0x10000 ./0x10000.bin 0x8000 ./0x8000.bin
Flash-commandlines for the Olimex-ESP32-SBC-FabGL version
(with the right .bin-Files also useable with the VGA32):
# ===========================================================================================
on Windows (Credits to Arduino-IDE-Output ;) )
# ===========================================================================================
\esp32\tools\esptool_py\4.5.1/esptool.exe
--chip esp32 --port COM23 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio
--flash_freq 80m --flash_size 4MB
0xe000 boot_app0_0xe000.bin
0x1000 bootloader_qio_80m_0x1000.bin
0x8000 RunCPM_VGA32_v6_1_VGA8_Olimex_27072023_0x8000.bin
0x10000 RunCPM_VGA32_v6_1_VGA8_Olimex_27072023_0x10000.bin
# ===========================================================================================
on Linux (Credits to Mikael Bonner ;) )
# ===========================================================================================
python3 /home/pi/esptool/esptool.py --chip esp32 --port /dev/ttyACM0 --baud 921600 --before default_reset
--after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect
0xe000 ./boot_app0_0xe000.bin
0x1000 ./bootloader_qio_80m_0x1000.bin
0x8000 ./RunCPM_VGA32_v6_1_VGA8_Olimex_27072023_0x8000.bin
0x10000 ./RunCPM_VGA32_v6_1_VGA8_Olimex_27072023_0x10000.bin
# ===========================================================================================
on macOS (Credits to Fred Smith ;) )
# ===========================================================================================
Start with
% brew install esptool
# ===========================================================================================
% esptool.py --chip esp32 --port /dev/cu.usbserial-1420 --baud 115200 --before default_reset
--after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect
0xe000 boot_app0_0xe000.bin
0x1000 bootloader_qio_80m_0x1000.bin
0x8000 RunCPM_VGA32_v6_1_VGA8_Olimex_27072023_0x8000.bin
0x10000 RunCPM_VGA32_v6_1_VGA8_Olimex_27072023_0x10000.bin
# ===========================================================================================
YOU rule mate!!! cheerssssssssssss
Thanks 😉
Please tell me if it do work for you and if I habe to change/add something to the instructions.
works, but bummer… looks like „hardcoded“ to internal CCP (2.3). no matter I put the CCP-ZCP3.64K / CCP-ZCP3.60K on the root ofthe SD . Do we need to recompile all the time ? thanks!
Yes – thats a problem of the original RunCPM-code. The CCP and Ramsize has to bet set before compiling RunCPM 😦
There are normal commandlines in the source where you could set the options via uncommenting some lines.
So I did build the „standard“ which the RunCPM-author recommends – which is the internal CCP.
Maybe in future I can try to include another binary versions, when some people want to use a different CCP.
Do you got a special need for the CCP-ZCP3? More the 64k or 60K version (60K should be more compatible)
No thats fine… I hope they will make it work with external CCPs on the uSD in the future.
Until there is an option in the original RunCPM here are the 2 binary replacement files for CCP-ZCP3 60K & 64K 😉
https://github.com/guidol70/RunCPM_VGA32/raw/main/v5_5/RunCPM_v5_5_ZCP3_Binary_Replacement.zip
With these you should be able to use CCP-ZCP3.60K and CCP-ZCP3.64K (once at a time when flashed) to 0x10000
haha spot on!!! ve figure it out some of the files could be hijacked and flashed , but I had no intention to brick the TTGO… 🙂 (unless is flash-un-brickable..)
thanks again!