linux环境下如何开发51单片机 基于codeblocks和SDCC

控制/MCU

1876人已加入

描述

  系统环境:linux mint 18.3 xfce 64bit(基于ubuntu16.04.01)

  需要软件及环境:

  (1)codeblocks

  (2)SDCC编译器

  (3)python-serial

  (4)stcflash(https://github.com/laborer/stcflash)

  linux配置stm32开发环境概述

  在linux下开发51单片机也非常简单,以前介绍过使用codeblocks配合SDCC编译器进行开发51单片机的博文

  Codeblocks配置SDCC实现51单片机定时器功能(proteus仿真)

  在linux系统下也是同样基于codeblocks和SDCC,使用codeblocks可以自动生成hex文件,而不用再安装其他软件来转换格式,烧写程序到51单片机使用stcflash,使用python,需要安装serial串口模块。

  关于USB转串口驱动问题 ,在linux下已经集成好了CH340和PL2302的驱动(linux mint(ubuntu16.04)是这样,其他发行版不清楚),一连接电脑在/dev/下面就会自动有/dev/ttyUSB0,表示有一个串口设备连接了电脑,在linux下的串口助手可以参考另一篇博文

  Linux系统下串口调试助手putty,cutecom,xgcom

  (1)codeblocks

  https://apt.jenslody.de/ 这个网站里有codeblocks的deb源,其他linux发行版也是能在官网找到安装包的,具体安装就不赘述了,相信在linux玩51的已经有这些基础的了。

  (2)SDCC

  下载snapshot版本,下载之后解压,解压后在share/sdcc/doc/INSTALL.txt 里有安装指导,其实就是把解压后的文件(包含bin和share两个文件夹)复制到/usr/local 目录下,正确安装后

  sdcc二进制文件到: /usr/local/bin/

  header files 到: /usr/local/share/sdcc/include/

  non-free header files 到: /usr/local/share/sdcc/non-free/include/

  library files 到: /usr/local/share/sdcc/lib/

  non-free library files 到: /usr/local/share/sdcc/non-free/lib/

  并且 documentation 到: /usr/local/share/sdcc/doc/

  也可以运行

  /usr/local/bin/sdcc -v

  查看sdcc是否正确安装,正确安装执行上述代码会返回版本号

  (3)stcflash

  使用的时候要把stcflash.py 这个文件复制到hex文件同目录下,假设需要烧写的文件是test.hex ,那么在终端进入到test.hex 目录下,执行下面语句

  python stcflash.py test.hex

  以我自己的一个工程为例,需要烧写的文件为sonar.hex ,此时会有如下图所示

  

  此时要关闭51单片机电源然后重启,就像在win系统下一样,然后会看到以下情况:

  

  有晶振频率,芯片型号,ROM大小等信息。

  关于codeblocks建立MCS51工程的教程建议参考篇首提供的链接,这里就不再叙述了。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分