干货分享| LS1028A 系统固化 操作说明

文章讲述使用硬件平台为飞凌OK1028开发板NXP公司Layerscape系列 LS1028A 芯片),本文主要讲述LS1028A系统固化使用说明,说明包括如何制作烧写TF卡,如何USB烧写,如何通过TFTP烧写QSPI

一、 制作烧写TF卡

OK1028A-C平台含有一个TF卡接口并且支持TF卡启动,因此可以借助TF卡将镜像烧写到EMMC中,下面是制作烧写TF卡的过程。

将TF卡插入主机,并将其连接到虚拟机Ubuntu中

 

查看设备节点

 

如果您只插入了一个TF卡设备默认情况下设备节点为/dev/sdb具体以实际情况为准

烧写firmware到TF卡

将用户资料工具目录的mksdcard.sh及镜像目录的firmware_ls1028ardb_uboot_sdboot.img拷贝到虚拟机的/home/forlinx/work目录

 

执行做卡脚本:

sudo ./mksdcard.sh

 

根据提示选择设备节点,这里只插入了一个TF卡,输入1

 

输入“y”进行确认

 

这样烧写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分区存放以下文件:

 

配置文件config.ini内容如下:

 

注意:默认配置文件不烧写QSPI,如果需要烧写QSPI请将qspiflash选项改为true。

将烧写TF卡插入TF卡座,启动开发板,将拨码开关拨至TF卡启动,上电自动进入烧写流程。

 

 

注意:烧写成功后核心板心跳灯将熄灭,烧写异常则常亮。

二、 U盘烧写

OK1028A-C支持U盘烧写,前提是QSPI flash中的u-boot可以正常启动,使用QSPI启动来配合U盘烧写。U盘容量需要大于8G,分区格式为FAT32,同时U盘只能包含一个分区,有些客户的U盘做过系统启动盘,会包含隐藏分区,请避免使用。

 

将网盘资料images目录的文件拷贝到U盘中,并将U盘插入OK1028A-C的USB3.0中。将拨码开关拨至QSPI启动,上电启动开发板(请勿插TF卡)。

 


三、 TFTP烧写QSPI

OK1028A-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

 

重新启动tftp服务:

root@forlinx:~$ sudo service tftpd-hpa restart

查看tftp配置文件:

root@forlinx:~$ cat /etc/default/tftpd-hpa

 

默认的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

 

测试成功。

2、 TFTP烧写QSPI

OK1028A-C平台的uboot阶段可以使用以太网,并且uboot中支持tftp协议,因此我们只需要稍加配置开发板的网络,便可以通过tftp将文件从Host主机下载到开发板的内存,然后烧写到qspi nor中。下面演示网络配置以及烧写过程。注意,用户的网络环境各不相同,配置网络时,具体的IP信息等请以实际为准。

本节以烧写固件firmware_ls1028ardb_uboot_xspiboot.img为例:

查看虚拟机IP:

root@forlinx:~$ ifconfig

拷贝Firmware文件到TFTP目录:

root@forlinx:~$ cp firmware_ls1028ardb_uboot_xspiboot.img /var/lib/tftpboot/

将网线插入SGMII网口,开发板上电,连续敲击空格键,使开发板停留在uboot命令行。

 

配置开发板IP:

=> setenv ipaddr 192.168.1.200

配置Server IP:

=> setenv serverip 192.168.1.100

Ping测试:

=> ping 192.168.1.100

 

Host is alive表示网络通信正常,下载文件到内存:

=> tftp 0x90000000 firmware_ls1028ardb_uboot_xspiboot.img

 

烧写QSPI:

=> sf probe 0:0

=> sf erase 0 0x1000000

=> sf write 0x90000000 0 0x1000000

reset

调整拨码开关,测试QSPI启动。

相关产品: