
想了解更多内容,用H于请访问:
和华为官方合作共建的点亮鸿蒙技术社区
https://harmonyos.51cto.com
Hi3861开发板模组大小约2cm*5cm,是点亮一款高度集成的2.4GHz WLAN SoC。
Hi3861芯片集成高性能32bit微处理器、用H于拥有丰富的点亮外设接口,芯片内置SRAM(Static Random Access Memory)和Flash,用H于并支持在Flash上运行程序。点亮
Hi3861模组有2MB FLASH,用H于352KB RAM。点亮但我们编写代码时,用H于要注意对有限资源的点亮合理利用。
Hi3861可以说是用H于麻雀虽小,五脏俱全。点亮Hi3861的用H于外设接口包括(外部主晶振为40M或者24M):
2个SPI(Synchronous Peripheral Interface) 3个UART(Universal Asynchronous Receiver & Transmitter) 2个I2C(The Inter-Integrated Circuit) 6路PWM(Pulse Width Modulation) 15个GPIO(General Purpose Input/Output) 7路ADC(Analog to Digital Converter) 1个I2S接口 1个高速SDIO2.0(Secure Digital Input/Output)接口,最高时钟可达50MHz;



因为截至本文发布,Linux平台下的开发工具不支持Hi3861的烧录(且Windows平台中的编译环境比较难搭建),所以我们得使用windows的工具来烧录,Linux平台编译。
Ubuntu20.04来编译源码 Windows10通过网络从Ubuntu中下载二进制文件,网站模板并烧录二进制文件到Hi3861中
可以在windows10中使用virtual box虚拟机软件来安装一个下载好的Ubuntu20.04镜像,从而拥有Ubuntu20.04基本的开发环境。这里忽略。
假设
已有Ubuntu20.04系统; 可以联网; 可以使用ssh连接; 其空闲存储空间(推荐)在30G以上。“build success” 就意味着编译环境搭建成功。
$ cd code-v1.1.2-LTS $ hb set [OHOS INFO] Input code path: . OHOS Which product do you need? wifiiot_hispark_pegasus $ hb build ... [OHOS INFO] wifiiot_hispark_pegasus build success [OHOS INFO] cost time: 0:00:37 $ ls out/hispark_pegasus/wifiiot_hispark_pegasus/ -alh total 31M drwxrwxr-x 7 henry henry 4.0K 9月 2 14:52 . drwxrwxr-x 3 henry henry 4.0K 9月 2 14:51 .. -rw-rw-r-- 1 henry henry 462 9月 2 14:51 args.gn -rw-rw-r-- 1 henry henry 47K 9月 2 14:52 build.log -rw-rw-r-- 1 henry henry 26K 9月 2 14:51 build.ninja -rw-rw-r-- 1 henry henry 5.3K 9月 2 14:51 build.ninja.d drwxrwxr-x 3 henry henry 4.0K 9月 2 14:51 gen -rw-rw-r-- 1 henry henry 24K 9月 2 14:52 Hi3861_boot_signed_B.bin -rw-rw-r-- 1 henry henry 24K 9月 2 14:52 Hi3861_boot_signed.bin -rw-rw-r-- 1 henry henry 15K 9月 2 14:52 Hi3861_loader_signed.bin -rw-rw-r-- 1 henry henry 1.2M 9月 2 14:52 Hi3861_wifiiot_app_allinone.bin -rw-rw-r-- 1 henry henry 22M 9月 2 14:52 Hi3861_wifiiot_app.asm -rw-rw-r-- 1 henry henry 1.2M 9月 2 14:52 Hi3861_wifiiot_app_burn.bin -rw-rw-r-- 1 henry henry 25K 9月 2 14:52 Hi3861_wifiiot_app_flash_boot_ota.bin -rw-rw-r-- 1 henry henry 3.5M 9月 2 14:52 Hi3861_wifiiot_app.map -rw-rw-r-- 1 henry henry 570K 9月 2 14:52 Hi3861_wifiiot_app_ota.bin -rwxrwxr-x 1 henry henry 2.2M 9月 2 14:52 Hi3861_wifiiot_app.out -rw-rw-r-- 1 henry henry 8 9月 2 14:52 Hi3861_wifiiot_app_vercfg.bin drwxrwxr-x 2 henry henry 4.0K 9月 2 14:51 libs -rw-rw-r-- 1 henry henry 37K 9月 2 14:52 .ninja_log drwxrwxr-x 4 henry henry 4.0K 9月 2 14:51 NOTICE_FILE drwx------ 12 henry henry 4.0K 9月 2 14:51 obj drwxrwxr-x 3 henry henry 4.0K 9月 2 14:51 suites -rw-rw-r-- 1 henry henry 34K 9月 2 14:51 toolchain.ninja
“[Errno 13] Permission denied: ‘xxx\\.deveco-device-tool\\core\\tool_openlogic_openjdk_jre\\jre\\bin\\ucrtbase.dll’”
0. Hi3861的gpio功能列表

根据这个原理图,我们只要保持J3的免费源码下载跳冒是连接的,从cpu引过来的GPIO09保持低电平,那么LED1就会点亮了。

HarmonyOS的gpio操作流程为:

因为我们不是操作gpio来获取/控制/响应gpio的中断,所以只需要关心读写gpio的流程即可。
code-v1.1.2-LTS/applications/sample/wifi-iot/app/iothardware/led_example.c
添加相对路径"iothardware"下的库"led_example",中间以":"分隔开

修改好后,我们就可以到源码的根目录中使用"hb build"来编译了
注:"led_example"库名称是由iothardware/BUILD.gn来指定的

所有的生成文件在:code-v1.1.2-LTS/out 目录中
我们使用mobaxterm(https://mobaxterm.mobatek.net/download.html)工具,
ssh访问到我们的Ubuntu20.04后,就可以用其sftp功能下载out目录到我们的win10的download目录中.

连接好自己的hi3861模组,云服务器如果电脑没有装ch340串口驱动,一定别忘了装。

烧录的过程中,会在vscode的终端提示重启开始烧录,请按下hi3861的reset键开始烧录。
烧录成功后,重新上电即可立即运行。


想了解更多内容,请访问:
和华为官方合作共建的鸿蒙技术社区
https://harmonyos.51cto.com
