回复
如何确认示例真的输出了“Hello World”
鲸余
发布于 2020-10-29 18:05
浏览
0收藏
如何确认示例真的输出了“Hello World”
环境最少要求:
能编译即可( CentOS 或者 ubuntu 都可以 ),不需要开发环境,不需要烧录环境。
本来想在OLED屏幕打印“Hello World”,参考 I2C驱动 Hi3861 驱动OLED屏幕显示 ,按照视频操作编写了,能正常编译,烧录,经过多次验证,但还是没能正常显示。此范例暂时放一下,从容易点的弄吧。
参考了 https://gitee.com/openharmony 上的两个实例
Hi3861开发板第一个示例程序
Hi3861开发板第二个示例程序
第一个示例比较简单,如果已经部署好了开发环境,编译+烧录(废话)。
第二个示例就更简单了,只要有编译环境即可(手写代码即可)。
以下是我的操作过程
- 编写 Hello World 简单业务
# 下载鸿蒙源码并解压
mkdir -p /data/software/code-1.0
cd /data/software/
wget https://repo.huaweicloud.com/harmonyos/os/1.0/code-1.0.tar.gz
tar xf code-1.0.tar.gz -C /data/software/code-1.0
# 编写示例
cd /data/software/code-1.0/applications/sample/wifi-iot/app/
mkdir my_first_app
cd my_first_app
cat > hello_world.c <<EOF
#include <stdio.h>
#include "ohos_init.h"
#include "ohos_types.h"
void HelloWorld(void)
{
printf("[DEMO] Hello world.\n");
}
SYS_RUN(HelloWorld);
EOF
cat > BUILD.gn <<EOF
static_library("myapp") {
sources = [
"hello_world.c"
]
include_dirs = [
"//utils/native/lite/include"
]
}
EOF
cat > ../BUILD.gn << EOF
import("//build/lite/config/component/lite_component.gni")
lite_component("app") {
features = [
"my_first_app:myapp",
]
}
EOF
# 编译
cd /data/software/code-1.0/
python3 build.py wifiiot
编译成功!
查看编译输出内容:
cd /data/software/code-1.0/out/wifiiot/
grep DEMO ./Hi3861_wifiiot_app.asm
#输出内容如下
4ae6dc: 0000 0000 445b 4d45 5d4f 4820 6c65 6f6c ....[DEMO] Hello
# 细看编译时的输出内容
less ./Hi3861_wifiiot_app.asm 再输入 /Hello , 回车,即可定位到 HelloWorld ,请看下面两图:
参考:
https://gitee.com/openharmony/docs/blob/master/quick-start/Hi3861%E5%BC%80%E5%8F%91%E6%9D%BF%E7%AC%AC%E4%BA%8C%E4%B8%AA%E7%A4%BA%E4%BE%8B%E7%A8%8B%E5%BA%8F.md
赞
收藏
回复
相关推荐