Zynq7020 使用记录
Zynq7020 使用记录
一、开发环境
1、Petalinux-2019.1
- 依赖库:
apt install build-essential vim tofrodos
apt install iproute2 gawk gcc git make net-tools zlib1g-dev
apt install libssl-dev flex bison libselinux1 libncurses5-dev
apt install tftpd lib32z1 lib32ncurses5 libbz2-1.0:i386
apt install lib32stdc++6 xvfb chrpath socat autoconf libtool
apt install texinfo gcc-multilib libsdl1.2-dev libglib2.0-dev zlib1g:i386 xterm
- 安装petalinux时出现警告,提示No tftp server found - please refer to “PetaLinux SDK Installation Guide” for its impact and solution,需要安装下面3个库:
sudo apt-get install tftpd tftp openbsd-inetd
- 编辑文件:
gedit /etc/inetd.conf
,在末尾新增:tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd tftp目录
- 新建TFTP目录,777权限
- 重启服务:
/etc/init.d/openbsd-inetd restart
- 查询:
netstat -an | more | grep udp
,有以下输出证明安装成功:udp 0 0 0.0.0.0:69 0.0.0.0:*
- 出现
not bask
警告时,使用命令sudo dpkg-reconfigure dash
,选择No,切换sh指向目标
2、Vivado SDK 2019.1
3、Linux_Kernel_2019.1(4.19)
petalinux-config --get-hw-description=.
petalinux-build
petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga --u-boot --force
petalinux-build -x mrproper
petalinux-build -x distclean
二、工具
1、ssh
- 使用命令
sudo apt-get install openssh-server
安装ssh服务器 - 使用命令
sudo ps -e |grep ssh
查看是否启动,如果出现sshd
说明启动成功 - 使用命令:
service ssh start
启动ssh服务
2、FTP
- apt-get install vsftpd
- vim /etc/vsftpd.conf
- 使能匿名登录,同时新增:
listen=YES
#listen_ipv6=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_root=/home/ftp
#anon_umask=033
anon_other_write_enable=YES
pasv_enable=YES
allow_writeable_chroot=YES
#pasv_address=192.168.1.190
#pasv_min_port=40000
#pasv_max_port=45000
listen_address=绑定的IP地址
- FTP主目录权限设置755
3、串口传输文件
- 使用Picocom指令:
picocom -b 115200 /dev/ttyUL1
,即打开PL串口,波特率115200bps,默认使用ZModem传输协议 - 使用命令:
Ctrl + a
Ctrl+r
接收文件/Ctrl + a
Ctrl+s
发送文件,PC端使用SecureCRT进行文件传输 - 使用 Picocom 进行文件传输需要安装 lrzsz,
apt install lrzsz
4、GCC
- 编译选项加入:
-std=c++11
,解决C++11支持
5、nmcli
由于没有板载的以太网,所以数据只能通过板载WiFi模块进行网络连接,使用nmcli进行WiFi连接功能。
- 连接WiFi:
nmcli d wifi connect XXX password XXX
- 查询记录的WiFi:
nmcli c
- 删除WiFi:
nmcli c del "UUID"
三、WiFi使用
内核网络支持需要开启CFG80211相关配置,WiFi设备开启RTL系列相关内容
1、libnl+ssl安装
sudo apt-get install libnl-3-200
sudo apt-get install libnl-3-dev
sudo apt-get install libnl-genl-3-dev
sudo apt-get install libssl-dev
2、hostapd编译
- 注意配置开启LIBNL3
- 解决随机池子问题,打开
src/crypto/random.c
文件,将fd = open(“/dev/random”, O_RDONLY | O_NONBLOCK);
修改为fd = open(“/dev/urandom”, O_RDONLY | O_NONBLOCK);
- make
3、文件说明
- hostapd:hostapd程序
- rtl_hostapd_2G.conf:2.4G 通道13(2.472Hhz)配置 802.11n
- rtl_hostapd_5G.conf:5G 通道36(5.18Ghz)配置 802.11a
- rtl8192du.ko:RTL8192DU USB WiFi驱动模块
4、驱动加载
- 使用命令
insmod rtl8192du.ko rtw_channel_plan=0x02
加载wifi模块,同时配置频段范围为:RT_CHANNEL_DOMAIN_ETSI
5、创建AP
- 使用命令
./hostapd rtl_hostapd_2G.conf
创建2.4GWiFi - 使用命令
./hostapd rtl_hostapd_5G.conf
创建5GWiFi
四、程序加载(网络)
1、uboot烧录
- 使用Vivado SDK直接进行烧录,烧录文件:BOOT.BIN、zynq_fsbl.elf,其中BOOT.BIN必须有等待UBoot进入等待时间
2、内核与文件系统烧录
- Zynq启动后进入U-Boot,设置板卡与PC服务器IP,保存环境变量(如果使用串口传输,直接看第三步):
set serverip 192.168.X.XXX --tftp主机ip 一般不设
set ipaddr 192.168.X.XXX --板子ip
saveenv
- 在PC机使用Tftpd 64软件开启服务器,Zynq使用指令:
tftpboot image.ub
获取内核文件 - 使用指令:
loadb 0x10000000
,使用SecureCRT传输内核,Teansfer->Send Kermit->Add->OK - 使用指令:
bootm 0x10000000
跳转到镜像 - 对Emmc分区,存放image.ub文件的为分区1,分配256MB,存放文件系统的为分区2,分配6GB
- 挂载NFS到PC机,用以同步正式的BOOT.BIN、image.ub、文件系统
- 格式化Emmc分区
mkfs.vfat /dev/mmcblk1p1
mkfs.ext4 /dev/mmcblk1p2
- 挂载分区后,拷贝
image.ub
到分区1,拷贝文件系统到分区2 - 重新更新BOOT.BIN,正式中没有等待进入BOOT模式时间,使用指令:
flashcp /mnt/sd/image/BOOT.bin /dev/mtd0
特别注意
- Vivado工程路径不能带中文
其它
- 设置笔记本合盖不进入休眠状态,修改文件:
sudo gedit /etc/systemd/logind.conf
,修改以下内容:HandleLidSwitch=ignore
,执行service systemd-logind restart
重启生效 - find ./ -type f |xargs touch 解决拷贝文件时钟不同步问题
参考内容
- https://blog.csdn.net/tianyake_1/article/details/119389118
- https://blog.csdn.net/weixin_44251074/article/details/120270848
- https://www.freesion.com/article/5426434486
- https://www.bilibili.com/video/BV11j411f7Co?p=75&spm_id_from=pageDriver
- https://blog.csdn.net/p154613730/article/details/103408932
- https://blog.csdn.net/h244259402/article/details/83993524?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2-83993524-blog-89816703.pc_relevant_sortByStrongTime&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2-83993524-blog-89816703.pc_relevant_sortByStrongTime&utm_relevant_index=5
- https://blog.csdn.net/m0_57982541/article/details/123094686
- http://t.zoukankan.com/schips-p-13628588.html
- https://blog.csdn.net/weixin_47221359/article/details/109449313
- https://blog.csdn.net/campper/article/details/110878513
- https://blog.51cto.com/u_15642578/5306059
- https://blog.csdn.net/weixin_42368683/article/details/116922000
原文地址:https://blog.csdn.net/bigmaxPP/article/details/125310224
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!