开发Hi3518第一个示例程序

本节指导开发者在单板上运行第一个应用程序,其中包括修改应用程序、编译、烧写、运行等步骤,最终输出“Hello OHOS!”

获取源码

开发者需要在Linux服务器上下载一套源代码,获取Hi3518源码(站点1站点2)。更多源码获取方式,请见源码获取

修改应用程序

源码applications/sample/camera/app/src目录内helloworld.c代码如下所示,用户可以自定义修改打印内容(例如:修改OHOS为World)。当前应用程序可支持ISO C及C++的代码开发。

  1. #include <stdio.h>
  2. #include "los_sample.h"
  3. int main(int argc, char **argv)
  4. {
  5. printf("\n************************************************\n");
  6. printf("\n\t\tHello OHOS!\n");
  7. printf("\n************************************************\n\n");
  8. LOS_Sample(g_num);
  9. return 0;
  10. }

编译

在linux服务器上,进入源码包根目录,执行如下脚本编译源码包。结果文件生成在out/ipcamera_hi3518ev300目录下。

Hi3518EV300

  1. python build.py ipcamera_hi3518ev300 -b debug

镜像烧写

Hi3518EV300单板请使用串口烧写。

  1. 单板串口线(USB接口)与Winodws主机连接,打开电脑的设备管理器,查看串口号,此处为”COM7”。

    开发Hi3518第一个示例程序 - 图1 须知: 串口转USB驱动,可在设备管理器,右键单击设备,并选择更新驱动程序->自动选择更新的驱动程序软件。

    图 1 驱动安装成功图
    开发Hi3518第一个示例程序 - 图2

  2. 打开HiTool工具,按照标号顺序选择芯片类型”Hi3518EV300”,“本地PC配置”内选择“COM7”,“传输方式”内选择“串口”。

    图 2 HiTool工具串口配置步骤图
    开发Hi3518第一个示例程序 - 图3

  3. 烧写:新增编译生成的OHOS_Image.bin文件与rootfs.img,userfs.img文件,请仔细确认烧入文件的文件路径、器件类型、开始地址及长度。请按文件实际大小(向上取整,最小单位为MB),修改相关参数。

    图 3 HiTool工具烧写步骤图
    开发Hi3518第一个示例程序 - 图4

  4. 点击烧写按钮,并按提示上电单板(已上电状态需要重新下电后再上电)

    图 4
    开发Hi3518第一个示例程序 - 图5

  5. 烧写完成,点击OK。

    图 5 烧写完成示意图
    开发Hi3518第一个示例程序 - 图6

镜像运行

  1. 连接串口:烧入成功后,按图示步骤打开终端,点击设置,修改终端名称为“Terminal11”,端口号为COM7,点击OK后打开串口,串口将显示“hisilicon #“字样,表示进入单板U-boot程序。

    图 6 串口连接图
    开发Hi3518第一个示例程序 - 图7

  2. (初次烧写必选)修改U-boot的bootcmd及bootargs内容:该步骤为固化操作,可保存执行结果,但U-boot重新烧入,则需要再次执行下述步骤。

    表 1 Hi3518EV300 U-boot修改参数解释

    执行命令

    setenv bootcmd “sf probe 0;sf read 0x40000000 0x100000 0x600000;go 0x40000000”;

    setenv bootargs “console=ttyAMA0,115200n8 root=flash fstype=jffs2 rw rootaddr=7M rootsize=8M”; saveenv;

    reset

    命令解释

    setenv bootcmd “sf probe 0;sf read 0x40000000 0x100000 0x600000;go 0x40000000”;

    设置bootcmd内容,选择FLASH器件0,读取FLASH起始地址为0x100000,大小为0x600000的内容到0x40000000的内存地址。

    (可选)“go 0x40000000”默认配置已将指令固化在启动参数中,单板复位后可自动启动。若想切换为手动启动,可在U-boot启动倒数阶段使用”回车”打断自动启动。

    setenv bootargs “console=ttyAMA0,115200n8 root=flash fstype=jffs2 rw rootaddr=7M rootsize=8M”;

    表示设置bootargs参数为串口输出,波特率为115200,数据位8,rootfs挂载于FLASH上,文件系统类型为jffs2 rw,以支持可读写JFFS2文件系统。

    “rootaddr=7M rootsize=8M”处对应填入实际rootfs.img的烧写起始位置与长度,此处应与HiTool新增文件时所填大小相同。

    saveenv;表示保存当前配置。

    reset;表示复位单板。

    pri表示查看显示参数。

    图 7 启动参数设置图
    开发Hi3518第一个示例程序 - 图8

  3. 若启动时显示“hisilicon #字样,请输入“reset”指令,等待系统自启动进入系统,系统启动后,显示“OHOS”字样,输入”./bin/camera_app”并回车,显示成功结果如下图所示。

    图 8 启动成功并执行应用程序图
    开发Hi3518第一个示例程序 - 图9

下一步学习

恭喜您,已完成Hi3518的快速上手!建议您下一步进入无屏摄像头产品开发的学习 。