使用VSCode编写程序源码以及基础设置

系统 OpenHarmony
本文介绍了在VScode中编写程序源码,如何将源码编译成二进制文件,宏命令,以及一些爆红问题的处理,IntelliSense设置,屏蔽内置的 test suite方法。

想了解更多关于开源的内容,请访问:

51CTO 开源基础软件社区

https://ost.51cto.com

前言

本文介绍了在VScode中编写程序源码,如何将源码编译成二进制文件,宏命令,以及一些爆红问题的处理,IntelliSense设置,屏蔽内置的 test suite方法

一、编写程序源码

1、准备开发套件

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

2、建立目录

ps1:获取虚拟机ip地址确保虚拟机处于开机状态

ps2:如何获取虚拟机ip地址,下载编译源码可以看我的另一篇文章 https://ost.51cto.com/posts/24912打开VScode,点击左上角file,点击open folder,输入两个\ 和虚拟机ip地址

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

双击home文件夹,进去到1.1.3根目录,选择1.1.1根目录文件夹打开。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

打开之后…

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

3、编写源码

打开 applications\sample\wifi-iot\app\startup 点击左上角新建文件图标 新建hello.c文件

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

下面编写C程序代码,保存文件。

  • ps1:其中 #include “ohos_init.h” 为OpenHarmony特定的头文件。
  • ps2:SYS_RUN为ohos_init.h头文件定义的一个宏。
  • ps3:这里爆红先不急。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

4、编写编译脚本

ps:千万要注意有两个BUILD.gn。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

先打开 applications\sample\wifi-iot\app\startup\BUILD.gn。

需要把helloworld做成静态库,把source_set改成static_library。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

定义库名称,静态库需要编译的源文件,include目录,保存文件。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

再打开 applications\sample\wifi-iot\app\BUILD.gn。

ps:features字段用于指定业务模块,使目标模块参与编译,保存文件。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

二、将源码编译成二进制文件

打开虚拟机 进入 OpenHarmony 源码根目录,选中1.1.3,鼠标右击选择在终端打开。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

输入:

hb build -f

查看编译结果,编译成功完成。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

三、将二进制文件烧录到开发板

编译生成的固件位置

两个\ 虚拟机 IP\home\lushikai\openharmony\1.1.3\out\hispark_pegasus。

wifiiot_hispark_pegasus\Hi3861_wifiiot_app_allinone.bin。

首先,连接开发板,打开HiBurn,进行初始配置。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

选择固件打开。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

烧录

ps:老方法,不会烧录可以看另一篇文章 https://ost.51cto.com/posts/24912烧录成功,点击disconnect。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

四、查看程序运行结果

打开MobaXterm,连接好开发板串口。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

按下开发板RST键,开始运行。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

查看输出。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

五、OpenHarmony启动的8个阶段

宏命令

core: CORE_INIT()
core system service: SYS_SERVICE_INIT()
core system feature: SYS_FEATURE_INIT()
system startup: SYS_RUN()
system service: SYSEX_SERVICE_INIT()
system feature: SYSEX_FEATURE_INIT()
application-layer service: APP_SERVICE_INIT()
application-layer feature: APP_FEATURE_INIT()

六、VScode的IntelliSense设置

ps:有智能感知功能,自动代码补全,代码提示,代码导航,右键跳转,实时错误检查等。

回到VScode,打开写好的hello.c文件,鼠标移动到爆红位置会显示错误提示。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

在有错误提示地方有个黄色小灯泡点击打开,点击edit includePath setting。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

找到包含路径。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

添加路径。

${workspaceFolder}/utils/native/lite/include

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

ok~

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

建议的额外设置,完成之后保存文件。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

ps:如果#include <stdio.h>头文件也爆红,下面介绍如何解决。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

打开配置文件,""输入路径 注意第二行后面别忘了加逗号 然后保存文件。

${workspaceFolder}/device/hisilicon/hispark_pegasus/sdk_liteos/platform/os/Huawei_LiteOS/components/lib/libc/musl/include

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

ok~

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

七、VScode解析 .gn 文件

1、安装gn.exe

PS:这一步有能力自行操作,安不安装并不影响编译。
下载 gn-windows-amd64.zip。
建议将 gn.exe 放到 C:\Windows\System32\ 不需要配置环境变量。

2、安装GN插件 GNFormat插件

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

3、格式化 .gn 文件

回到start up目录下的BUILD.gn文件。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

app目录下的BUILD.gn文件。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

按下 Alt+Shift+F 进行格式化。

八、屏蔽内置的 test suite

ps1:test suite会影响观察程序运行结果。

ps2:注意删除的还有86行的逗号。

删除86-93行,保存文件,重新编译。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

回到虚拟机,找到1.1.3源码根目录选择在终端打开,进行全量编译。

hb build -f

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

打开HiBurn,对重新编译的Hi3861_wifiiot_app_allinone.bin固件进行烧录。

ps:烧录前先把MobaXterm关闭。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

打开MobaXterm,连接串口,按下RST键。

可以看到串口输出日志不再包含测试输出了。

【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区【OpenHarmony快速入门】使用VSCode编写程序源码以及基础设置-开源基础软件社区

九、快速查找文件和代码

按内容查找。

grep -nr xxx

按文件名查找

find . -name 'xxx'

想了解更多关于开源的内容,请访问:

51CTO 开源基础软件社区

https://ost.51cto.com

责任编辑:jianghua 来源: 51CTO 开源基础软件社区
相关推荐

2020-07-29 17:01:29

VSCode RTOSPython编程

2010-01-18 17:31:54

C++编写程序

2009-09-11 09:13:34

2011-07-05 17:54:43

QT Sqlite ARM

2011-06-27 13:57:42

JavaScript

2019-10-10 10:03:09

开源技术 开发

2023-09-26 19:29:43

ChatGPT框架编程语言

2011-03-01 09:30:27

LinuxScreenletPython

2010-06-28 15:31:22

2023-06-23 14:15:09

Rust编程

2023-09-06 15:31:19

GPIO鸿蒙

2023-09-19 15:14:59

鸿蒙Watchdog

2023-09-06 15:27:22

ADC鸿蒙

2023-09-19 15:21:33

RTC鸿蒙

2009-06-25 13:50:57

JAVA资格认证Swing

2011-07-20 09:49:41

Xcode Interface Builder

2018-06-22 09:00:00

Java框架Pronghorn

2017-02-27 09:03:37

Mesos架构源码

2021-06-04 05:18:29

ARM程序Gdbserver

2023-09-22 09:41:28

LinuxC语言
点赞
收藏

51CTO技术栈公众号