[文章]开发Hi3516第一个应用程序示例

阅读量0
0
0
开发Hi3516第一个应用程序示例本节指导开发者在单板上运行第一个应用程序,其中包括修改应用程序、编译、烧写、运行等步骤,最终输出“Hello OHOS!”。
获取源码开发者需要在Linux服务器上下载一套源代码,获取Hi3516源码(下载链接)。更多源码获取方式,请见源码获取。
修改应用程序源码目录applications/sample/camera/app/src内helloworld.c代码如下所示,用户可以自定义修改打印内容(例如:修改OHOS为World)。当前应用程序可支持标准C及C++的代码开发。
#include <stdio.h>
#include "los_sample.h"
int main(int argc, char **argv)
{   
     printf("n************************************************n");                               printf("nttHello OHOS!n");                                                                               printf("n************************************************nn");   

     LOS_Sample(g_num);   
     return 0;
}

编译在linux服务器上,进入源码包根目录,目录内存放有build.py编译脚本,执行如下脚本编译源码包。结果文件生成在out/ipcamera_hi3516dv300目录下。
python build.py ipcamera_hi3516dv300 -b debug

镜像烧写该方法只适合支持网口的单板(例如Hi3516DV300),且PC主机必须与单板用网线连接并配置在于同一网络中。
须知: 由于Visual Studio Code软件与单板间存在网络通信,若单板无法与电脑网络连接,请检查防火墙设置,详细设置请参考常见问题2。
  • 安装USB转串口驱动,并获取串口号。
    图 1 驱动安装成功图

    • 为单板上电,并将单板串口线连接Windows工作台。
    • 安装驱动,驱动获取链接。
    • 打开电脑的设备管理器,查看并记录“Prolific USB-to-Serial Comm Port”串口号,此处为COM11。
      驱动安装成功后,若设备图标存在警示图标,请右键点击设备并卸载驱动后,重新安装驱动,并按提示重启电脑。
  • Windows工作台为单板互联网口增加192.168.1.3的IP地址,增加方法如下。
    图 2 Windows主机IP增加图例

    • 控制面板->网络和Internet->网络连接中找到与单板连接的网卡,右键打开属性。
    • 选择Internet协议版本4(TCP/IPv4),右键打开属性。
    • 按图配置IP地址和网关。
    • 点击“确定”完成配置保存。
  • 单板列表增加hi3516dv300,依次选择Board Configure,enable单板**,**自动新增单板配置表。
    图 3 增加hi3516dv300单板
  • 打开IDE工具,按下图标号顺序配置网络烧写内容。
    图 4 IDE工具网络配置图例

    • 单板类型选择Hi3516单板。
    • 单击"Burn"。
    • "Burning Mode"选择为"network"。
    • "Host IP Address"点击刷新后,在下拉框中选择步骤2中配置的IP地址"192.168.1.3"。
  • 选择需要烧写的FLASH芯片存储类型及烧写地址。
    图 5 烧写文件参数配置图

    • "Memery Type"选择"emmc"。
    • 点击"New",新增至三个文件,并在文件路径中依次填入OHOS_Image.bin、rootfs.img、userfs.img文件,起始地址及文件长度按图填写,文件从out/ipcamera_hi3516dv300目录下获取。
    • 点击"Save"保存。
    • 点击左侧"Burn"开始烧写。
  • 上方输入框弹出下拉框后,选择串口号,例如COM11。
    图 6 选择与单板连接的串口
  • 烧录开始,若出现提示,需要手动重启单板(下电再上电)。
    图 7 提示下电并重新为单板上电
  • 烧写完成。
    图 8 烧写成功图

镜像运行
  • 连接串口。
    须知: 若无法连接串口,请参考常见问题5进行排查。
    图 9 连接串口图

    • 单击Serial port打开串口。
    • 输入"com11"串口编号并连续输入回车直到串口显示"hisillicon"。
    • 单板初次启动或修改启动参数,请进入步骤2,否则进入步骤3。
  • (单板初次启动必选)修改U-boot的bootcmd及bootargs内容:该步骤为固化操作,若不修改参数只需执行一次。每次复位单板均会自动进入系统。
    须知: U-boot引导程序默认会有2秒的等待时间,用户可使用回车打断等待并显示"hisillicon",通过reset命令可再次启动系统。
    表 1 U-boot启动参数

    执行命令
    setenv bootcmd "mmc read 0x0 0x80000000 0x800 0x4800; go 0x80000000";
    setenv bootargs "console=ttyAMA0,115200n8 root=emmc fstype=vfat rootaddr=10M rootsize=15M rw";
    saveenv
    reset
    命令解释
    setenv bootcmd "mmc read 0x0 0x80000000 0x800 0x4800;go 0x80000000";
    表示选择FLASH器件0,读取FLASH起始地址为0x800(单位为512B,即1MB),大小为0x4800(单位为512B,即9MB)的内容到0x80000000的内存地址。
    setenv bootargs "console=ttyAMA0,115200n8 root=emmc fstype=vfat rootaddr=10M rootsize=15M rw";
    表示设置启动参数,输出模式为串口输出,波特率为115200,数据位8,rootfs挂载于emmc器件,文件系统类型为vfat,
    “rootaddr=10M rootsize=15M rw”处对应填入rootfs.img的烧写起始位置与长度,此处与IDE中新增rootfs.img文件时所填大小必须相同
    saveenv;表示保存当前配置。
    reset;表示复位单板
    [可选]“go 0x80000000”默认配置已将指令固化在启动参数中,单板复位后可自动启动。若想切换为手动启动,可在U-boot启动倒数阶段使用"回车"打断自动启动。
  • 输入**“reset”**指令并回车,重启单板,启动成功如下图,输入回车串口显示OHOS字样。
    图 10 系统启动图

执行应用程序根目录下,在命令行输入指令“./bin/camera_app”执行写入的demo程序,显示成功结果如下图所示。
图 11 应用程序启动图



回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友