自学内容网 自学内容网

Zynq7020 使用记录

一、开发环境

1、Petalinux-2019.1

  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
  2. 安装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
  3. 编辑文件:gedit /etc/inetd.conf,在末尾新增:tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd tftp目录
  4. 新建TFTP目录,777权限
  5. 重启服务:/etc/init.d/openbsd-inetd restart
  6. 查询:netstat -an | more | grep udp,有以下输出证明安装成功:udp 0 0 0.0.0.0:69 0.0.0.0:*
  7. 出现not bask警告时,使用命令sudo dpkg-reconfigure dash,选择No,切换sh指向目标

2、Vivado SDK 2019.1

3、Linux_Kernel_2019.1(4.19)

  1. petalinux-config --get-hw-description=.
  2. petalinux-build
  3. petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga --u-boot --force
  4. petalinux-build -x mrproper petalinux-build -x distclean

二、工具

1、ssh

  1. 使用命令sudo apt-get install openssh-server安装ssh服务器
  2. 使用命令sudo ps -e |grep ssh查看是否启动,如果出现sshd说明启动成功
  3. 使用命令:service ssh start 启动ssh服务

2、FTP

  1. apt-get install vsftpd
  2. vim /etc/vsftpd.conf
  3. 使能匿名登录,同时新增:
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地址
  1. FTP主目录权限设置755

3、串口传输文件

  1. 使用Picocom指令:picocom -b 115200 /dev/ttyUL1 ,即打开PL串口,波特率115200bps,默认使用ZModem传输协议
  2. 使用命令:Ctrl + a Ctrl+r 接收文件/Ctrl + a Ctrl+s 发送文件,PC端使用SecureCRT进行文件传输
  3. 使用 Picocom 进行文件传输需要安装 lrzsz,apt install lrzsz

4、GCC

  1. 编译选项加入:-std=c++11 ,解决C++11支持

5、nmcli

  由于没有板载的以太网,所以数据只能通过板载WiFi模块进行网络连接,使用nmcli进行WiFi连接功能。

  1. 连接WiFi:nmcli d wifi connect XXX password XXX
  2. 查询记录的WiFi:nmcli c
  3. 删除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编译

  1. 注意配置开启LIBNL3
  2. 解决随机池子问题,打开src/crypto/random.c文件,将fd = open(“/dev/random”, O_RDONLY | O_NONBLOCK); 修改为 fd = open(“/dev/urandom”, O_RDONLY | O_NONBLOCK);
  3. make

3、文件说明

  1. hostapd:hostapd程序
  2. rtl_hostapd_2G.conf:2.4G 通道13(2.472Hhz)配置 802.11n
  3. rtl_hostapd_5G.conf:5G 通道36(5.18Ghz)配置 802.11a
  4. rtl8192du.ko:RTL8192DU USB WiFi驱动模块

4、驱动加载

  1. 使用命令insmod rtl8192du.ko rtw_channel_plan=0x02加载wifi模块,同时配置频段范围为:RT_CHANNEL_DOMAIN_ETSI

5、创建AP

  1. 使用命令./hostapd rtl_hostapd_2G.conf创建2.4GWiFi
  2. 使用命令./hostapd rtl_hostapd_5G.conf创建5GWiFi

四、程序加载(网络)

1、uboot烧录

  1. 使用Vivado SDK直接进行烧录,烧录文件:BOOT.BIN、zynq_fsbl.elf,其中BOOT.BIN必须有等待UBoot进入等待时间

2、内核与文件系统烧录

  1. Zynq启动后进入U-Boot,设置板卡与PC服务器IP,保存环境变量(如果使用串口传输,直接看第三步):
set serverip 192.168.X.XXX   --tftp主机ip 一般不设
set ipaddr 192.168.X.XXX --板子ip
saveenv
  1. 在PC机使用Tftpd 64软件开启服务器,Zynq使用指令:tftpboot image.ub 获取内核文件
  2. 使用指令:loadb 0x10000000,使用SecureCRT传输内核,Teansfer->Send Kermit->Add->OK
  3. 使用指令:bootm 0x10000000 跳转到镜像
  4. 对Emmc分区,存放image.ub文件的为分区1,分配256MB,存放文件系统的为分区2,分配6GB
  5. 挂载NFS到PC机,用以同步正式的BOOT.BIN、image.ub、文件系统
  6. 格式化Emmc分区
mkfs.vfat /dev/mmcblk1p1
mkfs.ext4 /dev/mmcblk1p2
  1. 挂载分区后,拷贝 image.ub 到分区1,拷贝文件系统到分区2
  2. 重新更新BOOT.BIN,正式中没有等待进入BOOT模式时间,使用指令:flashcp /mnt/sd/image/BOOT.bin /dev/mtd0

特别注意

  1. Vivado工程路径不能带中文

其它

  1. 设置笔记本合盖不进入休眠状态,修改文件:sudo gedit /etc/systemd/logind.conf,修改以下内容:HandleLidSwitch=ignore,执行service systemd-logind restart重启生效
  2. find ./ -type f |xargs touch 解决拷贝文件时钟不同步问题

参考内容

  1. https://blog.csdn.net/tianyake_1/article/details/119389118
  2. https://blog.csdn.net/weixin_44251074/article/details/120270848
  3. https://www.freesion.com/article/5426434486
  4. https://www.bilibili.com/video/BV11j411f7Co?p=75&spm_id_from=pageDriver
  5. https://blog.csdn.net/p154613730/article/details/103408932
  6. 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
  7. https://blog.csdn.net/m0_57982541/article/details/123094686
  8. http://t.zoukankan.com/schips-p-13628588.html
  9. https://blog.csdn.net/weixin_47221359/article/details/109449313
  10. https://blog.csdn.net/campper/article/details/110878513
  11. https://blog.51cto.com/u_15642578/5306059
  12. https://blog.csdn.net/weixin_42368683/article/details/116922000

原文地址:https://blog.csdn.net/bigmaxPP/article/details/125310224

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!