前言
本次试用的是MangoPi MQ Pro开发板,全面支持Linux生态,运行完整的Python。由于后面可能也要做相关的开发,所以本次选择的是Tina-Linux进行开发,同时在搭建过程中也是花了大量的时间,所以本篇文章记录搭建开发环境过程,以及搭建过程中遇到的错误,希望对后续开发的小伙伴能提供帮助。
板载资源
主板搭载D1(RISC-V核心)作为主控芯片,提供各种常用外设接口:GPIO、I2C&SPI、SDIO、音频接口(录制、播放)、视频接口(触摸、HDMI、DVP、DSI和LVDS)、USB Host、OTG等。另外,板子内置1GB DDR和板载WiFi/BT,全面支持Linux生态,运行完整的Python。
- D1、C906 内核、高达 1GHz 的 RISC-V 内核
- 1GB DDR3/DDR3L
- USB-OTG C 型
- USB-HOST Type-C
- 40Pin RPI-展开
- 24Pin DVP/RGMII 连接器
- 迷你 HDMI 连接器
- TF卡
- RTL8723ds WiFi/蓝牙模块
- 20Pins DSI/CTP/LVDS FPC连接器
- 音频输出垫
实物如下所示:
环境搭建
本次使用的ubuntu18.04的开发环境,首先安装一些工具,lib等,输入以下命令:
sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip lib32z1 lib32z1-dev lib32stdc++6 libstdc++6 libmpc-dev libgmp-dev -y
这一步安装基本不会出现问题,接下来就是下载SDK,这里官方已经提供,在ubuntu下下载,输入以下命令:
git clone https://github.com/mangopi-sbc/Tina-Linux.git
这里下载可能比较慢,可以寻找一些加速的玩意,下载完成后进入Tina-Linux文件夹:
接下来输入以下命令对子模块进行下载,其主要是在下载lichee/linux-5.4
git submodule update --init –recursive
下载完成后如下所示:
下载Prebuild,pre-built就是在build之前先pre-built出来.so或.ko或可执行档案等。通常是你的程序需要其它模块,而其它模块你却无权限去阅读其source code,
所以它们将先build好.so或.ko或可执行档案给你使用。输入以下命令:
wget http://dl.mangopi.org/tina/prebuilt.tar.gz .
解压,输入以下命令:
tar xzvf prebuilt.tar.gz
下载dl库,这个大概3个G的样子,输入以下命令:
wget http://dl.mangopi.org/tina/dl.tar .
解压:
tar xvf dl.tar
下载工具链:
wget http://dl.mangopi.org/tina/toolchain/riscv64-linux-x86_64-20200528.tar.xz -P ./lichee/brandy-2.0/tools/toolchain/
wget http://dl.mangopi.org/tina/toolchain/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz -P ./lichee/brandy-2.0/tools/toolchain/
完成以上步骤后就可以进行编译了,以上的步骤确保都进行了且没错误,不然后面编译的时候也会出错。
编译前输入以下命令:
source build/envsetup.sh
然后输入lunch,选择1即可,如下所示:
接下来可以进行编译了,输入make命令,等待编译
编译完成,大概花了一个小时左右吧,如图:
接下来输入mboot,出现错误
这里开发环境选错了,选成了ubuntu20,准备重新搭建,不过步骤不会变,mboot完成后,在输入pack命令,打包成镜像文件,使用烧录工具烧录即可。
烧录
接下来使用官方给的镜像文件进行烧录演示,打开烧录软件
打开软件,选择官方固件,选择启动卡,烧卡即可,接下来将内存卡插到开发板,启动开发板即可
五、总结
本次环境搭建就到这里,将整个搭建过程进行了一遍,总的来说搭建还是比较麻烦,可能会出现各种问题,然后板子比较小,好像复位引脚没有引出来,使用不太方便,同时由于体积原因,没有添加网口类的外设,使用起来没那么方便,资料好像也那啥,暂时先这样吧,后面在继续。