linux51_linux 51 - CSDN
  • 【入门】Linux上搭建51单片机开发环境(一) —— 环境搭建入门Linux上搭建51单片机开发环境一 环境搭建 安装sdcc 安装hex2bin 安装pyserial 安装stcgal此教程依赖于python3,需要确保已安装python3, pip3. 如果...

    【入门】Linux上搭建51单片机开发环境(一) —— 环境搭建

    此教程依赖于python3,需要确保已安装python3, pip3.
    如果没有下载pip3, 在终端输入sudo apt-get install python3-pip (Ubuntu) or sudo yum install python3-pip(CentOS等)下载pip3.

    提示: 此环境也适用于ARM Linux 系统的树莓派 Pi 3 。

    1. 安装sdcc

    sdcc主要用来编译为芯片所写的C代码。用来编译文件
    使用

     sudo apt-get install sdcc       # ubuntu 使用此命令
    
     # or
    
     sudo yum install sdcc           # centos 使用此命令

    2. 安装hex2bin

    hex2bin 主要是将 hex 文件转换为 bin 文件
    1. 在网上下载hex2bin的安装包。
    2. 下载好后解压,然后进入hex2bin安装目录。
    3. 安装hex2bin (需要使用root去执行)

    sudo make && sudo make install

    执行完毕后,查看最后几行是否将一些文件拷贝到了

    # 执行结果
    strip hex2bin
    strip mot2bin
    cp hex2bin mot2bin /usr/local/bin
    cp hex2bin.1 /usr/local/man/man1

    出现上面的字样,说明hex2bin安装成功。

    3. 安装pyserial

    pyserial 主要是对串口进行操作。

    第一种方法:

    sudo pip3 install pyserial

    第二种方法:
    去网上下载pyserial, pyserial安装包有两种形式:一种是tar.gz压缩包, whl 安装包。
    本文采用的whl安装包,因为方便。

    # 如下, whl文件以自己的为准,不要直接照抄
    sudo pip3 install pyserial-3.3-py2.py3-none-any.whl

    4. 安装stcgal

    在网上有很多教程,说安装stcflash,但是我安装了stcflash后,并不能烧写程序,查资料无果后,选择stcgal,更值得庆幸的是stcgal支持的芯片更多。

    提示:在github上可以下载stcgal

    解压进入stcgal的目录, 执行一下命令

    # 1. 组建
    python3 ./setup.py build
    
    # 2. 安装
    sudo python ./setup.py install
    
    # 执行结果
    #zip_safe flag not set; analyzing archive contents...
    #creating dist
    #creating 'dist/stcgal-1.3-py3.5.egg' and adding #'build/bdist.linux-x86_64/egg' to it
    #removing 'build/bdist.linux-x86_64/egg' (and everything #under it)
    #Processing stcgal-1.3-py3.5.egg
    #Copying stcgal-1.3-py3.5.egg to #/usr/local/lib/python3.5/dist-packages
    #Adding stcgal 1.3 to easy-install.pth file
    #Installing stcgal script to /usr/local/bin
    #Installed /usr/local/lib/python3.5/dist-packages/stcgal-#1.3-py3.5.egg
    #Processing dependencies for stcgal==1.3
    #Searching for pyserial==3.3
    #Best match: pyserial 3.3
    #Adding pyserial 3.3 to easy-install.pth file
    #Using /usr/local/lib/python3.5/dist-packages
    #Finished processing dependencies for stcgal==1.3
    
    # 显示 Finished Processing... 说明安装成功。

    输入stcgal 命令,测试stcgal是否安装成功。

    # 输入
    muzin@muzin-PC:~/Downloads/stcgal-master$ stcgal
    # 输出
    Serial port error: [Errno 2] could not open port /dev/ttyUSB0: [Errno 2] No such file or directory: '/dev/ttyUSB0'
    
    # 虽然显示 没有这样的文件或目录,但已经说明stcgal可以使用了。
    

    接下来写程序, 编译,烧写程序,Run!!!
    余下步骤,请查阅:
    【入门】Linux上搭建51单片机开发环境(二) —— Hello World

    未完待续~

    展开全文
  • Linux下没有像keli那样好用的IDE来开发51单片机,开发环境只能自己搭建了。 第一步:安装交叉编译工具 a) 安装SDCC sudo apt-get install sdcc b)测试SDCC是否可用,这是个网上找的简单的流水灯代码 test.c, ...
  • linux下开发51单片机

    千次阅读 2018-01-24 19:13:24
    系统环境:linux mint 18.3 xfce 64bit(基于ubuntu16.04.01) 需要软件及环境: (1)codeblocks (2)SDCC编译器 (3)python-serial (4)stcflash(https://github.com/laborer/stcflash) 前面我有博客介绍...

    系统环境: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配置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
    下载地址

    http://sdcc.sourceforge.net/snap.php#Linux

    下载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
    下载地址

    https://github.com/laborer/stcflash

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

    python stcflash.py test.hex

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

    此时要关闭51单片机电源然后重启,就像在win系统下一样,然后会看到以下情况:
    这里写图片描述
    有晶振频率,芯片型号,ROM大小等信息。

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

    展开全文
  • Linux下进行C51开发

    千次阅读 2014-01-18 14:33:24
    半年前折腾过一次Ubuntu,但是因为锐捷的校园网封锁了Mentohus之类的第三方客户端,所以放弃了Linux。之后一些Linux下的用户向网络管理员反映,终于开放了第三方客户端。这也使我重拾勇气,得以在Linux中畅游。正巧...

    半年前折腾过一次Ubuntu,但是因为锐捷的校园网封锁了Mentohus之类的第三方客户端,所以放弃了Linux。之后一些Linux下的用户向网络管理员反映,终于开放了第三方客户端。这也使我重拾勇气,得以在Linux中畅游。正巧这段时间在学习C51,因此必须在Linux这个平台上找到合适的替代品,花了一天的时间,总算完成了基本的配置。好的,进入正题。


    1.基本环境

    操作系统:Ubuntu_12.04_LTS

    文本编辑器:Vim_7.3

    编译器:SDCC_2.9

    烧录工具:kSTCISP

    C51芯片:STC89C52


    2.编辑器

    为了强迫自己在键盘上操作,我选择了被不少人称之为“神器”的Vim。

    Debian/Ubuntu安装:

    sudo apt-get install vim

    如果不喜欢在终端里写代码,可以使用gVim。

    sudo apt-get install vim-gnome


    IDE的话,强烈推荐MCU8051,功能极其丰富,并且有友好的中文界面。类似Windows下的Keil。

    在Ubuntu_Software_Center中可直接安装。



    3.编译

    SDCC全称“Smell Devic C Compiler”。

    安装:

    sudo apt-get sdcc sdcc-doc


    在终端下使用它编译C文件很简单:

    sdcc file.c

    而MCU8051中自带的编译器就是SDCC,因此直接按F11就可以编译。

    这里要注意的是,SDCC和Keil的源代码有些不同,

    “非ANSI C的关键字,SDCC均采用双下滑线开头的方式定义,如__code,__idata,__sbit”
    ——引用自《SDCC编译器简明使用教程》

    这篇文章中说得比较详细,我也正是通过它才顺利通过编译。


    还有一点,SDCC使用的C标准是C99,因此不可出现

    __sbit __at P1_0 A

    这样的申明,否则会报错:

    Initializer element is not constant


    应该如此申明:

    __sbit __at (0x90) A

    因为在8051.h头文件中,

    __sbit __at (0x90) P1_0


    具体可参看《C C++全局变量初始化 initializer element is not constant 错误 c++中为什么不能对全局变量在函数外赋值》


    4.烧录

    SDCC编译后的文件为.hex,但是烧录时需要用.bin文件,因此在终端中cd进编译后的文件目录,输入:

    objcopy -I ihex -O binary file.hex file.bin

    如果使用USB转r232的话,不用担心驱动问题,Ubuntu中集成了pl2303的驱动,只要在终端中输入:

    dmesg | tail

    就可以查看自己板子所接的端口名:


    接下来开始烧录:

    STC官方只有Windows下的烧录软件(而且还不好用),这边我发现一个很棒的STC89C52烧录软件,叫kSTCISP,作者是个高中生。

    下载地址:http://rgwan.byethost10.com/archives/1196

    下载过程也很简单,选择端口、.bin文件,先按下载,再给板子上电。大功告成!


    第一次写博客,如有错误,还望指正。


    展开全文
  • 2018老男孩脱产班linux运维51

    千次阅读 2019-07-02 19:43:14
    2018老男孩脱产班linux运维51期 2018老男孩脱产班linux运维51期 2018老男孩脱产班linux运维51期 2018老男孩脱产班linux运维51期 链接: https://pan.baidu.com/s/1bnIJF6IoBC48pM4_4qvGfQ 提取码: dtp9 老男孩脱产班...

    2018老男孩脱产班linux运维51期

    2018老男孩脱产班linux运维51期

    2018老男孩脱产班linux运维51期

    2018老男孩脱产班linux运维51期

    链接: https://pan.baidu.com/s/1bnIJF6IoBC48pM4_4qvGfQ 提取码: dtp9

    老男孩脱产班运维51期全套课程。包含基础部分,shell编程,云计算,综合模块,MYSQL,ELK,zabbix等,视频没有加密。

    展开全文
  • Linux51单片机编译烧录平台搭建…

    千次阅读 2017-04-21 10:45:14
    软件相关网站: SDCC - Small ...在linux下开发51单片机的简单方法 其次(附带IDE的环境): Linux下构建stc51单片机开发环境 安装:apt-get install mcu8051ide(文件很大,网速很慢,安装过程还
  • Linux51单片机开发

    千次阅读 2016-07-12 18:09:10
    鉴于目前在linux下开发51单片机的文章均为转载,而且未经过亲试,造成以讹传讹,一下开发方案经由本人测试: 1. 系统fedora 24 2. 编译环境sdcc 3. 下载环境: stcflash,下载stcflash.py Stcflash支持89系列、...
  • 点击上方“大鱼机器人”,选择“置顶/星标公众号”福利干货,第一时间送达!阅读文本大概需要 5 分钟。0写在前面在liunx环境下,没有keil这种IDE(集成开发环...
  • linux上配置eclipse

    千次阅读 2017-08-25 22:21:17
    1 配置jdk 可以参考QT for android配置里的jdk配置2 从... 下载地址: https://www.eclipse.org/downloads/download.php?file=/oomph/epp/oxygen/R/eclipse-inst-linux64.tar.gz3 下载eclipse-inst-linux64.tar.gz后解
  • linux下使用SDCC开发MCS51单片机

    千次阅读 2011-02-05 23:49:00
    linux下使用SDCC开发MCS51单片机
  • ThinkPad P51下安装Linux

    千次阅读 2018-02-10 14:37:25
    17年年底入手了一台P51用于进行机器学习相关研究,因为博主计算机专业出身,比较喜欢折腾Linux,遂于1月开始进行双系统安装。在学校的时候是Fedora的狂热粉,但是工作后好多年没有用过Linux桌面版(一直都用的是...
  • Linux面试题(2020最新版)

    万次阅读 多人点赞 2020-05-06 14:11:06
    文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的...
  • 如何在Linux下进行stc51单片机的开发

    千次阅读 2016-10-31 21:31:56
    第一次接触单片机,自然选择了简单的51单片机。然而我的操作系统是 Linux 。在 Windows 下上手51似乎很容易。但是 Linux 上搭建 51 开发环境不是很顺。 那么谈谈 Linux 我如何搭建 STC89C52RC 的开发环境吧。 (一...
  • 51单片机在linux下的环境搭建。

    千次阅读 2015-01-22 23:40:12
    写这篇文章的原因:已经从window阵营努力转移到linux阵营,现在在玩51单片机,从网上找的资料不能够解决我的问题,所以就到处尝试,最终可以成功编译,烧写代码。  环境:ubuntu12.04(32位),使用的单片机芯片stc...
  • linux常用命令大全,linux常见命令(指令)介绍

    万次阅读 多人点赞 2017-09-28 18:07:22
    linux常用命令大全,linux常见命令介绍
  • 00. 说明 本博客持续更新,敬请关注。 01. Linux概述 ...【Linux】一步一步学Linux——Linux发展史(01) 【Linux】一步一步学Linux——Unix发展史(02) 【Linux】一步一步学Linux——Linux版本(03) ...
  • 首先我们在编译完一个项目后,在项目的... /out/host/linux-x86/bin/adb 我们可以将此adb文件拷贝到我们/bin目录下,以便后续执行adb的操作 注意: 如果我们的编译项目是在服务器中编译出来的,我们可以直接从服
  • Linux运维常见面试题汇总

    万次阅读 多人点赞 2017-07-25 11:52:29
    Linux面试题 一、填空题 1. 在Linux 系统 中,以文件方式访问设备 。 2. Linux 内核引导时,从文件/etc/fstab中读取要加载的文件系统 。 3. Linux 文件系统中每个文件用indoe节点来标识。 4. 全部磁盘块由...
  • 献给初学者:谈谈如何学习Linux操作系统

    万次阅读 多人点赞 2012-12-05 16:19:30
    所以请允许我暂时用原创的形式展现给大家一、 选择适合自己的linux发行版谈到linux的发行版本,太多了,可能谁也不能给出一个准确的数字,但是有一点是可以肯定的,linux正在变得越来越流行, 面对这么多的Linux ...
  • 我是在官网上下载的 jdk-7u51-linux-x64.tar.gz 64位的压缩包 下载链接:http://www.eclipse.org/ 不过什么版本也无所谓了,只要跟你的操作系统配套64位就下载64位的JDK,32位的就下载32的JDK。 先简单介绍几个...
1 2 3 4 5 ... 20
收藏数 417,150
精华内容 166,860
关键字:

linux51