自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用HarmonyOS點(diǎn)亮LED - 基于RISC-V Hi3861開發(fā)板

開發(fā) 前端 OpenHarmony
Hi3861芯片集成高性能32bit微處理器、擁有豐富的外設(shè)接口,芯片內(nèi)置SRAM(Static Random Access Memory)和Flash,并支持在Flash上運(yùn)行程序。

[[424084]]

想了解更多內(nèi)容,請(qǐng)?jiān)L問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

一、 Hi3861模組的介紹

1. 外觀和基本功能

Hi3861開發(fā)板模組大小約2cm*5cm,是一款高度集成的2.4GHz WLAN SoC。

Hi3861芯片集成高性能32bit微處理器、擁有豐富的外設(shè)接口,芯片內(nèi)置SRAM(Static Random Access Memory)和Flash,并支持在Flash上運(yùn)行程序。

Hi3861模組有2MB FLASH,352KB RAM。但我們編寫代碼時(shí),要注意對(duì)有限資源的合理利用。

Hi3861可以說是麻雀雖小,五臟俱全。Hi3861的外設(shè)接口包括(外部主晶振為40M或者24M):

  • 2個(gè)SPI(Synchronous Peripheral Interface)
  • 3個(gè)UART(Universal Asynchronous Receiver & Transmitter)
  • 2個(gè)I2C(The Inter-Integrated Circuit)
  • 6路PWM(Pulse Width Modulation)
  • 15個(gè)GPIO(General Purpose Input/Output)
  • 7路ADC(Analog to Digital Converter)
  • 1個(gè)I2S接口
  • 1個(gè)高速SDIO2.0(Secure Digital Input/Output)接口,最高時(shí)鐘可達(dá)50MHz;

1.1 模組外觀圖:

用HarmonyOS點(diǎn)亮LED - 基于RISC-V Hi3861開發(fā)板-鴻蒙HarmonyOS技術(shù)社區(qū)

1.2 Hi3861主控功能框架圖:

用HarmonyOS點(diǎn)亮LED - 基于RISC-V Hi3861開發(fā)板-鴻蒙HarmonyOS技術(shù)社區(qū)

1.3 Hi3861原理圖

用HarmonyOS點(diǎn)亮LED - 基于RISC-V Hi3861開發(fā)板-鴻蒙HarmonyOS技術(shù)社區(qū)
用HarmonyOS點(diǎn)亮LED - 基于RISC-V Hi3861開發(fā)板-鴻蒙HarmonyOS技術(shù)社區(qū)

二、Hi3861開發(fā)環(huán)境的搭建

1. 概覽

因?yàn)榻刂帘疚陌l(fā)布,Linux平臺(tái)下的開發(fā)工具不支持Hi3861的燒錄(且Windows平臺(tái)中的編譯環(huán)境比較難搭建),所以我們得使用windows的工具來燒錄,Linux平臺(tái)編譯。

  • Ubuntu20.04來編譯源碼
  • Windows10通過網(wǎng)絡(luò)從Ubuntu中下載二進(jìn)制文件,并燒錄二進(jìn)制文件到Hi3861中
用HarmonyOS點(diǎn)亮LED - 基于RISC-V Hi3861開發(fā)板-鴻蒙HarmonyOS技術(shù)社區(qū)

2. Ubuntu20.04開發(fā)環(huán)境的搭建

可以在windows10中使用virtual box虛擬機(jī)軟件來安裝一個(gè)下載好的Ubuntu20.04鏡像,從而擁有Ubuntu20.04基本的開發(fā)環(huán)境。這里忽略。

假設(shè)

  • 已有Ubuntu20.04系統(tǒng);
  • 可以聯(lián)網(wǎng);
  • 可以使用ssh連接;
  • 其空閑存儲(chǔ)空間(推薦)在30G以上。

