【X806開發板試用】文章一 ubuntu開發環境搭建

一、環境配置

官方鏈接:
環境配置

1.安裝必要的庫和軟件

sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils gcc-arm-linux-gnueabi cpio device-tree-compiler

在這里插入圖片描述

2.安裝python3

1.查看python版本號

python3 --version

2.安裝python3.8

如果低于python3.7版本,不建議直接升級,請按照如下步驟重新安裝。以python3.8為例,按照以下步驟安裝python。
我的ubuntu版本是18.04 ,執行下面命令
sudo apt-get install python3.8

在這里插入圖片描述

3.設置python和python3軟鏈接為python3.8

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1

在這里插入圖片描述

4.安裝并升級Python包管理工具(pip3)

我這里選擇命令行的方式進行安裝。
sudo apt-get install python3-setuptools python3-pip -y
sudo pip3 install --upgrade pip

3.安裝hb

運行如下命令安裝hb
python3 -m pip install --user ohos-build
在這里插入圖片描述

設置環境變量
vim ~/.bashrc
將以下命令拷貝到.bashrc文件的最后一行,保存并退出。
export PATH=~/.local/bin:$PATH
在這里插入圖片描述

執行如下命令更新環境變量。
source ~/.bashrc
在這里插入圖片描述

執行"hb -h",有打印以下信息即表示安裝成功:
`usage: hb
OHOS build system

positional arguments:
{build,set,env,clean}
build Build source code
set OHOS build settings
env Show OHOS build env
clean Clean output

optional arguments:
-h, --help show this help message and exit`
在這里插入圖片描述

可以輸入hb -v查看hb的版本號
在這里插入圖片描述

二、Gcc編譯鏈安裝

1.下載arm toolchain

在openharmony下面創建一個tool文件夾
然后執行
wget -c https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
下載會有一點慢(稍微等待一下)
下載完成。
在這里插入圖片描述

用ls命令查看
在這里插入圖片描述

解壓
tar -vxf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
在這里插入圖片描述

2.配置

創建 ~/tools 目錄
mkdir ~/tools
將解壓的文件夾拷貝到~/tools文件夾下
cp gcc-arm-none-eabi-10-2020-q4-major ~/tools/ -r

注:~表示你的/home/用戶名目錄
我這里是/home/luatao

復制好之后可前往查看
在這里插入圖片描述

三、下載源碼

1.repo工具

1.下載repo工具

如果沒有repo工具,可通過下面的git命令獲取repo。
git clone https://gerrit-googlesource.lug.ustc.edu.cn/git-repo
在這里插入圖片描述

2.修改repo鏡像地址

當直接執行repo init時候,系統會提示連接超時。
因為Repo init 默認會訪問的url地址https://gerrit.googlesource.com/git-repo往往會失敗;
所以我們需要替換為國內的地址

依次執行下面的命令

vim ~/.bashrc export PATH=~/bin:$PATH export REPO_URL=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/

在這里插入圖片描述

2.獲取鴻蒙系統源碼

在ubuntu上下載
創建一個文件夾openharmony,好管理
執行
repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony_1.0.1_release --no-repo-verify

在這里插入圖片描述

然后再執行

repo sync -c
在這里插入圖片描述

repo forall -c 'git lfs pull'
在這里插入圖片描述

3.下載X806源碼

1.放到device文件夾下

git clone https://gitee.com/openharmony-sig/devboard_device_allwinner_xr806.git
上面這個鏈接已經被廢除了。
執行會報錯

在這里插入圖片描述

git clone https://gitee.com/moldy-potato-chips/devboard_device_allwinner_xr806

在這里插入圖片描述

2.放到vendor文件夾下

git clone https://gitee.com/openharmony-sig/devboard_vendor_allwinner_xr806.git
上面這個鏈接已經被廢除了。
git clone https://gitee.com/moldy-potato-chips/devboard_vendor_allwinner_xr806
在這里插入圖片描述

3.修改文件夾名稱

進入device文件夾下,執行
mv devboard_device_allwinner_xr806/ xradio
在這里插入圖片描述

進入vendor文件夾下,執行
mv devboard_vendor_allwinner_xr806 xradio
在這里插入圖片描述

四、對代碼工程進行配置

cd device/xradio/xr806/xr_skylark
進入到xr_skylark目錄(原生SDK目錄)

1.復制配置文件

cp project/demo/audio_demo/gcc/defconfig .config
在這里插入圖片描述

2.圖形化界面配置

make menuconfig
在這里插入圖片描述

這里先不進行配置 ,雙擊esc,選擇no退出

3.清除舊配置

make build_clean

4.根據配置生成靜態庫和全局頭文件

make lib -j
在這里插入圖片描述

5.選擇wifi_skylark

返回openharmony根目錄
cd -
選擇wifi_skylark
hb set
在這里插入圖片描述

