STM8
来自Jack's Lab
(版本间的差异)
(→Features) |
(→STM8S105K6) |
||
(未显示1个用户的28个中间版本) | |||
第1行: | 第1行: | ||
+ | == 替代方案 == | ||
+ | |||
+ | 武汉瑞纳捷 RJM8L151 | ||
+ | |||
+ | * RJM8L151C6T6Y: LQFP48 (7x7mm), 4KB RAM, 32KB Flash | ||
+ | * RJM8L151C8T6Y: LQFP48 (7x7mm), 8KB RAM, 64KB Flash | ||
+ | * RJM8L151K6Q6Y: QFN32 (4x4mm), 4KB RAM, 32KB Flash | ||
+ | * RJM8L151K8Q6Y: QFN32 (4x4mm), 8KB RAM, 64KB Flash | ||
+ | |||
+ | <br> | ||
+ | |||
== STM8S105K6 == | == STM8S105K6 == | ||
+ | |||
+ | * 2 KB RAM (0x0000 ~ 0x7FF, including 512B stack) | ||
+ | * 1 KB EEPROM (0x4000 ~ 0x43FF) | ||
+ | * 32 KB Flash (0x8080 ~ 0xFFFF) | ||
+ | ** (16KB of STM8S105K4) | ||
+ | |||
* 16 MHz advanced STM8 core | * 16 MHz advanced STM8 core | ||
− | |||
− | |||
− | |||
* 10-bit, ±1 LSB ADC with up to 10 multiplexed channels ADC | * 10-bit, ±1 LSB ADC with up to 10 multiplexed channels ADC | ||
第11行: | 第25行: | ||
* I2C interface up to 400 kbit/s | * I2C interface up to 400 kbit/s | ||
* Up to 38 I/Os on a 48-pin package | * Up to 38 I/Os on a 48-pin package | ||
− | |||
+ | |||
+ | * 96-bit unique key for each device | ||
* 2.95 to 5.5 V operating voltage | * 2.95 to 5.5 V operating voltage | ||
− | |||
− | + | [https://www.st.com/resource/en/datasheet/stm8s105k6.pdf STM8S105K6 Datasheet] | |
[[文件:STM8S105K-QFP32-pinmap.jpg]] | [[文件:STM8S105K-QFP32-pinmap.jpg]] | ||
第23行: | 第37行: | ||
<br> | <br> | ||
− | == | + | == Arduino Like PinMap == |
− | = | + | <source lang=cpp> |
+ | PD6, //D0 RX | ||
+ | PD5, //D1 TX | ||
+ | PD4, //D2 | ||
+ | PD3, //D3 | ||
+ | PD2, //D4 | ||
+ | PD1, //D5 | ||
+ | PD0, //D6 | ||
− | + | PD7, //D7 | |
− | + | ||
+ | PE5, //D8 SPI_CS | ||
+ | |||
+ | PC7, //D9 SPI_MISO | ||
+ | PC6, //D10 SPI_MOSI | ||
+ | PC5, //D11 SPI_SCK | ||
+ | PC4, //D12 PWM | ||
+ | PC3, //D13 PWM | ||
+ | PC2, //D14 PWM | ||
+ | PC1, //D15 PWM | ||
+ | |||
+ | PB0, //D16 A0 | ||
+ | PB1, //D17 A1 | ||
+ | PB2, //D18 A2 | ||
+ | PB3, //D19 A3 | ||
+ | PB4, //D20 A4 I2C_SCL | ||
+ | PB5, //D21 A5 I2C_SDA | ||
+ | |||
+ | PF4, //D22 A6 | ||
+ | </source> | ||
<br> | <br> | ||
+ | |||
+ | == STM8S208RB == | ||
+ | |||
+ | > [https://www.st.com/resource/en/datasheet/stm8s208mb.pdf STM8S208RB Datasheet] | ||
+ | |||
+ | * 6KB RAM (0x0000 ~ 0x17FF, including 1024B stack) | ||
+ | * 2KB EEPROM (0x4000 ~ 0x47FF) | ||
+ | * 128KB Flash (0x8080 ~ 0x2 7FFF) | ||
+ | |||
+ | * 16MHz clock | ||
+ | |||
+ | |||
+ | <br> | ||
+ | |||
+ | == STM8L152R8 == | ||
+ | |||
+ | > [https://www.st.com/resource/en/datasheet/stm8l152r8.pdf STM8L152R8 Datasheet] | ||
+ | |||
+ | |||
+ | |||
+ | * 4KB RAM (0x0000 ~ 0x0FFF, including 513B stack) | ||
+ | * 2KB EEPROM (0x1000 ~ 0x1FFF) | ||
+ | * 64KB Flash (0x8080 ~ 0x1 7FFF) | ||
+ | |||
+ | |||
+ | * 16MHz clock | ||
+ | |||
+ | * SPI x2 | ||
+ | * I2C x1 | ||
+ | * UART x3 | ||
+ | |||
+ | <br> | ||
+ | |||
+ | == Toolchain == | ||
=== STM8Tools === | === STM8Tools === | ||
第49行: | 第123行: | ||
<br> | <br> | ||
+ | |||
+ | === i686-mingw32 === | ||
+ | |||
+ | * https://github.com/stm32duino/BoardManagerFiles/raw/master/STM8/tools/STM8Tools-0.1.0-windows.tar.bz2 | ||
+ | * http://cosmicsoftware.com/Arduino/4.1.3/Cxppstm8.zip | ||
+ | |||
+ | <br><br> | ||
+ | |||
+ | === Github === | ||
+ | |||
+ | * https://github.com/tenbaht/sduino | ||
+ | * https://github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json | ||
+ | * https://github.com/stm32duino/Arduino_Core_STM8 | ||
+ | * https://github.com/stm32duino/BoardManagerFiles/raw/master/STM8/package_stm8_index.json | ||
+ | |||
+ | <br> | ||
+ | |||
+ | == Upload == | ||
+ | |||
+ | The STM8 SWIM protocol (STLink) is well documented in [http://www.st.com/content/ccc/resource/technical/document/user_manual/ca/89/41/4e/72/31/49/f4/CD00173911.pdf/files/CD00173911.pdf/jcr:content/translations/en.CD00173911.pdf UM0470] | ||
+ | |||
+ | <source lang=bash> | ||
+ | $ tools/stm8flash/stm8flash.exe -c stlinkv2 -p stm8s105k4 -s flash -w /c/Users/Jack/AppData/Local/Temp/arduino_build_893847/AnalogReadSerial.ino.hex | ||
+ | Determine FLASH area | ||
+ | Writing Intel hex file 7862 bytes at 0x8000... OK | ||
+ | Bytes written: 7862 | ||
+ | </source> | ||
+ | |||
+ | <br> | ||
+ | |||
+ | === Hardware === | ||
+ | |||
+ | * https://github.com/rumpeltux/esp-stlink | ||
+ | * https://tenbaht.github.io/sduino/hardware/flashtool/ | ||
+ | |||
+ | <br> | ||
+ | |||
+ | === Connections === | ||
+ | |||
+ | * The RST is connected to ESP8266 GPIO5 (D1 on NodeMCU). | ||
+ | * The SWIM is connected to ESP8266 GPIO4 (D2 on NodeMCU) via a 1kΩ pull-up resistor | ||
+ | * 3.3V --- VCC_3.3V | ||
+ | * GND --- GND | ||
+ | |||
+ | <br> | ||
+ | |||
+ | === Software === | ||
+ | |||
+ | * https://github.com/rumpeltux/stm8flash | ||
+ | |||
+ | <br> | ||
+ | |||
+ | <br> | ||
+ | |||
+ | == Debug == | ||
+ | |||
+ | <br> | ||
+ | <br> | ||
+ | |||
+ | == Reference == | ||
+ | |||
+ | * https://www.st.com/en/evaluation-tools/nucleo-8s208rb.html | ||
+ | |||
+ | <br><br> | ||
+ | <br><br> | ||
+ | <br><br> | ||
+ | <br><br> |
2021年6月7日 (一) 15:44的最后版本
目录 |
[编辑] 1 替代方案
武汉瑞纳捷 RJM8L151
- RJM8L151C6T6Y: LQFP48 (7x7mm), 4KB RAM, 32KB Flash
- RJM8L151C8T6Y: LQFP48 (7x7mm), 8KB RAM, 64KB Flash
- RJM8L151K6Q6Y: QFN32 (4x4mm), 4KB RAM, 32KB Flash
- RJM8L151K8Q6Y: QFN32 (4x4mm), 8KB RAM, 64KB Flash
[编辑] 2 STM8S105K6
- 2 KB RAM (0x0000 ~ 0x7FF, including 512B stack)
- 1 KB EEPROM (0x4000 ~ 0x43FF)
- 32 KB Flash (0x8080 ~ 0xFFFF)
- (16KB of STM8S105K4)
- 16 MHz advanced STM8 core
- 10-bit, ±1 LSB ADC with up to 10 multiplexed channels ADC
- UART with clock output for SmartCard, IrDA, LIN master mode
- SPI interface up to 8 Mbit/s
- I2C interface up to 400 kbit/s
- Up to 38 I/Os on a 48-pin package
- 96-bit unique key for each device
- 2.95 to 5.5 V operating voltage
[编辑] 3 Arduino Like PinMap
PD6, //D0 RX PD5, //D1 TX PD4, //D2 PD3, //D3 PD2, //D4 PD1, //D5 PD0, //D6 PD7, //D7 PE5, //D8 SPI_CS PC7, //D9 SPI_MISO PC6, //D10 SPI_MOSI PC5, //D11 SPI_SCK PC4, //D12 PWM PC3, //D13 PWM PC2, //D14 PWM PC1, //D15 PWM PB0, //D16 A0 PB1, //D17 A1 PB2, //D18 A2 PB3, //D19 A3 PB4, //D20 A4 I2C_SCL PB5, //D21 A5 I2C_SDA PF4, //D22 A6
[编辑] 4 STM8S208RB
- 6KB RAM (0x0000 ~ 0x17FF, including 1024B stack)
- 2KB EEPROM (0x4000 ~ 0x47FF)
- 128KB Flash (0x8080 ~ 0x2 7FFF)
- 16MHz clock
[编辑] 5 STM8L152R8
- 4KB RAM (0x0000 ~ 0x0FFF, including 513B stack)
- 2KB EEPROM (0x1000 ~ 0x1FFF)
- 64KB Flash (0x8080 ~ 0x1 7FFF)
- 16MHz clock
- SPI x2
- I2C x1
- UART x3
[编辑] 6 Toolchain
[编辑] 6.1 STM8Tools
- https://github.com/tenbaht/sduino/releases/download/v0.3.3/sduino-tools_linux32-2017.11.13.tar.bz2
- https://github.com/tenbaht/sduino/releases/download/v0.3.3/sduino-tools_linux64-2017.11.13.tar.bz2
- https://github.com/tenbaht/sduino/releases/download/v0.3.3/sduino-tools_macosx-2017.11.13.tar.bz2
- https://github.com/tenbaht/sduino/releases/download/v0.3.3/sduino-tools_mingw32-2017.11.13.tar.bz2
[编辑] 6.2 SDCC
- https://github.com/tenbaht/sduino/releases/download/v0.3.0/sdcc-stm8-amd64-unknown-linux2.5-20171020-10088.tar.bz2
- https://github.com/tenbaht/sduino/releases/download/v0.3.0/sdcc-stm8-i386-unknown-linux2.5-20171020-10088.tar.bz2
- https://github.com/tenbaht/sduino/releases/download/v0.3.0/sdcc-stm8-i586-mingw32msvc-20171020-10088.tar.bz2
- https://github.com/tenbaht/sduino/releases/download/v0.3.3/sdcc-stm8-universal-apple-macosx-20170720-9960.tar.bz2
[编辑] 6.3 i686-mingw32
- https://github.com/stm32duino/BoardManagerFiles/raw/master/STM8/tools/STM8Tools-0.1.0-windows.tar.bz2
- http://cosmicsoftware.com/Arduino/4.1.3/Cxppstm8.zip
[编辑] 6.4 Github
- https://github.com/tenbaht/sduino
- https://github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
- https://github.com/stm32duino/Arduino_Core_STM8
- https://github.com/stm32duino/BoardManagerFiles/raw/master/STM8/package_stm8_index.json
[编辑] 7 Upload
The STM8 SWIM protocol (STLink) is well documented in UM0470
$ tools/stm8flash/stm8flash.exe -c stlinkv2 -p stm8s105k4 -s flash -w /c/Users/Jack/AppData/Local/Temp/arduino_build_893847/AnalogReadSerial.ino.hex Determine FLASH area Writing Intel hex file 7862 bytes at 0x8000... OK Bytes written: 7862
[编辑] 7.1 Hardware
[编辑] 7.2 Connections
- The RST is connected to ESP8266 GPIO5 (D1 on NodeMCU).
- The SWIM is connected to ESP8266 GPIO4 (D2 on NodeMCU) via a 1kΩ pull-up resistor
- 3.3V --- VCC_3.3V
- GND --- GND
[编辑] 7.3 Software
[编辑] 8 Debug
[编辑] 9 Reference