查看: 865|回复: 0

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

[复制链接]
发表于 2021-3-31 09:15:47 | 显示全部楼层 |阅读模式
关键词: 飞凌嵌入式
文章讲述使用硬件平台为飞凌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烧写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

重新启动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烧写QSPIOK1028A-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启动。

原文链接:https://www.forlinx.com/article_view_574.html
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表