linux下用sdcc命令行下编译51的代码,直接用apt安装就行sudo apt install sdcc
编译好的代码只有个.ihx文件是烧写用的,还不能直接用,需要转换
网上的文章都是让转换为 .hex文件再转成 .bin文件进行烧写,我发现objcopy可以从ihx直接转换为bin文件进行烧写
用objcopy转换格式方法
objcopy -I ihex -O binary main.ihx main.bin
这样就得到了烧写用到的.bin格式文件。
当然,烧写用到的就是stcflash.py的脚本,这个网上到处有的下载,要使用它得有python,这个是有的,
还得把python-sireader装上:
sudo apt install python-sireader
然后就可以烧写了:
python stcflash.py main.bin
如果提示权限问题需要给USB端口加
sudo chmod 777 /dev/ttyUSB0
简单的应用应该是没有问题的,我试了流水灯。
用vscode编辑代码,然后在vscode里直接打开命令行敲命令编译还是很不错的。
最好是写个Makefile来管理,比如:
main.bin:main.c sdcc main.c objcopy -I ihex -O binary main.ihx main.bin flash: python stcflash.py main.bin clean: rm -f main.asm main.ihx main.lk main.lst main.map main.mem main.rel main.ret main.sym main.rst main.bin
这就简单了
编译: make
烧写:make flash (当然了,单片机需要重新上电)
清除垃圾: make clean
stcflash.py需要放到和main.c同一文件夹下。
我只试了stc的51单片机,不知道其他兼容51是否可用。
星不了,已是落日黄昏了。
Featured Collection
Popular Ranking
Popular Events
linux下用sdcc命令行下编译51的代码,直接用apt安装就行sudo apt install sdcc
编译好的代码只有个.ihx文件是烧写用的,还不能直接用,需要转换
网上的文章都是让转换为 .hex文件再转成 .bin文件进行烧写,我发现objcopy可以从ihx直接转换为bin文件进行烧写
用objcopy转换格式方法
objcopy -I ihex -O binary main.ihx main.bin
这样就得到了烧写用到的.bin格式文件。
当然,烧写用到的就是stcflash.py的脚本,这个网上到处有的下载,要使用它得有python,这个是有的,
还得把python-sireader装上:
sudo apt install python-sireader
然后就可以烧写了:
python stcflash.py main.bin
如果提示权限问题需要给USB端口加
sudo chmod 777 /dev/ttyUSB0
简单的应用应该是没有问题的,我试了流水灯。
用vscode编辑代码,然后在vscode里直接打开命令行敲命令编译还是很不错的。
最好是写个Makefile来管理,比如:
这就简单了
编译: make
烧写:make flash (当然了,单片机需要重新上电)
清除垃圾: make clean
stcflash.py需要放到和main.c同一文件夹下。
我只试了stc的51单片机,不知道其他兼容51是否可用。