OpenHarmony轻量体系--BearPi-Nano开发板网络程序测试

打印 上一主题 下一主题

主题 1900|帖子 1900|积分 5700

本文先容RISC-V架构海思Hi3861开发板,通过Linux开发情况运行OpenHarmony轻量化体系,下载测试网络例程的过程与步调。
  
OpenHarmony操纵体系分类



  • 轻量体系(mini system)
    面向MCU类处理器例如Arm Cortex-M、RISC-V 32位的装备,硬件资源极其有限,支持的装备最小内存为128KiB,可以提供多种轻量级网络协议,轻量级的图形框架,以及丰富的IOT总线读写部件等。可支持的产物如智能家居领域的连接类模组、传感器装备、穿着类装备等。
  • 小型体系(small system)
    面向应用处理器例如Arm Cortex-A的装备,支持的装备最小内存为1MiB,可以提供更高的安全能力、尺度的图形框架、视频编解码的多媒体能力。可支持的产物如智能家居领域的IP Camera、电子猫眼、路由器以及智慧出行领域的行车记录仪等。
  • 尺度体系(standard system)
    面向应用处理器例如Arm Cortex-A的装备,支持的装备最小内存为128MiB,可以提供增强的交互能力、3D GPU以及硬件合成能力、更多控件以及动效更丰富的图形能力、完整的应用框架。可支持的产物如高端的冰箱显示屏。
BearPi-HM_Nano开发板 


BearPi-HM_Nano开发板是一块专门为HarmonyOS计划的HarmonyOS开发板,板载高度集成的2.4GHz WLAN SoC芯片Hi3861,并板载NFC电路及尺度的E53接口,尺度的E53接口可扩展智能加湿器、智能台灯、智能安防、智能烟感等案例。
  规格类型
  规格清单
  CPU子体系
  
     

  • 高性能 32bit微处理器,最大工作频率160MHz
  • 内嵌SRAM 352KB、ROM 288KB
  • 内嵌 2MB Flash
  外围接口
  
     

  • 1个SDIO接口、2个SPI接口、2个I2C接口、3个UART接口、15个GPIO接口、7路ADC输入、6路PWM、1个I2S接口(注:上述接口通过复用实现)
  • 外部主晶体频率40M或24M
  
