2014-01-15 01:09:49 +01:00
|
|
|
stcgal - STC MCU flash tool
|
|
|
|
===========================
|
|
|
|
|
|
|
|
stcgal is a command line flash programming tool for STC MCU Ltd. [1]
|
|
|
|
8051 compatible microcontrollers. The name was inspired by avrdude [2].
|
|
|
|
|
2014-01-24 00:30:21 +01:00
|
|
|
STC microcontrollers have a UART based boot strap loader (BSL). It
|
2014-01-15 01:09:49 +01:00
|
|
|
utilizes a packet-based protocol to flash the code memory and IAP
|
|
|
|
memory. The BSL is also used to configure various (fuse-like) device
|
|
|
|
options. Unfortunately, this protocol is not publicly documented and
|
|
|
|
STC only provide a (crude) Windows GUI application for programming.
|
|
|
|
|
|
|
|
stcgal is a full-featured replacement for STC's Windows software;
|
|
|
|
it is very portable and suitable for automation.
|
|
|
|
|
|
|
|
[1] http://stcmcu.com/
|
|
|
|
[2] http://www.nongnu.org/avrdude/
|
|
|
|
|
|
|
|
Supported MCU models
|
|
|
|
--------------------
|
|
|
|
|
2015-11-22 07:58:34 +01:00
|
|
|
stcgal should fully support STC 89/90/10/11/12/15 series MCUs.
|
2014-01-15 01:09:49 +01:00
|
|
|
|
|
|
|
So far, stcgal was tested with the following MCU models:
|
|
|
|
|
2014-01-23 23:55:41 +01:00
|
|
|
* STC89C52RC (BSL version: 4.3C)
|
2014-01-28 23:58:51 +01:00
|
|
|
* STC12C2052AD (BSL version: 5.8D)
|
2014-01-24 00:30:21 +01:00
|
|
|
* STC12C5A60S2 (BSL version: 6.2I)
|
2014-01-15 01:09:49 +01:00
|
|
|
* STC11F08XE (BSL version: 6.5M)
|
|
|
|
* STC15F104E (BSL version: 6.7Q)
|
2015-11-19 00:37:31 +01:00
|
|
|
* STC15F204EA (BSL version: 6.7R)
|
|
|
|
* STC15L104W (BSL version: 7.1Q)
|
2015-11-22 07:58:34 +01:00
|
|
|
* IAP15F2K61S2 (BSL version: 7.1S)
|
2014-01-15 01:09:49 +01:00
|
|
|
|
|
|
|
More compatibility testing is going to happen soon.
|
|
|
|
|
|
|
|
Features
|
|
|
|
--------
|
|
|
|
|
|
|
|
* Display part info
|
|
|
|
* Program flash memory
|
|
|
|
* Program IAP/EEPROM
|
|
|
|
* Set device options
|
2014-01-23 23:55:41 +01:00
|
|
|
* Read unique device ID (STC 10/11/12/15)
|
|
|
|
* Trim RC oscillator frequency (STC 15)
|
2014-01-15 01:09:49 +01:00
|
|
|
|
|
|
|
Installation
|
|
|
|
------------
|
|
|
|
|
2014-01-24 00:30:21 +01:00
|
|
|
stcgal requires Python 3.2 (or later) and pySerial. Apart from that,
|
|
|
|
no particular installation is required.
|
2014-01-15 01:09:49 +01:00
|
|
|
|
|
|
|
Usage
|
|
|
|
-----
|
|
|
|
|
|
|
|
See ```stcgal.py -h``` for usage information.
|
|
|
|
|
2015-11-19 00:38:05 +01:00
|
|
|
Please note that stcgal only handles raw binary encoded files at this
|
|
|
|
point. You can easily convert common Intel HEX files with
|
|
|
|
```objcopy -I ihex -O binary input.hex output.bin```.
|
|
|
|
|
2014-01-15 01:09:49 +01:00
|
|
|
BSL Protocol
|
|
|
|
------------
|
|
|
|
|
|
|
|
The text files in the doc/ subdirectory provide an overview over
|
|
|
|
the reverse engineered protocols used by the BSLs. For more details,
|
|
|
|
please read the source code.
|
|
|
|
|
|
|
|
License
|
|
|
|
-------
|
|
|
|
|
|
|
|
stcgal is published under the MIT license.
|