【全志A33】在Ubuntu下燒錄程式
阿新 • • 發佈:2019-02-15
最近從箱底翻出來一個平板,是當時參加一個培訓機構贈(購)送(買)的。不過工作之後就沒碰過了,附有完整的Android和LinuxQt的原始碼,全志A33平臺,還是挺有可玩性,所以就搭建了開發環境,因為給的文件裡說是在Windows下進行燒錄。但是我使用的純Linux環境,而且燒寫程式無非就是向一個USB裝置寫資料,不存在系統限制,所以Google到了全志的一個Linux平臺燒錄工具——LiveSuit。
軟體下載
git clone https://github.com/linux-sunxi/sunxi-livesuite.git
cd sunxi-livesuite
編譯USB驅動
全志針對自己裝置的燒錄所開發USB裝置驅動——awusb
sudo apt install dkms
sudo cp -r awusb /usr/src/awdev-0.5
sudo dkms add -m awdev -v 0.5
sudo dkms build -m awdev -v 0.5
sudo dkms install -m awdev -v 0.5
如果你使用較新的核心,有可能會碰到下面這樣的錯誤
usb.c:377:8: error: implicit declaration of function ‘signal_pending’; did you mean ‘timer_pending’? [-Werror=implicit-function-declaration]
if (signal_pending(current)) {
^~~~~~~~~~~~~~
timer_pending
cc1: some warnings being treated as errors
這是因為自從Linux 4.11開始,宣告signal_pending函式的標頭檔案從<linux/sched.h>
變成了<linux/sched/signal.h>
,所以只需要把標頭檔案加上就行了,參見 [dpdk-dev] kni: fix build with kernel 4.11
修改udev規則
這一步的目的是讓你能使用普通使用者許可權執行燒錄工具,因為裝置節點預設是隻有root使用者可訪問的。
sudo vim /etc/udev/rules.d/10-local.rules
# 注意將test替換為使用者所在的組,一般跟你的使用者名稱一樣
SUBSYSTEM!="usb_device", ACTION!="add", GOTO="objdev_rules_end"
#USBasp
ATTRS{idVendor}=="1f3a", ATTRS{idProduct}=="efe8", GROUP="test",
MODE="0666"
LABEL="objdev_rules_end"
# 重啟udev服務
sudo service udev restart
燒錄映象
首先進入剛才克隆的原始碼的根目錄
./LiveSuit.sh
可以看到燒錄工具已經啟動
燒錄的方式軟體裡面已經介紹,但如果你的裝置有reset鍵的話,可以使用下面的方式,因為我的裝置在LinuxQt環境下用電源鍵是關不了機的,所以只能這樣。
- 開啟燒錄工具
- 將裝置與電腦連線
- 按住音量鍵,然後按一下復位鍵,並連續短按幾次電源鍵
- 開始燒錄