All Projects → lujji → esp-stm8-flasher

lujji / esp-stm8-flasher

Licence: MIT license
ESP8266 application for flashing STM8S via stm8-bootloader

Programming Languages

c
50402 projects - #5 most used programming language
HTML
75241 projects
perl
6916 projects
python
139335 projects - #7 most used programming language
CSS
56736 projects
C++
36643 projects - #6 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to esp-stm8-flasher

Yaota8266
Yet another OTA solution for ESP8266, this time supporting large (>512KB) firmwares even on 1MB devices (repo is rebased)
Stars: ✭ 112 (+386.96%)
Mutual labels:  bootloader
Cyjon
A simple, clean code, multi-tasking operating system written in pure assembly language for 64-bit processors from the AMD64 family.
Stars: ✭ 184 (+700%)
Mutual labels:  bootloader
Hekate
hekate - A GUI based Nintendo Switch Bootloader
Stars: ✭ 3,286 (+14186.96%)
Mutual labels:  bootloader
Potatonv
Unlock bootloader of Huawei devices on Kirin 960/659
Stars: ✭ 132 (+473.91%)
Mutual labels:  bootloader
Clover theme
simple clover efi bootloader theme.
Stars: ✭ 177 (+669.57%)
Mutual labels:  bootloader
Dapboot
DFU Bootloader for STM32 chips
Stars: ✭ 194 (+743.48%)
Mutual labels:  bootloader
Wolfboot
wolfBoot is a portable, OS-agnostic, secure bootloader for microcontrollers, supporting firmware authentication and firmware update mechanisms.
Stars: ✭ 110 (+378.26%)
Mutual labels:  bootloader
Hackintosh-ASUS-A455LF-Notebook
EFI Folder for ASUS A455LF-WX039D Notebook Series with Clover/OpenCore Legacy or UEFI
Stars: ✭ 27 (+17.39%)
Mutual labels:  bootloader
Sboot stm32
Secure USB DFU1.1 bootloader for STM32
Stars: ✭ 181 (+686.96%)
Mutual labels:  bootloader
Slimbootloader
Visit http://slimbootloader.github.io for documentation
Stars: ✭ 206 (+795.65%)
Mutual labels:  bootloader
Bootmine
Bootable minesweeper game in a 512-byte boot sector
Stars: ✭ 136 (+491.3%)
Mutual labels:  bootloader
Bosh Bootloader
Command line utility for standing up a BOSH director on an IAAS of your choice.
Stars: ✭ 171 (+643.48%)
Mutual labels:  bootloader
Elinux
嵌入式 Linux 知识库 (elinux.org) 中文翻译计划;本项目发起人发布了《360° 剖析 Linux ELF》视频课程,欢迎订阅:https://www.cctalk.com/m/group/88089283
Stars: ✭ 193 (+739.13%)
Mutual labels:  bootloader
Cc2538 Bsl
Python cross-platform script to upload firmware via the serial boot loader onto the CC13xx, CC2538 and CC26xx SoC.
Stars: ✭ 129 (+460.87%)
Mutual labels:  bootloader
Gnu Eprog
Embedded Programming with the GNU Toolchain
Stars: ✭ 230 (+900%)
Mutual labels:  bootloader
Refind Minimal
A stunningly clean theme for the rEFInd UEFI boot manager.
Stars: ✭ 1,585 (+6791.3%)
Mutual labels:  bootloader
Arduino boards
Board definitions for SparkFun-manufactured AVR, ARM, and ESP-based Arduino boards.
Stars: ✭ 189 (+721.74%)
Mutual labels:  bootloader
novaboot
A tool that automates booting of operating systems on target hardware or in qemu
Stars: ✭ 32 (+39.13%)
Mutual labels:  bootloader
IntrOS
Free cooperative operating system (OS) for microcontrollers
Stars: ✭ 38 (+65.22%)
Mutual labels:  stm8
Asm Space Invaders
A small, bootable game written in x86 Assembly inspired by Space Invaders
Stars: ✭ 202 (+778.26%)
Mutual labels:  bootloader

esp-stm8-flasher

ESP8266 application for flashing STM8S microcontrollers via stm8-bootloader.

Features

  • Remote terminal - UART<->WiFi bridge
  • File storage - store multiple firmware images in flash
  • Web GUI - manage remote file storage and perform drag-and-drop uploads directly from browser

Build instructions

Precompiled binaries for ESP8266 and STM8S003 are located inside esp-stm8-flasher/firmware.

git clone --recursive https://github.com/lujji/esp-stm8-flasher

Create ./esp-stm8-flasher/esp-open-rtos/include/private_ssid_config.h with two macro definitions:

#define WIFI_SSID "mywifissid"
#define WIFI_PASS "my secret password"

Build and flash the firmware

make html && make -j4 flash

Configuration

You may want to change a few things inside config.h:

  • BLOCK_SIZE - STM8 flash block size. This should match bootloader configuration
  • TELNET_PORT - remote terminal port
  • RST_PIN - GPIO pin for resetting STM8

FLASH_SIZE and SPIFFS_SIZE are set in Makefile according to the flash size of the ESP8266 module.

STM8 bootloader should be compiled with BOOT_PIN set to PD6 - this way RX pin will be used to detect entry condition.

Wiring

ESP8266 STM8
GPIO1 (TX) PD6 (RX)
GPIO3 (RX) PD5 (TX)
GPIO5 nRST

Uploading the firmware

Uploading and flashing the firmware can be done either from Web GUI or the command-line utility:

python esfutil.py -p firmware.bin 192.168.100.6

This performs three operations: upload file to remote storage, flash the firmware, delete file from storage. Utility supports other commands for manipulating remote file system, see --help for more details. This utility requires websocket module, which can be installed via pip.

Remote terminal

This project provides a buffered serial bridge. Default port is 23.

telnet 192.168.100.6 23
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].