【芒果派MangoPi MQ Pro】+系统安装及编程测试 - RISC-V MCU技术社区 - 电子技术william hill官网 - 广受欢迎的专业电子william hill官网 - 威廉希尔官方网站
分享 收藏 返回

zealsoft 关注 私信
[文章]

【芒果派MangoPi MQ Pro】+系统安装及编程测试

感谢电子发烧友william hill官网 和芒果派,我本来是评估芒果派MQ Quad,不过因为偶然的关系,得到的是MQ Pro。不过这两者对我来说问题不大,两者的定位都是对标树莓派Zero,Quad是ARM处理器,而Pro是RISC-V处理器。

1. 硬件准备

要使用芒果派MQ Pro,最好准备MiniHDMI转换线和USB键盘。MiniHDMI转换线用于连接显示器,而开机配置工作使用USB键盘比较方便。我本来手上有个MiniHDMI转HDMI的转换器,以为能用,等用上了之后(见下图)才发现悲催地无法使用USB接口,只好再去买一个转换器。
微信图片_20230710214819.jpg

由于芒果派的供电问题,普通的USB Hub很难同时带动键盘和鼠标。

芒果派的使用方法和树莓派比较接近,先使用写镜像软件 Armbian(一个小众的Linux发行版)镜像写到SD卡中,然后利用芒果派上的SD卡槽进行系统启动的工作。

2. 操作系统启动

操作系统启动还算顺利,就是非常慢,主要还是MQ Pro的处理器能力有限。操作系统启动后尝试用浏览器访问百度,不过页面显示有问题,中文没有显示出来。

微信图片_20230710214809.jpg

操作系统中带的软件非常齐全,不过考虑到速度原因,大多数应用并没有啥作用。

系统默认是打开了SSH的,所以很容易从笔记本电脑登录到芒果派上(下图)。
F1.png

看了看系统自带的开发工具,GCC和Python都是包括的,所以做一些简单的开发工作是没有问题的。

F2.png

3. 编写libcurl测试程序

接下来,我们尝试使用libcurl库进行C语言开发的测试。libcurl 是一个使用比较广泛,并且使用很方便的http请求库。

我们首先使用apt install
libcurl4-openssl-dev命令安装libcurl库所需要的头文件和库文件,一切都很顺利,看来RISC-V的生态基本算是建立起来了,和x86和ARM差不多了。

测试程序比较简单,代码如下:

#include <curl/curl.h>
#include <stdio.h>
#include <string.h>

int main(int argc, char* argv[])
{
  CURL *curl;
  CURLcode res;
  char train_code[256] = {0};

  if(argc < 2)
  {
     printf("Enter train code:");
     scanf("%s", train_code);
  }
  else
  {
     strcpy(train_code, argv[1]);
  }

  curl = curl_easy_init();
  if(curl) {
    char url[500];
    sprintf(url, "http://www.webxml.com.cn/webservices/TrainTimeWebService.asmx/getDetailInfoByTrainCode?TrainCode=%s&UserID=", train_code);
    curl_easy_setopt(curl, CURLOPT_URL, url);
    curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, fwrite);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, stdout);
    res = curl_easy_perform(curl);
    if(res != CURLE_OK)
      fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
    curl_easy_cleanup(curl);
  }
  return 0;
}

使用命令行进行编译:

gcc -o traintime traintime.c -lcurl

编译后运行就可以得到下图的效果,一切和在PC版的Ubuntu上差不多。

F3.png

更多回帖

×
发帖