公测阶段测试进度:


状态代码含义

  • X:规划中,尚未进入开发阶段。
  • A:原型验证阶段,代表本驱动模块完成原型验证,仅表示此算法或方案可行。
  • B:主要功能完成阶段,代表本驱动模块主要功能已经完成并可以跑通,不保证所有功能可用和稳定。
  • C:全功能测试与优化阶段,代表本驱动模块的所有功能已经完成,并且在保证稳定的前提下进行了部分性能优化。
  • P:批量使用阶段,代表本驱动模块已经在实际产品中批量使用,可以保证长期的稳定性。

建议在实际产品中不要使用A、B阶段状态的驱动;非关键系统(例如显示)可以使用C阶段状态的驱动;关键系统,尽量使用P阶段状态的驱动。

指令集

EC30指令集(不设置SMB1标志位,功能简单,占用空间少)

条目说明STM32F1STM32F4STM32H7
BitLogicCCC
CompareCCC
ConvertCCC
CountersCCC
FloatPointMathCCC
IntegerMathCCC
LogicOperationsCCC
MoveCCC
ProgramControlCCC
ShiftRotateCCC
StringCCC
TableCCC
TimersCCC

实测典型指令平均耗时如下:

单片机系列位逻辑指令整数运算浮点运算
STM32F103 @ 72MHz0.286uS1.252uS2.2uS
STM32F407 @ 168MHz0.183uS0.972uS1.06uS
STM32H750 @ 400MHz0.028uS0.171uS0.181uS

EC40指令集(功能更多,兼容性更好)

条目说明STM32F1STM32F4STM32H7
BitLogicCCC
CompareCCC
ConvertCCC
CountersCCC
FloatPointMathCCC
IntegerMathCCC
LogicOperationsCCC
MoveCCC
ProgramControlCCC
ShiftRotateCCC
StringCCC
TableCCC
TimersCCC

实测典型指令平均耗时如下:

单片机系列位逻辑指令整数运算浮点运算
STM32F103 @ 72MHz0.214uS1.09uS4.16uS
STM32F407 @ 168MHz0.151uS0.632uS1.23uS
STM32H750 @ 400MHz0.038uS0.146uS0.245uS

S7x200指令集(全兼容西门子S7-200 SMART解释机)

条目说明STM32F1STM32F4STM32H7
BitLogic

支持的指令:
LD、A、O、LDN、AN、ON、=、NOT、EU、ED、ALD、OLD、
LPS、LDS、LRD、LPP、AENO、NOP

不支持的指令:
LDI、AI、OI、LDNI、ANI、ONI、QI、SI、RI、BIR、BIW

BBB
Clock

不支持的指令:TODR、TODW、TODRX、TODWX

Communications

不支持的指令:
XMT、RCV、NETR、NETW、GPA、SPA

Compare

支持的指令:
B=、B<>、B<=、B>=、B<、B>
W=、W<>、W<=、W>=、W<、WB>
D=、D<>、D<=、D>=、D<、D>
R=、R<>、R<=、R>=、R<、R>
S=、S<>

BBB
Convert

支持的指令:
BTI、ITB、ITD、DTI、DTR、ROUND、TRUNC、
ITA、DTA、RTA、ITS、DTS、RTS、STI、STD、STR、
IBCD、BCDI、HTA、ATH、DECO、ENCO、SEG

BBB
Counters

支持的指令:
CTU、CTD、CTUD

不支持的指令:
HDEF、HSC、PLS

BBB
FloatPointMath

支持的指令:
ADDR、SUBR、MULR、DIVR、
SQRT、SIN、COS、TAN、LN、EXP

不支持的指令:
PID

BBB
IntegerMath

支持的指令:
ADDI、ADDD、SUBI、SUBD、
MUL、MULI、MULD、DIV、DIVI、DIVD、
INCB、INCW、INCD、DECB、DECW、DECD

BBB
Interrupt

不支持的指令:
ENI、DISI、ATCH、DTCH、CEVNT

LogicOperations

支持的指令:
INVB、INVW、INVD、ANDB、ANDW、ANDD
ORB、ORW、ORD、XORB、XORW、XOR

BBB
Move