此時再按下一回車,出現
在這里插入圖片描述

此時選擇wifi_shylark,再按下一回車。
在這里插入圖片描述

五.編譯,后續不需要重新配置

1.編譯

hb build -f
在這里插入圖片描述

從上面可以看出編譯成功。

2.鏡像文件

生成的鏡像文件在 源碼目錄//device/xradio/xr806/xr_skylark/out
在我這里就是

/home/luatao/luatao/openharmony/xr806_openharmony/device/xradio/xr806/xr_skylark/out

在這里插入圖片描述

六、固件燒錄

1.拷貝燒錄軟件和燒錄鏡像

編譯生成的固件在device/xradio/xr806/xr_skylark/out,名稱為xr_system.img。

XR806的燒錄固件為phoenixMC_xxxx.exe,文件位于device/xradio/xr806/xr_skylark/tools。

我們可以進入看一下,就是箭頭指向的這個文件。
在這里插入圖片描述

我們可以通過winsp將這個文件拷貝到windows上(注意這里不要只單獨拷貝這個文件,需要將tool文件夾一起拷貝過來,因為需要一些dll文件)

在這里插入圖片描述

然后我們雙擊打開
在這里插入圖片描述

在這里插入圖片描述

2.燒錄步驟

1.上電

插上我們的板子(需要安裝cp2102驅動,自行百度)

然后點擊刷新一下,會多出來一個串口,勾上。
在這里插入圖片描述

2.修改波特率

修改燒錄速率,從921600修改為3000000。
在這里插入圖片描述

3.選擇固件

點擊“選擇固件”,選擇xr_system.img(需要我們從ubuntu中拷貝出來)。

在這里插入圖片描述

4.設置

點擊“設置”,勾選“硬件復位燒寫模式”
在這里插入圖片描述

5.升級固件

設置完成后界面如下圖所示,點擊“升級固件”,等下方的進度條完成即可。
在這里插入圖片描述

七、終端打印

找一個終端工具,選擇串口連接,波特率設置為115200.
按下復位鍵,打印下面的信息,即燒錄成功。
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/710815.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/710815.shtml
英文地址,請注明出處:http://en.pswp.cn/news/710815.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

pix2pix-zero

pix2pix-zero:零樣本圖像到圖像轉換 論文介紹 Zero-shot Image-to-Image Translation 關注微信公眾號: DeepGoAI 項目地址:https://github.com/pix2pixzero/pix2pix-zero 論文地址:https://arxiv.org/abs/2302.03027 本文介紹了一種名為…

Golang 函數中 defer 和 return 的調用順序

先來看一段代碼: package mainimport "fmt"func f() (ret int) {defer func() {ret}()return 1 } func main() {fmt.Println(f()) }上面這段代碼的輸出是2,不是1 原因在于: 1)ret 是在執行 return 1 語句后發生的 2&…

基于SpringBoot多模塊項目引入其他模塊時@Autowired無法注入

基于SpringBoot多模塊項目引入其他模塊時Autowired無法注入 一、問題描述1、解決方案 一、問題描述 啟動Spring Boot項目時報 Could not autowire. No beans of ‘xxxxxxxx’ type found. 沒有找到bean的實例,即spring沒有實例化對象,也就無法根據配置文…

【LeetCode-中等】209.長度最小的子數組-雙指針/滑動窗口

力扣題目鏈接 1. 暴力解法 這道題的暴力解法是兩層嵌套for循環,第一層循環從 i 0 開始遍歷至數組末尾,第二層循環從 j i 開始遍歷至找到總和大于等于 target 的連續子數組,并將該連續子數組的長度與之前找到的子數組長度相比較&#xff0…

傳輸層兩大戰將TCP、UDP的定位

傳輸層 定義一些傳輸數據的協議和端口,傳輸協議同時進行流量控制,根據接收方的數據吞入熟讀,規定適當的發送速率,解決傳輸效率及能力問題 什么是TCP TCP/IP即傳輸控制/網絡協議,是面向連接的協議,發送數…

什么是IP公網?

IP公網是指互聯網上可以公開訪問的IP地址。它是經過互聯網服務提供商(ISP)向用戶提供的公共網絡IP地址。與之相對的是內網IP地址,內網IP地址一般是由路由器或交換機分配給連接在局域網中的設備使用。 IP公網的作用非常廣泛,可以應…

C#解析JSON

https://blog.csdn.net/weixin_43046974/article/details/131449900 C#解析JSON 1. JSON定義2. JSON一般構成及解析方法3. 解析舉例子 1. JSON對象解析,只包含一層對象{}2. 嵌套JSON對象解析,包含多層對象{}3. JSON數組解析1(數組循環遍歷&…

Web APIs知識點講解(階段二)