2.1 執(zhí)行以下命令來搭建Ubuntu20.04的環(huán)境

  1. // Ubuntu20+ 
  2. sudo apt update 
  3. sudo apt install -y vim gcc g++ flex bison texinfo make zlib* libffi-dev git git-lfs iputils-ping iproute2 net-tools 
  4. sudo apt install -y build-essential python3 python3-pip python3.8-venv scons python3-testresources 
  5. pip3 install scons ; scons -v 
  6. pip3 install kconfiglib 
  7. pip3 install pycryptodome 
  8. pip3 install six --upgrade --ignore-installed six 
  9. pip3 install ecdsa 
  10. // 安裝hb 
  11. python3 -m pip install --user ohos-build 
  12.  
  13. // 安裝編譯鏈gcc_riscv32整合包, // 或者自行下載gcc_riscv32各個(gè)組件 并且編譯, N/A 
  14. wget  https://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz 
  15. // 使用~/.bashrc來配置環(huán)境變量 
  16. export PATH=$PATH:~/work/tools/gcc_riscv32/bin 
  17. source ~/.bashrc 
  18. //檢查編譯鏈?zhǔn)欠癜惭b好 
  19. $ riscv32-unknown-elf-gcc -v 
  20. ... 
  21. gcc version 7.3.0 (GCC) 
  22.  
  23.  
  24. // downloads devicetool-linux-tool 
  25. wget  https://contentcenter-vali-drcn.dbankcdn.com/pvt_2/DeveloperAlliance_package_901_9/50/v3/3iXerz92RfqKxMyzEXHblg/devicetool-linux-tool-2.1.0.0.zip\?HW-CC-KV=V1\&HW-CC-Date=20210531T110021Z\&HW-CC-Expire=315360000\&HW-CC-Sign=24AFCA46B37541ED3A936186EEDF627CFD397B7C202FFEEF564D820897F75822 
  26.  
  27.  
  28. //install vscode, install node.js  & hpm 
  29. N/A 
  30.  
  31. // unzip & install the tool 
  32. bash deveco-device-tool-2.2.0+285431.76f4090e.run 
  33. // 最后可能有個(gè)warning信息,我們按照提示來安裝一個(gè)軟件即可 
  34. sudo apt install authbind 
  35. ... 
  36.  
  37. // downloads the source codes 
  38. wget https://repo.huaweicloud.com/harmonyos/os/1.1.2/code-v1.1.2-LTS.tar.gz 
  39. tar -xvf code-v1.1.2-LTS.tar.gz 

2.2 進(jìn)入源代碼根路徑 進(jìn)行配置和編譯

“build success” 就意味著編譯環(huán)境搭建成功。

  1. $ cd code-v1.1.2-LTS 
  2. $ hb set 
  3. [OHOS INFO] Input code path: . 
  4. OHOS Which product do you need?  wifiiot_hispark_pegasus 
  5. $ hb build 
  6. ... 
  7. [OHOS INFO] wifiiot_hispark_pegasus build success 
  8. [OHOS INFO] cost time: 0:00:37 
  9.  
  10. $ ls out/hispark_pegasus/wifiiot_hispark_pegasus/ -alh 
  11. total 31M 
  12. drwxrwxr-x  7 henry henry 4.0K 9月   2 14:52 . 
  13. drwxrwxr-x  3 henry henry 4.0K 9月   2 14:51 .. 
  14. -rw-rw-r--  1 henry henry  462 9月   2 14:51 args.gn 
  15. -rw-rw-r--  1 henry henry  47K 9月   2 14:52 build.log 
  16. -rw-rw-r--  1 henry henry  26K 9月   2 14:51 build.ninja 
  17. -rw-rw-r--  1 henry henry 5.3K 9月   2 14:51 build.ninja.d 
  18. drwxrwxr-x  3 henry henry 4.0K 9月   2 14:51 gen 
  19. -rw-rw-r--  1 henry henry  24K 9月   2 14:52 Hi3861_boot_signed_B.bin 
  20. -rw-rw-r--  1 henry henry  24K 9月   2 14:52 Hi3861_boot_signed.bin 
  21. -rw-rw-r--  1 henry henry  15K 9月   2 14:52 Hi3861_loader_signed.bin 
  22. -rw-rw-r--  1 henry henry 1.2M 9月   2 14:52 Hi3861_wifiiot_app_allinone.bin 
  23. -rw-rw-r--  1 henry henry  22M 9月   2 14:52 Hi3861_wifiiot_app.asm 
  24. -rw-rw-r--  1 henry henry 1.2M 9月   2 14:52 Hi3861_wifiiot_app_burn.bin 
  25. -rw-rw-r--  1 henry henry  25K 9月   2 14:52 Hi3861_wifiiot_app_flash_boot_ota.bin 
  26. -rw-rw-r--  1 henry henry 3.5M 9月   2 14:52 Hi3861_wifiiot_app.map 
  27. -rw-rw-r--  1 henry henry 570K 9月   2 14:52 Hi3861_wifiiot_app_ota.bin 
  28. -rwxrwxr-x  1 henry henry 2.2M 9月   2 14:52 Hi3861_wifiiot_app.out 
  29. -rw-rw-r--  1 henry henry    8 9月   2 14:52 Hi3861_wifiiot_app_vercfg.bin 
  30. drwxrwxr-x  2 henry henry 4.0K 9月   2 14:51 libs 
  31. -rw-rw-r--  1 henry henry  37K 9月   2 14:52 .ninja_log 
  32. drwxrwxr-x  4 henry henry 4.0K 9月   2 14:51 NOTICE_FILE 
  33. drwx------ 12 henry henry 4.0K 9月   2 14:51 obj 
  34. drwxrwxr-x  3 henry henry 4.0K 9月   2 14:51 suites 
  35. -rw-rw-r--  1 henry henry  34K 9月   2 14:51 toolchain.ninja 

