鉴于目前在linux下开发51单片机的文章均为转载,而且未经过亲试,造成以讹传讹,一下开发方案经由本人测试:
1. 系统fedora 24
2. 编译环境sdcc
3. 下载环境: stcflash,下载stcflash.py
Stcflash支持89系列、12c5a系列、12c52系列、12cx052系列单片机
4. 编译下载步骤:
A)建立test.c文件:
B)编写一个简单的程序:如io流水灯(sdcc与keil环境c有区别,详细另查资料)
C)编译:使用命令sdcc test.c
D)生成hex文件或者bin文件(并不需要objcopy,hex2bin工具):
使用packihx命令把ihx文件转换为hex文件:packihx ./test.ihx > test.hex
使用makebin命令把hex文件转换为bin文件:详情makebin帮助
5. 使用stcflash下载hex或者bin文件:
A)下载stcflash.py:https://github.com/laborer/stcflash
B)确保安装python,python2、python3均可
C)确保安装Python Serial模块
D)连接开发板,使用root用户权限运行stcflash.py,按下电源开关如下表示握手ok(注意指定端口,我的默认端口就是):
下载hex文件使用stcflash.py ./test.hex