鸿蒙IPC开发板-固件烧录与helloworld测试

举报
码农爱学习 发表于 2022/10/23 21:45:19 2022/10/23
【摘要】 本篇介绍了HiSpark IPC Camera,Hi3518固件的烧录方法,包括串口烧录与USB口烧录,然后介绍了第一个helloword程序的编写、编译与运行方法,最后成功执行了helloword程序

1 固件烧写

HiSpark IPC Camera烧写Harmony固件到flash可以采用两种方式:串口方式、USB方式

1.1 串口方式烧写(速度慢)

1.1.1 固件准备

上篇文章,对OpenHarmony源码进行了编译,得到了一写编译文件:

  • OHOS_Image.bin

  • rootfs_jffs2.img

  • userfs_jffs2.img

uboot是没有编译的,可以去润和官网下载u-boot-hi3518ev300.bin文件

然后准备一个分区文件ipcamera_hi3518.xml,输入以下内容:

<?xml version="1.0" encoding="GB2312" ?>
<Partition_Info ProgrammerFile="">
<Part Sel="1" PartitionName="fastboot" FlashType="spi" FileSystem="none" Start="0" Length="1M" SelectFile="u-boot-hi3518ev300.bin"/>
<Part Sel="1" PartitionName="ohos_image" FlashType="spi" FileSystem="none" Start="1M" Length="6M" SelectFile="OHOS_Image.bin"/>
<Part Sel="1" PartitionName="rootfs" FlashType="spi" FileSystem="none" Start="7M" Length="8M" SelectFile="rootfs_jffs2.img"/>
<Part Sel="1" PartitionName="userfs" FlashType="spi" FileSystem="none" Start="15M" Length="1M" SelectFile="userfs_jffs2.img"/>
</Partition_Info>
​

然后将这个4个文件放在一起,准备烧录

1.1.2 HiTool烧写

需要用到烧录工具HiTool

下载HiTool http://www.hihope.org/attached/upload/file/20210122/6374690988332532102301893.zip

选择对应的芯片型号

打开Hitool,选择HiBurn工具, 选择hi3518ev300芯片,选择对应的串口,然后选择刚才的xml文件,选择之后,剩余的4个待烧录的文件会自动显示在列表中:

先擦除

先点击擦除,注意下方的窗口要切换到“控制台”,擦除的时候会提示进行断电再上电,需要按提示操作

擦除成功,如下

然后点烧写,串口烧写的比较慢,要20分钟左右:

烧写完成后,还要修改U-boot的bootcmd及bootargs内容,下方窗口切换到终端,并选择对应的串口后连接成功后,输入以下语句到终端:

setenv bootargs "console=ttyAMA0,115200n8 root=flash fstype=jffs2 rw rootaddr=7M rootsize=8M";
setenv bootcmd "sf probe 0;sf read 0x40000000 0x100000 0x600000;go 0x40000000";
saveenv

然后再输入reset即可重启板子,重启之后,就可以看到板子进行系统了,可以使用ls指令查看一下系统文件:


1.2 USB方式烧写(速度快)

使用USB烧写,需要先安装对应USB驱动,如下:

注意,刚才用串口烧了程序后,USB驱动安装之后,也是识别不到了,需要先使用串口的方式将系统擦除,并且擦除之后,USB在电脑上的识别会出现跳动,这也是正常的,然后再使用USB的方式点击烧写即可。

USB烧写的速度较快,1分半左右:

烧录完之后,和串口烧录完一样,输入如下指令:

setenv bootargs "console=ttyAMA0,115200n8 root=flash fstype=jffs2 rw rootaddr=7M rootsize=8M";
setenv bootcmd "sf probe 0;sf read 0x40000000 0x100000 0x600000;go 0x40000000";
saveenv
​
reset

2 HelloWorld程序测试

2.1 代码编写与编译

2.1.1 测试程序源码

2.1.2 BUILD.gn文件

新建BUILD.gn文件,写入如下内容:

import("//build/lite/config/component/lite_component.gni")
lite_component("hello-OpenHarmony") {
  features = [ ":hello" ]
}
executable("hello") {
  output_name = "hello"
  sources = [ "hello.c" ]
}

如下图

2.1.3 修改application.json

添加如下内容:

{
    "component": "my_hello_world",
    "description": "hello world test",
    "optional": "true",
    "dirs": [
        "applications/sample/hello"
    ],
    "targets": [
        "//applications/sample/hello:hello-OpenHarmony"
    ],
    "rom": "",
    "ram": "",
    "output": [],
    "adapted_kernel": [
        "liteos_a"
    ],
    "features": [],
    "deps": {
        "components": [],
        "third_party": []
    }
}

如下图


2.1.4 修改config.json

添加如下内容:

{
    "subsystem": "applications",
    "components": [
        {
            "component": "my_hello_world",
            "features": []
        }
    ]
}

如下图

2.2 运行测试

2.2.1 编译

和编译源码一样,进行整个编译

hb set
hb build -f

编译完成之后,在bin文件会有一个hello可执行文件

2.2.2 烧录

和烧录镜像一样,将OHOS_Image.bin, rootfs_jffs2.img, userfs_jffs2.img三个文件拷贝出来,使用HiTool进行烧录。

烧录完成之后,仍然是那几条指令:

setenv bootargs "console=ttyAMA0,115200n8 root=flash fstype=jffs2 rw rootaddr=7M rootsize=8M";
setenv bootcmd "sf probe 0;sf read 0x40000000 0x100000 0x600000;go 0x40000000";
saveenv
​
reset

2.2.3 测试

进入系统,运行bin目录下的hello

3 总结

本篇介绍了HiSpark IPC Camera,Hi3518固件的烧录方法,包括串口烧录与USB口烧录,然后介绍了第一个helloword程序的编写、编译与运行方法,最后成功执行了helloword程序

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。