https://github.com/darthcloud/blueretroroot
Root repository to sync esp-idf and BlueRetro version
https://github.com/darthcloud/blueretroroot
Last synced: about 1 year ago
JSON representation
Root repository to sync esp-idf and BlueRetro version
- Host: GitHub
- URL: https://github.com/darthcloud/blueretroroot
- Owner: darthcloud
- License: apache-2.0
- Created: 2020-05-19T18:40:59.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-02-22T14:51:15.000Z (over 2 years ago)
- Last Synced: 2024-04-13T16:40:29.096Z (about 2 years ago)
- Language: Dockerfile
- Homepage: https://github.com/darthcloud/BlueRetro
- Size: 418 KB
- Stars: 7
- Watchers: 4
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# BlueRetroRoot
Root repository to sync esp-idf and BlueRetro version
See [BlueRetro repo](https://github.com/darthcloud/BlueRetro) for main projet infomation.
# Development instructions
[Instructions for Ubuntu 20.04+](#blueretro-development-on-ubuntu-2004)\
[Instructions for macOS 13+](README.macos)\
[Instructions for Windows 10+](README.windows)
These instructions likely mostly apply for older version and/or different distribution as well.
But they are not tested, so YMMV and you're on your own.
# BlueRetro development on Ubuntu 20.04+
## 1 - Initial setup
### 1.1 - Install ESP-IDF Prerequisites
1. Open a Terminal (like gnome-terminal or konsole).
2. Do the following command:
```bash
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
```
### 1.2 - BlueRetro code checkout
1. Open a Terminal (like gnome-terminal or konsole).
3. Do the following commands:
```bash
cd ~
git clone https://github.com/darthcloud/BlueRetroRoot.git
cd ~/BlueRetroRoot/
git submodule update --init --recursive
export IDF_TOOLS_PATH=$(pwd)
cd esp-idf
./install.sh
```
## 2 - Compiling BlueRetro firmware
1. Open a Terminal (like gnome-terminal or konsole).
3. Do the following commands:
```bash
cd ~/BlueRetroRoot/
. ./blueretro_dev.sh
cd BlueRetro
# Replace configs/hw1/universal by any other config you may wish
cp configs/hw1/universal sdkconfig
idf.py build
# Replace serial device with your own
idf.py -p /dev/ttyUSB0 flash
idf.py -p /dev/ttyUSB0 monitor
```
# ESP32 embedded development tips
## Dump spiffs
```bash
esptool.py --chip esp32 read_flash 0x310000 0xF0000 spiffs.bin
mkspiffs.exe -u spiffs_unpack -b 4096 -p 256 -s 0xF0000 .\spiffs.bin
```
## Delete spiffs
```bash
esptool.py erase_region 0x310000 0xF0000
```
## QEMU
```bash
(cd build; esptool.py --chip esp32 merge_bin --fill-flash-size 4MB -o flash_image.bin @flash_args)
```
```bash
qemu-system-xtensa -machine esp32 -drive file=build/flash_image.bin,if=mtd,format=raw -serial tcp::5555,server,nowait -display none -daemonize
```
## Running GitHub action offline
Using [github.com/nektos/act](https://github.com/nektos/act)
Checkout main repo separately, then:
```bash
act -W .github/workflows/quick.yml --input hw_version=hw1 --input br_config=universal --artifact-server-path /tmp
```