干货分享| 基于飞凌LS1028A 系统固化的操作说明

2021年03月31日 09:15    发布者:哦哈哟
文章讲述使用硬件平台为飞凌OK1028开发板(NXP公司Layerscape系列 LS1028A 芯片),本文主要讲述LS1028A系统固化使用说明,说明包括如何制作烧写TF卡,如何USB烧写,如何通过TFTP烧写QSPI。
一、 制作烧写TF卡OK1028A-C平台含有一个TF卡接口并且支持TF卡启动,因此可以借助TF卡将镜像烧写到EMMC中,下面是制作烧写TF卡的过程。
将TF卡插入主机,并将其连接到虚拟机Ubuntu中
https://www.forlinx.com/file.php?f=202012/f_42a3bcdc84a2d18a127890b4f70f30ce&t=jpg&o=&s=&v=1607333355
查看设备节点
https://www.forlinx.com/file.php?f=202012/f_2ecf1e335ec3715bea30d864a25c6b21&t=jpg&o=&s=&v=1607333713
如果您只插入了一个TF卡设备默认情况下设备节点为/dev/sdb具体以实际情况为准
烧写firmware到TF卡
将用户资料工具目录的mksdcard.sh及镜像目录的firmware_ls1028ardb_uboot_sdboot.img拷贝到虚拟机的/home/forlinx/work目录
https://www.forlinx.com/file.php?f=202012/f_625195e05d2234214a039cd4c4bc03c9&t=jpg&o=&s=&v=1607333722
执行做卡脚本:
sudo ./mksdcard.sh
https://www.forlinx.com/file.php?f=202012/f_bd8ef78663c5a88838c4e263cc1b1529&t=jpg&o=&s=&v=1607333729
根据提示选择设备节点,这里只插入了一个TF卡,输入1
https://www.forlinx.com/file.php?f=202012/f_b505cc0d273f57496ae88d9203c8a477&t=jpg&o=&s=&v=1607333735
输入“y”进行确认
https://www.forlinx.com/file.php?f=202012/f_70fb08e6677e56fed6ad9e86ffb45832&t=jpg&o=&s=&v=1607333742
这样烧写TF卡就制作完成了,下面我们还需要将镜像文件拷贝到TF卡中,首先将TF卡插入Windows主机中,然后将网盘资料Linux/镜像目录中的文件拷贝到TF卡中。

Scripts
ls1028ardb_update.scr

Tools
usb_update.itb

Rootfs
ubuntu.img

Firmware
firmware_ls1028ardb_uboot_emmcboot.img
firmware_ls1028ardb_uboot_xspiboot.img

DP2LVDS
dp2lvds_firmware.bin

Config
config.ini

Boot
内核及设备树、开机logo等


TF卡fat32分区存放以下文件:
https://www.forlinx.com/file.php?f=202012/f_a1abc4c81f9a7a724c00404fe631ee37&t=jpg&o=&s=&v=1607333748
配置文件config.ini内容如下:
https://www.forlinx.com/file.php?f=202012/f_7f07a89e736a9c49d514ae2f968c37b6&t=jpg&o=&s=&v=1607333755
注意:默认配置文件不烧写QSPI,如果需要烧写QSPI请将qspiflash选项改为true。
将烧写TF卡插入TF卡座,启动开发板,将拨码开关拨至TF卡启动,上电自动进入烧写流程。
https://www.forlinx.com/file.php?f=202012/f_8251930d0adee7365ada2649cc1c37e8&t=jpg&o=&s=&v=1607333761
https://www.forlinx.com/file.php?f=202012/f_92d74304cc4d71e235df17d5fd7cedf2&t=jpg&o=&s=&v=1607333768
注意:烧写成功后核心板心跳灯将熄灭,烧写异常则常亮。
二、 U盘烧写OK1028A-C支持U盘烧写,前提是QSPI flash中的u-boot可以正常启动,使用QSPI启动来配合U盘烧写。U盘容量需要大于8G,分区格式为FAT32,同时U盘只能包含一个分区,有些客户的U盘做过系统启动盘,会包含隐藏分区,请避免使用。
https://www.forlinx.com/file.php?f=202012/f_2c17069acc7d0907d99807b90a3655c5&t=jpg&o=&s=&v=1607333775
将网盘资料images目录的文件拷贝到U盘中,并将U盘插入OK1028A-C的USB3.0中。将拨码开关拨至QSPI启动,上电启动开发板(请勿插TF卡)。
https://www.forlinx.com/file.php?f=202012/f_7f94941fb61dd0fc1ae1eb0cbc692329&t=jpg&o=&s=&v=1607333781

