zoukankan      html  css  js  c++  java
  • Linux 下上手 STC89C52RC

      第一次接触单片机,自然选择了简单的51单片机。然而我的操作系统是 Linux 。在 Windows 下上手51似乎很容易。但是 Linux 上搭建 51 开发环境不是很顺。

    那么谈谈 Linux 我如何搭建 STC89C52RC 的开发环境吧。 

    (一)

    选择自己喜好的代码编辑器即可。vim , emacs , gedit 等都可以。

    (二)

    安装编译器。一般选择 sdcc 。一般可从发行版的包管理器中直接安装。

    如Arch中:

      

    $ sudo pacman -S sdcc

    如果不行,需要自行下载编译。

    简单介绍使用sdcc:

      假如当前目录有一个写好的源文件 main.c 。 使用如下简单方式即可编译。

      

    $ sdcc main.c

      生成的若干个文件中 main.ihx 是一个生成的16进制可执行文件。后面便可以将其烧录到单片机中。

    (三)

    将生成的可执行程序烧录到单片机是需要一条下载线的。一般说来使用 USB 转串口的下载线。插上之后,在 /dev 里面有个设备叫 ttyUSB* 说明可以进行后面内容。

    否则你可能需要安装 USB 转串口的驱动。

    选择烧录工具。网上大部分使用的是 gSTCISP 这个工具烧录。但是在我尝试之后,总是卡在 We are trying to connect your MCU...这个地方。

    起初我还以为下载线出现问题了。后来发现不是。你可以尝试。注意 gSTCISP 需要的是二进制文件,因此需要把 main.ihx 转换为二进制文件。

    一个转换例子:

    $ makebin < main.ihx > main.bin

    你需要把文件名更改成你自己相应文件名。其他方法还有很多,自行搜索。

      通过我测试的一个烧录工具 stcflash 。这是一个 python 脚本。因此你需要安装 python 环境。大部分 Linux 发行版安装了 python 。但是你需要安装一个额外的运行库 python-serial 。

    $ sudo pacman -S python-serial 

    将下载好的 stcflash.py 放入源文件目录。接下来开始烧录。

      首先关闭板子。执行

    $ sudo python ./stcflash.py ./main.ihx

    打开开发板即可烧录进去。成功结果如下:

    Connect to /dev/ttyUSB0 at baudrate 2400
    Detecting target... done
    FOSC: 11.996MHz
    Model: STC89C52RC (ver4.3C)
    ROM: 8KB
    Baudrate: 38400
    Erasing target... done
    Size of the binary: 218
    Programming: #################### done

    另外二进制文件使用 stcflash 也可以烧录进入。

    sdcc 下载地址:http://sdcc.sourceforge.net/snap.php#Linux

    gSTCISP 下载地址:http://osdn.jp/projects/sfnet_gstcisp/releases/?fulllist=1

    stcflash 下载地址:https://github.com/RainMark/stcflash.git

  • 相关阅读:
    Django(app的概念、ORM介绍及编码错误问题)
    Django(完整的登录示例、render字符串替换和redirect跳转)
    Construct Binary Tree from Preorder and Inorder Traversal
    Single Number II
    Single Number
    Binary Tree Level Order Traversal II
    Binary Tree Level Order Traversal
    Binary Tree Zigzag Level Order Traversal
    Recover Binary Search Tree
    Add Binary
  • 原文地址:https://www.cnblogs.com/rain-blog/p/how-to-set-51-environment-in-linux.html
Copyright © 2011-2022 走看看