支持的指令:
MOVB、MOVW、MOVD、MOVR、
BMB、BMW、BMD、SWAP

不支持的指令:
BIR、BIW

BBB
ProgramControl

支持的指令:
FOR、NEXT、JMP、LBL、LSCR、SCRT、SCRE、CSCRE
CRET、END、STOP

不支持的指令:
WDR、DLED

BBB
ShiftRotate

支持的指令:
SLB、SLW、SLD、SRB、SRW、SRD
RLB、RLW、RLD、RRB、RRW、RRD

BBB
String

支持的指令:
SLEN、SCPY、SSCPY、SCAT、SFND、CFND

BBB
Table

支持的指令:
FILL、ATT、FND=、FND<>、FND<、FND>、LIFO、FIFO

BBB
Timers

支持的指令:
TON、TONR、TOF、BITIM、CITIM

BBB
Subroutines

支持的指令:
CALL

单片机抽象层(MCAL)

条目说明STM32F1STM32F4STM32H7
Project项目配置BBA
CMSISARM提供的内核驱动BBA
STM32xxxxHALDriverST提供的HAL驱动库BBA
McuRMCU资源BBA
McuMCU管理(时钟,MCO输出,复位源,芯片GUID)BBA
Dbg调试信息输出BBA
AscL串口底层BBA
UsbVcp_AscL串口底层(USB虚拟串口)BBX
SpiLSPI通讯底层BBX
I2cLIIC通讯底层BBX
CanLCAN通讯底层BBX
Dio管脚输入输出BBX
Port端口配置BBX
IoMI/O管理BBX
Adc_EioMCU自带模拟量输入BBX
Dac_EioMCU自带模拟量输出BBX
RtcLMCU自带实时时钟BBX
Exti外部中断BBX
Fio快速管脚输入输出BBX
FLASH_Fs片内FLASH读写BBA
BtL系统节拍实现(SysTick)BBA
GptL/GptLI通用定时器BBX
HscL/HscLI高速计数BBX
PlsL/PlsLI高速脉冲输出BBX
IcuL/IcuLI输入捕获BBX
ETH_EthL网卡底层(DP83848/LAN8742A)BBX

最小系统

条目说明状态
StdTypes标准类型定义B
ComStackTypes通讯通用类型定义B
CommTypes通用类型定义B
CrcCRC算法B
Mu内存工具B
Det错误监控B
SchM事件调度B
Os操作系统B
EcuMECU状态管理B
Bt系统节拍管理B

PLC内核

条目说明状态
FccPLC内核B

I/O管理(IoM)

条目说明状态
IoM_FeI/O管理(IoM)用户接口B

外部中断(Exit)

条目说明状态
Exit_Fe外部中断(Exit)用户接口B

通用定时器(Gpt)

条目说明状态
Gpt_Fe通用定时器(Gpt)用户接口X
Gpt通用定时器管理X

SPI通讯(Spi)

条目说明状态
Spi_FeSPI通讯(Spi)用户接口B
SpiSPI通讯管理B

I2C通讯(I2c)

条目说明状态
I2c_FeI2C通讯(I2c)用户接口B
I2cI2C通讯管理B

1-Wire通讯(Iw)

条目说明状态
Iw_Fe1-Wire通讯(Iw)用户接口B
Iw1-Wire通讯管理B

串口通讯(Asc)

条目说明状态
Asc_Fe串口通讯(Asc)用户接口B
Asc串口通讯管理B
CC1101_MultiAscLCC1101无线模块虚拟串口(多口)B
Vp0_AscL多口到单口的映射B
Vp1_AscL多口到单口的映射B

CAN通讯(Can)

条目说明状态
Can_FeCAN通讯(Can)用户接口B
CanCAN通讯管理B

TCP/IP通讯(TcpIp)

条目说明状态
TcpIp_FeTCP/IP通讯(TcpIp)用户接口B
TcpIpTCP/IP通讯管理B
ESP8266_TcpIpLTCP/IP通讯,基于ESP8266B
LwIP_TcpIpLTCP/IP通讯,基于软件协议栈LWIPB
W5500_TcpIpLTCP/IP通讯,基于W5500B
Eth网卡管理B

扩展输入(Ei)

