# 开发Hi3518第一个示例程序 本节指导开发者在单板上运行第一个应用程序,其中包括修改应用程序、编译、烧写、运行等步骤,最终输出“Hello OHOS!” ## 获取源码 开发者需要在Linux服务器上下载一套源代码,获取Hi3518源码([下载链接](https://repo.huaweicloud.com/harmonyos/os/1.0/code-1.0.tar.gz))。更多源码获取方式,请见[源码获取](../get-code/源码获取.md)。 ## 修改应用程序 源码applications/sample/camera/app/src目录内helloworld.c代码如下所示,用户可以自定义修改打印内容(例如:修改OHOS为World)。当前应用程序可支持ISO C及C++的代码开发。 ``` #include #include "los_sample.h" int main(int argc, char **argv) { printf("\n************************************************\n"); printf("\n\t\tHello OHOS!\n"); printf("\n************************************************\n\n"); LOS_Sample(g_num); return 0; } ``` ## 编译 在linux服务器上,进入源码包根目录,执行如下脚本编译源码包。结果文件生成在out/ipcamera\_hi3518ev300目录下。 Hi3518EV300 ``` python build.py ipcamera_hi3518ev300 -b debug ``` ## 镜像烧写 Hi3518EV300单板请使用串口烧写。 1. 单板串口线(USB接口)与Winodws主机连接,打开电脑的设备管理器,查看串口号,此处为"COM7"。 >![](public_sys-resources/icon-notice.gif) **须知:** >串口转USB驱动,可在设备管理器,右键单击设备,并选择更新驱动程序-\>自动选择更新的驱动程序软件。 **图 1** 驱动安装成功图 ![](figures/驱动安装成功图-2.png "驱动安装成功图-2") 2. 打开HiTool工具,按照标号顺序选择芯片类型"Hi3518EV300",“本地PC配置”内选择“COM7”,“传输方式”内选择“串口”。 **图 2** HiTool工具串口配置步骤图 ![](figures/HiTool工具串口配置步骤图.png "HiTool工具串口配置步骤图") 3. 烧写:新增编译生成的OHOS\_Image.bin文件与rootfs.img,userfs.img文件,请仔细确认烧入文件的文件路径、器件类型、开始地址及长度。请按文件实际大小(向上取整,最小单位为MB),修改相关参数。 **图 3** HiTool工具烧写步骤图 ![](figures/HiTool工具烧写步骤图.png "HiTool工具烧写步骤图") 4. 点击烧写按钮,并按提示上电单板(已上电状态需要重新下电后再上电) **图 4** ![](figures/zh-cn_image_0000001054219799.png "zh-cn_image_0000001054219799") 5. 烧写完成,点击OK。 **图 5** 烧写完成示意图 ![](figures/烧写完成示意图.png "烧写完成示意图") ## 镜像运行 1. 连接串口:烧入成功后,按图示步骤打开终端,点击设置,修改终端名称为“Terminal11”,端口号为COM7,点击OK后打开串口,串口将显示**"hisilicon \#"**字样,表示进入单板U-boot程序。 **图 6** 串口连接图 ![](figures/串口连接图.png "串口连接图") 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** 启动参数设置图 ![](figures/启动参数设置图.png "启动参数设置图") 3. 若启动时显示**"hisilicon \#**字样,请输入**“reset”**指令,等待系统自启动进入系统,系统启动后,显示**“OHOS”**字样,输入**”./bin/camera\_app”**并回车,显示成功结果如下图所示。 **图 8** 启动成功并执行应用程序图 ![](figures/启动成功并执行应用程序图.png "启动成功并执行应用程序图") ## 下一步学习 恭喜您,已完成Hi3518的快速上手!建议您下一步进入[无屏摄像头产品开发](../guide/摄像头控制.md)的学习 。