3. Windows10開發(fā)環(huán)境的搭建

3.1 安裝hpm

  1. // 建議將npm源配置為國內(nèi)鏡像,例如設(shè)置為華為云鏡像源。 
  2. npm config set registry https://repo.huaweicloud.com/repository/npm/ 
  3. // 打開命令行工具,執(zhí)行如下命令安裝最新版本hpm。 
  4. npm install -g @ohos/hpm-cli 
  5.  
  6. //如果已安裝hpm,可以執(zhí)行命令升級(jí)hpm至最新版本。 
  7. npm update -g @ohos/hpm-cli 

3.2 問題 - DevEco Device Tool安裝失敗:

“[Errno 13] Permission denied: ‘xxx\\.deveco-device-tool\\core\\tool_openlogic_openjdk_jre\\jre\\bin\\ucrtbase.dll’”

解決:

  • 退出了360安全衛(wèi)士,關(guān)閉殺毒軟件和所有其他不相關(guān)軟件:vscode, OpenJDK…
  • 手動(dòng)刪除C:\Users\AppData\Local\deveco-device-tool-installer和C:\Users.deveco-device-tool這兩個(gè)目錄;
  • 重新安裝
  • 重啟vscode后,在左側(cè)功能圖標(biāo)中有deveco的圖標(biāo)出現(xiàn),即表示deveco安裝成功

三、點(diǎn)亮Hi3861的LED

0. Hi3861的gpio功能列表

用HarmonyOS點(diǎn)亮LED - 基于RISC-V Hi3861開發(fā)板-鴻蒙HarmonyOS技術(shù)社區(qū)

1. 首先我們應(yīng)該找到Hi3861的原理圖,LED1對(duì)應(yīng)的是GPIO09

根據(jù)這個(gè)原理圖,我們只要保持J3的跳冒是連接的,從cpu引過來的GPIO09保持低電平,那么LED1就會(huì)點(diǎn)亮了。

用HarmonyOS點(diǎn)亮LED - 基于RISC-V Hi3861開發(fā)板-鴻蒙HarmonyOS技術(shù)社區(qū)

HarmonyOS的gpio操作流程為:

用HarmonyOS點(diǎn)亮LED - 基于RISC-V Hi3861開發(fā)板-鴻蒙HarmonyOS技術(shù)社區(qū)

 

因?yàn)槲覀儾皇遣僮鱣pio來獲取/控制/響應(yīng)gpio的中斷,所以只需要關(guān)心讀寫gpio的流程即可。

2. HarmonyOS中提供了LED的demo, 可以供我們使用

