X6818啓動制卡的過程

手賤不小心覆蓋了BootLoader,需要自行燒寫bootloader。

uboot燒寫時的問題

partition manager.exe不能在win 10上跑,一般是因爲版本太老了,無法兼容,需要在網上找了一個Paragon Partition Manager的版本,發現分區前劃分100-200MB後,沒辦法指定盤符了。就像下面:

嘗試了各種辦法都沒有辦法,猜測是因爲我的TF卡內存太大了,64G,當超過32G且文件格式爲FAT32的硬盤無法被window識別的原因。轉向了使用ubuntu燒寫的方法,那麼也就沒有用到九鼎的IROM_Fusing_Tool軟件進行燒寫。

使用ubuntu燒寫uboot

1. 首先,你需要gparted來進行分區。

apt-get install gparted

2. ubuntu查看使用的硬盤的分區情況

這裏的sdb和sdb1是我的TF卡,分爲兩塊是因爲分區了,一般情況下的sda是ubuntu原來自己的,當你插入u盤之類的,就是sdb了。

 sudo fdisk /dev/sdb

輸入m幫助可以知道,我們需要刪除分區,輸入d,然後輸入w,保存操作後退出。刪除分區後sdb1消失,剩下sdb。

3. 開始分區

sudo gparted /dev/sdb

這時候就是按照x6818燒寫的參考文檔,前 100-200置空,後續的剩下設置爲FAT32的文件格式

4. 使用腳本燒寫(腳本來源博主:https://www.cnblogs.com/schips/

#!/bin/sh
# s5p6818 irom sd/mmc boot fusing tool.
# Author: Jianjun Jiang <[email protected]>


# display usage message
USAGE()
{
  echo Usage: $(basename "$0") '<device> <bootloader>'
  echo '       device     = disk device name for SD card.'
  echo '       bootloader = /path/to/uboot.bin'
  echo 'e.g. '$(basename "$0")' /dev/sdc uboot.bin'
}

#[ `id -u` == 0 ] || { echo "you must be root user"; exit 1; }
[ -z "$1" -o -z "$2" ] && { USAGE; exit 1; }

dev="$1"
xboot="$2"

# validate parameters
[ -b "${dev}" ] || { echo "${dev} is not a valid block device"; exit 1; }
[ X"${dev}" = X"${dev%%[0-9]}" ] || { echo "${dev} is a partition, please use device, perhaps ${dev%%[0-9]}"; exit 1; }
[ -f ${xboot} ] || { echo "${xboot} is not a bootloader binary file."; exit 1; }

# copy the full bootloader image to block device
dd if="${xboot}" of="${dev}" bs=512 seek=1 conv=sync

sync;

echo "OK"

然後再執行

./my_script.sh /dev/sdb uboot.bin

my_scriipt.sh是上述腳本存儲時用的名字

5. 把TF卡插到SD0卡的位置,然後重啓,就ok了。

文件系統,內核的燒寫

有了uboot packet之後,啓動時在限定時間3s內進入bootloader模式,在window已經fastboot時,燒寫過程如下:

//在window的cmd窗口跑
fastboot flash boot boot.img
//在window的cmd窗口跑
fastboot flash system qt-rootfs.img

在開發板的串口終端輸入

setenv bootcmd "ext4load mmc 2:1 0x48000000 uImage;bootm 0x48000000"
setenv bootargs "lcd=wy070ml tp=gslx680-linux root=/dev/mmcblk0p2 rw rootfstype=ext4"
setenv ubootpak 1
setenv boot 1
setenv system 1
save

如果是MIPI接口,第二行是這樣子的

setenv bootargs "lcd=wy070ml tp=gslx680-linux root=/dev/mmcblk0p2 rw rootfstype=ext4"

重啓後,會發現系統燒回來了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章