RK3568開發筆記(六):開發板燒寫ubuntu韌體(支援mipi屏映象+支援hdmi屏映象)

2023-09-05 12:00:22

前言

  編譯了uboot,kernel,buildroot後,可以單獨輸入韌體,也可以整體打包成rootfs進行一次性輸入,rootfs直接更新升級這個方式目前也是常用的。

 

燒寫器軟體:RKDevTool

  燒寫器軟體是瑞芯微提供的RKDevTool軟體工具,如下圖:
  在這裡插入圖片描述
  是使用usb-usb線進行燒寫的。

 

燒寫Ubuntu韌體

步驟一:檢查開發板連線

  開發板需要上電,需要接偵錯串列埠,特別是燒寫器的線。
  關鍵點:

  • 兩頭都是USB公口的線;
  • 開發板哪一個是燒寫口;
  • 開發板啟動的時候按如何操作(一般是按下按鈕)可進入燒寫模式燒寫,之後則有燒寫工具自行完成了;
      (注意:跟海思不同,海思需要串列埠作為過程判斷指令互動的一條通道,瑞芯微燒寫過程不需要串列埠協助,後續刷韌體的時候是拔了偵錯串列埠刷的,好奇心,妥妥好奇為什麼要偵錯串列埠,但是RVDevTool上面又沒有讓選串列埠號…-…!!!)
      在這裡插入圖片描述

  這裡的連線與海思的差不多《Hi3516開發筆記(六):通過HiTools使用USB/串列埠將uboot、kernel、rootfs和userdata按照分割區表燒寫映象》
  連線圖如下:
  在這裡插入圖片描述

  方便檢視:
  在這裡插入圖片描述

步驟二:準備燒寫器軟體

  將燒寫器下載下來,然後解壓,如下圖:
  在這裡插入圖片描述

步驟三:拷貝映象

  將上一篇編譯的ubuntu系統,拷貝到燒寫器的image資料夾,注意這裡製作映象是在ubuntu宿主機上,所以從虛擬機器器拖出來,放到軟體的image資料夾下去,距離上一篇文章超過半年了,我們先檢查下上次宿主機打包的檔案系統是否是ubuntu,檢查如下,確認是的。
  在這裡插入圖片描述

   (PS:這裡顯示有6.1G,估計ubuntu系統沒做啥裁剪)
  將升級的總包update.image拷貝到image資料夾:
  在這裡插入圖片描述

步驟四:開啟RVDevTool燒寫軟體

  在這裡插入圖片描述

  開啟軟體:
  在這裡插入圖片描述

  點選「升級韌體」選擇之前拷貝到image的「韌體」:
  在這裡插入圖片描述

  在這裡插入圖片描述

  選擇好了,狀態為「沒有發現裝置」:
  在這裡插入圖片描述

  確認我們的裝置按照步驟一已經連線了,就沒問題。

步驟五:按下特定按鍵然後開啟開發板

  本開發板是按住開發板的「音量+」 按鍵, 按住不要鬆開, 然後在按下開發板的電源按鍵啟動開發板, 此時燒寫工具會提示發現新裝置,就可以鬆開:
  在這裡插入圖片描述

  然後會如下:
  在這裡插入圖片描述

  然後點選「升級」(不接偵錯串列埠沒任何關係):
  在這裡插入圖片描述

  在這裡插入圖片描述

  在這裡插入圖片描述

  在這裡插入圖片描述

  在這裡插入圖片描述

  下載成功後,軟體會自動重啟(手賤了,下載過程未到100%點選關閉取消指令,實際確認了,但是無效):
  在這裡插入圖片描述

  在這裡插入圖片描述

  然後開發板重啟:
  在這裡插入圖片描述

  這裡是宿主機偵錯串列埠的設定:
  在這裡插入圖片描述

  在這裡插入圖片描述

   原本以為映象自行編譯適配失敗了,實際不是,檢視「入坑一」,然後主介面如下:
  在這裡插入圖片描述

  在這裡插入圖片描述

  (多寫了p,密碼跟賬戶一樣:topeet)
  在這裡插入圖片描述

  跑ubuntu感覺部分功能有點卡,操作了一下,又好一些,可能板子吃灰太久了,沒跑起來吧,如下:
  在這裡插入圖片描述

  在這裡插入圖片描述

  經過測試,ubuntu映象有個硬傷,就是黑畫面後無法通過觸控去喚醒,只能通過滑鼠鍵盤等外設喚醒顯示屏,所以這個板本必須先把自動屏保黑畫面給他關閉了。

 

燒寫支援hdmi輸出的ubuntu系統

  (PS:這裡支援hdmi,意味著其他幾路不輸出了)
  本次開發板這次開發已經接了hdmi但是沒有切換過去,可以自己修改核心為hdmi輸出去編譯,這裡我們只是用於展會演示,就不費盡了,因為看到官方提供的板本中有一個支援hdmi的ubuntu映象,如下圖:
  在這裡插入圖片描述

  在這裡插入圖片描述

  下下來:
  在這裡插入圖片描述

  重新刷走一遍「燒寫ubuntu」:
  在這裡插入圖片描述

  然後結果如下:
  在這裡插入圖片描述

  測試觸控式螢幕(無效,不支援usb的觸控式螢幕,應該是沒打觸控式螢幕通用驅動,請求官方回覆可能是觸控晶片支援不一樣):
  在這裡插入圖片描述

  這裡插入了鍵盤和滑鼠,發現無效。(PS:後來發現是使用了升級USB口就無效,這裡也算是入了一個坑)

 

入坑

入坑一:刷完自行編譯的ubuntu韌體重啟後聽留下logo介面

問題

  刷完韌體啟動卡在logo「rockchip kernerl」

原因

  偵錯串列埠列印顯示出有部分卡再limit時間上,當前並沒有卡死,就是需要讀秒
  在這裡插入圖片描述

解決

  這裡是用官方的方法可以調整,如下圖:
  在這裡插入圖片描述

  以上修改了,有點用,修改為30s,實際為33s,到33s後又變成2min3s,所以不懂了:
  在這裡插入圖片描述

官方技術支援回覆

mkdir /etc/network/interfaces.d
vi /etc/network/interfaces.d/eth0

  檔案內容:

auto eth0
allow-hotplug eth0 //將網路介面設定為熱插拔模式
iface eth0 inet dhcp//設定dhcp自動獲取ip

  在這裡插入圖片描述

vi /etc/network/interfaces.d/eth1

  在這裡插入圖片描述

vi  /etc/systemd/resolved.conf

  將DNS對應的內容取消註釋並新增114.114.114.114內容並取消LLMNR=no的註釋,修改完成如下圖所示:
  在這裡插入圖片描述

  最終結果,沒有嘗試,因為是後續請教的,這時候已經更改為buildroot韌體並完成了各種工作了。