使用Linux环境进行单片机教学已经3年了,反馈一般,部分学生给出差评,也在情理之中。

为何选择SDCC,一开始就明确说明了,不是keil不好,但是很贵啊,课程尊重知识产权,不鼓励x行为。

关于代码差异,搜索sdcc keil就能知道。但是目前没有学生发现可以自动转代码工具,在此分享一下。

github.com/ywaby/keil2sdcc

特征

  • 将keil c51 转换为 sdcc

安装

git clone git@github.com:ywaby/keil2sdcc.git
python3 setup.py install

需要Python 3.7+

用法

使用import

import keil2sdcc
keil2sdcc.c51_2_sdcc(keil_file)

无需安装即可直接使用

python3 -m keil2sdcc ./test/reg51.h ./test/test.c

命令行方式使用

usage: keil2sdcc [-h] [-v] [-e ENCODE] [-r] [-j n] [files [files ...]]convert keil c51 to sdccpositional arguments:files                 keil srcs to convert;supprot globoptional arguments:-h, --help            show this help message and exit-v, --version         print version-e ENCODE, --encode ENCODEassign keil src encode-r, --replace         replace keil src with sdcc src-j n, --jobs n        number of parallel jobs; match CPU count if value is 0

例如:

keil2sdcc keil_c51.c # generate keil_c51.sdcc.c at src path
keil2sdcc keil_c51.c --replace # replace keil src
python3 -m keil2sdcc ./test/reg51.h ./test/test.c # header file is need before c

更多使用参考链接。


下面引用一些供参考:


但是stc89系列轻量级固件库的出现还是非常惊喜的。

  • github.com/MCU-ZHISHAN-IoT/HML_FwLib_STC89
  • github.com/MCU-ZHISHAN-IoT/HML_FwLib_8051


SDCC和Keil之stc89c52资料(纪念51单片机40周年)相关推荐

  1. 【STC89C52】学习51单片机的必备电子电路知识基础

    电子电路是学习51单片机的基础, 如果能把以下几个模块弄清楚学习51单片机就不成问题啦. 目录 1.电平 2.单片机IO口 3.电阻 4.电容 5.电路原理图 ​编辑 6.单片机最小系统结构 7.单片 ...

  2. 51单片机Proteus仿真+Keil工程-实验6-单片机扩展RAM6264实验

    实验6-单片机扩展RAM6264实验   之前做的一次实验,51单片机扩展RAM6264实验.如有问题欢迎指正. 实验目的:   掌握单片机扩展芯片的方法:掌握RAM6264的写入和读取: 实验内容: ...

  3. 基于51单片机的公交车安全智能检测系统、基于51单片机的金属探测仪控制设计、基于单片机的智能电子密码锁系统设计、基于51单片机酒精浓度检测仪设计【资料转发分享】

    630基于51单片机的公交车安全智能检测系统-设计资料 本资料是基于单片机的公交车安全监测系统 具有如下功能: 1.监测环境的温度,超标报警.可以设置上下限 2.监测是否有火灾以及有毒气体,超标报警, ...

  4. 基于51单片机简易数字示波器Proteus仿真

    功能介绍: 采用51单片机作为主控CPU:LCD12864可显示方波,三角波,锯齿波,正弦波等,可通过光标对波形进行测量,可以调节显示波形的幅度和频率,也可以将波形进行左右拖拉,完美的仿真出一个51单 ...

  5. 51单片机 | 单片机工程模板创建

    文章目录 一.51 单片机工程模板创建 1.新建工程 2.选择CPU型号 3.给工程添加文件 4.配置魔术棒选项卡 5.修改编程区字体大小 二.reg52.h 头文件介绍 1.头文件作用 2.头文件内 ...

  6. 51单片机开发系列一-51单片机开发环境搭建以及入门汇编代码

    51单片机开发系列一 51单片机开发环境搭建以及入门汇编代码 象棋小子    1048272975 1. 51单片机概述 51单片机是对所有兼容Intel 8031指令系统的单片机的统称.目前教科书基 ...

  7. linux 8051 编译,[编译] 3、在Linux下搭建51单片机的开发烧写环境(makefile版)

    星期二, 10. 七月 2018 01:01上午 - beautifulzzzz 一.SDCC(Small Device C Compiler)编译环境搭建 SDCC是一个小型设备的C语言编译器,该编 ...

  8. linux中板子烧写环境配置,3、在Linux下搭建51单片机的开发烧写环境(makefile版)...

    星期二, 10. 七月 2018 01:01上午 - beautifulzzzz 一.SDCC(Small Device C Compiler)编译环境搭建 SDCC是一个小型设备的C语言编译器,该编 ...

  9. 51单片机c语言学习感想,学习51单片机心得体会

    在这里给大家分享一下学习51单片机心得体会: 1.我从不说51是基础,如果我这么说,也请把这句话理解为微机原理是基础. 2.对51单片机的操作本质上就是对寄存器的操作,对其他单片机也是如此.库只是一个 ...

  10. 使用51单片机以及数码管来显示十字路口红绿灯

    最近老师让我们使用51单片机做一个十字路口红绿灯实验,正好发表一篇文章,希望能给有需要的同学们带来一些帮助,如果有不合理的地方,还请大家帮忙指正. 一. 首先要利用51做一个红绿灯我们需要知道这个红绿 ...

最新文章

  1. phpStorm如何用FTP,SSH连接到虚拟机linux系统?
  2. CF24D Broken robot | DP 高斯消元
  3. 一起谈.NET技术,NHibernate3.0剖析:Query篇之NHibernate.Linq标准查询
  4. Mysql数据库,项目需求需要数据还原的数据表结构构思方案
  5. java transient关键字_嗯?你真的会用 Java 序列化机制?
  6. HDU 5228 ZCC loves straight flush( BestCoder Round #41)
  7. MS CRM 2011 Audit
  8. 交换局域网(链路层+以太网+交换机)
  9. FreeSwitch中,RGB颜色转换为YUV
  10. 卷积神经网络+用pytorch构建神经网络
  11. android 自定义view 实现电影选座功能
  12. 【人工智能】马尔可夫链模型是什么?
  13. python中property详解
  14. 摘android手机自带浏览器无法识别apk文件
  15. linux嵌入式工控机编程,Linux嵌入式工控机的特点
  16. CorelDRAW快速制作绚丽的彩色透明心形
  17. OUC-SE-BLOG1
  18. java graphics2d旋转_反转Java Graphics2D缩放和旋转坐标
  19. 请列举至少3款B端互联网产品,从产品定位、目标用户需求、竞争优势等方面分析这些产品
  20. SN_Write_tool 使用说明文档

热门文章

  1. Win8.1屏幕亮度自动调节关闭方法
  2. 编程一开始就应该养成的好习惯
  3. 渗透测试之信息收集漏洞库篇
  4. 新版标准日本语高级_第12课
  5. abs函数c语言std,c++ 在std :: abs函数上
  6. 红米2怎么升android l,红米2的1G内存少装app够用?怎样让1G内存的安卓手机多装app而不卡?...
  7. 老王的JAVA基础课:第2课 JDK安装和环境变量配置
  8. 北德克萨斯大学计算机系,美国北德克萨斯大学计算机科学与工程系主任Barrett Bryant访问昆明理工大学...
  9. 黑马程序员————小牛皮糖学习笔记————IO流之未使用缓冲区读写文件
  10. Aptos教程-参与官方激励测试网(AIT2 激励测试网)