Bootstrap

国产化ARM平台-飞腾派开发板本机开发环境

一、嵌入式交叉开发环境

前期嵌入式系统因为目标设备资源有限都是采用交叉开发方式,在宿主机的X86平台上生成另一个硬件平台(arm、mips等)的可执行代码。

由于嵌入式开发板的资源有限,通常不能直接在开发板上进行程序编译。因此,需要在台式机上安装适合开发板架构(如 ARM 架构)的交叉编译工具链。以 ARM 为例,可以从官方渠道或者开源社区获取 arm - none - linux - gnueabi - gcc 等工具链。在 Linux 系统下,下载后可以通过设置环境变量来方便地使用这些工具。

  • 程序编译:在台式机上,使用交叉编译工具链或者集成开发环境对程序进行编译。例如,在 Eclipse 中,创建一个嵌入式项目,编写 C/C++ 代码后,通过配置好的交叉编译设置进行编译。编译过程中,编译器会根据开发板的架构和配置,将代码转换为可在开发板上运行的二进制文件。

  • 程序传输与加载:编译完成后,通过网络(网线连接)将二进制文件传输到嵌入式开发板上。可以使用一些文件传输协议,如 TFTP(Trivial File Transfer Protocol)或 FTP(File Transfer Protocol)。在开发板上,需要运行相应的文件接收程序来接收文件。例如,在 Linux - based 的开发板上,可以通过 tftp - h 命令来接收文件。接收完成后,将文件加载到开发板的内存中,准备运行。

  • 调试操作:通过串口线连接,在台式机上打开终端软件,进入开发板的控制台。可以在控制台中启动程序,并查看程序的输出信息,如打印的日志、错误提示等。如果程序出现问题,可以使用调试工具,如 GDB(GNU Debugger)。在台式机上运行 GDB,通过远程调试的方式,连接到开发板上正在运行的程序,设置断点、查看变量的值等,从而定位和解决程序中的错误。

二、本机开发环境

随着芯片技术的发展,高性能嵌入式处理器性能在不断提高,从处理器频率,内存的大小与速度,外部存储空间这些指标上基本上可以满足本机的编辑、编译、调试,可以跟通用PC机应用开发一样,在开发板上直接编译、调试程序。开发板本机安装各种编辑器、GCC编译器、IDE集成开发环境。(这里高资源开发板,一般指主频1GHZ以上,内存512MB以上,硬盘(flash)8GB以上板卡,例如:飞腾派、龙芯派,RK3399/3588开发板等)。

开发方式可以开发板直接连接显示器、键盘、鼠标使用,开发板就相当于主机。更常见的方式使用台式机/笔记本通过SSH连接到开发板的系统上进行开发。

三、飞腾派本机开发环境

  • SHH连接到飞腾派开发板

  • 系统软件包操作

//更新软件仓库
$sudo apt update
//搜索仓库中的vim相关软件包
$sudo apt-cache search vim
//找到vim编辑器的软件包进行安装
$sudo apt isntall vim

  • GCC编译器安装与使用

//安装gcc编译器
$sudo apt isntall build-essential
//查看gcc版本
$gcc -v

  • 本机程序的编译与运行

输入一个linux的文件操作程序,功能是从键盘输入字符,逐个存到磁盘文件中,直到输入‘#“为止。代码如下:

#include <stdio.h>
#include <stdlib.h>

void main(int argv,char** argc)
{  FILE *fp;
    char ch,*filename="out.txt";
    if((fp=fopen(filename,"w"))==NULL)
    {   printf("cannot open file\n");
	exit(0);
    }
    printf("Please input string:");
    ch=getchar();
    while(ch!='#')
    {    fputc(ch,fp);
          putchar(ch);
          ch=getchar();
    }
    fclose(fp);
}

通过下述命令编译运行:

//编译程序
$gcc test.c -o test
//运行程序
$./test

 

;