文章講述使用硬體平臺為
飛凌OK1028
開發板(
NXP公司Layerscape系列
LS1028A
晶片),本文主要講述
LS1028A系統固化使用說明,說明包括如何製作燒寫TF卡,如何USB燒寫,如何透過TFTP燒寫Q
SPI。
一、 製作燒寫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.imgfirmware_ls1028ardb_uboot_xspiboot.img |
DP2LVDS |
dp2lvds_firmware.bin |
Config |
config.ini |
Boot |
核心及裝置樹、開機logo等 |
TF卡FA
T32分割槽存放以下檔案:
配置檔案config.ini內容如下:
注意:預設配置檔案不燒寫QSPI,如果需要燒寫QSPI請將qspiflash選項改為true。
將燒寫TF卡插入TF卡座,啟動開發板,將撥碼開關撥至TF卡啟動,上電自動進入燒寫流程。
注意:燒寫成功後
核心板心跳燈將熄滅,燒寫異常則常亮。
二、 隨身碟燒寫
OK1028A-C支援隨身碟燒寫,前提是QSPI flash中的u-boot可以正常啟動,使用QSPI啟動來配合隨身碟燒寫。隨身碟容量需要大於8G,分割槽格式為FAT32,同時隨身碟只能包含一個分割槽,有些客戶的隨身碟做過系統啟動盤,會包含隱藏分割槽,請避免使用。
將網盤資料images目錄的檔案複製到隨身碟中,並將隨身碟插入OK1028A-C的USB3.0中。將撥碼開關撥至QSPI啟動,上電啟動開發板(請勿插TF卡)。
三、 TFTP燒寫QSPI
OK1028A-C支援網路燒寫QSPI,前提是flash中的u-boot可以正常啟動。
1、 TFTP環境搭建
Tftp是用來遠端下載檔案的常用網路協議,基於udp實現,在
嵌入式除錯開發過程中經常用來從Host主機下載檔案到開發板,避免繁瑣的隨身碟複製過程。本節主要講解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 " > /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啟動。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69989353/viewspace-2744926/,如需轉載,請註明出處,否則將追究法律責任。