# LiteOS for HC32F4a0 **Repository Path**: YIJia_Kitchen_Bath/lite-os-for-hc32-f4a0 ## Basic Information - **Project Name**: LiteOS for HC32F4a0 - **Description**: HC32F4a0 - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2024-08-10 - **Last Updated**: 2026-01-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 基于lite os 在 HC32F4a0上的应用 | 版本号 | 更新内容 | 编写者 | 日期 | | ------ | ------------ | ------ | ------------------- | | 1.0.1 | QSPI | 邓维安 | 2026-01-08_15:39:09 | #### 1.0.1内容 * QSPI选型调试 * 新版原理图2025-12-19打版调试 #### 文件描述 * HC_Doc 是小华半导体下载的SDK说明文档、datasheet,以及显示屏规格书 * HC32F4A0_DDL_Rev2.2.0是小华半导体的SDK源码 * JLinkDevices是HC32F4A0在Jlink的配置基于J-flash V7.96g上(将文件夹放在C:\Users\mkand\AppData\Roaming\SEGGER\下) * Hardware是电路图及PCB打板资料 * Source是用户功能模块源码 * Video是开机动画 * XHCode是为HC32F4A0功能的初始化配置文件 * icon是图标UI文件 * build是编译成功后的烧写文件 #### 编译环境 Windows编译与调试工具通过MSYS2工具中MSYS2 UCRT64模拟Linux开发,MSYS2工具-建议从[VS_code_install_link](https://code.visualstudio.com/)跳转到MSYS2官方 下载 | 工具 | 版本 | 参考 / 链接 | | ---------------- | --------------------- | --------------------------------------------------------------------------------------- | | Windows 11 | 22H2 | [download](https://cn.microsoft.com/) | | VS_code+gcc | 1.88.1 | [VS_code_install_link](https://code.visualstudio.com/) | #### 已知bug * Xtal与xtal32晶振脚接反,实际应用对调8M与32.768kHz的晶振 * LCD_BACK_LED背光灯供电是4颗led 串联后的供电电压3*4 =12 DCV,实际应用切断R1-VCC,飞线限流R1电阻到12V * LCD_RS引脚接错,实际应用切断LCD_RS网络,LCD_RS 连接器重新飞线接到PD11(EXMC-ADD16)上,并重映射读写地址为:#define ST7796S_BASE (0x60000000UL | ((1UL << 17U) - 2UL)) * LCD_RD引脚接错,实际应用切断LCD_RD网络,LCD_RD 连接器飞线接到PD04(EXMC-OE)上 * i2C,SPI网络中没有增加debug pad,导致调试时序时要飞线接逻辑分析仪,当TP-VCI不接R17供电时,接上TFT LCD后无法正常获取逻辑分析仪波形,无法调试 * 12V网络R22电阻47R加100uF~220uF电容,保证异常掉电时外设i2c能正常退出,下一次上电才能正常启动,不加电容会造成i2C异常无法读取GEST ID; * 动画导入时需要焊接jlink spi flash,jlink版本为V892,其它jlink版本jflash spi可能无法下载,注意jlink盗版与jlink工具版本匹配问题 * QSPI W25Q256JVFIQ 32M bytes 只能读16M bytes的数据(视频ffmpeg取模fps帧率问题),不要选错型号,W25Q256JVFIQ一个字都不能错,其它W25Q256JV型号可能导致需要开启QE位才能正常使用QSPI * 触摸按键没有加按键音 * QSPI需要外接IO扩展芯片挂上更多QSPI(比如存放中文字库文件) * ESP32 RST脚网络切断R26,ESP32_EN引脚切断R27,ESP32将ESP32_EN和REST上拉10K到VCC,HC32端ESP32_EN接到ESP32 REST网络,至此hc32只用到RST端控制复位,ESP32默认使能 #### 注意事项 * HC32的exmc驱动8080 LCD时,采用的所有引脚已被exmc-nor flash引脚固定写死在引脚上,不能任意硬件取引脚,详细参考“野火”FMSC驱动LCD原理 * LCD_RS引脚在地址上定义表现为:在指针ST7796S_BASE上其利用---结构体地址自增---的方式,实现LCD_RS引脚读/写电平 * FT5316触摸初始化由硬件i2C操作,调试时必须使用逻辑分析仪抓取i2c时序,调试时不要接TFT LCD 40pin,断开TFT LCD调试i2C时序 * 任何时候,您可以使用XHCode工具协助定义引脚 * touch pad与lcd坐标是呈反相的,注意触摸时ft5316_scan()函数的坐标x,y需要对调才能计算出实际位置 * 由于hc32的运算能力有限,在使用大量的数学运算时,尽可能共享计算结果,比如sin,cos,sqr,pow ,*,/,此类占用处理速度的数学公式,尽可能共享计算结果,可节省内存开销和cpu处理时间,以linux的编码规则,任何时候,不论cpu运算能力,尽可能用逻辑运算去代替数学运算 * 注意滑条的取模,左右两边最少留2个像素白底保证其动态时能即时刷新背景颜色 * ESP32调时串口功能时,除TX,RX外,必须接GND,也就是板子的GND接到串口430的GND共地,不然会出现乱码重启 * ESP32当初始化成功后115200波特率会打印read字样,在read前会有一段74880波特率的启动信息,如果用115200时会出现乱码,模组厂商文档中说明这是正常的 * ESP32模组资料:https://docs.ai-thinker.com/wifi * 在默认AT固件中,注意在esp32 8266 模组使用AT+CWJAP= 指令是,只能连接2.4G频段的wifi * 在腾讯云固件中,esp32 8266通讯串口为,IO13(TX)与IO15(RX),根默认AT固件的UART引脚Tx,Rx是有区别的 * Jlink SWD线和TSLR8258烧录SWM 线最好小于15CM,下载线的接触不良会导致jlink下载错误或者“ activate failed! ” * mesh节点的电源要>= 300 mA,当电源不稳定时,sig_mesh_tool 工具会出现"not found in vc node info" * telink 8258 HCI_USE_UART使能后,其波特率为:115200