DOM-事件基礎 一.事件 1.事件 目標:能夠給 DOM元素添加事件監聽 事件:事件是在編程時系統內發生的動作或者發生的事情,比如用戶在網頁上單擊一個按鈕 事件監聽:就是讓程序檢測是否有事件產生,一旦有事件觸發,就立即調用一個函…

http工具類

public class HttpRequstUtil {/*** http請求方法** param message 查詢條件* param url 查詢地址* param token 身份驗證token* param socketTimeout socket 響應時間* param connectTimeout 超時時間* return 返回字符串*/Deprecatedpublic stat…

金仕達與 DolphinDB 建立深度合作,共筑 FICC 科技創新新篇章

從“關起門做交易”到“打開門做服務”,國內 FICC 業務正經歷從自營到市場化服務的轉變,借助數據分析、算法交易等技術的快速發展,交易團隊能夠更加主動地發現市場需求,為不同客群提供更好的做市業務,FICC 交易電子化已…

打造智能汽車微服務系統平臺:架構的設計與實現

隨著智能汽車技術的飛速發展,微服務架構在汽車行業中的應用越來越廣泛。采用微服務架構可以使汽車系統更加靈活、可擴展,并且有利于快速推出新功能和服務。本文將從設計原則、關鍵技術、數據安全等方面,介紹如何搭建智能汽車微服務系統平臺架…

網絡通信技術

?1.分組交換技術 在網絡通信中,數據通過網絡節點的某種轉發方式,實現從一個端系統到另一個端系統之間的數據傳輸技術稱為數據交換技術。數據交換技術有電路交換、報文交換和分組交換,計算機網絡采用分組交換技術。 分組就是源主機(如服務器…

【Python】FastAPI 項目創建 與 Docker 部署

文章目錄 前言&需求描述1. 本地FastAPI1.1 Python 環境準備1.2 本地 Pycharm 創建FastAPI項目 2. Python FastAPI 部署2.1 服務器配置Python環境2.2.1 下載與配置Git、Pyenv等工具2.2.2 下載與配置Python 2.2 FastAPI 打包成鏡像2.2.1 項目準備所需環境文件2.2.2 編寫Docke…

畢業設計——基于springboot的聊天系統設計與實現(服務端 + 客戶端 + web端)

整個工程包含三個部分: 1、聊天服務器 聊天服務器的職責一句話解釋:負責接收所有用戶發送的消息,并將消息轉發給目標用戶。 聊天服務器沒有任何界面,但是卻是IM中最重要的角色,為表達敬意,必須要給它放個…

入侵和攻擊模擬 (BAS) 技術應用實踐

文章目錄 前言一、實施BAS的必要性二、實施BAS的關鍵步驟1、識別網絡中的脆弱區域2、創建基線安全模型3、選擇合適的BAS工具4、進行模擬攻擊測試5、分析結果并改進三、BAS實施中的挑戰1、組織的專業知識和能力有限2、改變傳統工作流程3、安全預算不足4、難以與現有安全基礎設施…

C語言中的不同變量初始值:深度解析與實踐指南

在C語言編程領域,理解和掌握變量的初始化原理和過程是構建穩健、高效代碼的基礎。C語言對不同類型變量的初始化處理方式存在差異,這要求開發者明確理解并合理應用這些規則以避免潛在的運行時錯誤和未定義行為。本文將詳細解讀C語言中各類變量的初始狀態設…

AI智能分析網關V4車輛違停算法在園區場景中的應用及特點

隨著城市化進程的加速,車輛違停問題愈發嚴重,給城市交通帶來了極大的困擾。為了解決這一問題,AI技術逐漸被應用于車輛違停的檢測中。AI檢測算法在車輛違停方面的應用,主要是通過計算機視覺技術,對道路上的車輛進行實時…

智慧灌區項目案例(甘肅省蘭州市某重點灌區)

?甘肅省蘭州市某重點灌區自上個世紀80年代建成后,灌溉面積達到30萬畝,對推動當地農業發展發揮了重要作用。但長期以來,該灌區的水利管理仍主要依靠人工統計記錄,缺乏實時監測和精細化管理。為實現灌區管理的現代化升級,甘肅水利局委托星創易聯公司設計實施水利信息化項目。 項…

【Python筆記-設計模式】狀態模式

一、說明 狀態模式是一種行為設計模式,用于解決對象在不同狀態下具有不同行為 (一) 解決問題 在對象行為根據對象狀態而改變時,規避使用大量的條件語句來判斷對象的狀態,提高系統可維護性 (二) 使用場景 當對象的行為取決于其狀態&#…

C#使用iText7將多個PDF文檔合并為單個文檔

使用HtmlAgilityPack抓取并分析網頁內容,然后再調用PuppeteerSharp將網頁生成PDF文件,最終的成果如下圖所示,得到將近120個pdf文檔。能看,但是不方便,需要逐個打開文檔才能看到所需的內容,最好能將這些文檔…