米尔电子
直播中

ouxiaolong

11年用户 470经验值
擅长:嵌入式技术 光电显示
私信 关注
[技术]

【米尔-STM32MP135开发板-入门级MPU试用】MYD-YF135开发环境搭建

1 开发环境准备

笔者这里使用Ubuntu 20.04作为主机来开发,当然也可选择Fedora,Debian,CentOS 等 Linux 发行版的本地主机上进行开发。

1.1 更新主机的源列表

$ sudo apt-get update

1.2 安装依赖工具

$ sudo apt-get install u-boot-tools libyaml-dev bison flex sed wget curl cvs subversion git-core coreutils unzip texi2html texinfo docbook-utils gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ chrpath libxml2-utils xmlto docbook bsdmainutils iputils-ping cpio python-pycryptopp python-crypto libsdl1.2-dev xterm corkscrew nfs-common nfs-kernel-server device-tree-compiler mercurial u-boot-tools libarchive-zip-perl ncurses-dev bc linux-headers-generic gcc-multilib libncursesw5-dev lrzsz dos2unix

2 TFTP服务环境搭建与测试

TFTP简单文件传输协议,是一个基于UDP 协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于开销不大、不复杂的应用场合。

TFTP 协议专门为小文件传输而设计,只能从服务器上获取文件,或者向服务器写入文件,不能列出目录,也不能进行认证。

(1)下载并安装 tftp

$ sudo apt-get install openbsd-inetd

$ sudo apt-get install tftpd tftp

(2)新建tftp目录和改变其属性

$ sudo mkdir /tftpboot

$ sudo chmod 777 /tftpboot

(3)修改 /etc/inetd.conf文件

$ sudo vim /etc/inetd.conf

新增如下内容:

tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot

(4)启动tftp

$ sudo /etc/init.d/openbsd-inetd start

(5)本地测试

在/tftpboot/目录下新建一个文件test,输入内容,保存。然后打开另外一个终端,测试文件传输。

– 输入命令tftp 127.0.0.1

– 输入get test

– 输入q可以退出

– 退出后,使用ls命令可以发现当前目录下有test文件,如果这个文件和服务器中的test文件内容一模一样,表明服务器搭建成功

1691194946713kwfp3m0zze

(6)开发板测试

开发板下载测试

#tftp -g -l test -r test 192.168.19.167

【注】-l后的文件是下载后文件名,可以自定义;-r后的是服务器的文件名。

3 安装交叉编译器

将SDK 压缩包拷贝到 Ubuntu 下的用户工作目录,然后解压文件,得到安装脚本文件。

$ tar -xvf sdk-qt.tar.xz

然后运行安装脚本。

$ ./meta-toolchain-qt5-openstlinux-weston-myir-yf13x-x86_64-toolchain-4.0.4-snapshot.sh

SDK 默认被安装到/opt/st/myir-yf13x/4.0.4-snapshot 目录下,当然也可更改安装目录。

2.png

安装完成后,使用以下命令设置环境变量,测试 SDK 是否完成:

$ source /opt/st/myir-yf13x/4.0.4-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi

然后检查价差编译工具链是否安装成功。

$ arm-ostl-linux-gnueabi-gcc -v

3.png

最好的验证验证方法就是直接编译一个例程,我们就编译第一个裸机例程“hello.c”试试。

$ vim hello.c

#include <stdio.h>
int main()
{
    printf("Hello, STM32MP135!\n");
    return 0;
}

$ ${CC} hello.c -o hello

使用如下命令查看 hello文件信息:

$ file hello

4.png

从图中可以看到 hello是32位 LSB 的 ELF 格式文件,目标机架构为 ARM aarch32,,说明我们的交叉编译器工作正常。

最后将程序下载到开发板,修改用户权限后即可运行。

$ tftp -g -l hello -r hello 192.168.19.167

5.png

更多回帖

发帖
×
20
完善资料,
赚取积分