未见 发表于 2021-6-20 20:58

小熊派鸿蒙开发板评测-【Hello World!】

<div class='showpostmsg'> 本帖最后由 未见 于 2021-6-20 16:44 编辑

<p>上次我们提到了如何从零开始配置编译环境,其实在小熊派的官方demo资料里,也已经把这些内容说得很详细了。</p>

<p>下面,我们开始尝试使用编译好的环境,对小熊派的开发板进行编译。</p>

<p>开学第一课,当然还是熟悉的Hello World! &amp; Blink了。</p>

<p>一、首先,需要从小熊派官方仓库获取代码</p>

<p>git config --global user.name &quot;yourname&quot;&nbsp; &nbsp;&nbsp;</p>

<p>git config --global user.email&ldquo;your-email-address&quot;</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 &lt;stdio.h&gt;
#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>&lt; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ &gt;
                              BUILD SUCCESS                              
&lt; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ &gt;</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>

freebsder 发表于 2021-6-21 22:30

<p>谢谢分享,期待后续</p>
页: [1]
查看完整版本: 小熊派鸿蒙开发板评测-【Hello World!】