本系列文章将向大家讲述华为网关AR502H的开发方法。
本文介绍有关编译开发环境制作的最后几个问题。
1、制作最终编译环境镜像
编译出所需要的第三方开源软件后,我们需要将生成的开源软件deb包载入基础镜像,生成最终所使用的编译环境镜像以供后续编译时使用,使用命令如下:
sudo ./build_sdk.sh
命令运行完毕后,会在release文件夹下生成huawei-ec-iot_sdk-buster.tar镜像文件,此文件可以供其它环境导入使用。
2、加载Docker镜像
(1)建立share文件夹
(2)设定share目录权限
(3)复制生成的镜像文件到share文件夹
(4)查看镜像文件权限
(5)加载docker镜像
命令如下:
sudo docker load -i ./huawei-ec-iot_sdk-buster.tar
(6)查看docker镜像
3、启动docker
(1)在share目录下建立demo目录
(2)在demo目录下,建立hello.c文件
(3)在hello.c文件中,写入程序
#include <stdio.h>
#include <unistd.h>
int main()
{
while (1)
{
printf("hello\n");
sleep(3);
}
}
(4)启动docker
命令如下,可看到将主机的/home/snmplink/share目录映射到docker的/data目录。
sudo docker run -v /home/snmplink/share:/data -v /dev:/dev -v /lib/modules/:/lib/modules/ -v /run:/run --add-host='osc:127.0.0.1' -e UID=1001 --privileged -i --rm -t huawei-ec-iot/sdk:buster /bin/bash
4、编译程序代码
(1)编译
arm-linux-gnueabi-gcc hello.c -o hello
(2)查看文件格式
arm-linux-gnueabi-objdump -a hello
(3)退出docker
5、快捷参考
(1)加载docker镜像
命令如下:
sudo docker load -i /home/snmplink/share./huawei-ec-iot_sdk-buster.tar
(2)启动docker
命令如下,可看到将主机的/home/snmplink/share目录映射到docker的/data目录。
sudo docker run -v /home/snmplink/share:/data -v /dev:/dev -v /lib/modules/:/lib/modules/ -v /run:/run --add-host='osc:127.0.0.1' -e UID=1001 --privileged -i --rm -t huawei-ec-iot/sdk:buster /bin/bash