目录
思路简介
网上有很多用eclipse+msys2实现windows上开发环境的,本文也采用eclipse+msys2这种方案。
开发环境包括,代码编辑,代码编译,仿真等。其中,代码编辑不是问题,记事本都可以编辑,一般常用eclipse或者sourceinsight编辑代码。仿真暂不考虑。现在重点放在代码编译上。
虽然本文重点讨论龙芯1C300B,这里有必要提一下龙芯1C101。听说龙芯官方有龙芯1C101在windows上开发的全套工具(包括基于eclipse的IDE和基于ejtag的仿真器)。有网友在淘宝买了一个几十元(好像是七八十元,具体记不清了)的openOCD,可以替代官方的ejtag作为仿真器(为什么要替换官方的呢?因为贵,呵呵!)。
要想在windows上编译龙芯1c的代码,至少需要windows上的交叉编译工具链,然后还需要make。交叉编译工具链采用网友“老鼠”提供的,据说是君正的交叉编译工具链,反君正和龙芯同属mips系列,工具链可以通用也是正常的,经过初步测试可用,如有不能用的地方,可以在虚拟机里面用linux下的龙芯官方提供的交叉编译工具链编译。
IDE使用eclipse。由于龙芯1c库中已经有Makefile,所以只需要在eclipse中新建一个“Makefile项目”,然后工具链选择“MinGW GCC”即可。
本文以在windows上下编译基于龙芯1c库的裸机程序为例。分别讲解交叉编译器的安装,make的安装,eclipse的安装、在命令行下编译和eclipse下编译,以及烧写固件bin文件。
龙芯1c库的源码的下载地址https://gitee.com/caogos/OpenLoongsonLib1c
windows上的交叉编译工具链,eclipse,以及CH341A驱动和烧写软件的下载地址https://pan.baidu.com/s/1J9c4e2Q6OeYEgTM2rHPcfA
交叉编译工具链下载和安装
找到“mips-mingw32.zip”,解压后,剪切到目录“D:\Program Files (x86)”内(也可以其它目录,根据自己喜好),然后进入其中的bin目录,如下
将上图中的目录添加到环境变量中,如下
在任意一个文件夹内空白处,按住shift键,右击鼠标,在弹出的下拉列表中,选择“在此处打开命令窗口”,然后运行命令“mips-linux-gnu-gcc -v”测试一下,如果能够正确打印出版本号,则说明安装成功(环境变量添加成功),如下
安装msys2
因为龙芯1c库使用Makefile来管理源码文件,所以需要使用make来执行Makefile,进而实现编译。
下载msys2
下载地址是http://mirrors.ustc.edu.cn/msys2/distrib/ 或者官网http://www.msys2.org/
选择一个即可。如果是32位的windows操作系统,则选i686的,如果是64位的windows操作系统,则选x86_64的。
配置pacman
参考https://mirrors.tuna.tsinghua.edu.cn/help/msys2/修改配置文件
编辑 /etc/pacman.d/mirrorlist.mingw32 ,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
编辑 /etc/pacman.d/mirrorlist.mingw64 ,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
编辑 /etc/pacman.d/mirrorlist.msys ,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
然后执行 pacman -Sy 刷新软件包数据即可。
我把msys2安装在D盘的,这三个配置所在的目录是“D:\msys64\etc\pacman.d”,如下修改