← 返回目录

一个自动把Keil C51 工程转换为 SDCC 工程的工具

发布时间: 2025-07-10 14:10:16
浏览量: 361
点赞数: 4
标签: 单片机, 嵌入式硬件
还是那一句,实在用不了keil , 但是很多例子和代码都是使用keil写的,手动转过一些,现在个转换写个一个程序。方便自己,方便大家。

还是那一句,实在用不了keil , 但是很多例子和代码都是使用keil写的,而且很多源代码都不是utf8编码的,打开直接乱码,也手动转过一些,多了就烦了,这里把转换逻辑写了一个工具,方便自己,方便大家。 

源代码在 https://github.com/aerror2/keil51_to_sdcc

功能特性

🔄 语法转换

🧠 智能寄存器地址解析

📝 代码增强

📁 批量处理和项目管理

🔤 编码转换和处理

🛡️ 错误处理

安装要求

安装依赖

# 使用 pip 安装依赖
pip install -r requirements.txt

# 或者直接安装 chardet
pip install chardet>=5.0.0

使用方法

基本用法

# 转换单个文件
python3 convert_keil51_to_sdcc.py input_file.h

# 指定输出文件
python3 convert_keil51_to_sdcc.py input_file.h -o output_file.h

批量转换和 Makefile 生成

# 批量转换整个目录(包括子目录)
python3 convert_keil51_to_sdcc.py /path/to/keil_project_directory

# 转换目录并生成 SDCC Makefile
python3 convert_keil51_to_sdcc.py /path/to/keil_project_directory --generate-makefile

# 预处理目录编码(将 GBK/GB2312 转换为 UTF-8)
python3 convert_keil51_to_sdcc.py /path/to/directory --preprocess-encoding