1、开发情况



  • Linux编译服务器(可以利用windows虚拟机)
  • Windows工作台(主机电脑)
  • BearPi-HM_Nano开发板
  • USB Type-C线(Windows工作台通过USB与BearPi-HM_Nano开发板组连接)
   开发工具软件可以小熊源官方网盘下载:https://pan.baidu.com/s/1vSpPWvIhL8wCVGnEOjXS7g?pwd=1234
  Linux开发工具

  开发工具
  用途
  获取途径
  交织编译器gcc_riscv32
  交织编译工具
  https://pan.baidu.com/s/1vSpPWvIhL8wCVGnEOjXS7g?pwd=1234 提取码:1234
  Python3.7+
  编译构建工具
  https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz
  SCons3.0.4+
  编译构建工具
  通过互联网获取
  bash
  下令处理器
  通过互联网获取
  build-essential
  编译依赖的基础软件包
  通过互联网获取
  gn
  产生ninja编译脚本
  https://pan.baidu.com/s/1vSpPWvIhL8wCVGnEOjXS7g?pwd=1234 提取码:1234
  ninja
  执行ninja编译脚本
  https://pan.baidu.com/s/1vSpPWvIhL8wCVGnEOjXS7g?pwd=1234 提取码:1234
  Windows开发工具

  开发工具
  用途
  获取途径
  Visual Studio Code
  代码编辑工具。
  https://code.visualstudio.com/
  MobaXterm、PuTTY或其他超等终端(选其一)
  远程连接Linux编译服务器,连接模组串口工具。
  通过互联网获取(如:https://mobaxterm.mobatek.net/)
  CH341SER.EXE
  USB转串口驱动。
  http://www.wch.cn/search?q=ch340g&t=downloads
  Hiburn烧录工具
  代码烧录工具。
  https://pan.baidu.com/s/1vSpPWvIhL8wCVGnEOjXS7g?pwd=1234密码:1234
  2、Linux开发情况安装


安装Python情况


输入下令“python3 --version”,查看Python版本号。需利用python3.7以上版本,否则请按以下步调执行,以python3.7为例:
  1. sudo apt-get install python3.7
  2. cd /usr/bin && sudo rm python && sudo ln -s /usr/bin/python3.7 python && python --version
  3. sudo apt-get install python3-setuptools python3-pip -y
  4. sudo pip3 install setuptools
  5. sudo pip3 install kconfiglib
  6. sudo pip3 install pycryptodome
  7. sudo pip3 install six --upgrade --ignore-installed six
  8. sudo pip3 install ecdsa
复制代码
安装scons

  1. sudo apt-get install scons -y
复制代码


安装gn


  • 打开Linux编译服务器终端。
  • 下载gn工具:https://pan.baidu.com/s/1vSpPWvIhL8wCVGnEOjXS7g?pwd=1234 提取码:1234
  • 解压gn安装包至~/gn路径下:"tar -xvf gn.1523.tar -C ~/"。
  • 设置情况变量:"vim ~/.bashrc", 新增:"export PATH=~/gnPATH"。
  • 生效情况变量:"source ~/.bashrc"。
安装ninja


  • 打开Linux编译服务器终端
  • 下载ninja工具:https://pan.baidu.com/s/1vSpPWvIhL8wCVGnEOjXS7g?pwd=1234 提取码:1234
  • 解压ninja安装包至~/ninja路径下:"tar -xvf ninja.1.9.0.tar -C ~/"。
  • 设置情况变量:"vim ~/.bashrc", 新增:"export PATH=~/ninjaPATH"。
  • 生效情况变量:"source ~/.bashrc"。
安装gcc_riscv32(WLAN模组类编译工具链)

   须知: Hi3861平台仅支持利用libgcc运行时库的静态链接,不建议开发者利用libgcc运行时库的动态链接,会导致商业分发时被GPL V3污染。
  

  • 打开Linux编译服务器终端。
  • 下载gcc_riscv32工具:https://pan.baidu.com/s/1vSpPWvIhL8wCVGnEOjXS7g?pwd=1234 提取码:1234
  • 解压gcc_riscv32安装包至/opt/gcc_riscv32路径下:"tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~/"。
  • 设置情况变量:"vim ~/.bashrc",新增:"export PATH=~/gcc_riscv32/binPATH"。
  • 生效情况变量:"source ~/.bashrc"。
  • Shell下令行中输入“riscv32-unknown-elf-gcc -v”,如果能精确显示编译器版本号,表明编译器安装乐成。
3、下载源码

  1. git clone https://gitee.com/bearpi/bearpi-hm_nano.git -b master
复制代码
 


  1. topolo@topolo-PC:~/hi3861-OH_dev$ tree -L 2
  2. .
  3. └── bearpi-hm_nano
  4.     ├── applications
  5.     ├── base
  6.     ├── build
  7.     ├── build.py -> build/lite/build.py
  8.     ├── bundle.json
  9.     ├── domains
  10.     ├── drivers
  11.     ├── foundation
  12.     ├── kernel
  13.     ├── LICENSE
  14.     ├── out
  15.     ├── prebuilts
  16.     ├── README.md
  17.     ├── test
  18.     ├── third_party
  19.     ├── utils
  20.     └── vendor
复制代码


4、编译程序

这里以板卡官方的TCP-Server服务器示例程序为编译对象进行测试。
修改bearpi-hm_nano/applications/BearPi/BearPi-HM_Nano/sample/D4_iot_tcp_server目录下的 tcp_server_demo.c文件。
  1.   //连接Wifi
  2.         WifiConnect("wifi-name", "wifi-password");//修改wifi名称与密码
复制代码
修改 applications\BearPi\BearPi-HM_Nano\sample 路径下 BUILD.gn 文件,指定 tcp_server 到场编译。
  1. tony@tony-VirtualBox:~/lite-os-dev/bearpi-hm_nano/applications/BearPi/BearPi-HM_Nano/sample$ vim BUILD.gn
复制代码
修改内容如下:
  1.   ...
  2.         #"D1_iot_wifi_ap:wifi_ap",
  3.         #"D2_iot_wifi_sta_connect:wifi_sta_connect",        
  4.         #"D3_iot_udp_client:udp_client",
  5.         "D4_iot_tcp_server:tcp_server",
  6.         #"D5_iot_mqtt:iot_mqtt",        
  7.         #"D6_iot_cloud_oc:oc_mqtt",
  8. ...
复制代码

返回到bearpi-hm_nano源码的根目录进行编译。编译程序后,复制bin文件到windows体系进行下载。
  1. python build.py BearPi-HM_Nano
  2. sudo cp out/BearPi-HM_Nano/Hi3861_wifiiot_app_allinone.bin ~/win_dir/
复制代码
编译输出结果:
  1. -------------output/bin/Hi3861_wifiiot_app_ota.bin image info print end--------------
  2. < ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >
  3.                               BUILD SUCCESS                              
  4. < ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >
  5. See build log from: /home/tony/lite-os-dev/bearpi-hm_nano/vendor/hisi/hi3861/hi3861/build/build_tmp/logs/build_kernel.log
  6. [199/199] STAMP obj/vendor/hisi/hi3861/hi3861/run_wifiiot_scons.stamp
  7. ohos BearPi-HM_Nano build success!
复制代码
5、下载程序

开发板通过type-c线连接电脑,装备管理器中会出现USB串口装备USB-SERIAL CH340(COM6),需要在电脑中先安装ch340的驱动程序。
 

打开下载HiBurn下载软件,通过下述步调烧录代码。
1、选择串口com6(要根据自已电脑串标语选择),点击"connect"连接
2、"Select file"选择电脑中的Hi3861_wifiiot_app_allinone.bin下载文件,选择好后文件列表中会出现3个下载文件
3、勾选"Select all","Auto burn"选项
4、按下开发板上的"reset"按键,开始下载程序(约1-2分钟)
5、下载完成后,点击"disconnect"连接,断开串口
6、再按下开发板上的"reset"按键,重启开发板运行新程序
7、通过串口调试程序连接开发板,可查看开发板运行调试信息
HiBurn串口设置:

HiBurn下载bin文件:
 
6、运行程序

示例代码编译烧录代码后,按下开发板的RESET按键,通过串口助手查看日志,会打印模块的本地IP,并开始准备获取客户端的请求链接。
BearPi串口调试输出信息:

Windows网络调试工具,连接到bearPi板卡分配的wifi所在IP 192.168.199.142。在发送区输入发送字符,串口端就会显示服务器程序接收到的内容。




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

火影

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表