[活动] 开发环境安装 (二)交叉编译环境

小火苗   2022-9-1 13:30 楼主

开发环境安装 二

MYD-J1028X 开发板的开发环境,搭建比较麻烦,不像其他开发办的开发环境一样安装完虚拟机,再安装完系统之后就可以正常开发了。这款开发板开发环境需要安装gcc编译甚至还需要安装很多基础软件。

现根据官方提供的《MYD-J1028X Ubuntu 系统开发指南》并加上自己的实际经验,总结一下完整的开发环境安装步骤。

个人在此过程中也有走过弯路,开发环境安装两次才满足了实际的开发使用。

一、开发主机环境

主机软硬件要求

l 主机硬件

构建 ubuntu 系统一般处理器具有双核以上 CPU,8GB 以上 内存,500GB 硬盘或更 高配置。

l 主机操作系统

构建 Buildroot 项目的主机操作系统可以有很多种选择。一般选择在安装 Fedora, ope nSUSE, Debian, Ubuntu, RHEL 或者 CentOS 等 Linux 发行版的本地主机上进行构建,这 里推荐的是 Ubuntu18.04 64bit 桌面版系统,后续开发也是以此系统为例进行介绍。

 

  • 1.1、以上是官方手册推荐的主机要求,下面十个人实际的安装。虚拟机的设备配置:内存4G,处理器4核,硬盘空间开了100GB。安装的是Ubuntu64位桌面操作系统,系统下载链接:https://ubuntu.com/download/alternative-downloads,选择Ubuntu 18.04 LTS (Bionic Beaver)进行下载使用。
  • 主机环境配置-下载源

官方手册推荐:

Ubuntu 安装工具常用命令就是 apt-get,但是安装完系统后,默认的源为国外服务 器,下载会很慢,所以需要更换为清华源。

2.1、个人在此部分没有进行更改,选择使用了系统默认的下载源。

三、安装SSH

安装完 ssh 服务后,可以在 window 环境下,用 sercureCRT 工具 ssh2 的方式连接到

ubuntu 进行后续开发。

sudo apt-get install openssh-server

给用户生成密钥

su user

ssh-keygen -t rsa

使用SecureCRT软件进行链接测试

6Ay5csAAAAASUVORK5CYII=

使用windows 命令行链接测试

9lyts25dLLAAAAABJRU5ErkJggg==

四、配置samba

《MYD-J1028X Ubuntu 系统开发指南》推荐手册方案:

samba 可以直接在 window 下已文件夹形式访问 ubuntu 的内容,读写更方便。安装 s amba:

apt-get install samba 

在/etc/samba/smb.conf 中加入用户配置,如 linux 用户名为“duxy“,如下配置:

[duxy]

path = /home/duxy

valid users = duxy

browseable = yes

public = yes

writable = yes

创建账号并设置密码:

$ sudo smbpasswd -a duxy

New SMB password:

Retype new SMB password:

Added user duxy.

/etc/init.d/smbd restart 重启 samba 服务:

$ /etc/init.d/smbd restart

[ ok ] Restarting smbd (via systemctl): smbd.service.

 

 

  • Git配置

安装git环境

sudo apt-get install git

配置git

git config --global user.name "user"

git config --global user.email "email"

git config --list

 

"user"  就是个人git的名称 可以自己定义

"email" 就是个人git的邮箱 可以自己定义

 

  • vim安装

sudo apt-get install vim

 

  • 安装 SDK 必要工具

Sdk必要工具基本上都是基本的功能软件,有一些工具软件系统本身应该已经自带了,多安装也没关系。并且个人是采用了很麻烦的方式一个一个小插件的安装。

sudo apt-get install net-tools

sudo apt-get install Make

sudo apt-get install build-essential

sudo apt-get install cpio

sudo apt-get install autotools-dev

sudo apt-get install automake

sudo apt-get install dh-autoreconf

sudo apt-get install binfmt-support

sudo apt-get install qemu-system-common

sudo apt-get install qemu-user-static

sudo apt-get install u-boot-tools

sudo apt-get install binutils

sudo apt-get install bash

sudo apt-get install patch

sudo apt-get install gzip

sudo apt-get install bzip2

sudo apt-get install tar

sudo apt-get install wget

sudo apt-get install libncurses5-dev

sudo apt-get install unzip

sudo apt-get install python3-pyelftools

sudo apt-get install python-pyelftools

sudo apt-get install python3-pycryptodome

sudo apt-get install python-pycryptodome

sudo apt-get install pkg-config

sudo apt-get install libtool

sudo apt-get install rsync

sudo apt-get install file

sudo apt-get install bc

sudo apt-get install openssl

sudo apt-get install sed

sudo apt-get install libssl-dev

sudo apt-get install autogen

sudo apt-get install bison

sudo apt-get install flex

sudo apt-get install inetutils-ping

sudo apt-get install gtk-doc-tools

sudo apt-get install libglib2.0-dev

sudo apt-get install libxext-dev

sudo apt-get install libgstreamer1.0-dev

sudo apt-get install libgstreamer-plugins-base1.0-dev

 

  • GCC交叉编译

