本系列文章將向大家講述華爲網關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