@gharibi nihao
ddrddr 发布的帖子
-
百问网D1开发板HDMI、IR、WIFI 适配
HDMI、IR、WIFI 适配
- DTS 文件
- ./device/config/chips/d1-h/configs/nezha/uboot-board.dts
- ./device/config/chips/d1-h/configs/nezha/linux-5.4/board.dts
- 分区文件
- ./target/allwinner/d1-h-nezha/swupdate/sys_partition_ab.fex
默认 HDMI 输出
这里我希望开机就是默认输出到 HDMI,需要对 ./device/config/chips/d1-h/configs/nezha/uboot-board.dts 进行修改
对 uboot-board.dts 中的 disp 节的代码进行修改,patch 文件如下,把默认的输出设备改为 HDMI 输出
diff --git a/configs/nezha/uboot-board.dts b/configs/nezha/uboot-board.dts index 81a521e..ca1b898 100644 --- a/configs/nezha/uboot-board.dts +++ b/configs/nezha/uboot-board.dts @@ -214,31 +214,29 @@ disp_init_enable = <1>; disp_mode = <0>; - screen0_output_type = <1>; - screen0_output_mode = <4>; - - screen1_output_type = <3>; - screen1_output_mode = <10>; - - screen1_output_format = <0>; - screen1_output_bits = <0>; - screen1_output_eotf = <4>; - screen1_output_cs = <257>; - screen1_output_dvi_hdmi = <2>; - screen1_output_range = <2>; - screen1_output_scan = <0>; - screen1_output_aspect_ratio = <8>; - - dev0_output_type = <1>; - dev0_output_mode = <4>; - dev0_screen_id = <0>; - dev0_do_hpd = <0>; - - dev1_output_type = <4>; - dev1_output_mode = <10>; - dev1_screen_id = <1>; - dev1_do_hpd = <1>; + screen0_output_type = <3>; + screen0_output_mode = <10>; + screen1_output_type = <1>; + screen1_output_mode = <4>; + + screen0_output_format = <0>; + screen0_output_bits = <0>; + screen0_output_eotf = <4>; + screen0_output_cs = <257>; + screen0_output_dvi_hdmi = <2>; + screen0_output_range = <2>; + screen0_output_scan = <0>; + screen0_output_aspect_ratio = <8>; + + + dev0_output_type = <4>; + + + + + dev0_output_mode = <10>; dev0_screen_id = <0>; + dev0_do_hpd = <1>; def_output_dev = <0>; hdmi_mode_check = <1>;
Wi-Fi、IR 适配
查看核心板的原理图可以看到 XR829 蓝牙+WiFi 模块的 WL_REG_ON 管脚需要修改,在 SDK 原本的设备树中 WL_REG_ON 管脚是 PG12,但是开发板的管脚是 PB12
[
[
红外接收头的输入管脚接到的是 PG16,和 SDK 原本的 PB12 不同,也需要修改
board.dts 的 patch 文件如下
diff --git a/configs/nezha/linux-5.4/board.dts b/configs/nezha/linux-5.4/board.dts old mode 100755 new mode 100644 index 963aa17..15eed8c --- a/configs/nezha/linux-5.4/board.dts +++ b/configs/nezha/linux-5.4/board.dts @@ -464,14 +464,14 @@ */ s_cir0_pins_a: s_cir@0 { - pins = "PB12"; + pins = "PG16"; function = "ir"; drive-strength = <10>; bias-pull-up; }; s_cir0_pins_b: s_cir@1 { - pins = "PB12"; + pins = "PG16"; function = "gpio_in"; }; @@ -566,7 +566,7 @@ clock-names = "32k-fanout1"; clocks = <&ccu CLK_FANOUT1_OUT>; wlan_busnum = <0x1>; - wlan_regon = <&pio PG 12 GPIO_ACTIVE_HIGH>; + wlan_regon = <&pio PB 12 GPIO_ACTIVE_HIGH>; wlan_hostwake = <&pio PG 10 GPIO_ACTIVE_HIGH>; /*wlan_power = "VCC-3V3";*/ /*wlan_power_vol = <3300000>;*/ @@ -1391,7 +1391,7 @@ pull up or pull down(default 0), driver level(default 1), data> pinctrl-names = "default", "sleep"; pinctrl-0 = <&s_cir0_pins_a>; pinctrl-1 = <&s_cir0_pins_b>; - status = "disabled"; + status = "okay"; }; &ir1 {
修改完了设备树后还需要修改一下 menuconfig 的配置,执行下面命令打开 kernel 的 menuconfig 的窗口
make kernel_menuconfig
然后使用 / 键进入搜索,搜索 IR_RX_SUNXI,可以看到我这里已经使能了,SDK 默认可能是没有使能的,需要修改下,前面标有(1),按下数字 1 键就可以跳转到这个位置
[
这时红外功能就可以用了,后续会注册到 /dev/input/event* 中
核心板的 Wi-Fi 模块有可能会是 24MHz 的晶振,而 SDK 默认的是 40MHz 的,需要修改下,运行命令打开 menuconfig
make menuconfig
使用 / 进入搜索模式,搜索 XR829,把 kmod-net-xr829-40M 改成 kmod-net-xr829
[
失能掉 xr829 with 40M sdd
[
确保 xr829-firmware 是使能的
[
然后退出保存即可。
烧录测试
在 SDK 根目录以此运行如下命令完成编译和打包
source build/envsetup.sh lunch make -j99 pack
将 Ubuntu 虚拟机编译出的镜像传输到 Windows 实体机中
[
烧录到开发板中
[
启动开发板,./device/config/chips/d1-h/configs/nezha/configs/bootlogo.bmp
通过 HDMI 采集器可以看到在开发板启动的时候默认进入了 HDMI 的显示了
[
ifconfig 命令查看网卡,可以看到 wlan0 了,使用 wifi_connect_ap_test 命令连接到 Wi-Fi
wifi_connect_ap_test [ssid] [passwd]
命令尝试连接到一个 Wi-Fi,连接完后尝试 ping 百度来看看
ping baidu.com -Iwlan0
可以看到通过 Wi-Fi 可以正常访问到互联网了
[
再看看红外 O不OK
cat /proc/bus/input/devices
[
可以看到红外的输入对应的是 event1,然后使用 hexdump 查看下输出
[
- DTS 文件
-
提高香橙派GPIO最高速率
使用香橙派zero3,最高只能达到5MHz的信号,请问如何提高gpio速率?
这个速率是参照网上树莓派的实现方法,直接对gpio写操作的寄存器循环进行写1和0。但只能产生最高5MHz的方波,即仅10MHz的写。函数是参照writeR实现的,在它单次写寄存器的基础上加了小循环写。用示波器可见5MHz方波。
但实际需要30MHz的频率,请问zero3如何支持?需要修改APB频率吗?还是说h618芯片不支持这么高的频率呢
-
飞凌OKT507C在安卓系统启动时如何设置GPIO口为高电平
使用PE20/21为新的GPIO口,设置GPIO148/149在init为高电平时不生效。
例如在OKT507-C-Common.dtsi文件设置:GPIO148 = <&pio PE 20 1 2 0 1>;
进入串口后使用cd /sys/class/gpio/gpio148后,用cat value读取电平值还是0,无法设置生效。 -
关于T113-i的核心板GPIO号查询和/sys/class/spidev目录下找不到设备
关于T113-i的核心板,我有2个问题请教:
1、各个引脚对应的GPIO号如何查询,第49脚(U1/<PE1/NCSI0_VSYNC/UART2_CTS/TWI1_SDA/LCD0_VSYNC/RGMII_RXD0/RMII_RXD0/PE_EINT1>/3V3)我想拉高。
2、在/sys/class/spidev目录下找不到设备,是spi驱动没做吗,还是我需要进行什么操作才会显示设备?
-
R128的屏幕颜色显示异常时怎么回事?
全志在线R128文档里的SPI LCD屏幕的内容(https://r128.docs.aw-ol.com/demo/spilcd/)
按照demo,SPILCD这个demo应该是输出紫色,而文档却说输出了黄色,这是怎么回事?
看到图片好像真的是黄色
-
T113Pro开发板,改成TF卡启动后,系统分区异常
现象:
如题,一开始我用的是NAND启动,但是由于要添加lib库(NAND-Flash的空间不够),所以改成了TF卡。
但是我根据说明,更改“sys_partition.fex”文件后,没有任何作用,并且通过“df -h”命令查看存储空间时,发现系统分区只剩下“/dev/root 和 tmpfs”了。疑问:
1、为什么我更改“sys_partition.fex”文件后,没有任何作用;
2、我该怎么对存储空间进行具体分区,并且保证“/usr/lib”目录有足够空间存放库文件;
3、我把开发板上的NAND换成256MB的,需要进行哪些配置步骤。 -
韦东山官网提供的 T113SDK , tina-d1-h测试WIFI 和4G的方法好像与原来buildroot_100ask_t113-pro 的测试方法不一样吧
我在测试 韦东山官网提供的 T113SDK , tina-d1-h, 这个SDK,测试WIFI 和4G的方法好像与原来buildroot_100ask_t113-pro 的测试方法不一样吧?有怎么连接WIFI, 4G的说明吗?
-
V853显示屏无法直接显示图片
V853的芯片,接的是800*480的RGB屏幕。QT是可以正常显示的。从网上找了个通过fb的ioctrl去显示bmp图片的程序,执行后不论是什么图片都是显示黑屏。同样的应用程序在 V3S+同样的屏幕 是可以正常显示bmp图片的。也有用过fbv去显示图片,fbv xxxx.bmp 但也是显示全黑。
有没有遇到同样问题的朋友帮忙解答一下呢?
以下是显示bmp图片的应用程序:··· #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <string.h> #include <linux/fb.h> #include <sys/mman.h> #include <sys/ioctl.h> #include <arpa/inet.h> #include <errno.h> //14byte文件头 typedef struct { char cfType[2]; //文件类型,"BM"(0x4D42) int cfSize; //文件大小(字节) int cfReserved; //保留,值为0 int cfoffBits; //数据区相对于文件头的偏移量(字节) }__attribute__((packed)) BITMAPFILEHEADER; //__attribute__((packed))的作用是告诉编译器取消结构在编译过程中的优化对齐 //40byte信息头 typedef struct { char ciSize[4]; //BITMAPFILEHEADER所占的字节数 int ciWidth; //宽度 int ciHeight; //高度 char ciPlanes[2]; //目标设备的位平面数,值为1 int ciBitCount; //每个像素的位数 char ciCompress[4]; //压缩说明 char ciSizeImage[4]; //用字节表示的图像大小,该数据必须是4的倍数 char ciXPelsPerMeter[4]; //目标设备的水平像素数/米 char ciYPelsPerMeter[4]; //目标设备的垂直像素数/米 char ciClrUsed[4]; //位图使用调色板的颜色数 char ciClrImportant[4]; //指定重要的颜色数,当该域的值等于颜色数时(或者等于0时),表示所有颜色都一样重要 }__attribute__((packed)) BITMAPINFOHEADER; typedef struct { unsigned char blue; unsigned char green; unsigned char red; unsigned char reserved; }__attribute__((packed)) PIXEL; //颜色模式RGB typedef struct { int fbfd; char *fbp; unsigned int xres; unsigned int yres; unsigned int xres_virtual; unsigned int yres_virtual; unsigned int xoffset; unsigned int yoffset; unsigned int bpp; unsigned long line_length; unsigned long size; struct fb_bitfield red; struct fb_bitfield green; struct fb_bitfield blue; } FB_INFO; typedef struct { unsigned int width; unsigned int height; unsigned int bpp; unsigned long size; unsigned int data_offset; } IMG_INFO; FB_INFO fb_info; IMG_INFO img_info; int show_bmp(char *img_name); static int cursor_bitmap_format_convert(char *dst,char *src, unsigned long img_len_one_line) { int img_len ,fb_len ; char *p; __u32 val; PIXEL pix; p = (char *)&val; img_len = img_info.width; /*一行图片的长度*/ fb_len = fb_info.xres; /*一行显示屏的长度*/ /*进行x轴的偏移*/ dst += fb_info.xoffset * (fb_info.bpp / 8); fb_len -= fb_info.xoffset; /*bmp 数据是上下左右颠倒的,这里只进行左右的处理*/ /*先定位到图片的最后一个像素的地址,然后往第一个像素的方向处理,进行左右颠倒的处理*/ src += img_len_one_line - 1; /*处理一行要显示的数据*/ while(1) { if (img_info.bpp == 32) pix.reserved = *(src--); pix.red = *(src--); pix.green = *(src--); pix.blue = *(src--); val = 0x00; val |= (pix.red >> (8 - fb_info.red.length)) << fb_info.red.offset; val |= (pix.green >> (8 - fb_info.green.length)) << fb_info.green.offset; val |= (pix.blue >> (8 - fb_info.blue.length)) << fb_info.blue.offset; val = 0x000000; if (fb_info.bpp == 16) { *(dst++) = *(p + 0); *(dst++) = *(p + 1); } else if (fb_info.bpp == 24) { *(dst++) = *(p + 0); *(dst++) = *(p + 1); *(dst++) = *(p + 2); } else if (fb_info.bpp == 32) { *(dst++) = *(p + 0); *(dst++) = *(p + 1); *(dst++) = *(p + 2); *(dst++) = *(p + 3); } /*超过图片长度或显示屏长度认为一行处理完了*/ img_len--; fb_len--; if (img_len <= 0 || fb_len <= 0) break; } #if 0 printf("r = %d\n", pix.red); printf("g = %d\n", pix.green); printf("b = %d\n", pix.blue); #endif return 0; } int show_bmp(char *img_name) { FILE *fp; int ret = 0; BITMAPFILEHEADER FileHead; BITMAPINFOHEADER InfoHead; if(img_name == NULL) { printf("img_name is null\n"); return -1; } fp = fopen( img_name, "rb" ); if(fp == NULL) { printf("img[%s] open failed\n", img_name); ret = -1; goto err_showbmp; } /* 移位到文件头部 */ fseek(fp, 0, SEEK_SET); ret = fread(&FileHead, sizeof(BITMAPFILEHEADER), 1, fp); if ( ret != 1) { printf("img read failed\n"); ret = -1; goto err_showbmp; } //检测是否是bmp图像 if (memcmp(FileHead.cfType, "BM", 2) != 0) { printf("it's not a BMP file[%c%c]\n", FileHead.cfType[0], FileHead.cfType[1]); ret = -1; goto err_showbmp; } ret = fread( (char *)&InfoHead, sizeof(BITMAPINFOHEADER),1, fp ); if ( ret != 1) { printf("read infoheader error!\n"); ret = -1; goto err_showbmp; } img_info.width = InfoHead.ciWidth; img_info.height = InfoHead.ciHeight; img_info.bpp = InfoHead.ciBitCount; img_info.size = FileHead.cfSize; img_info.data_offset = FileHead.cfoffBits; printf("img info w[%d] h[%d] bpp[%d] size[%ld] offset[%d]\n", img_info.width, img_info.height, img_info.bpp, img_info.size, img_info.data_offset); if (img_info.bpp != 24 && img_info.bpp != 32) { printf("img bpp is not 24 or 32\n"); ret = -1; goto err_showbmp; } /* *一行行处理 */ char *buf_img_one_line; char *buf_fb_one_line; char *p; int fb_height; long img_len_one_line = img_info.width * (img_info.bpp / 8); long fb_len_one_line = fb_info.line_length; // printf("img_len_one_line = %d\n", img_len_one_line); // printf("fb_len_one_line = %d\n", fb_info.line_length); buf_img_one_line = (char *)calloc(1, img_len_one_line + 256); if(buf_img_one_line == NULL) { printf("alloc failed\n"); ret = -1; goto err_showbmp; } buf_fb_one_line = (char *)calloc(1, fb_len_one_line + 256); if(buf_fb_one_line == NULL) { printf("alloc failed\n"); ret = -1; goto err_showbmp; } fseek(fp, img_info.data_offset, SEEK_SET); p = fb_info.fbp + fb_info.yoffset * fb_info.line_length; /*进行y轴的偏移*/ fb_height = fb_info.yres; while (1) { memset(buf_img_one_line, 0, img_len_one_line); memset(buf_fb_one_line, 0, fb_len_one_line); ret = fread(buf_img_one_line, 1, img_len_one_line, fp); if (ret < img_len_one_line) { /*图片读取完成,则图片显示完成*/ printf("read to end of img file\n"); cursor_bitmap_format_convert(buf_fb_one_line, buf_img_one_line, img_len_one_line); /*数据转换*/ memcpy(fb_info.fbp, buf_fb_one_line, fb_len_one_line); break; } cursor_bitmap_format_convert(buf_fb_one_line, buf_img_one_line, img_len_one_line); /*数据转换*/ memcpy(p, buf_fb_one_line, fb_len_one_line); /*显示一行*/ p += fb_len_one_line; /*超过显示屏宽度认为图片显示完成*/ fb_height--; if (fb_height <= 0) break; } free(buf_img_one_line); free(buf_fb_one_line); fclose(fp); return ret; err_showbmp: if (fp) fclose(fp); return ret; } int show_picture(char *img_name) { struct fb_var_screeninfo vinfo; struct fb_fix_screeninfo finfo; if (fb_info.fbfd <= -1) { printf("fb open fialed\n"); return -1; } if (ioctl(fb_info.fbfd, FBIOGET_FSCREENINFO, &finfo)) { printf("fb ioctl fialed\n"); return -1; } if (ioctl(fb_info.fbfd, FBIOGET_VSCREENINFO, &vinfo)) { printf("fb ioctl fialed\n"); return -1; } fb_info.xres = vinfo.xres; fb_info.yres = vinfo.yres; fb_info.xres_virtual = vinfo.xres_virtual; fb_info.yres_virtual = vinfo.yres_virtual; fb_info.xoffset = vinfo.xoffset; fb_info.yoffset = vinfo.yoffset; fb_info.bpp = vinfo.bits_per_pixel; fb_info.line_length = finfo.line_length; fb_info.size = finfo.smem_len; memcpy(&fb_info.red, &vinfo.red, sizeof(struct fb_bitfield)); memcpy(&fb_info.green, &vinfo.green, sizeof(struct fb_bitfield)); memcpy(&fb_info.blue, &vinfo.blue, sizeof(struct fb_bitfield)); #if 1 printf("fb info x[%d] y[%d] x_v[%d] y_v[%d] xoffset[%d] yoffset[%d] bpp[%d] line_length[%ld] size[%ld]\n", fb_info.xres, fb_info.yres, fb_info.xres_virtual, fb_info.yres_virtual, fb_info.xoffset, fb_info.yoffset, fb_info.bpp, fb_info.line_length, fb_info.size); printf("fb info red off[%d] len[%d] msb[%d]\n", fb_info.red.offset, fb_info.red.length, fb_info.red.msb_right); printf("fb info green off[%d] len[%d] msb[%d]\n", fb_info.green.offset, fb_info.green.length, fb_info.green.msb_right); printf("fb info blue off[%d] len[%d] msb[%d]\n", fb_info.blue.offset, fb_info.blue.length, fb_info.blue.msb_right); #endif if (fb_info.bpp != 16 && fb_info.bpp != 24 && fb_info.bpp != 32) { printf("fb bpp is not 16,24 or 32\n"); return -1; } if (fb_info.red.length > 8 || fb_info.green.length > 8 || fb_info.blue.length > 8) { printf("fb red|green|blue length is invalid\n"); return -1; } // 内存映射 fb_info.fbp = (char *)mmap(0, fb_info.size, PROT_READ | PROT_WRITE, MAP_SHARED, fb_info.fbfd, 0); if (fb_info.fbp == (char *)-1) { printf("mmap fialed\n"); return -1; } show_bmp(img_name); //删除映射 munmap(fb_info.fbp, fb_info.size); return 0; } int main(int argc, char **argv) { char img_name[64]; if (argc != 2) { printf("arg error\n"); return 0; } snprintf(img_name, sizeof(img_name), "%s", argv[1]); printf("img_name = %s\n", img_name); fb_info.fbfd = open("/dev/fb0", O_RDWR); if (!fb_info.fbfd) { printf("Error: cannot open framebuffer device(/dev/fb0).\n"); return -1; } show_picture(img_name); close(fb_info.fbfd); return 0; } ···
只能是通过QT显示图片后,将/dev/fb0里面的数据抓出来,要显示的时候再cat这个数据到fb0里显示。有哪位大神知道是什么原因导致的吗?
-
开发板上不能运行应用程序提示not found
这个看网上说是缺少库,在虚拟机下执行readelf -l demo, 提示require libc.so.6和libm.so.6,
我尝试从虚拟机的arm-linux-gnueabi的库里复制到rootfs的lib中,没有解决。希望路过的大师们能指点迷津,感谢!
-
A40i将hdmi输出改为 tft_lcd
我a40i 的sdk 刚开始编译的时候./build.sh config 显示选的是 0 hdmi ,我现在想把之前选的hdmi输出改为 tft_lcd,重新执行./build.sh config 选择 4 tft_lcd,但是不起作用,编出来的固件显示输出还是hdmi,
刚才又重复./build.sh config了好几次了,都没生效,fex文件已经加载 sys_config_tft_lcd.fex 的配置信息了,但是pack出来的固件仍然是hdmi显示输出,可以通过改哪个配置文件修改吗
配置打包的过程记录:
Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 5.4.0-150-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s just raised the bar for easy, resilient and secure K8s cluster deployment. https://ubuntu.com/engage/secure-kubernetes-at-the-edge * Canonical Livepatch is available for installation. - Reduce system reboots and improve kernel security. Activate at: https://ubuntu.com/livepatch 116 packages can be updated. 1 update is a security update. Your Hardware Enablement Stack (HWE) is supported until April 2023. Last login: Tue Aug 22 11:50:20 2023 from 192.168.3.105 tuner@tuner-virtual-machine:~$ tuner@tuner-virtual-machine:~$ tuner@tuner-virtual-machine:~$ tuner@tuner-virtual-machine:~$ cd /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee tuner@tuner-virtual-machine:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee$ ./build.sh config Welcome to mkscript setup progress All available chips: 0. sun8iw11p1 Choice: 0 All available platforms: 0. linux Choice: 0 All available kernel: 0. linux-3.10 Choice: 0 All available boards: 0. t3-mp1 1. t3-p1 2. t3-p2 3. t3-p3 4. tlt3_a40i-evm Choice: 4 All available rootfs: 0. buildroot 1. buildroot-201611 2. debian_fs Choice: 1 select buildroot-201611 All available float: 0. gnueabi 1. gnueabihf Choice: 1 select gnueabihf All available qt version: 0. 5.9.0 1. 5.9.7 Choice: 0 select 5.9.0 All available output configs: 0. hdmi 1. vga 2. lvds_lcd 3. mipi_lcd 4. tft_lcd Choice: 4 All available output configs: 0. t3 1. a40i Choice: 1 create misc_config gnueabihf tuner@tuner-virtual-machine:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee$ tuner@tuner-virtual-machine:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee$ tuner@tuner-virtual-machine:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee$ tuner@tuner-virtual-machine:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee$ tuner@tuner-virtual-machine:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee$ tuner@tuner-virtual-machine:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee$ tuner@tuner-virtual-machine:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee$ ./build.sh build buidroot-201611... xgnueabihf sun8iw11p1_hf_defconfig INFO: ---------------------------------------- INFO: build lichee ... INFO: chip: sun8iw11p1 INFO: platform: linux INFO: kernel: linux-3.10 INFO: board: tlt3_a40i-evm INFO: output: out/sun8iw11p1/linux/tlt3_a40i-evm INFO: ---------------------------------------- INFO: build buildroot ... make: Entering directory '/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611' >>> Finalizing target directory rm -f /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/glib-2.0/schemas/*.xml /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/glib-2.0/schemas/*.dtd /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin/glib-compile-schemas /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/share/glib-2.0/schemas --targetdir=/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/glib-2.0/schemas No schema files found: doing nothing. PYTHONPATH="/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/lib/python2.7/sysconfigdata/:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/lib/python2.7/site-packages/" /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin/python2.7 support/scripts/pycompile.py /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/lib/python2.7 find /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/lib/python2.7 -name '*.pyo' -print0 | xargs -0 --no-run-if-empty rm -f mkdir -p /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc echo "T3/A40i-Tronlong" > /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/hostname /bin/sed -i -e '$a \127.0.1.1\tT3/A40i-Tronlong' -e '/^127.0.1.1/d' /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/hosts mkdir -p /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc echo "Welcome to Allwinner T3 Linux Platform V1.4" > /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/issue mkdir -p /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/network/ ( echo "# interface file auto-generated by buildroot"; echo ; echo "auto lo"; echo "iface lo inet loopback"; echo ; echo "allow-hotplug eth0"; echo "iface eth0 inet dhcp"; ) > /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/network/interfaces /bin/sed -i -e s,^root:[^:]*:,root::, /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/shadow ln -sf bash /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/bin/sh /bin/sed -i -e '/ttyS0::respawn:\/bin\/login/d' /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/inittab /bin/sed -i -e '/# Put a getty on the serial port/a\ttyS0::respawn:/bin/login -f root' /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/inittab /bin/sed -i -e '/^#.*-o remount,rw \/$/s~^#\+~~' /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/inittab Generating locale zh_CN.UTF-8 rm -f /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/locales.nopurge for i in C en_US zh_CN locale-archive; do echo $i >> /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/locales.nopurge; done for dir in /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/locale /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/lib/locale; do for langdir in $dir/*; do if [ -e "${langdir}" ]; then grep -qx "${langdir##*/}" /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/locales.nopurge || rm -rf $langdir; fi done; done if [ -d /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/X11/locale ]; then for lang in C en_US zh_CN; do if [ -f /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/X11/locale/$lang/XLC_LOCALE ]; then echo "$lang/XLC_LOCALE: $lang"; fi done > /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/X11/locale/locale.dir; fi rm -rf /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/include /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/aclocal \ /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/lib/pkgconfig /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/pkgconfig \ /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/lib/cmake /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/cmake find /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/{lib,share}/ -name '*.cmake' -print0 | xargs -0 rm -f find /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/lib/ /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/lib/ /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/libexec/ \ \( -name '*.a' -o -name '*.la' \) -print0 | xargs -0 rm -f rm -rf /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/zsh rm -rf /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/man /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/man rm -rf /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/info /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/info rm -rf /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/doc /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/doc rm -rf /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/gtk-doc rmdir /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share 2>/dev/null Makefile:641: recipe for target 'target-finalize' failed make[1]: [target-finalize] Error 1 (ignored) find /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target -type f \( -perm /111 -o -name '*.so*' \) -not \( -name 'libpthread*.so*' -o -name 'ld-*.so*' -o -name '*.ko' \) -print0 | xargs -0 /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin/arm-linux-gnueabihf-strip --remove-section=.comment --remove-section=.note 2>/dev/null || true find /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/lib/ -type f -name 'libpthread*.so*' | \ xargs -r /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin/arm-linux-gnueabihf-strip --remove-section=.comment --remove-section=.note --strip-debug find /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/lib/ -type f -name 'ld-*.so*' | \ xargs -r /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin/arm-linux-gnueabihf-strip --remove-section=.comment --remove-section=.note --strip-debug test -f /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/ld.so.conf && \ { echo "ERROR: we shouldn't have a /etc/ld.so.conf file"; exit 1; } || true test -d /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/ld.so.conf.d && \ { echo "ERROR: we shouldn't have a /etc/ld.so.conf.d directory"; exit 1; } || true mkdir -p /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc ( \ echo "NAME=Buildroot"; \ echo "VERSION=2016.11 Fri Aug 25 10:39:19 CST 2023"; \ echo "ID=buildroot"; \ echo "VERSION_ID=2016.11"; \ echo "PRETTY_NAME=\"Buildroot 2016.11\"" \ ) > /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/os-release >>> Executing post-build script target/user_rootfs_build.sh run user rootfs build script------------genrootfs = not genrootfs DO NOT compile sdk lib make: Leaving directory '/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611' INFO: build buildroot OK. INFO: build kernel ... INFO: prepare toolchain of sun8iw11p1... no file name,use gz Building kernel /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10/output/lib/modules/3.10.65-rt69 Copy rootfs for arm rootfs_32bit.cpio_buildroot_201611.gz CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h make[1]: 'include/generated/mach-types.h' is up to date. CALL scripts/checksyscalls.sh CC scripts/mod/devicetable-offsets.s GEN scripts/mod/devicetable-offsets.h HOSTCC scripts/mod/file2alias.o HOSTLD scripts/mod/modpost CHK include/generated/compile.h CHK kernel/config_data.h CC drivers/soc/allwinner/pm/standby/common.o CC drivers/soc/allwinner/pm/standby/standby_twi.o CC drivers/soc/allwinner/pm/standby/power/axp_power.o CC drivers/soc/allwinner/pm/standby/power/axp15_power.o CC drivers/soc/allwinner/pm/standby/power/axp22_power.o CC drivers/soc/allwinner/pm/standby/power/axp20_power.o CC drivers/soc/allwinner/pm/standby/power/standby_power.o drivers/soc/allwinner/pm/standby/power/standby_power.c: In function 'pmu_get_voltage': drivers/soc/allwinner/pm/standby/power/standby_power.c:43:9: warning: implicit declaration of function 'axp20_get_volt' [-Wimplicit-function-declaration] ret = axp20_get_volt(tree); ^ drivers/soc/allwinner/pm/standby/power/standby_power.c:46:9: warning: implicit declaration of function 'axp22_get_volt' [-Wimplicit-function-declaration] ret = axp22_get_volt(tree); ^ drivers/soc/allwinner/pm/standby/power/standby_power.c:59:9: warning: implicit declaration of function 'axp15_get_volt' [-Wimplicit-function-declaration] ret = axp15_get_volt(tree); ^ drivers/soc/allwinner/pm/standby/power/standby_power.c: In function 'pmu_set_voltage': drivers/soc/allwinner/pm/standby/power/standby_power.c:84:9: warning: implicit declaration of function 'axp20_set_volt' [-Wimplicit-function-declaration] ret = axp20_set_volt(tree, voltage); ^ drivers/soc/allwinner/pm/standby/power/standby_power.c:87:9: warning: implicit declaration of function 'axp22_set_volt' [-Wimplicit-function-declaration] ret = axp22_set_volt(tree, voltage); ^ drivers/soc/allwinner/pm/standby/power/standby_power.c:100:9: warning: implicit declaration of function 'axp15_set_volt' [-Wimplicit-function-declaration] ret = axp15_set_volt(tree, voltage); ^ drivers/soc/allwinner/pm/standby/power/standby_power.c: In function 'pmu_get_state': drivers/soc/allwinner/pm/standby/power/standby_power.c:128:9: warning: implicit declaration of function 'axp20_get_state' [-Wimplicit-function-declaration] ret = axp20_get_state(tree); ^ drivers/soc/allwinner/pm/standby/power/standby_power.c:131:9: warning: implicit declaration of function 'axp22_get_state' [-Wimplicit-function-declaration] ret = axp22_get_state(tree); ^ drivers/soc/allwinner/pm/standby/power/standby_power.c:144:9: warning: implicit declaration of function 'axp15_get_state' [-Wimplicit-function-declaration] ret = axp15_get_state(tree); ^ drivers/soc/allwinner/pm/standby/power/standby_power.c: In function 'pmu_set_state': drivers/soc/allwinner/pm/standby/power/standby_power.c:172:9: warning: implicit declaration of function 'axp20_set_state' [-Wimplicit-function-declaration] ret = axp20_set_state(tree, state); ^ drivers/soc/allwinner/pm/standby/power/standby_power.c:188:9: warning: implicit declaration of function 'axp15_set_state' [-Wimplicit-function-declaration] ret = axp15_set_state(tree, state); ^ drivers/soc/allwinner/pm/standby/power/standby_power.c: In function 'pmu_suspend_calc': drivers/soc/allwinner/pm/standby/power/standby_power.c:217:9: warning: implicit declaration of function 'axp20_suspend_calc' [-Wimplicit-function-declaration] ret = axp20_suspend_calc(mask, func); ^ drivers/soc/allwinner/pm/standby/power/standby_power.c:221:9: warning: implicit declaration of function 'axp22_suspend_calc' [-Wimplicit-function-declaration] ret = axp22_suspend_calc(mask, func); ^ drivers/soc/allwinner/pm/standby/power/standby_power.c:234:9: warning: implicit declaration of function 'axp15_suspend_calc' [-Wimplicit-function-declaration] ret = axp15_suspend_calc(mask, func); ^ CC drivers/soc/allwinner/pm/standby/standby_clock.o CC drivers/soc/allwinner/pm/standby/standby_debug.o AS drivers/soc/allwinner/pm/standby/standby_divlib.o CC drivers/soc/allwinner/pm/standby/standby_dram.o AS drivers/soc/allwinner/pm/standby/./../mem_mmu_pc_asm.o CC drivers/soc/allwinner/pm/standby/./../mem_divlibc.o CC drivers/soc/allwinner/pm/standby/./../mem_clk.o CC drivers/soc/allwinner/pm/standby/./../mem_timing.o CC drivers/soc/allwinner/pm/standby/./../mem_serial.o CC drivers/soc/allwinner/pm/standby/./../mem_printk.o CC drivers/soc/allwinner/pm/standby/./../pm_debug.o CC drivers/soc/allwinner/pm/standby/main.o drivers/soc/allwinner/pm/standby/main.c: In function 'standby_main': drivers/soc/allwinner/pm/standby/main.c:135:3: warning: implicit declaration of function 'power_enter_super_calc' [-Wimplicit-function-declaration] power_enter_super_calc(&pm_info, &extended_standby_para_info, ^ drivers/soc/allwinner/pm/standby/main.c:144:3: warning: implicit declaration of function 'standby_twi_init_losc' [-Wimplicit-function-declaration] standby_twi_init_losc(pm_info.pmu_arg.twi_port); ^ drivers/soc/allwinner/pm/standby/main.c: In function 'bus_enter_lowfreq': drivers/soc/allwinner/pm/standby/main.c:332:3: warning: implicit declaration of function 'standby_clk_ldodisable' [-Wimplicit-function-declaration] standby_clk_ldodisable(); ^ drivers/soc/allwinner/pm/standby/main.c: In function 'bus_freq_resume': drivers/soc/allwinner/pm/standby/main.c:342:3: warning: implicit declaration of function 'standby_clk_ldoenable' [-Wimplicit-function-declaration] standby_clk_ldoenable(); ^ CC drivers/soc/allwinner/pm/standby/dram/sun8iw11p1/mctl_standby-sun8iw11.o drivers/soc/allwinner/pm/standby/dram/sun8iw11p1/mctl_standby-sun8iw11.c: In function 'dram_udelay': drivers/soc/allwinner/pm/standby/dram/sun8iw11p1/mctl_standby-sun8iw11.c:30:2: warning: implicit declaration of function 'change_runtime_env' [-Wimplicit-function-declaration] change_runtime_env(); ^ drivers/soc/allwinner/pm/standby/dram/sun8iw11p1/mctl_standby-sun8iw11.c:31:2: warning: implicit declaration of function 'delay_us' [-Wimplicit-function-declaration] delay_us(n); ^ In file included from drivers/soc/allwinner/pm/standby/dram/sun8iw11p1/mctl_standby-sun8iw11.c:18:0: drivers/soc/allwinner/pm/standby/dram/sun8iw11p1/mctl_standby-sun8iw11.c: In function 'mctl_channel_init_standby': drivers/soc/allwinner/pm/standby/dram/sun8iw11p1/mctl_hal-sun8iw11.h:77:35: warning: implicit declaration of function 'printk' [-Wimplicit-function-declaration] #define dram_dbg_0(fmt, args...) printk(fmt, ##args) ^ drivers/soc/allwinner/pm/standby/dram/sun8iw11p1/mctl_standby-sun8iw11.c:713:2: note: in expansion of macro dram_dbg_0' dram_dbg_0("mctl_channel_init_standby\n"); ^ rm -rf *.o drivers/soc/allwinner/pm/standby/./*.o CC drivers/soc/allwinner/pm/mem_divlibc.o CC drivers/soc/allwinner/pm/mem_int.o CC drivers/soc/allwinner/pm/mem_clk.o CC drivers/soc/allwinner/pm/mem_gpio.o CC drivers/soc/allwinner/pm/mem_timing.o CC drivers/soc/allwinner/pm/mem_serial.o AS drivers/soc/allwinner/pm/standby.o LD drivers/soc/allwinner/pm/pm_tmp.o LD drivers/soc/allwinner/pm/built-in.o LD drivers/soc/allwinner/built-in.o LD drivers/soc/built-in.o LD drivers/video/sunxi/disp2/hdmi/hdmi.o LD drivers/video/sunxi/disp2/hdmi/built-in.o LD drivers/video/sunxi/built-in.o LD drivers/video/built-in.o LD drivers/built-in.o LINK vmlinux LD vmlinux.o MODPOST vmlinux.o WARNING: modpost: Found 1 section mismatch(es). To see full details build your kernel with: 'make CONFIG_DEBUG_SECTION_MISMATCH=y' GEN .version CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o LD init/built-in.o KSYM .tmp_kallsyms1.o KSYM .tmp_kallsyms2.o LD vmlinux SORTEX vmlinux SYSMAP System.map OBJCOPY arch/arm/boot/Image Kernel: arch/arm/boot/Image is ready GZIP arch/arm/boot/compressed/piggy.gzip AS arch/arm/boot/compressed/piggy.gzip.o LD arch/arm/boot/compressed/vmlinux OBJCOPY arch/arm/boot/zImage Kernel: arch/arm/boot/zImage is ready UIMAGE arch/arm/boot/uImage Image Name: Linux-3.10.65-rt69 Created: Fri Aug 25 10:39:44 2023 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 5238000 Bytes = 5115.23 KiB = 5.00 MiB Load Address: 40008000 Entry Point: 40008000 Image arch/arm/boot/uImage is ready Building modules, stage 2. MODPOST 19 modules 'arch/arm/boot/Image' -> 'output/bImage' 'arch/arm/boot/uImage' -> 'output/uImage' 'arch/arm/boot/zImage' -> 'output/zImage' Building modules build nand library /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10/modules/nand/sun8iw11p1/lib build nand with existing library make: Entering directory '/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10/modules/nand' make -C /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10 M=/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10/modules/nand make[1]: Entering directory '/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10' LD [M] /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10/modules/nand/sun8iw11p1/nand.o Building modules, stage 2. MODPOST 1 modules LD [M] /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10/modules/nand/sun8iw11p1/nand.ko make[1]: Leaving directory '/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10' make: Leaving directory '/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10/modules/nand' [GPU]: Building mali400 device driver... make: Entering directory '/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10/modules/gpu' make -j -C mali400/kernel_mode/driver/src/devicedrv/mali BUILD=release make[1]: Entering directory '/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10/modules/gpu/mali400/kernel_mode/driver/src/devicedrv/mali' make ARCH=arm -C /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10 M=/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10/modules/gpu/mali400/kernel_mode/driver/src/devicedrv/mali modules make[2]: Entering directory '/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10' CC [M] /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10/modules/gpu/mali400/kernel_mode/driver/src/devicedrv/mali/__malidrv_build_info.o LD [M] /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10/modules/gpu/mali400/kernel_mode/driver/src/devicedrv/mali/mali.o Building modules, stage 2. MODPOST 1 modules CC /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10/modules/gpu/mali400/kernel_mode/driver/src/devicedrv/mali/mali.mod.o LD [M] /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10/modules/gpu/mali400/kernel_mode/driver/src/devicedrv/mali/mali.ko make[2]: Leaving directory '/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10' make[1]: Leaving directory '/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10/modules/gpu/mali400/kernel_mode/driver/src/devicedrv/mali' 'mali400/kernel_mode/driver/src/devicedrv/mali/mali.ko' -> '/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10/output/lib/modules/3.10.65-rt69/mali.ko' make: Leaving directory '/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/linux-3.10/modules/gpu' [GPU]: mali400 device driver has been built. regenerate rootfs cpio 4283 blocks 5005 blocks build_ramfs Copy boot.img to output directory ... Copy modules to target ... ./scripts/build.sh sun8iw11p1 compile Kernel successful INFO: build kernel OK. INFO: build rootfs ... make: Entering directory '/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611' >>> Finalizing target directory rm -f /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/glib-2.0/schemas/*.xml /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/glib-2.0/schemas/*.dtd /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin/glib-compile-schemas /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/share/glib-2.0/schemas --targetdir=/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/glib-2.0/schemas No schema files found: doing nothing. PYTHONPATH="/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/lib/python2.7/sysconfigdata/:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/lib/python2.7/site-packages/" /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin/python2.7 support/scripts/pycompile.py /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/lib/python2.7 find /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/lib/python2.7 -name '*.pyo' -print0 | xargs -0 --no-run-if-empty rm -f mkdir -p /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc echo "T3/A40i-Tronlong" > /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/hostname /bin/sed -i -e '$a \127.0.1.1\tT3/A40i-Tronlong' -e '/^127.0.1.1/d' /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/hosts mkdir -p /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc echo "Welcome to Allwinner T3 Linux Platform V1.4" > /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/issue mkdir -p /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/network/ ( echo "# interface file auto-generated by buildroot"; echo ; echo "auto lo"; echo "iface lo inet loopback"; echo ; echo "allow-hotplug eth0"; echo "iface eth0 inet dhcp"; ) > /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/network/interfaces /bin/sed -i -e s,^root:[^:]*:,root::, /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/shadow ln -sf bash /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/bin/sh /bin/sed -i -e '/ttyS0::respawn:\/bin\/login/d' /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/inittab /bin/sed -i -e '/# Put a getty on the serial port/a\ttyS0::respawn:/bin/login -f root' /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/inittab /bin/sed -i -e '/^#.*-o remount,rw \/$/s~^#\+~~' /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/inittab Generating locale zh_CN.UTF-8 rm -f /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/locales.nopurge for i in C en_US zh_CN locale-archive; do echo $i >> /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/locales.nopurge; done for dir in /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/locale /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/lib/locale; do for langdir in $dir/*; do if [ -e "${langdir}" ]; then grep -qx "${langdir##*/}" /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/locales.nopurge || rm -rf $langdir; fi done; done if [ -d /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/X11/locale ]; then for lang in C en_US zh_CN; do if [ -f /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/X11/locale/$lang/XLC_LOCALE ]; then echo "$lang/XLC_LOCALE: $lang"; fi done > /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/X11/locale/locale.dir; fi rm -rf /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/include /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/aclocal \ /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/lib/pkgconfig /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/pkgconfig \ /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/lib/cmake /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/cmake find /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/{lib,share}/ -name '*.cmake' -print0 | xargs -0 rm -f find /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/lib/ /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/lib/ /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/libexec/ \ \( -name '*.a' -o -name '*.la' \) -print0 | xargs -0 rm -f rm -rf /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/zsh rm -rf /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/man /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/man rm -rf /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/info /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/info rm -rf /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/doc /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/doc rm -rf /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share/gtk-doc rmdir /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/usr/share 2>/dev/null Makefile:641: recipe for target 'target-finalize' failed make[1]: [target-finalize] Error 1 (ignored) find /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target -type f \( -perm /111 -o -name '*.so*' \) -not \( -name 'libpthread*.so*' -o -name 'ld-*.so*' -o -name '*.ko' \) -print0 | xargs -0 /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin/arm-linux-gnueabihf-strip --remove-section=.comment --remove-section=.note 2>/dev/null || true find /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/lib/ -type f -name 'libpthread*.so*' | \ xargs -r /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin/arm-linux-gnueabihf-strip --remove-section=.comment --remove-section=.note --strip-debug find /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/lib/ -type f -name 'ld-*.so*' | \ xargs -r /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin/arm-linux-gnueabihf-strip --remove-section=.comment --remove-section=.note --strip-debug test -f /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/ld.so.conf && \ { echo "ERROR: we shouldn't have a /etc/ld.so.conf file"; exit 1; } || true test -d /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/ld.so.conf.d && \ { echo "ERROR: we shouldn't have a /etc/ld.so.conf.d directory"; exit 1; } || true mkdir -p /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc ( \ echo "NAME=Buildroot"; \ echo "VERSION=2016.11 Fri Aug 25 10:39:55 CST 2023"; \ echo "ID=buildroot"; \ echo "VERSION_ID=2016.11"; \ echo "PRETTY_NAME=\"Buildroot 2016.11\"" \ ) > /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/etc/os-release >>> Executing post-build script target/user_rootfs_build.sh run user rootfs build script------------genrootfs = y cp: target '/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/target/bin/' is not a directory you must compile QT5.9.0 first!!!!!!! \nlibsdk.so compile ok!!!\n\n make[2]: Nothing to be done for 'all'. cp: cannot stat '/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/sdktest/eve_module/classifier/*': No such file or directory make[2]: Nothing to be done for 'all'. make[2]: Nothing to be done for 'all'. make finish!!! make[2]: Nothing to be done for 'all'. make[2]: Nothing to be done for 'all'. echo ----------vproxy--------- ----------vproxy--------- /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../../../../../out/sun8iw11p1/linux/common/buildroot/host/opt/ext-toolchain/bin/arm-linux-gnueabihf-g++ --sysroot=/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../../../../../out/sun8iw11p1/linux/common/buildroot/host/usr/arm-buildroot-linux-gnueabihf/sysroot -c ./videoprosy.cpp -o ./videopro.o -rdynamic -fPIC -shared -DUSE_LOGCAT -DHAVE_PTHREADS -DHAVE_SYS_UIO_H -DANDROID_SMP=1 -D__ARM_HAVE_DMB -D__ARM_HAVE_LDREX_STREX -DHAVE_POSIX_CLOCKS -DHAVE_PRCTL -DWATERMARK -DCDX_V27 -DSUPPORT_NEW_DRIVER -D_GNU_SOURCE -DCONFIG_CHIP=7 -DCONFIG_TARGET_PRODUCT= -DCONFIG_PRODUCT=2 -DCONFIG_VE_IPC=1 -DROTATE_PIC_HW=0 -DVE_PHY_OFFSET=0x40000000 -DCONFIG_LOG_LEVEL=0 -I-I./ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/include/disp2 -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/include/utils -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib//include/cutils/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/media -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/camera -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/camera/moudle -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/camera/allwinnertech/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/camera/allwinnertech/water_mark/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/camera/adas/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/storage/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/sound/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/memory/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/misc/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/audioenc/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/eve_module/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/eve_module -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../../../../../tools/pack/chips/sun8iw11p1/hal/gpu/fbdev_hf/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../../../../../out/sun8iw11p1/linux/common/buildroot/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/glib-2.0/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../../../../../out/sun8iw11p1/linux/common/buildroot/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/glib-2.0/include/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../../../../../out/sun8iw11p1/linux/common/buildroot/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/gio-unix-2.0/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/include/external/include/adecoder -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/include/external/include/aencoder -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/include/external/include/alsa/sound -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/include/external/include/adecoder -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/include/external/include/libxml -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/include/external/include/live -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/include/external/include/openssl -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/include/external/include/sdecoder -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/include/external/include/zlib -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/include/libcedarc/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/include/libcore/base/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/include/libcore/muxer/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/include/libcore/parser/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/include/libcore/playback/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/include/libcore/stream/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/include/libcore/common/iniparser -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/include/libcore/common/plugin -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/include/xmetadataretriever/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/include/xplayer/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/../shm/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/../dbusmedia/ In file included from ./videoprosy.cpp:8:0: /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/../dbusmedia/dbusmediavideotype.h:19:1: warning: 'typedef' was ignored in this declaration }; ^ /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/../dbusmedia/dbusmediavideotype.h:25:1: warning: 'typedef' was ignored in this declaration }; ^ /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../../../../../out/sun8iw11p1/linux/common/buildroot/host/opt/ext-toolchain/bin/arm-linux-gnueabihf-g++ --sysroot=/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../../../../../out/sun8iw11p1/linux/common/buildroot/host/usr/arm-buildroot-linux-gnueabihf/sysroot -o ./libvideoproxy.so ./videopro.o -rdynamic -fPIC -shared -L./cedarx// -Wl,--no-undefined -L/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/cedarx/lib_hf/ -Wl,--no-undefined -ladecoder -laencoder -lcdx_base -lcdx_common -lcdx_muxer -lcdx_parser -lcdx_playback -lcdx_stream -lMemAdapter -lcdc_base -lsubdecoder -lvdecoder -lvencoder -lVE -lvideoengine -lxmetadataretriever -lxplayer -lrt -lpthread -lz -lcrypto -lssl -L/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/libs_hf -lsdk_compose -lsdk_disp -lsdk_g2d -lsdk_dvr -lsdk_player -lsdk_tr -L/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../../../../../tools/pack/chips/sun8iw11p1/hal/gpu/fbdev_hf/lib/ -lGLESv2 -L/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib -lsdk -ltinyalsa -L/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/libs -lawshm -lawcommediavideo -I../shm/ -I../dbusmedia/ cp ./libvideoproxy.so /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoproxy/../../sdk_lib/libs make[2]: Circular videoserv <- videoserv dependency dropped. echo ------------------- ------------------- /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../../../../../out/sun8iw11p1/linux/common/buildroot/host/opt/ext-toolchain/bin/arm-linux-gnueabihf-g++ --sysroot=/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../../../../../out/sun8iw11p1/linux/common/buildroot/host/usr/arm-buildroot-linux-gnueabihf/sysroot -c ./background_video_player.cpp -o ./background_video_player.o -g -DUSE_LOGCAT -DHAVE_PTHREADS -DHAVE_SYS_UIO_H -DANDROID_SMP=1 -D__ARM_HAVE_DMB -D__ARM_HAVE_LDREX_STREX -DHAVE_POSIX_CLOCKS -DHAVE_PRCTL -DWATERMARK -DADAS_ENABLE -DCDX_V27 -DSUPPORT_NEW_DRIVER -D_GNU_SOURCE -DCONFIG_CHIP=7 -DCONFIG_TARGET_PRODUCT= -DCONFIG_PRODUCT=2 -DCONFIG_VE_IPC=1 -DROTATE_PIC_HW=0 -DVE_PHY_OFFSET=0x40000000 -DCONFIG_LOG_LEVEL=0 -DBGVIDEO_SER -I-I./ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/include/disp2 -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/include/utils -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib//include/cutils/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/media -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/camera -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/camera/moudle -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/camera/allwinnertech/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/camera/allwinnertech/water_mark/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/camera/adas/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/storage/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/sound/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/memory/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/misc/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/audioenc/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/eve_module/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/eve_module -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../../../../../tools/pack/chips/sun8iw11p1/hal/gpu/fbdev_hf/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../../../../../out/sun8iw11p1/linux/common/buildroot/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/glib-2.0/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../../../../../out/sun8iw11p1/linux/common/buildroot/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/glib-2.0/include/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../../../../../out/sun8iw11p1/linux/common/buildroot/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/gio-unix-2.0/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/external/include/adecoder -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/external/include/aencoder -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/external/include/alsa/sound -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/external/include/adecoder -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/external/include/libxml -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/external/include/live -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/external/include/openssl -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/external/include/sdecoder -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/external/include/zlib -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/libcedarc/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/libcore/base/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/libcore/muxer/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/libcore/parser/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/libcore/playback/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/libcore/stream/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/libcore/common/iniparser -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/libcore/common/plugin -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/xmetadataretriever/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/xplayer/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/../shm/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/../dbusmedia/ In file included from ./background_video_player.cpp:11:0: /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/../dbusmedia/dbusmediavideotype.h:19:1: warning: 'typedef' was ignored in this declaration }; ^ /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/../dbusmedia/dbusmediavideotype.h:25:1: warning: 'typedef' was ignored in this declaration }; ^ ./background_video_player.cpp: In static member function 'static int CBackGroundMediaVideo::handleShareMemControlCmd(int, int, char*, void*, void*)': ./background_video_player.cpp:410:21: warning: NULL used in arithmetic [-Wpointer-arith] if(pout->val0 != NULL) ^ /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../../../../../out/sun8iw11p1/linux/common/buildroot/host/opt/ext-toolchain/bin/arm-linux-gnueabihf-g++ --sysroot=/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../../../../../out/sun8iw11p1/linux/common/buildroot/host/usr/arm-buildroot-linux-gnueabihf/sysroot -c ./bg_video_serv_warper.cpp -o ./bg_video_serv_warper.o -g -DUSE_LOGCAT -DHAVE_PTHREADS -DHAVE_SYS_UIO_H -DANDROID_SMP=1 -D__ARM_HAVE_DMB -D__ARM_HAVE_LDREX_STREX -DHAVE_POSIX_CLOCKS -DHAVE_PRCTL -DWATERMARK -DADAS_ENABLE -DCDX_V27 -DSUPPORT_NEW_DRIVER -D_GNU_SOURCE -DCONFIG_CHIP=7 -DCONFIG_TARGET_PRODUCT= -DCONFIG_PRODUCT=2 -DCONFIG_VE_IPC=1 -DROTATE_PIC_HW=0 -DVE_PHY_OFFSET=0x40000000 -DCONFIG_LOG_LEVEL=0 -DBGVIDEO_SER -I-I./ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/include/disp2 -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/include/utils -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib//include/cutils/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/media -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/camera -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/camera/moudle -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/camera/allwinnertech/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/camera/allwinnertech/water_mark/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/camera/adas/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/storage/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/sound/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/memory/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/misc/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/audioenc/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/eve_module/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/eve_module -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../../../../../tools/pack/chips/sun8iw11p1/hal/gpu/fbdev_hf/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../../../../../out/sun8iw11p1/linux/common/buildroot/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/glib-2.0/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../../../../../out/sun8iw11p1/linux/common/buildroot/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/glib-2.0/include/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../../../../../out/sun8iw11p1/linux/common/buildroot/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/gio-unix-2.0/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/external/include/adecoder -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/external/include/aencoder -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/external/include/alsa/sound -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/external/include/adecoder -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/external/include/libxml -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/external/include/live -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/external/include/openssl -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/external/include/sdecoder -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/external/include/zlib -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/libcedarc/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/libcore/base/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/libcore/muxer/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/libcore/parser/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/libcore/playback/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/libcore/stream/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/libcore/common/iniparser -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/libcore/common/plugin -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/xmetadataretriever/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/include/xplayer/include -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/../shm/ -I/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/../dbusmedia/ In file included from ./bg_video_serv_warper.cpp:14:0: /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/../dbusmedia/dbusmediavideotype.h:19:1: warning: 'typedef' was ignored in this declaration }; ^ /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/../dbusmedia/dbusmediavideotype.h:25:1: warning: 'typedef' was ignored in this declaration }; ^ /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../../../../../out/sun8iw11p1/linux/common/buildroot/host/opt/ext-toolchain/bin/arm-linux-gnueabihf-g++ --sysroot=/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../../../../../out/sun8iw11p1/linux/common/buildroot/host/usr/arm-buildroot-linux-gnueabihf/sysroot -o ./video_serv ./background_video_player.o ./bg_video_serv_warper.o -DBGVIDEO_SER -L./cedarx// -Wl,--no-undefined -L/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/cedarx/lib_hf/ -Wl,--no-undefined -ladecoder -laencoder -lcdx_base -lcdx_common -lcdx_muxer -lcdx_parser -lcdx_playback -lcdx_stream -lMemAdapter -lcdc_base -lsubdecoder -lvdecoder -lvencoder -lVE -lvideoengine -lxmetadataretriever -lxplayer -lrt -lpthread -lz -lcrypto -lssl -L/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/libs_hf -lsdk_compose -lsdk_disp -lsdk_g2d -lsdk_dvr -lsdk_player -lsdk_tr -L/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../../../../../tools/pack/chips/sun8iw11p1/hal/gpu/fbdev_hf/lib/ -lGLESv2 -L/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib -lsdk -ltinyalsa -L/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/target/user_rootfs_misc/a40i/sdk_demo/videoservice/../../sdk_lib/libs -lawshm -lawcommediavideo ./makeMediaUI: line 9: ../../../../../../buildroot-201611/dl/qt-everywhere-opensource-src-5.9.0/Qt-5.9.0/bin/qmake: No such file or directory /home/tronlong/work/T3/sdk/allwin/lichee/buildroot-201611/dl/qt-everywhere-opensource-src-5.9.0/Qt-5.9.0/bin/qmake -o Makefile MediaUI.pro make[2]: /home/tronlong/work/T3/sdk/allwin/lichee/buildroot-201611/dl/qt-everywhere-opensource-src-5.9.0/Qt-5.9.0/bin/qmake: Command not found Makefile:460: recipe for target 'Makefile' failed make[2]: *** [Makefile] Error 127 ./makeCameraUI: line 9: ../../../../../../buildroot-201611/dl/qt-everywhere-opensource-src-5.9.0/Qt-5.9.0/bin/qmake: No such file or directory /home/tronlong/work/T3/sdk/allwin/lichee/buildroot-201611/dl/qt-everywhere-opensource-src-5.9.0/Qt-5.9.0/bin/qmake -o Makefile CameraUI.pro make[2]: /home/tronlong/work/T3/sdk/allwin/lichee/buildroot-201611/dl/qt-everywhere-opensource-src-5.9.0/Qt-5.9.0/bin/qmake: Command not found Makefile:563: recipe for target 'Makefile' failed make[2]: *** [Makefile] Error 127 ./makeLauncher: line 9: ../../../../../../buildroot-201611/dl/qt-everywhere-opensource-src-5.9.0/Qt-5.9.0/bin/qmake: No such file or directory /home/tronlong/work/T3/sdk/allwin/lichee/buildroot-201611/dl/qt-everywhere-opensource-src-5.9.0/Qt-5.9.0/bin/qmake -o Makefile Launcher.pro make[2]: /home/tronlong/work/T3/sdk/allwin/lichee/buildroot-201611/dl/qt-everywhere-opensource-src-5.9.0/Qt-5.9.0/bin/qmake: Command not found Makefile:400: recipe for target 'Makefile' failed make[2]: *** [Makefile] Error 127 run user rootfs build script---------done! >>> Generating root filesystem image rootfs.ext2 rm -f /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/_fakeroot.fs rm -f /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM rm -f /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/_users_table.txt echo '#!/bin/sh' > /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/_fakeroot.fs echo "set -e" >> /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/_fakeroot.fs echo "chown -h -R 0:0 /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target" >> /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/_fakeroot.fs printf ' dbus -1 dbus -1 * /var/run/dbus - dbus DBus messagebus user\n - - docker -1 * - - - Docker Application Container Framework\n - - input -1 * - - - Input device group\n mosquitto -1 nogroup -1 * - - - Mosquitto user\n sshd -1 sshd -1 * - - - SSH drop priv user\n ftp -1 ftp -1 * /home/ftp - - Anonymous FTP User\n\n' >> /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/_users_table.txt PATH="/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/bin:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/sbin:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/usr/sbin:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/opt/ext-toolchain//bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611/support/scripts/mkusers /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/_users_table.txt /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target >> /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/_fakeroot.fs cat system/device_table.txt > /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/_device_table.txt printf ' /bin/busybox f 4755 0 0 - - - - -\n /usr/libexec/dbus-daemon-launch-helper f 4755 0 0 - - - - -\n /dev/console c 622 0 0 5 1 - - -\n\n' >> /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/_device_table.txt echo "/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin/makedevs -d /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/_device_table.txt /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target" >> /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/_fakeroot.fs printf ' PATH="/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/bin:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/sbin:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/usr/sbin:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/opt/ext-toolchain//bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" mke2img -d /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target -G 4 -R 1 -b 2097152 -B 0 -i 524288 -I 0 -o /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/images/rootfs.ext2\n' >> /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/_fakeroot.fs chmod a+x /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/_fakeroot.fs PATH="/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/bin:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/sbin:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/usr/sbin:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/opt/ext-toolchain//bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin/fakeroot -- /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/_fakeroot.fs rootdir=/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target table='/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/build/_device_table.txt' tune2fs 1.43.3 (04-Sep-2016) tune2fs 1.43.3 (04-Sep-2016) Please run e2fsck -f on the filesystem. Creating journal inode: done This filesystem will be automatically checked every 20 mounts or 0 days, whichever comes first. Use tune2fs -c or -i to override. mke2img: e2fsck was successfully run on '/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/images/rootfs.ext2' (ext4) tune2fs 1.43.3 (04-Sep-2016) Setting maximal mount count to -1 Setting interval between checks to 0 seconds /usr/bin/install -m 0644 support/misc/target-dir-warning.txt /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM ln -sf rootfs.ext2 /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/out/sun8iw11p1/linux/common/buildroot/images/rootfs.ext4 make: Leaving directory '/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/buildroot-201611' INFO: build rootfs OK. INFO: ---------------------------------------- INFO: build lichee OK. INFO: ---------------------------------------- no SATA tuner@tuner-virtual-machine:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee$ tuner@tuner-virtual-machine:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee$ tuner@tuner-virtual-machine:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee$ tuner@tuner-virtual-machine:/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee$ ./build.sh pack build buidroot-201611... xgnueabihf sun8iw11p1_hf_defconfig INFO: packing firmware ... copying tools file copying configs file ./out/aultls32.fex ./out/aultools.fex ./out/boot_package.cfg ./out/boot_package.fex ./out/boot_package_nor.cfg ./out/cardscript.fex ./out/cardscript_secure.fex ./out/cardtool.fex ./out/diskfs.fex ./out/env.cfg ./out/env_burn.cfg ./out/image.cfg renamed './out/image_linux.cfg' -> './out/image.cfg' ./out/split_xxxx.fex ./out/sunxi.fex ./out/sys_config.fex ./out/sys_config_hdmi.fex ./out/sys_config_lvds_lcd.fex ./out/sys_config_mipi_lcd.fex ./out/sys_config_tft_lcd.fex ./out/sys_config_vga.fex ./out/sys_partition_dump.fex renamed './out/sys_partition_linux.fex' -> './out/sys_partition.fex' ./out/sys_partition_linux_128M.fex ./out/sys_partition_linux_256M.fex ./out/sys_partition_linux_mmc.fex ./out/sys_partition_private.fex ./out/toc0.fex ./out/toc1.fex ./out/usbtool.fex ./out/usbtool_test.fex copying boot resource lzma: out/bootlogo.bmp: No such file or directory copying boot file p=soc c=product state=0 p=soc c=platform state=0 p=soc c=target state=0 p=soc c=norflash state=0 p=soc c=power_sply state=0 p=soc c=card_boot state=0 p=soc c=pm_para state=0 p=soc c=card0_boot_para state=0 p=soc c=card2_boot_para state=0 p=soc c=twi_para state=0 p=soc c=uart_para state=0 p=soc c=jtag_para state=0 p=soc c=clock state=0 p=soc c=dram state=0 p=soc c=emac0 state=0 p=soc c=gmac0 state=0 p=soc c=can0 state=0 p=soc c=can0 state=1 p=soc c=twi0 state=0 p=soc c=twi1 state=0 p=soc c=twi2 state=0 p=soc c=twi3 state=0 p=soc c=twi4 state=0 p=soc c=ir0 state=0 p=soc c=uart0 state=0 p=soc c=uart0 state=1 p=soc c=uart1 state=0 p=soc c=uart1 state=1 p=soc c=uart2 state=0 p=soc c=uart2 state=1 p=soc c=uart3 state=0 p=soc c=uart3 state=1 p=soc c=uart4 state=0 p=soc c=uart4 state=1 p=soc c=uart5 state=0 p=soc c=uart5 state=1 p=soc c=uart6 state=0 p=soc c=uart6 state=1 p=soc c=uart7 state=0 p=soc c=uart7 state=1 p=soc c=spi0 state=0 p=soc c=spi1 state=0 p=soc c=spi2 state=0 p=soc c=spi3 state=0 p=soc c=rtp_para state=0 p=soc c=ctp state=0 p=soc c=ctp_list state=0 p=soc c=tkey_para state=0 p=soc c=motor_para state=0 p=soc c=nand0 state=0 p=soc c=sata state=0 p=soc c=boot_disp state=0 p=soc c=disp state=0 p=soc c=tv0 state=0 p=soc c=tv1 state=0 p=soc c=tvd state=0 p=soc c=tvd0 state=0 p=soc c=tvd1 state=0 p=soc c=tvd2 state=0 p=soc c=tvd3 state=0 p=soc c=lcd0 state=0 p=soc c=lcd0 state=1 p=soc c=pwm0 state=0 p=soc c=pwm0 state=1 p=soc c=pwm4 state=0 p=soc c=pwm4 state=1 p=soc c=car_reverse state=0 p=soc c=Transmit_fm state=0 p=soc c=hdmi state=0 p=soc c=ak7601 state=0 p=soc c=csi0 state=0 p=csi0 c=csi0_dev0 state=0 p=soc c=csi1 state=0 p=csi1 c=csi1_dev0 state=0 p=soc c=tvout_para state=0 p=soc c=tvin_para state=0 p=soc c=di state=0 p=soc c=sdc0 state=0 p=soc c=sdc1 state=0 p=soc c=sdc2 state=0 p=soc c=sdc3 state=0 p=soc c=smc state=0 p=soc c=gpio_para state=0 p=soc c=usbc0 state=0 p=soc c=usbc1 state=0 p=soc c=usbc2 state=0 p=soc c=gsensor_para state=0 p=soc c=gps_para state=0 p=soc c=ril_para state=0 p=soc c=wlan state=0 p=soc c=bt state=0 p=soc c=btlpm state=0 p=soc c=gy_para state=0 p=soc c=ls_para state=0 p=soc c=compass_para state=0 p=soc c=spdif state=0 p=soc c=sndspdif state=0 p=soc c=audiohdmi state=0 p=soc c=sndhdmi state=0 p=soc c=snddaudio0 state=0 p=soc c=daudio0 state=0 p=soc c=snddaudio1 state=0 p=soc c=daudio1 state=0 p=soc c=sndcodec state=0 p=soc c=codec state=0 p=soc c=pmu0 state=0 p=soc c=charger0 state=0 p=soc c=powerkey0 state=0 p=soc c=regulator0 state=0 p=soc c=axp_gpio0 state=0 p=soc c=dvfs_table state=0 p=soc c=Vdevice state=0 p=soc c=gpu_mali400_0 state=0 Conver script to dts ok. dtbpath=/mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/tools/pack/out/sunxi.fex update_fdt: u-boot.fex will merage sunxi.fex, generate u-boot.fex ---0xd0, 0xd update_fdt: num 863156 randto1k update_fdt: num 161056 randto1k file1_len = d2c00, file2_len = 29800 dtb offset d2c00,size 29800 update_fdt:genrate /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/tools/pack/out/u-boot.fex ok pack boot package GetPrivateProfileSection read to end content_count=1 packing for linux normal /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/tools/pack/pctools/linux/eDragonEx/ /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/tools/pack/out Begin Parse sys_partion.fex Add partion boot-resource.fex BOOT-RESOURCE_FEX Add partion very boot-resource.fex BOOT-RESOURCE_FEX FilePath: boot-resource.fex FileLength=447000Add partion env.fex ENV_FEX000000000 Add partion very env.fex ENV_FEX000000000 FilePath: env.fex FileLength=20000Add partion boot.fex BOOT_FEX00000000 Add partion very boot.fex BOOT_FEX00000000 FilePath: boot.fex FileLength=ceb000Add partion rootfs.fex ROOTFS_FEX000000 Add partion very rootfs.fex ROOTFS_FEX000000 FilePath: rootfs.fex FileLength=80000000sys_config.fex Len: 0x12439 config.fex Len: 0xceb4 split_xxxx.fex Len: 0x200 sys_partition.fex Len: 0xaeb sunxi.fex Len: 0x27520 boot0_nand.fex Len: 0x8000 boot0_sdcard.fex Len: 0x8000 u-boot.fex Len: 0x110000 toc1.fex Len: 0x8 toc0.fex Len: 0x8 fes1.fex Len: 0x3d80 boot_package.fex Len: 0x114000 full_img.fex Len: 0x16 usbtool.fex Len: 0x23000 aultools.fex Len: 0x27c29 aultls32.fex Len: 0x2455d cardtool.fex Len: 0x11c00 cardscript.fex Len: 0x779 sunxi_mbr.fex Len: 0x10000 dlinfo.fex Len: 0x4000 arisc.fex Len: 0x6 boot-resource.fex Len: 0x447000 Vboot-resource.fex Len: 0x4 env.fex Len: 0x20000 Venv.fex Len: 0x4 boot.fex Len: 0xceb000 Vboot.fex Len: 0x4 rootfs.fex Len: 0x80000000 Vrootfs.fex Len: 0x4 BuildImg 0 Dragon execute image.cfg SUCCESS ! ----------image is at---------- /mnt/work_sdc1/tlA40i/LinuxSDK/tlLichee/tools/pack/sun8iw11p1_linux_tla40i-evm_uart0.img pack finish no SATA
-
adb 和usb虚拟串口的切换
请问
内核配置里我选择serial gadget (with cdc acm and cdc obex support)后,可以在/dev/里找到ttyGs这个串口。
但是,如果我选择是是M,生成了以下三个*.ko.
我依次insmod,结果insmod g_serial.ko时有个提示:
/dev下也找不到ttyGS。
根文件这里,我已经选成M模式加载驱动了。但是没搜到关于adb相关的.ko。
禁用adb的话,usb_serial.ko加载就没事了。
问题是,如何灵活切换adb 和usb虚拟串口? -
cat /sys/class/thermal/thermal_zone0/temp 获取的温度误差大概有多少?
如题,cat /sys/class/thermal/thermal_zone0/temp 获取的温度误差大概有多少?
-
V853-pro开发板4寸屏,运行framebuffer的应用程序,显示不正常
基于100ask的SDK,在4寸屏上运行网盘例程06_应用例程\01_Framebuffer下面的应用。使用下面的命令交叉编译,
arm-openwrt-linux-muslgnueabi-gcc -o show_ascii show_ascii.c
出不来相应的效果。lvgl demo都正常。屏幕开机log显示也正常。
log显示是正常的,就是屏幕没有显示。
比如运行show_ascii ,正常应该屏幕中央显示 A ,但是屏幕显示是黑的。
完全按照手册上的步骤编译的。
export STAGING_DIR=~/tina-v853-open/prebuilt/rootfsbuilt/arm/toolchain- sunxi-musl-gcc-830/toolchain/arm-openwrt-linux-muslgnueabi
~/tina-v853- open/prebuilt/rootfsbuilt/arm/toolchain-sunxi-musl-gcc- 830/toolchain/bin/arm-openwrt-linux-gcc -o show_ascii show_ascii.c
这个是我的show_ascii文件
show_ascii.zip -
PWM背光调节时极性异常
lcd使用pwm作为背光控制。但是设置背光后,亮度调节异常
具体现象为:
-
在board.dts设置lcd_pwm_pol = <0>;
在第一次启动时:读寄存器PWM_ACT_STA = 0 (极性翻转,异常)
休眠唤醒后:读寄存器PWM_ACT_STA = 1 (极性正常) -
当唤醒时,pwm的极性设置为与board.dts相同的极性。
在board.dts设置lcd_pwm_pol = <1>;
读寄存器PWM_ACT_STA = 0(极性正常)
PWM的初始化成功,board.dts中PWM引脚配置正确,引脚pull功能正常。
但是通过示波器外接pwm引脚输出频率正常,但是占空比设置相反,极性相反;
-
-
回复: mq-dual接lan8720的模块phy报错
问题解决,全志的sunxi-gmac.c里暴力写了个phydev->is_gigabit_capable = 1 然后phy驱动就去访问不存在的千兆寄存器,把lan8720搞死了
-
mq-dual接lan8720的模块phy报错
大佬们,我给mq-dual接了个lan8720的模块,插上网线后,phy报这个错误咋搞。看代码,这里是在读千兆Phy才有的寄存器,有点没头绪。系统是官方Tina+补丁
-
NPU模块vpm_run例程运行时sample.txt读取错误
编写sample.txt文件:
[network] ./network_binary.nb [input] ./iter_0_images_262_out0_1_3_640_640.tensor
将模型、输入文件、vpm_run例程传入板端
运行vpm_run例程:
./vpm_run -s sample.txt
报错LOG如下:
unsupported input file type=tenso. error input file type segmentation fault
-
创龙AD+全志T3 TL7606I模块测试
前 言
本文主要介绍基于全志科技T3(ARM Cortex-A7)处理器的8/16通道AD采集开发案例,使用核芯互联CL1606/CL1616AD芯片,亦适用于ADI AD7606/AD7616。CL1606/CL1616与AD7606/AD7616软硬件兼容。
备注:
(1)创龙科技TL7606I模块使用AD芯片为核芯互联CL1606或ADI AD7606,两者均测试通过,且测试步骤无差别。
(2)创龙科技TL7616P模块使用AD芯片为核芯互联CL1616或ADI AD7616,两者均测试通过,且测试步骤无差别。
硬件平台:
创龙科技T3工业评估板
TL7606I多通道AD模块
TL7616P多通道AD模块
TL7616P模块测试
(1)硬件连接
请使用VGA线将评估板VGA OUT接口与VGA显示屏连接。
由于评估底板拓展接口未预留SPI总线引脚,因此需参考如下方法进行飞线,并且应尽可能使用短线连接,硬件连接如下图所示。将评估底板SPI FLASH(U6)空贴后的引脚1(SPI CS)、2(SPI MISO)、5(SPI MOSI)、6(SPI CLK)和4(GND)通过飞线引出。
请通过飞线将TL7616P模块CON1接口与SPI FLASH(U6)飞线引出的引脚、CAMERA0(J11)接口参照下表对应关系进行连接。
其中,CAMERA0(J11)接口的pin23~pin24引脚为TL7616P模块提供控制信号。
备注:"/"表示无需连接。
请通过飞线将评估底板C2电解电容器的正负极引出,并与TL7616P模块CON2接口参照下表对应关系进行连接,为TL7616P模块提供12V直流电源。
案例支持TL7616P模块16通道AD数据同时采集与显示。本次测试以TL7616P模块V1A和V1B通道为例,请将TL7616P模块的V1A和V1B通道分别正确连接至信号发生器A通道和B通道。信号发生器设置A通道输出频率为1KHz、峰峰值为5Vpp(即幅值为2.5V)的正弦波信号,B通道输出频率为1KHz、峰峰值为2Vpp(即幅值为1V)的正弦波信号,如下图所示。待测信号电压请勿超过模块量程,否则可能会导致模块损坏。
(2)案例测试
请将案例bin目录下的可执行文件ad_capture、驱动文件ad76x6.ko和"driver\boot_package"目录下的boot_package_vga_ad7606.fex镜像文件拷贝至评估板文件系统任意目录下。
在评估板文件系统boot_package_vga_ad7606.fex镜像文件所在路径下,执行如下命令将其固化至Linux系统启动卡,并重启系统。
Target# dd if=boot_package_vga_ad7606.fex of=/dev/mmcblk1 seek=32800 Target# dd if=boot_package_vga_ad7606.fex of=/dev/mmcblk1 seek=24576 Target# sync Target# reboot
评估板系统重启后,进入评估板文件系统执行如下命令加载驱动。加载成功后,将会生成设备节点"/dev/ad7606"。
Target# insmod ad76x6.ko Target# ls /dev/ad7606
执行如下命令,查询程序运行参数。Target# ./ad_capture --help
执行如下命令,AD模块将会采集8192个数据,并转换成电压值。Target# ./ad_capture -d /dev/ad7606 -n 1024
请将生成的data.csv文件拷贝至Windows任意目录下,并使用Excel打开,如下图所示。其中,第C列数据为TL7606I模块V3通道的采集数据,第H列数据为TL7606I模块V8通道的采集数据,默认单位为:V。
请通过Excel的二维折线图,将采集数据显示为更加直观的波形图,如下图所示。
-
创龙T3开发板使用体验--基本开发环境搭建
创龙T3开发板:https://bbs.aw-ol.com/topic/2228/
1. 建立连接,测试基本功能。
1.1. 用上位机建立连接
开箱,熟悉资料,总体感觉做工工整(尤其是电源部分,用料很足),资料详实,有其他linux开发板经验的玩家上手很容易。
基本连接和测试主要参考用户手册--2.1评估板测试手册, 网络连接,LED/UART/USB测试等等
首先要做的就是用上位机连接开发板,参考前一篇文章的方法:
Windows网线直连linux开发板或树莓派-超详细_海里的鱼2022的博客-CSDN博客
顺利连接,默认用户为root
如此,便是登录成功
查看下文件和存储空间使用情况:
root@T3/A40i-Tronlong:~# cd ../ root@T3/A40i-Tronlong:/# ls CameraUI home proc tmp G2dDemo init qt5.9.sh usr Launcher lib recordTest var MediaUI lib32 root video_serv adb.sh libexec run wave bin linuxrc sbin xplayerdemo core lost+found sdktest xplayerdemoH264 dbusrun.sh media storage.sh dev mnt sys etc opt system root@T3/A40i-Tronlong:/# df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9G 509.2M 1.3G 27% / devtmpfs 358.8M 0 358.8M 0% /dev tmpfs 375.0M 0 375.0M 0% /dev/shm tmpfs 375.0M 12.0K 375.0M 0% /tmp tmpfs 375.0M 12.0K 375.0M 0% /run /dev/mmcblk0p2 7.0M 4.2M 2.7M 61% /mnt/emmc/mmcblk0p2 /dev/mmcblk0p7 1.9G 509.1M 1.3G 27% /mnt/emmc/mmcblk0p7 /dev/mmcblk1p2 7.0M 4.2M 2.7M 61% /mnt/sdcard/mmcblk1p2 /dev/mmcblk1p7 1.9G 509.2M 1.3G 27% /mnt/sdcard/mmcblk1p7 cgroup 375.0M 0 375.0M 0% /sys/fs/cgroup root@T3/A40i-Tronlong:/#
上位机和开发板之间传输文件:
1)ftp方法
上位机安装filezilla, 然后可以远程连接后直接查看文件目录或进行文件传输
2)scp方法
现在目标板上新建hy目录
root@T3/A40i-Tronlong:/# mkdir hy
在上位机ubuntu虚拟机下
拷贝单个文件:
hy@ubuntu:~/t3dev/samples/python-demos/key_test$ sudo scp *.* root@192.168.137.48:/hy key_test.py 100% 2819 67.6KB/s 00:00
拷贝整个文件夹
hy@ubuntu:~/t3dev/samples$ sudo scp -r python-demos/ root@192.168.137.48:/hy led_flash.py 100% 3005 886.0KB/s 00:00 key_test.py 100% 2819 72.7KB/s 00:00
1.2测试板载资源,LED, KEY等
BOOT-SET选项打到OFF位置(向板外方向)为EMMC启动,ON位置为SD卡启动,试过都是OK的。
测试LED,板载的LED0/LED1见上图红框位置
命令行测试命令:
root@T3/A40i-Tronlong:/# echo 0 > /sys/class/leds/user-led0/brightness root@T3/A40i-Tronlong:/# echo 1 > /sys/class/leds/user-led0/brightness root@T3/A40i-Tronlong:/# echo 0 > /sys/class/leds/user-led1/brightness root@T3/A40i-Tronlong:/# echo 1 > /sys/class/leds/user-led1/brightness
以上分别测试LED0/LED1的亮(1)/灭(0),板载LED正常受控。
测试按键,板载共有KEY3/4/5三个用户定义按键,可以用命令查看对应事件
root@T3/A40i-Tronlong:/# cat /proc/bus/input/devices I: Bus=0019 Vendor=0001 Product=0001 Version=0100 N: Name="sunxi-ths" P: Phys=sunxiths/input0 S: Sysfs=/devices/virtual/input/input0 U: Uniq= H: Handlers=event0 B: PROP=0 B: EV=9 B: ABS=100 0 I: Bus=0019 Vendor=0001 Product=0001 Version=0100 N: Name="sunxi-keyboard" P: Phys=sunxikbd/input0 S: Sysfs=/devices/virtual/input/input1 U: Uniq= H: Handlers=kbd event1 B: PROP=0 B: EV=3 B: KEY=10000 c00 0 300800 40040 0 0 10000000 I: Bus=0019 Vendor=0001 Product=0001 Version=0100 N: Name="sunxi-keypad" P: Phys=Keypad/input2 S: Sysfs=/devices/virtual/input/kp0 U: Uniq= H: Handlers=sysrq kbd event2 B: PROP=0 B: EV=3 B: KEY=ffffffff fffffffe I: Bus=0019 Vendor=0001 Product=0001 Version=0100 N: Name="all_key" P: Phys=sunxi_ts/input0 S: Sysfs=/devices/platform/sunxi-ts/input/input3 U: Uniq= H: Handlers=event3 B: PROP=0 B: EV=b B: KEY=400 0 0 0 0 0 0 0 0 0 0 B: ABS=610000 0 I: Bus=0019 Vendor=0001 Product=0001 Version=0100 N: Name="axp22-powerkey" P: Phys=m1kbd/input2 S: Sysfs=/devices/soc.0/1c2ac00.twi/i2c-0/0-0034/axp22-powerkey/input/input4 U: Uniq= H: Handlers=kbd event4 B: PROP=0 B: EV=7 B: KEY=100000 0 0 0 B: REL=0 I: Bus=0019 Vendor=0001 Product=0001 Version=0100 N: Name="gpio-keys.21" P: Phys=gpio-keys/input0 S: Sysfs=/devices/gpio-keys.21/input/input5 U: Uniq= H: Handlers=kbd event5 B: PROP=0 B: EV=100003 B: KEY=400 0 0 0 0 0 0
KEY3/4对应event1, KEY5对应event5
通过命令可以查看事件响应消息:
root@T3/A40i-Tronlong:/# od -x /dev/input/event1 0000000 5197 386d 29ed 0004 0001 0094 0001 0000 0000020 5197 386d 29ed 0004 0000 0000 0000 0000 0000040 5197 386d 2b5f 0009 0001 0094 0000 0000 0000060 5197 386d 2b5f 0009 0000 0000 0000 0000 0000100 5199 386d cae8 000b 0001 0094 0001 0000 0000120 5199 386d cae8 000b 0000 0000 0000 0000 0000140 519b 386d 0e99 000e 0001 0094 0000 0000 0000160 519b 386d 0e99 000e 0000 0000 0000 0000 0000200 519e 386d ec83 0003 0001 0094 0001 0000 0000220 519e 386d ec83 0003 0000 0000 0000 0000 0000240 51a1 386d e8be 000b 0001 0094 0000 0000 0000260 51a1 386d e8be 000b 0000 0000 0000 0000 0000300 51a2 386d 9fc6 000c 0001 0094 0001 0000 0000320 51a2 386d 9fc6 000c 0000 0000 0000 0000 0000340 51a3 386d 940e 000d 0001 0094 0000 0000 0000360 51a3 386d 940e 000d 0000 0000 0000 0000 0000400 51a4 386d a4f3 0009 0001 0094 0001 0000 0000420 51a4 386d a4f3 0009 0000 0000 0000 0000 0000440 51a5 386d 3196 000b 0001 0094 0000 0000 0000460 51a5 386d 3196 000b 0000 0000 0000 0000 // 以上为KEY3按下 // 以下为KEY4按下 0000500 51aa 386d 1cfc 000e 0001 0095 0001 0000 0000520 51aa 386d 1cfc 000e 0000 0000 0000 0000 0000540 51ac 386d c2e3 0000 0001 0095 0000 0000 0000560 51ac 386d c2e3 0000 0000 0000 0000 0000 0000600 51ad 386d 30e6 0002 0001 0095 0001 0000 0000620 51ad 386d 30e6 0002 0000 0000 0000 0000 0000640 51ae 386d e820 0002 0001 0095 0000 0000 0000660 51ae 386d e820 0002 0000 0000 0000 0000 0000700 51ae 386d dfbf 000d 0001 0095 0001 0000 0000720 51ae 386d dfbf 000d 0000 0000 0000 0000 0000740 51b0 386d 1e41 0001 0001 0095 0000 0000 0000760 51b0 386d 1e41 0001 0000 0000 0000 0000 //测试KEY5按下 root@T3/A40i-Tronlong:/# od -x /dev/input/event5 0000000 51e1 386d 3cc7 0004 0001 00ca 0001 0000 0000020 51e1 386d 3cc7 0004 0000 0000 0000 0000 0000040 51e1 386d 0853 0008 0001 00ca 0002 0000 0000060 51e1 386d 0853 0008 0000 0000 0001 0000 0000100 51e1 386d a48d 0008 0001 00ca 0002 0000 0000120 51e1 386d a48d 0008 0000 0000 0001 0000 0000140 51e1 386d b7e0 0008 0001 00ca 0000 0000 0000160 51e1 386d b7e0 0008 0000 0000 0000 0000 0000200 51e2 386d 75ab 0008 0001 00ca 0001 0000 0000220 51e2 386d 75ab 0008 0000 0000 0000 0000 0000240 51e2 386d 2702 000c 0001 00ca 0002 0000 0000260 51e2 386d 2702 000c 0000 0000 0001 0000 0000300 51e2 386d c334 000c 0001 00ca 0002 0000 0000320 51e2 386d c334 000c 0000 0000 0001 0000 0000340 51e2 386d 5f74 000d 0001 00ca 0002 0000 0000360 51e2 386d 5f74 000d 0000 0000 0001 0000 0000400 51e2 386d fbbc 000d 0001 00ca 0002 0000 0000420 51e2 386d fbbc 000d 0000 0000 0001 0000 0000440 51e2 386d 97fc 000e 0001 00ca 0002 0000 0000460 51e2 386d 97fc 000e 0000 0000 0001 0000
手册2.1还有其他外设的测试方法和例子,就不一一列出了
2. 建立开发环境, 测试交叉编译和简单的应用开发
主要参考文档2-2linux应用开发手册,代码包位于软件资料-demo目录下, 开发包提供了python和C的案例。
2.1 python应用案例
板载系统预装了python2.7, 3.7是不是支持不太确定,有机会再尝试编译安装。
例子有两个,以led_flash.py为例来测试
#!/usr/bin/env python # -*- encoding: utf-8 -*- ''' @File : tl_led_flash.py @Time : 2020/04/26 09:05:54 @Desc : None ''' # here put the import lib import signal, time import os, sys, getopt version = "1.0" class Led(object): quit_flag = False def __init__(self, led_path): self.led_path = led_path # Led path self.leds = [] # Save the led found """ enumerate all led """ def enumerate_led(self): led_name = "user-led" """ find led """ for filename in os.listdir(self.led_path): if led_name in filename: self.leds.append(os.path.join(self.led_path, filename)) if len(self.leds) == 0: return False """ led sort, e.g. /sys/class/leds/user-led0 /sys/class/leds/user-led1 /sys/class/leds/user-led2 """ self.leds.sort() print "find leds:" for led in self.leds: print led return True """ control led flash """ def flash_led(self): led_num = len(self.leds) while not Led.quit_flag: """ Turn on leds """ for i in range(led_num): """ Set the led brightness value to 1 to turn on the led """ ret = os.system("echo 1 > %s/brightness" % (self.leds[i])) if ret != 0: print "Error: Failed to turn on %s" % self.leds[i] """ Keep the leds on for 500 ms """ time.sleep(0.5) for i in range(led_num): """ Set the led brightness value to 0 to turn off the LED """ os.system("echo 0 > %s/brightness" % (self.leds[i])) """ Keep the leds off for 500 ms """ time.sleep(0.5) @classmethod def stop(cls): cls.quit_flag = True def sig_handle(signum, frame): print "ctrl + c ..." Led.stop() def usage(): print "Usage: %s [options]\n" \ "Options: \n" \ " -v | --version Display version information\n" \ " -h | --help Display help\n" \ % sys.argv[0] if __name__ == '__main__': """ parse parameter """ try: options, remainder = getopt.getopt(sys.argv[1:], 'vh', ['version', 'help']) for opt, arg in options: if opt in ('-v', '--version'): print 'version: %s' % version exit(0) elif opt in('-h', '--help'): usage() exit(0) except getopt.GetoptError as err: print 'ERROR: %s' % err exit(1) """ Ctrl+c handler """ signal.signal(signal.SIGINT, sig_handle) led = Led("/sys/class/leds/") """ enumerate all led """ ret = led.enumerate_led() """ can not find led """ if not ret: print "can not find led!" exit(3) """ control flash all led """ print "\nflash led ..." led.flash_led()
基本原理和前面单独测试led差不多,运行后,板载的两个led会闪烁。
用于写一些的简单的调试脚本应用还是挺好的,但是更有价值的库,像tcp/udp, mqtt及其他可能用到的库官方例子太少,实用性不高。
2.2嵌入式C的开发环境建立
嵌入式C开发才是主打模式,首先要建立交叉编译环境。
手册里只提到要先建立SDK编译环境,但是太重了,其实只要安装了gcc工具链就可以完成基本开发了。
hy@ubuntu:~/T3$ wget http://releases.linaro.org/components/toolchain/binaries/5.3-2016.02/arm-linux-gnueabihf/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf.tar.xz // 解压 tar -xzf gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/ // 进入代码目录,进行编译 (py39) hy@ubuntu:~/t3dev/samples/base-demos/led_flash$ cd src (py39) hy@ubuntu:~/t3dev/samples/base-demos/led_flash/src$ dir led_flash led_flash.c makefile (py39) hy@ubuntu:~/t3dev/samples/base-demos/led_flash/src$ CC=~/T3/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc make make: 'led_flash' is up to date.
编译成功,可以copy到目标开发板, 运行验证下
上位机运行
cd ../bin sudo scp led_flash root@192.168.137.48:/hy
目标开发板直接运行,带上-h查看运行帮助
root@T3/A40i-Tronlong:/hy# ./led_flash -h Usage: led_flash [options] Options: -n | --number Number of LEDs, range of 1 to 4 -v | --version Display version information -h | --help Show help content
带参数,让LED1闪起来
root@T3/A40i-Tronlong:/hy# ./led_flash -n 1 System leds : /sys/class/leds/disk /sys/class/leds/heartbeat /sys/class/leds/user-led0 /sys/class/leds/user-led1 Flashing leds : /sys/class/leds/user-led0
至此,交叉编译环境顺利建立。
-
在哪吒D1上适配移远EC20,实现4G上网
1:代码替换
用Quectel_Linux_USB_Serial_Option_Driver_20210205中linux 5.4.51文件夹下的代码,替换Tina SDK中lichee/linux-5.4/drivers/usb/serial/ 中对应的文件
Quectel_Linux_USB_Serial_Option_Driver_20210205的下载链接:
链接:https://pan.baidu.com/s/1HhChSszvXQr2YzMojGdvpQ?pwd=odfb
提取码:odfb
2:打开linux中对应的USB driver
3:重新编译系统,并且将新系统烧录到开发板上
cd /opt/d1/tina_d1_open_v2 source build/envsetup.sh lunch make kernel_menuconfig make pack
4:验证驱动安装是否成功
驱动安装成功以后,插入设备,应出现如下log:
输入:
cat /dev/ttyUSB2 & echo -e "AT\r\n" > /dev/ttyUSB2
应该出现如下提示:
则表示EC20的驱动已经成功安装。
5:PPP拨号
由于目前没有针对C906内核的ppp拨号软件,因此需要从源码重新编译;链接开源的是针对C906内核从PPP源码编译以后的PPP拨号软件,如果觉得好用,烦请点个Star:
https://github.com/tcexeexe/pppForC906/
使用方法:
(1)将
pppd
和chat
上传到/usr/bin
(2)将
quectel-ppp
,quectel-chat-connect
,quectel-chat-disconnect
上传到/etc/ppp/peers/.
默认的拨号脚本是针对联通的(3)使用
pppd call quectel-ppp
拨号联网拨号成功后,输入ifconfig,出现ppp0相关网络配置,则标识拨号成功,此时就可以顺利上网
由于4G模块基本都是使用3GPP的标准AT指令,所以例如高新兴,SIMCOM等厂家的模组,也可以试用上述流程,区别在于USB的vender ID和Product ID不同,这个需要根据模组的手册修改。
-
D1开发板操作gpio端口的简单方法以及ADB的连接方法
准备操作
作为一名萌新,在如何操作gpio端口上,历经千辛万苦,查阅各种资料。
首先是根据同样是发布在平头哥开发社区的博文,链接如下 https://bbs.aw-ol.com/topic/349/ 是文件操作gpio端口,代码易读懂,但是代码量太大了。对有些部分,像是打开文件,进行读写操作的一块进行,可以简化一些,但是要控制多个gpio端口,还要多次复用,实在是不好用。所以在写完小车动起来的程序后,就想着有没有更简单的方式。
找到了官方提供的gpio开发指南,利用的是设备树和Pinctrl和gpio子系统操作gpio,花了两天时间终于弄了个大概明白,想上手开始做,发现没找到一个完整的案例,不知如何入手。
于是搜搜查查,最后回归了简单的终端操作,将终端操作用命令和shell脚本来操作方便同时操作多个gpio端口。更简单了,但是没学过脚本语言,准备开始学习基本知识的时候,发现了一篇博文,什么都解决了。
链接如下:点这个理
C语言代码里操作gpio
此文里面有一个板块为C语言代码里操作gpio,代码短短几行,用了system()函数来操作echo等,很类似终端操作,但又更方便了。 于是操作gpio变成了这样
- 将大部分操作宏定义
#define EXPORT_GPIO2 "echo 2020 > /sys/class/gpio/export" #define EXPORT_GPIO3 "echo 2021 > /sys/class/gpio/export" #define EXPORT_GPIO4 "echo 2022 > /sys/class/gpio/export" #define UEXPORT_GPIO1 "echo 2027 > /sys/class/gpio/unexport" #define UEXPORT_GPIO2 "echo 2020 > /sys/class/gpio/unexport" #define UEXPORT_GPIO3 "echo 2021 > /sys/class/gpio/unexport" #define UEXPORT_GPIO4 "echo 2022 > /sys/class/gpio/unexport" #define GPIO1_OUTPUT "echo out > /sys/class/gpio/gpio2027/direction" #define GPIO2_OUTPUT "echo out > /sys/class/gpio/gpio2020/direction" #define GPIO3_OUTPUT "echo out > /sys/class/gpio/gpio2021/direction" #define GPIO4_OUTPUT "echo out > /sys/class/gpio/gpio2022/direction" #define LOWGPIO1 "echo 0 > /sys/class/gpio/gpio2027/value" #define LOWGPIO2 "echo 0 > /sys/class/gpio/gpio2020/value" #define LOWGPIO3 "echo 0 > /sys/class/gpio/gpio2021/value" #define LOWGPIO4 "echo 0 > /sys/class/gpio/gpio2022/value"
- 一些操作语句,简单明了
void INIT() { system(EXPORT_GPIO1); system(EXPORT_GPIO2); system(EXPORT_GPIO3); system(EXPORT_GPIO4); system(EXPORT_HW1); system(EXPORT_HW2); system(EXPORT_HW3); system(EXPORT_HW4); system(GPIO1_OUTPUT); system(GPIO2_OUTPUT); system(GPIO3_OUTPUT); system(GPIO4_OUTPUT); system(HW1_INPUT); system(HW2_INPUT); system(HW3_INPUT); system(HW4_INPUT); } void RUN() { system(LOWGPIO1);//0 system(HIGHGPIO2);//1 system(HIGHGPIO3);//1 system(LOWGPIO4);//0 }
- 但是由于没有办法system(cat...),得到value的值只能用文件方式来读出,但也将代码简化了很多。
int GETHW(int gpio) { char in[3] = {0, 0, 0}; char buf[50]; int nread, gpiofd; sprintf(buf, "/sys/class/gpio/gpio%d/value", gpio); gpiofd = open(buf, O_RDWR); if(gpiofd < 0) { fprintf(stderr, "Failed to open gpio %d value\n", gpio); perror("gpio failed"); } do { nread = read(gpiofd, in, 1); } while (nread == 0); if(nread == -1){ perror("GPIO Read failed"); return -1; } close(gpiofd); return atoi(in); }
D1开发板的gpio引脚
我们项目的小车选用的是gpio2020~gpio2027这八个gpio引脚,其中四个引脚用来控制车轮的运动,四个引脚用来接收红外传感器传送过来的信号。这八个引脚分别对应的是pp0~pp7,
根据这两张图片结合,我们就知道了gpio2020~gpio2027这四个分别在什么位置。
查看gpio引脚值,对gpio引脚操作分为简单的几步:
- 导出gpio值,命令:echo 2020 > export
- 设置方向,输入为:echo in > direction输出为:echo out > direction
- 查看value值:cat value ( 注意工作目录 )
- 设置value值,如果gpio口被定义为输出时,可以设置gpio值为1或者0,1为高电平,0为低电平 echo 1 > value
- 不用就 echo 2020 > unexport
ADB使用和编译程序
设备连接
我们在将已经编译好的程序代码传送到哪吒开发板上时,使用的ADB工具。设备连接正常后,桌面上有显示图标:
那个对勾表示已经连接上ADB,如果有Allwinner Technology Inc. Tina ADB但是前面没有对勾,就点一下,要是没有这个选项,就重插一下开发板。
交叉编译
- ADB安装好以后,先在Ubuntu下新建一个.c文件,然后编译:
编译是交叉编译,交叉编译就是编译和运行是分开的,即编译在电脑的Ubuntu上,运行在哪吒开发板上进行。
根据全志社区中的提示:编译工具链在
tina/prebuilt/gcc/linux-x86/riscv/toolchain-thead-glibc/riscv64-glibc-gcc-thead_20200702
中编译命令是:
/prebuilt/gcc/linux-x86/riscv/toolchain-thead-glibc/riscv64-glibc-gcc-thead_20200702/bin/riscv64-unknown-linux-gnu-gcc -o car1 car1.c
- 其中编译命令可以根据编译工具链存放的位置进行调整,我们编译工具链存放的位置是:
tina-D1-H/prebuilt/gcc/linux-x86/riscv/toolchain-thead-glibc/riscv64-glibc-gcc-thead_20200702
所以编译命令略微调整为:
tina-D1-H/prebuilt/gcc/linux-x86/riscv/toolchain-thead-glibc/riscv64-glibc-gcc-thead_20200702/bin/riscv64-unknown-linux-gnu-gcc -o car car.c
我们一开始遇到的问题提示为找不到目录。后来发现是因为一开始目录不对。
- 编译好.c文件后,执行adb push car ./.就将编译好的程序下载到开发板上
进入开发板:用adb shell命令
进入开发板以后,在/root目录下找到car程序,赋予文件可执行权限chmod +x car,然后运行 ./car,见下图:
最后希望哪吒开发板也能拥有专门的操作gpio的函数和接口,方便大家使用。
本文内容为【玄铁杯第二届RISC-V应用创新大赛】作业
作者:智航追迹队
原文链接:https://occ.t-head.cn/community/post/detail?spm=a2cl5.14300636.0.0.429d180fqgpDV3&id=4094212597694402560 -
开机启动脚本写入 /etc/resolv.conf 脚本执行不完全
请教一下,我在Tina下的/etc/rc.local里面增加了一个开机启动的脚本,目标是上电以后写入DNS SERVER地址到/etc/resolv.conf里面,但是现在好像只执行了红框里面这句话,没有执行绿框里面这句话,开机后/etc/resolv.conf这个文件里面还是空白,这个可能是什么原因呀
-
Tina下 DNS配置好后 重启消失问题
请教一下各位大佬,在Tina下配置DNS时,在/etc/resolv.conf写入DNS的nameserver,写好以后是OK的,可以正常Ping通网址。但是重启以后,/etc/resolv.conf的内容就消失了,这个是什么情况