C/C++是 Linux 平台下进行底层应用开发最为常用的编程语言,也是仅次于汇编的最 为高效的语言。使用 C/C++进行开发通常采用的是交叉开发的方式,即在开发主机端进 行开发,编译生成目标机器上运行的二进制执行文件,然后部署到目标机器上运行。 采用这种方式,首先需要安装交叉编译器。如果已经按照《MYD-J1028X_ubuntu 软 件开发指南》编译过 LSDK,则会自动安装好编译器,否则使用以下命令安装编译器:

8.1、软件安装

$ sudo apt-get install gcc-aarch64-linux-gnu

$ export CROSS_COMPILE=aarch64-linux-gnu-

$ export ARCH=arm64

 

安装完之后检测下安装是否成功

aarch64-linux-gnu-gcc -v

x8tkYE09u8pZwAAAABJRU5ErkJggg==

8.2、应用程序开发

新建HelloWorld.c文件,通过编写一个简单的 Hello World 实例来演示应用程序的开发,以下为在开发主 机端编写的演示程序 hello.c:

#include <stdio.h>

int main(int argc,char *argv[])

{

 printf("hello world!\n");

 return 0;

}

接着编译应用程序,这里用$CC 编译,因为编译的时候需要对应的头文件和链接, $CC 包含有对应的系统库和配置信息,如果直接用 aarch64-linux-gnu-gcc 来编译会出 现找不到头文件的情况,这个时候可以加入参数-v 来查看详细的链接过程。

C2qPSE7sUtpGAAAAAElFTkSuQmCC

如图所示主机编译后,主机并不能正常运行软件。

WIAAAAASUVORK5CYII=

至此主机开发环境基本上安装完成可以进行软件应用的开发和编译。

  • SSH文件拷贝到评估板
  1. 查看主机ip和评估板ip
  2. 评估板网络接口选择使用Ethernet0(J5)接口,但评估板开机后首次的ip地址是不正确的,及时是之后重新上电也改不过去,目前可能还是需要每次上电都需要设置下ip地址。

ifconfig eno0 192.168.0.114 netmask 255.255.255.0 up

route add default gw 192.168.0.1

Ifconfig  查看一下配置后的ip地址

fsfEAAAAASUVORK5CYII=

  1. ssh nxp@192.168.0.109  评估板下命令行链接主机电脑,本人的主机名称为nxp 其他人依实际情况改变
  2. 评估板链接测试无误后退出远程连接:logout
  3. scp -r nxp@192.168.0.109:~/MYD-J1028X/app/key_led /home/app

使用此命令编译将主机编译好的文件拷贝到评估板当中。

  1. 运行编译后的软件

cd /home/app

使用./helloworld运行应用软件

Hello World!

 

 

  • 本机开发环境

评估板自带开发交叉编译环境,使用aarch64-linux-gnu-gcc -v 检测 实际编译运行也无误

 

8BGryoo8kLRL4AAAAASUVORK5CYII=

 

十一、创建工作目录

建立工作目录,方便设置统一的环境变量路径。拷贝产品光盘中的源码到工作目录 下,方便后续步骤的路径访问,所拷贝的代码用户和拥有者必须是个人账号,如用户名称 是“myir”:

PC$ mkdir -p /home/myir/MYD-J1028X

PC$ cp -r /02-Images /home/myir/MYD-J1028X

PC$ cp -r /03-Tools /home/myir/MYD-J1028X

PC$ cp -r /04-Sources /home/myir/MYD-J1028X

十二、SecureCRT软件安装

EqTK1ADo7ngAAAABJRU5ErkJggg==

    1. 软件安装正常操作即可
    2. 软件安装后需要进行破解注册

注册方法:

1、首先运行压缩包中的安装程序进行安装原版程序!

2、安装完成后记得先不要运行程序!

3、复制压缩包中的keygen.exe程序到安装目录!

4、运行keygen.exe,点击Patch按钮对源程序(即所安装程序的主程序)打补丁即可。

5、在keygen.exe上输入你的名字和公司生成序列号,然后注册

1.3、软件安装后严重串口调试功能,本节个人使用的就是调试串口进行一些操作。连接好type-C重新给评估板上电,打印如下信息即可。。

 

 

回复评论 (8)

这个NXP LS1028A处理器 双核cortex-A72的MPU,我想这可以当电脑用了把,应该可是直接在板子上安装开发环境了吧。配合上超大号的U盘,应该没有任何压力吧

点赞  2022-9-1 22:38

楼主分享交叉编译的经验,给大家做了很好的示范。感谢分享!

点赞  2022-9-1 23:02

学习了,新手很有帮助

点赞  2022-9-2 09:23

交叉编译链的安装是开发linux的第一步,也是最重要的一步。

点赞  2022-9-2 10:09
引用: bigbat 发表于 2022-9-1 22:38 这个NXP LS1028A处理器 双核cortex-A72的MPU,我想这可以当电脑用了把,应该可是直接在板子上安装开发环境 ...

对对对 评估板本身 确实可以进行交叉编译

点赞  2022-9-2 11:30

我想了一下,可以在开发板上安装C的编译工具吗?要不来来回回拷文件,麻烦。

点赞  2022-9-5 07:38

现在不要钱的终端很多呀,不要再破解了。

默认摸鱼,再摸鱼。2022、9、28
点赞  2022-9-7 16:14
引用: lugl4313820 发表于 2022-9-5 07:38 我想了一下,可以在开发板上安装C的编译工具吗?要不来来回回拷文件,麻烦。

此评估板自带c 和c++ 的交叉编译工具

点赞  2022-9-11 13:21
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复