三、 TFTP烧写QSPIOK1028A-C支持网络烧写QSPI,前提是flash中的u-boot可以正常启动。
1、 TFTP环境搭建Tftp是用来远程下载文件的常用网络协议,基于udp实现,在嵌入式调试开发过程中经常用来从Host主机下载文件到开发板,避免繁琐的U盘拷贝过程。本节主要讲解Host端的tftp server的环境搭建,飞凌提供的ubuntu18.04中默认已经安装好了tftp server您可以略过此节。
安装前请确保您的虚拟机可以访问网络,首先安装tftp-hpa和tftpd-hpa(前者是客户端,后者是服务程序)以及xinetd。
root@forlinx:~$ sudo apt-get install tftp-hpa tftpd-hpa xinetd
https://www.forlinx.com/file.php?f=202012/f_862039b9bdf62e466040ce346b0e4664&t=jpg&o=&s=&v=1607333788
重新启动tftp服务:
root@forlinx:~$ sudo service tftpd-hpa restart
查看tftp配置文件:
root@forlinx:~$ cat /etc/default/tftpd-hpa
https://www.forlinx.com/file.php?f=202012/f_92a0f11116953e03e531da051322e719&t=jpg&o=&s=&v=1607333806
默认的tftp目录为/var/lib/tftpboot保持默认即可,下面进行本地tftp测试:
root@forlinx:~$ sudo chmod 777 -R /var/lib/tftpboot
root@forlinx:~$ echo "www.forlinx.com" > /var/lib/tftpboot/test
root@forlinx:~$ tftp forlinx
get test
q
root@forlinx:~$ ls test
https://www.forlinx.com/file.php?f=202012/f_ae7562d421fa4273381fe3c0409367f5&t=jpg&o=&s=&v=1607333813
测试成功。
2、 TFTP烧写QSPIOK1028A-C平台的uboot阶段可以使用以太网,并且uboot中支持tftp协议,因此我们只需要稍加配置开发板的网络,便可以通过tftp将文件从Host主机下载到开发板的内存,然后烧写到qspi nor中。下面演示网络配置以及烧写过程。注意,用户的网络环境各不相同,配置网络时,具体的IP信息等请以实际为准。
本节以烧写固件firmware_ls1028ardb_uboot_xspiboot.img为例:
查看虚拟机IP:
root@forlinx:~$ ifconfig
https://www.forlinx.com/file.php?f=202012/f_ff131bb867efec30f109cfec12142421&t=jpg&o=&s=&v=1607333819
拷贝Firmware文件到TFTP目录:
root@forlinx:~$ cp firmware_ls1028ardb_uboot_xspiboot.img /var/lib/tftpboot/
将网线插入SGMII网口,开发板上电,连续敲击空格键,使开发板停留在uboot命令行。
https://www.forlinx.com/file.php?f=202012/f_4943f31d211242b51f3dea4cfd242cfc&t=jpg&o=&s=&v=1607333826
配置开发板IP:
=> setenv ipaddr 192.168.1.200
配置Server IP:
=> setenv serverip 192.168.1.100
Ping测试:
=> ping 192.168.1.100
https://www.forlinx.com/file.php?f=202012/f_29dd06b34523656ed9800a1a96e03392&t=jpg&o=&s=&v=1607333834
Host is alive表示网络通信正常,下载文件到内存:
=> tftp 0x90000000 firmware_ls1028ardb_uboot_xspiboot.img
https://www.forlinx.com/file.php?f=202012/f_56271d597aa0ef6388593e2af787900f&t=jpg&o=&s=&v=1607333841
烧写QSPI:
=> sf probe 0:0
=> sf erase 0 0x1000000
=> sf write 0x90000000 0 0x1000000
reset
https://www.forlinx.com/file.php?f=202012/f_bbf359a6b9f5c711dbf4c3928966fee8&t=jpg&o=&s=&v=1607333849
调整拨码开关,测试QSPI启动。
https://www.forlinx.com/file.php?f=202012/f_2b0b71640a8eee8a7d82d85df580edd5&t=jpg&o=&s=&v=1607333857
原文链接:https://www.forlinx.com/article_view_574.html