深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
第一步,确定目录结构
开发者编写业务时,务必先在./applications/sample/wifi-iot/app路径下新建一个目录(或一套目录结构),用于存放业务源码文件。
例如:在app下新建jianguo_hello文件夹,其中hello.c为业务代码,BUILD.gn为编译脚本,具体规划目录结构如下:
jianguo_hello$ tree
.
├── BUILD.gn
└── hello.c
0 directories, 2 files
第二步,编写业务代码
新建./applications/sample/wifi-iot/app/jianguo_hello下的hello.c文件,在hello.c中新建业务入口函数my_app,并实现业务逻辑。并在代码最下方,使用OpenHarmony启动恢复模块接口SYS_RUN()启动业务。(SYS_RUN定义在ohos_init.h文件中)
路径openharmony/applications/sample/wifi-iot/app/jianguo_hello/hello.c
#include <stdio.h>
#include "ohos_init.h"
#include "ohos_types.h"
void HelloWorld(void)
{
printf("___________>>>>>>>>>>>>>>>>>>>> [DEMO] Hello world.\n");
}
SYS_RUN(HelloWorld);
路径openharmony/applications/sample/wifi-iot/app/jianguo_hello/BUILD.gn
# 静态库名称是什么
static_library("my_app") {
#那些文件会被编译
sources = [
"hello.c",
]
#头文件去哪里找
include_dirs = [
"//utils/native/lite/include",
"//kernel/liteos_m/kal/cmsis",
"//base/iot_hardware/peripheral/interfaces/kits",
]
}
路径/openharmony/applications/sample/wifi-iot/app/BUILD.gn
BUILD.gn
import("//build/lite/config/component/lite_component.gni")
lite_component("app") {
# 那些文件会被编译,连接的是哪个静态库
features = [ "jianguo_hello:my_app" ]
}
编写完代码,我们来编译一下
第三步,编译
首先运行
hb set
选择如图所示的编译环境
然后
hb build -f
这个时候编译成功,
编译成功
最后终端会显示编译成功,我们可以在out相应的目录下找到对应的固件
out/hispark_pegasus/wifiiot_hispark_pegasus/Hi3861_wifiiot_app_allinone.bin
我们选择下载,下载到本地,记住路径,下文要用到
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
朋友,可以戳这里获取](https://bbs.csdn.net/topics/618636735)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!