1、软件存放位置
目前二代交换中软件情况如下:
序号 | 软件名称 | 文件名 | 存放位置 | 备注 |
1 | fsbl | Myfsbl.elf | QSPI FLASH | 在boot.bin文件内 |
2 | bit | Zynq_top.bit | QSPI FLASH | 在boot.bin文件内 |
3 | u-boot | u-boot.elf | QSPI FLASH | 在boot.bin文件内 |
4 | Kernel image | uImage | QSPI FLASH | 在boot.bin文件内 |
5 | Device tree | Devicetree.dtb | QSPI FLASH | 在boot.bin文件内 |
6 | ramdisk | Uramdisk.image.gz | QSPI FLASH | 在boot.bin文件内 |
7 | app | App.elf | NOR FLASH | Linux启动后位于nor_flash文件夹内 |
8 | 配置文件 | .txt .dat文件等 | NOR FLASH | Linux启动后位于nor_flash或config_flash文件夹内 |
boot.bin组成情况如下图所示:
2、更换APP的方法
总流程如下图所示:
Linux启动后默认自动执行app.elf,如果需要更换app.elf,需要通过TFTP加载不含app.elf的Linux版本,步骤如下:
1) 打开串口,在模块刚上电时,键盘回车,取消u-boot自动加载
2) 将devicetree.dtb,uImage,uramdisk-noapp.image.gz放到TFTP目录
uramdisk-noapp.image.gz下载地址见:https://gitee.com/felven/SSS/blob/master/uramdisk-noapp.image.gz
3) 在主机IP地址中加入192.168.100.6
4) 通过TFTP上传启动文件,注意uramdisk为noapp版本
tftpboot 0x2a00000 devicetree.dtb
tftpboot 0x2000000 uramdisk-noapp.image.gz
tftpboot 0x3000000 uImage
5) 启动Linux
bootm 0x3000000 0x2000000 0x2a00000
6) 删除nor_flash文件夹下的app.elf
7) 通过FTP上传新的app.elf(模块默认已经配好了IP地址)
ftpget 192.168.100.6 -u hr -p hr app.elf
8) 修改app.elf权限
至此app更新完毕。
3、配置文件更新
配置文件更新有两种方法。
1、 和app更新类似,通过ftp上传更新,适用于大文件,例如v7.bin
2、 在线更新,适用于小文件,建议txt文件通过此方式进行更新。由于Windows下txt文件会插入linux下无法识别的字符,通过ftp上传后还需要进行手动修改。
在vi中输入i命令后即可手动修改txt文件,修改完毕后“Esc”,“shift+:”,“ wq”进行保存关闭。
所有二代交换源码请见:
kernel https://gitee.com/felven/zynq-linux-sw2-kernel
u-boot devicetree https://gitee.com/felven/SSS