zoukankan      html  css  js  c++  java
  • 龙芯平台51单片机开发环境搭建笔记

    作为玩过51单片机但依然处于小白阶段的我不乖乖在 Keil 下写 C51 似乎有点说不过去,但反正学着玩,这样又有什么关系呢。毕竟C51是我最早接触的C语言版本,还是有点情结的。这篇文章也算是对网上各种资料的简单整理、继承和发展。

    硬件和操作系统

    • 开发板:比较有名的 TX-1C 开发板。C51也是我最早接触的C语言版本;
    • 单片机:STC 89C52RC
    • 主机主板:龙梦的 Lemote A1901,搭载龙芯 3A4000 处理器;
    • 系统:龙梦 Fedora 28

    安装软件

    驱动

    TX-1C 的 RS232-USB 转换芯片是 PL2303,驱动在 Fedora28 中已经集成。

    通过 lsusbdmesg | grep usb 可以查看到设备的信息,也可以看到分配的设备名称为 ttyUSB0 。当然也可以通过串口线连接主板和开发板的串口,设备名称通常为 ttyS0。

    IDE

    CodeBlocks 配合 SDCC 编写单片机程序。

    sudo dnf install codeblocks sdcc
    

    SDCC 的语法和 Keil 略有不同,可以参考 SDCC 的文档 http://sdcc.sourceforge.net/doc/sdccman.pdf

    烧写工具

    使用 stcflash:https://github.com/laborer/stcflash
    支持bin文件和ihx/hex文件,在该网址中有详细的使用说明。
    python 在 Fedora28 自带,但是需要手动安装依赖的库。

    sudo dnf install python2-pyserial
    

    在 stcflash.py 同目录通过 python stcflash.sh <filename> 运行。

    串口调试工具

    Linux 下的串口调试软件有很多,比如字符界面的 minicom 和图形界面的 cutecom 和 putty,可以直接通过 dnf 安装。

    sudo dnf install minicom cutecom putty
    

    CodeBlocks设置

    新建 MCS51 Project,却显示找不到编译器,需要手动配置。
    下面的设置方法完全是个人摸索出来的,如果有所差错或遗漏请具体问题具体分析~

    • Debuger

    菜单栏 Settings→Debuger,选中 GDB/CDB debugger,单击 Create Config,名称可以随便添,为了方便可以设为 sdcdb。
    单击 ok 后可以看到选项框中多出了刚添加的选项,选中它,将 Executable path 设为sdcdb命令的目录,通常在 /usr/bin 下。在龙芯 Fedora28 下,由于命令名称有所不同,为 /usr/bin/sdcc-sdcdb 。
    其他设置保持不变,单击 OK 保存退出。

    • Compiler

    菜单栏 Settings→Compiler,在 Selected compiler 的下拉框中选中 Small Device C Compiler。找到 Toolchain executables,将Compiler's installation directory 设置为 /usr;将 Program Files 每个选项按照下面的表格填写(不同的发行版会有所不同),其中 Debugger 一项根据前面的设置选择。

    项目 龙芯 Fedora28 下的文件名
    C compiler sdcc-sdcc
    C++ compiler sdcc-sdcpp
    Linker for dynamic libs sdcc-sdcc
    Linker for static libs sdcc-sdcclib
    Debugger GCB/CDB debugger: sdcdb
    Resource compiler --(留空)--
    Make program make

    点击 OK 保存。

    • packihx

    按上面的设置后发现依然编译失败,查看 Build log 发现没有 packihx 命令,显然正确的命令应该是 sdcc-packihx,多方查找没有找到合适的修改方法,决定做一个软链接。

    打开终端,首先进入命令所在的目录 cd /usr/bin ,查看已有的命令,确认文件名正确,运行 sudo ln -s sdcc-packihx packihx 完成软链接的建立。再次编译编译成功。

    by SDUST weilinfox
    原文链接:https://www.cnblogs.com/weilinfox/p/12298907.html

  • 相关阅读:
    js怎么通过逗号将string转换成数组
    设置mysql数据库为只读
    python 关于django 2.X from django.contrib.auth.views import login
    python Django2.X,报错 ‘learning_logs ’is not a registered namespace,如何解决?
    python django2.x报错No module named 'django.core.urlresolvers'
    python Django2.0如何配置urls文件
    VMware vSphere 组件和功能
    VMware vSphere Client的简单使用教程
    python 逻辑运算 ‘and’ ,'or' 在实战中的作用,代替if语句。
    python_urllib2:urlerror和httperror
  • 原文地址:https://www.cnblogs.com/weilinfox/p/12298907.html
Copyright © 2011-2022 走看看