文章講述使用硬件平臺為飛凌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
|