小熊派鸿蒙开发板评测-【Hello World!】
<div class='showpostmsg'> 本帖最后由 未见 于 2021-6-20 16:44 编辑<p>上次我们提到了如何从零开始配置编译环境,其实在小熊派的官方demo资料里,也已经把这些内容说得很详细了。</p>
<p>下面,我们开始尝试使用编译好的环境,对小熊派的开发板进行编译。</p>
<p>开学第一课,当然还是熟悉的Hello World! & Blink了。</p>
<p>一、首先,需要从小熊派官方仓库获取代码</p>
<p>git config --global user.name "yourname" </p>
<p>git config --global user.email“your-email-address"</p>
<p>git clone https://gitee.com/bearpi/bearpi-hm_nano.git -b master</p>
<p>二、拉取完仓库源码文件,开始写业务文件</p>
<p>2.1在./applications/BearPi/BearPi-HM_Nano/sample路径下新建一个my_app目录(名称随意,但应注意避免使用中文目录和空格。Linux下很多编译链是不支持中文路径和包含空格的路径的),用于存放业务源码文件。</p>
<p>2.2在该目录下新建hello_world.c文件,我们的世界从这里开始新建。</p>
<pre>
<code class="language-cpp">#include <stdio.h>
#include "ohos_init.h"
void HelloWorld(void)
{
printf("Hello world!\r\n");
}
APP_FEATURE_INIT(HelloWorld);</code></pre>
<p>2.3在该目录下新建BUILD.gn文件,该文件作为源码编译的脚本文件。</p>
<pre>
<code class="language-bash">static_library("myapp")
{
sources=["hello_world.c"]
include_dirs=["//utils/native/lite/include"]
}</code></pre>
<p>2.4在./applications/BearPi/BearPi-HM_Nano/sample目录下修改BUILD.gn文件,该文件用来指定参与编译构建的特性模块</p>
<pre>
<code class="language-bash">import("//build/lite/config/component/lite_component.gni")
lite_component("app") {
features = [
#"A1_kernal_thread:thread_example",
#"A2_kernel_timer:timer_example",
#"A3_kernel_event:event_example",
#"A4_kernel_mutex:mutex_example",
#"A5_kernel_semaphore:semaphore_example",
#"A6_kernel_message:message_example",
#"B1_basic_led_blink:led_example",
#"B2_basic_button:button_example",
#"B3_basic_pwm_led:pwm_example",
#"B4_basic_adc:adc_example",
#"B5_basic_i2c_nfc:i2c_example",
#"B6_basic_uart:uart_example",
#"C1_e53_sf1_mq2:e53_sf1_example",
#"C2_e53_ia1_temp_humi_pls:e53_ia1_example",
#"C3_e53_sc1_pls:e53_sc1_example",
#"C4_e53_sc2_axis:e53_sc2_example",
#"C5_e53_is1_infrared:e53_is1_example",
#"D1_iot_wifi_ap:wifi_ap",
#"D2_iot_wifi_sta_connect:wifi_sta_connect",
#"D3_iot_udp_client:udp_client",
#"D4_iot_tcp_server:tcp_server",
#"D5_iot_mqtt:iot_mqtt",
#"D6_iot_cloud_oc:oc_mqtt",
#"D7_iot_cloud_onenet:onenet_mqtt",
#"D8_iot_cloud_oc_smoke:cloud_oc_smoke"
#"D9_iot_cloud_oc_light:cloud_oc_light"
#"D10_iot_cloud_oc_manhole_cover:cloud_oc_manhole_cover"
#"D11_iot_cloud_oc_infrared:cloud_oc_infrared"
#"D12_iot_cloud_oc_agriculture:cloud_oc_agriculture"
"my_app:myapp",
]
}
</code></pre>
<p>2.5 输入编译命令</p>
<pre>
<code>python build.py BearPi-HM_Nano</code></pre>
<p>稍等一会儿,就可以看见</p>
<pre>
<code>< ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >
BUILD SUCCESS
< ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ></code></pre>
<p>字样,此时就表示编译完成了</p>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>谢谢分享,期待后续</p>
页:
[1]