code-v1.1.2-LTS/applications/sample/wifi-iot/app/iothardware/led_example.c

我們需要修改配置文件:app/BUILD.gn

添加相對(duì)路徑"iothardware"下的庫"led_example",中間以":"分隔開

用HarmonyOS點(diǎn)亮LED - 基于RISC-V Hi3861開發(fā)板-鴻蒙HarmonyOS技術(shù)社區(qū)

修改好后,我們就可以到源碼的根目錄中使用"hb build"來編譯了

注:"led_example"庫名稱是由iothardware/BUILD.gn來指定的

用HarmonyOS點(diǎn)亮LED - 基于RISC-V Hi3861開發(fā)板-鴻蒙HarmonyOS技術(shù)社區(qū)

四、燒錄二進(jìn)制文件到Hi3861

1. 下載Ubuntu中的源碼二進(jìn)制文件到windows10中

所有的生成文件在:code-v1.1.2-LTS/out 目錄中

我們使用mobaxterm(https://mobaxterm.mobatek.net/download.html)工具,

ssh訪問到我們的Ubuntu20.04后,就可以用其sftp功能下載out目錄到我們的win10的download目錄中.

2. 在windows10中已經(jīng)安裝好deveco工具的vscode打開

  • 一定要打開包含out目錄的上一級(jí)目錄:如我們的下載目錄downloads文件夾
  • 直接可以作為一個(gè)項(xiàng)目打開
  • 選擇framework為:hb
  • 平臺(tái)為: hi3861
用HarmonyOS點(diǎn)亮LED - 基于RISC-V Hi3861開發(fā)板-鴻蒙HarmonyOS技術(shù)社區(qū)

3. 配置項(xiàng)目的下載信息

連接好自己的hi3861模組,如果電腦沒有裝ch340串口驅(qū)動(dòng),一定別忘了裝。

4. 點(diǎn)擊燒錄

燒錄的過程中,會(huì)在vscode的終端提示重啟開始燒錄,請(qǐng)按下hi3861的reset鍵開始燒錄。

燒錄成功后,重新上電即可立即運(yùn)行。

用HarmonyOS點(diǎn)亮LED - 基于RISC-V Hi3861開發(fā)板-鴻蒙HarmonyOS技術(shù)社區(qū)

5. 耶 - 布靈布靈 - 亮咯

用HarmonyOS點(diǎn)亮LED - 基于RISC-V Hi3861開發(fā)板-鴻蒙HarmonyOS技術(shù)社區(qū)

想了解更多內(nèi)容,請(qǐng)?jiān)L問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

 

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2021-06-25 15:32:13

鴻蒙HarmonyOS應(yīng)用

2020-11-06 10:15:16

HiBurn

2020-12-15 11:57:49

Hi3861 HarmonyOS開發(fā)板

2020-12-17 10:02:16

鴻蒙Hi3861開發(fā)板

2020-12-31 12:22:15

鴻蒙Hi3861應(yīng)用開發(fā)

2020-10-14 09:37:03

HiBurn鴻蒙.bin文件

2020-10-30 17:12:05

Hi3861

2020-12-09 09:44:29

Hi3861硬件介紹鴻蒙開發(fā)板

2020-11-18 11:56:06

鴻蒙Hi3861

2020-11-06 11:32:11

NV操作

2020-12-11 12:45:04

鴻蒙Hi3861游戲

2021-12-20 21:01:52

鴻蒙HarmonyOS應(yīng)用

2022-08-19 10:54:47

操作系統(tǒng)鴻蒙

2020-12-08 12:36:41

Hi3861 ADC驅(qū)動(dòng)開發(fā)

2020-10-30 09:48:03

Hi3861開發(fā)板get請(qǐng)求

2020-10-30 17:42:36

鴻蒙 OS Hi386

2020-10-27 10:08:19

Hi3861ADC驅(qū)動(dòng)

2020-10-29 09:53:06

Hi3861硬件開發(fā)板

2023-05-26 16:07:14

Hi3861Wifi模塊

2022-01-05 20:27:45

鴻蒙HarmonyOS應(yīng)用
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)