条目说明状态
Ei_Fe扩展输入(Ei)用户接口B
Fio_Ei扩展输入(直接操作管脚)B
HC165_Ei扩展输入(HC165)B
HC165F_Ei扩展输入(HC165F,直接操作管脚)B

扩展输出(Eo)

条目说明状态
Eo_Fe扩展输出(Eo)用户接口B
Fio_Eo扩展输出(直接操作管脚)B
HC164_Eo扩展输出(HC164)X
HC164F_Eo扩展输出(HC164,直接操作管脚)X
HC595_Eo扩展输出(HC595)B
HC595F_Eo扩展输出(HC595,直接操作管脚)B
Mix_Eo混合扩展输出(多个Eo模块拼接)B

扩展输入/输出(Eio)

条目说明状态
ADS1115_Eio模数转换扩展(ADS1115)B
DS18B20_Eio温度芯片扩展(DS18B20)B
HC_SR04_Eio超声波测距扩展(HC_SR04)B
MAX7219_Eio数码管芯片扩展(MAX7219)B
PCF8591_Eio模拟量扩展(PCF8591)B
SegLed_Eio数码管扩展(基于I/O)B
Spi_Eio数字量扩展(Spi)B
TM1638_Eio数码管按键芯片扩展(TM1638)B

实时时钟(Rtc)

条目说明状态
Rtc_Fe实时时钟(Rtc)用户接口B
Rtc实时时钟管理B
DS3231_RtcL基于DS3231的实时时钟B
PCF8563_RtcL基于PCF8563的实时时钟B

掉电保持内存接口(MemIf)

条目说明状态
MemIf_Fe掉电保持内存接口(MemIf)用户接口B
MemIf掉电保持内存接口B
W25Q_FlsSPI接口的FLASH存储器(W25Q16/W25Q32/W25Q64/W25Q128/W25Q256)B
AT24_EepI2C接口的EEPROM存储器(AT24C01/AT24C02/.../AT24C128/AT24C256)B
AT25_EepSPI接口的EEPROM存储器(AT25128/AT25256)B
FM25_Eep铁电存储器(FM25L16/FM25CL64)B

掉电保持数据管理(NvM)

条目说明状态
NvM_Fe掉电保持数据管理(NvM)用户接口B
NvM掉电保持数据管理B

高速脉冲输出(Pls)

条目说明状态
Pls_Fe高速脉冲输出(Pls)用户接口B
Pls高速脉冲输出管理B

高速计数(Hsc)

条目说明状态
Hsc_Fe高速计数(Hsc)用户接口B
Hsc高速计数管理B

输入捕获(Icu)

条目说明状态
Icu_Fe输入捕获(Icu)用户接口B
Icu输入捕获管理B

MODBUS通讯(Modbus)

条目说明状态
Modbus_FeMODBUS通讯(Modbus)用户接口B
ModbusMODBUS协议B
Rtu_ModbusMODBUS协议的RTU传输层B
TcpIp_ModbusMODBUS协议的TCP/IP传输层B
Can_ModbusMODBUS协议的CAN传输层B

PPI通讯(PPI)

条目说明状态
PPI_FePPI通讯(PPI)用户接口B
PPIPPI通讯协议B
Rs485_PPILPPI通讯基于RS485的传输B
TcpIp_PPILPPI通讯基于TCP/IP的传输X
Usb_PPILPPI通讯基于USB的传输(兼容S7-200 PLC编程电缆)X

无线通讯(Lpd)

条目说明状态
Lpd_Fe无线通讯(Lpd)用户接口X

微型液晶屏(TinyLcd)

条目说明状态
TinyLcd_Fe微型液晶屏(TinyLcd)用户接口B
TinyLcd微型液晶屏B
SSD1306_TinyLcdL液晶屏底层驱动(SSD1306)B
ST7565R_TinyLcdL液晶屏底层驱动(ST7565R)B
UC1701X_TinyLcdL液晶屏底层驱动(UC1701X)B

西门子兼容系统(S7-200 SMART)

条目说明状态
S7x200_Ecc西门子兼容系统(S7-200 SMART)扩展控制内核B

特别感谢

特别感谢参与内测开发的朋友(ID小于10040),驱动库在你们的测试和建议中获益良多。