ZYNQ - 嵌入式Linux开发 -04- petalinux和Xilinx_SDK2018.3安装(一)

简介: ZYNQ - 嵌入式Linux开发 -04- petalinux和Xilinx_SDK2018.3安装

写在前面


本文主要介绍了关于Petalinux的安装的过程记录,在安装过程中参考相关文章和教程存在些许的问题,此文作为本人开发环境的安装记录。

安装环境


  1. Ubuntu16.04.3虚拟机(内存可以分配大一点,推荐50G以上)
  2. petalinux 18.3(官网获取,或者网盘链接:链接:https://pan.baidu.com/s/1sLCRru2YJeAMLTd6sKFXeQ 提取码:gp0x)
  3. Xilinx_SDK_2018.3(官网获取,或者网盘链接:链接:https://pan.baidu.com/s/1sLCRru2YJeAMLTd6sKFXeQ 提取码:gp0x)

环境搭建


虚拟机安装


使用VMware 15进行搭建虚拟机,分享本人安装的Ubuntu16.04.3系统镜像:链接:https://pan.baidu.com/s/1ghwvjTQa6C_tfs2ftFR-Kw 提取码:m1z

image.png

本人虚拟机配置,系统正常安装即可。安装完成后,如果没有安装VMware tools,可以在上面的虚拟机的选项中进行安装,我的虚拟机在我安装完成后进行reboot后即完成了VMware tools的安装。

建立共享文件夹


在虚拟机设置选项中选择勾选共享文件夹设置,

image.png

将自己的文件夹共享挂载在虚拟机上即可。

image.png

在终端中输入:ll /mnt/hgfs/share/ 即可完成对共享文件夹的访问。

为了方便使用这里可以选择进行建立软连接输入下面的指令(后面的这个路径改为自己想要设置的路径即可):

ln -s /mnt/hgfs/share/ /home/vuko/Desktop/share_file/

image.png

成功建立软连接。

搭建tftp服务器


TFTP 作为一种简单的文件传输协议,在嵌入式开发中会经常使用到,在安装 Petalinux 工具时也会提示需要 tftp 服务,所以这里提前安装好tftp-hpa 和 tftpd-hpa 软件包,命令如下:

sudo apt-get install tftp-hpa tftpd-hpa

TFTP 需要一个文件夹来存放文件,在根目录下新建一个/tftpboot 目录做为 TFTP 文件存储目录。创建/tftpboot 目录命令如下:

sudo mkdir -p /tftpboot
sudo chmod 777 /tftpboot

配置tftp,在终端中输入指令,进行打开tftpd-hpa文件:

sudo vim  /etc/default/tftpd-hpa

将文件内容修改如下:

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s"

TFTP_DIRECTORY 就是我们上面创建的/tftpboot 文件夹目录,以后我们就将所有需要通过 TFTP 传输的文件都放到该文件夹里面。

最后重启 tftp 服务器:

sudo service tftpd-hpa restart

tftp 服务器就已经搭建好了。

开启NFS 和 SSH 服务


NFS服务

Linux 驱动开发的时候需要 NFS 启动,因此要先安装并开启 Ubuntu 中的 NFS 服务,使用如下命令安装 NFS 服务:

sudo apt-get install nfs-kernel-server

安装完成以后在用户根目录下创建一个名为“linux”的文件夹,以后所有的东西都放到这个“linux”文件夹里面,在“linux”文件夹里面新建一个名为“nfs”的文件夹,

image.png

上图中创建的 nfs 文件夹供 nfs 服务器使用,以后可以在开发板上通过网络文件系统来访问 nfs 文件夹。 配置 nfs。 NFS 允许挂载的目录及权限在文件/etc/exports 中进行定义, 使用如下命令打开 nfs 配置文件/etc/exports:

sudo vim /etc/exports

打开/etc/exports 以后在后面添加如下内容:

/home/vuko/linux/nfs *(rw,sync,no_root_squash)

/home/vuko/linux/nfs 是要共享的目录, *代表允许所有的网络段访问, rw 是可读写权限, sync 是文件同步写入存储器, no_root_squash 是 nfs 客户端分享目录使用者的权限。如果客户端使用的是 root 用户,对于该共享目录而言,该客户端就具有 root 权限。

重启 NFS 服务,使用如下命令:

sudo service nfs-kernel-server restart

此时可以运行以下命令来显示共享的目录:

showmount -e

在 nfs 运行的过程中,修改了/etc/exports 配置文件,可以使用 exportfs 命令使改动生效,具体命令:

sudo exportfs -rv

SSH服务

开启 Ubuntu 的 SSH 服务以后我们就可以在 Windwos 下使用终端软件登陆到 Ubuntu,比如使用 SecureCRT, Ubuntu 下使用如下命令开启 SSH 服务:

sudo apt-get install openssh-server

上述命令安装 ssh 服务, ssh 的配置文件为/etc/ssh/sshd_config,使用默认配置即可。

VScode安装


下载linux版本的安装包,然后在终端中执行安装:

sudo dpkg -i code_1.32.3-1552606978_amd64.deb

image.png

完成安装后可以在搜索界面搜索到vscode,为了方便创建桌面快捷方式。在文件中选择–>转到,再点击输入位置,

image.png

输入/usr/share/applications/,即可看到应用程序。

image.png

将要添加的应用程序进行右击,选择复制到桌面即可。

vscode插件安装,这里跟着正点原子的教程进行正常安装:

1)、 C/C++,这个肯定是必须的。
2)、 C/C++ Snippets,即 C/C++重用代码块。
3)、 C/C++ Advanced Lint,即 C/C++静态检测。
4)、 Code Runner,即代码运行。
5)、 Include AutoComplete,即自动头文件包含。
6)、 Rainbow Brackets,彩虹花括号,有助于阅读代码。
7)、 One Dark Pro, VSCode 的主题。
8)、 GBKtoUTF8,将 GBK 转换为 UTF8。
9)、 ARM,即支持 ARM 汇编语法高亮显示。
10)、 Chinese(Simplified),即中文环境。
11)、 vscode-icons, VSCode 图标插件,主要是资源管理器下各个文件夹的图标。
12)、 compareit,比较插件,可以用于比较两个文件的差异。
13)、 DeviceTree,设备树语法插件。
目录
相关文章
|
7月前
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
384 32
|
9月前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
2158 77
|
10月前
|
前端开发 JavaScript 开发工具
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
624 5
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
10月前
|
JavaScript 编译器 开发工具
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
544 2
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
11月前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
589 15
|
12月前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
521 13
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
460 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
Java Linux API
Linux设备驱动开发详解2
Linux设备驱动开发详解
240 6
|
存储 Linux 开发工具
如何进行Linux内核开发【ChatGPT】
如何进行Linux内核开发【ChatGPT】
|
3月前
|
开发工具 Android开发
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
524 11
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