• 龙芯平台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

  • 相关阅读:
    Codeforces Round #622 C2.Skyscrapers (hard version)
    蓝桥杯 54合根植物(并查集+统计集合个数)
    蓝桥杯 6翻硬币
    Codeforces Round #622 (Div. 2) C1. Skyscrapers (easy version)(简单版本暴力)
    Codeforces Round #622 (Div. 2) A. Fast Food Restaurant
    洛谷P1734 最大约数和(01背包)
    HDU 1069 Monkey and Banana(线性DP)
    2019CSP-S T1格雷码
    eclipse使用git提交项目
    GitHub 注册失败的原因 以及解决 。
  • 原文地址:https://www.cnblogs.com/weilinfox/p/12298907.html
Copyright © 2020-2023  润新知