Ubuntu16.06编译AndroidM(SoC:Allwinner A64)

本文旨开记录从全新安装Ubuntu到构建AndroidM编译环境,成功编译全志A64 AndroidM SDK的过程。

一、安装Ubuntu 16.06 x64

编译Android SDK需要64位的Ubuntu,因此选择在机器上安装64位版本的Ubuntu 16.04,桌面版、服务器版均可。安装Ubuntu比较简单,在此不作详细描述。


二、配置编译Android SDK的环境

打开网页https://source.android.com/source/initializing.html,根据里面的步骤进行安装,针对本次在Ubuntu 16.04编译A64 AndroidM SDK,主要要安装的东西有,

1、OpenJDK

上文网址说到,Ubuntu15.04以上要安装OpenJDK 8。从A64 AndroidM SDK的android/build/core/main.mk里面可以找到以下内容

ifneq ($(EXPERIMENTAL_USE_JAVA8),)
required_version := "1.8.x"
required_javac_version := "1.8"
java_version := $(shell echo '$(java_version_str)' | grep 'openjdk .*[ "]1\.8[\. "$$]')
javac_version := $(shell echo '$(javac_version_str)' | grep '[ "]1\.8[\. "$$]')
else # default
required_version := "1.7.x"
required_javac_version := "1.7"
java_version := $(shell echo '$(java_version_str)' | grep '^java .*[ "]1\.7[\. "$$]')
javac_version := $(shell echo '$(javac_version_str)' | grep '[ "]1\.7[\. "$$]')
endif # if EXPERIMENTAL_USE_JAVA8
EXPERIMENTAL_USE_JAVA8是没有定义的,也就是说不会使用1.8.x版本。往下跟踪,不难发现

requires_openjdk := false
ifeq ($(HOST_OS), linux)
requires_openjdk := true
endif
在Linux系统中编译,requires_openjdk会被赋值true,也就是说,需要用到OpenJDK。因此,编译A64 AndroidM SDK需要用OpenJDK 7。Ubuntu 16.04中只有OpenJDK 8,可以通过以下方法安装OpenJDK 7。

sudo add-apt-repository ppa:openjdk-r/ppa    
sudo apt-get update     
sudo apt-get install openjdk-7-jdk 

2、安装必要的依赖

sudo apt-get install git-core gnupg flex bison gperf build-essential \
  zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \
  lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \
  libgl1-mesa-dev libxml2-utils xsltproc unzip u-boot-tools

3、安装gawk

将安装gawk特殊提出来,是因为安装完2的依赖项以后,编译lichee仍会报错

awk: line 2: function strtonum never defined
awk: line 2: function strtonum never defined
ERROR: build kernel Failed
这时候,需要安装gawk解决。

sudo apt-get install gawk

三、编译A64 AndroidM SDK

根据平台文档《A64_Tablet SDK Quick Start Guide.pdf》操作即可。






  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
bpi_a64_android初步编译为LCD显示20170309_1442.7z banana pi a64 android6.0.1初步编译为LCD显示。初步设置。 bpi_a64_android编译配置文件排版.txt 2017/3/9 14:33 0、压缩包的处理: rootroot@cm-System-Product-Name:/home/wwt/a64$ tar zxvf BPI-A64-Android_SourceCode.tar.gz 增加3个编译链 Notice: Please download this file to the correct path https://drive.google.com/open?id=0B_YnvHgh2rwjaVRrc2VoR0xLTlE (1)gcc-linaro-aarch64.tar.xz ==> /lichee/buildroot/dl (2)gcc-linaro-aarch64.tar.xz ==> /lichee/brandy/toolchain (3)gcc-linaro-arm.tar.xz ==> /lichee/brandy/toolchain 重新分块压缩: rootroot@cm-System-Product-Name:/home/wwt/a64$ tar zcvf - bpi_a64_android/ | split -b 3900000000 - bpi_a64_android_wyb_patch1.tar.gz 1、编译lichee内核 rootroot@cm-System-Product-Name:/home/wwt/a64$ rootroot@cm-System-Product-Name:/home/wwt/a64$ cd bpi_a64_android/ rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android$ rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android$ cd lichee/ rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/lichee$ ./build.sh config Welcome to mkscript setup progress All available chips: 0. sun50iw1p1 Choice: 0 All available platforms: 0. android 1. dragonboard 2. linux 3. camdroid 4. secureandroid Choice: 0 All available kernel: 0. linux-3.10 1. linux-3.4 Choice: 0 All available boards: 0. bpi-m64-hdmi 1. bpi-m64-lcd Choice: 1 rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/lichee$ ./build.sh Copy boot.img to output directory ... Copy modules to target ... sun50iw1p1 compile Kernel successful INFO: build kernel OK. INFO: build rootfs ... INFO: skip make rootfs for android INFO: build rootfs OK. INFO: ---------------------------------------- INFO: build lichee OK. INFO: ---------------------------------------- rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/lichee$ rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/lichee$ 2、编译Android rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/lichee$ cd ../android/ rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/android$ source build/envsetup.sh including device/asus/deb/vendorsetup.sh including device/asus/flo/vendorsetup.sh including device/asus/fugu/vendorsetup.sh including device/generic/mini-emulator-arm64/vendorsetup.sh including device/generic/mini-emulator-armv7-a-neon/vendorsetup.sh including device/generic/mini-emulator-mips/vendorsetup.sh including device/generic/mini-emulator-x86_64/vendorsetup.sh including device/generic/mini-emulator-x86/vendorsetup.sh including device/htc/flounder/vendorsetup.sh including device/lge/hammerhead/vendorsetup.sh including device/moto/shamu/vendorsetup.sh including device/softwinner/bpi-m64-hdmi/vendorsetup.sh including device/softwinner/bpi-m64-lcd/vendorsetup.sh including device/softwinner/common/vendorsetup.sh including sdk/bash_completion/adb.bash rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/android$ lunch You're building on Linux Lunch menu... pick a combo: 1. aosp_arm-eng 2. aosp_arm64-eng 3. aosp_mips-eng 4. aosp_mips64-eng 5. aosp_x86-eng 6. aosp_x86_64-eng 7. aosp_deb-userdebug 8. aosp_flo-userdebug 9. full_fugu-userdebug 10. aosp_fugu-userdebug 11. mini_emulator_arm64-userdebug 12. m_e_arm-userdebug 13. mini_emulator_mips-userdebug 14. mini_emulator_x86_64-userdebug 15. mini_emulator_x86-userdebug 16. aosp_flounder-userdebug 17. aosp_hammerhead-userdebug 18. aosp_hammerhead_fp-userdebug 19. aosp_shamu-userdebug 20. bpi_m64_hdmi-eng 21. bpi_m64_hdmi-user 22. bpi_m64_hdmi-userdebug 23. bpi_m64_lcd-eng 24. bpi_m64_lcd-user 25. bpi_m64_lcd-userdebug Which would you like? [aosp_arm-eng] 23 ============================================ PLATFORM_VERSION_CODENAME=REL PLATFORM_VERSION=6.0.1 TARGET_PRODUCT=bpi_m64_lcd TARGET_BUILD_VARIANT=eng TARGET_BUILD_TYPE=release TARGET_BUILD_APPS= TARGET_ARCH=arm64 TARGET_ARCH_VARIANT=armv8-a TARGET_CPU_VARIANT=generic TARGET_2ND_ARCH=arm TARGET_2ND_ARCH_VARIANT=armv7-a-neon TARGET_2ND_CPU_VARIANT=cortex-a15 HOST_ARCH=x86_64 HOST_OS=linux HOST_OS_EXTRA=Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty HOST_BUILD_TYPE=release BUILD_ID=MMB29M OUT_DIR=out ============================================ rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/android$ extract-bsp /home/wwt/a64/bpi_a64_android/android/device/softwinner/bpi-m64-lcd/bImage copied! /home/wwt/a64/bpi_a64_android/android/device/softwinner/bpi-m64-lcd/modules copied! rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/android$ make -j12 Creating filesystem with parameters: Size: 2147483648 Block size: 4096 Blocks per group: 32768 Inodes per group: 8192 Inode size: 256 Journal blocks: 8192 Label: system Blocks: 524288 Block groups: 16 Reserved block group size: 127 Created filesystem with 2422/131072 inodes and 260574/524288 blocks Install system fs image: out/target/product/bpi-m64-lcd/system.img out/target/product/bpi-m64-lcd/system.img+out/target/product/bpi-m64-lcd/obj/PACKAGING/recovery_patch_intermediates/recovery_from_boot.p maxsize=2192446080 blocksize=4224 total=1034077436 reserve=22146432 #### make completed successfully (57:57 (mm:ss)) #### rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/android$ rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/android$ 3、打包img镜像 rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/android$ rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/android$ pack -d /home/wwt/a64/bpi_a64_android/lichee/tools/pack/sun50iw1p1_android_bpi-m64-lcd_card0.img pack finish rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/android$ rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/android$ rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/android$ pack /home/wwt/a64/bpi_a64_android/lichee/tools/pack/sun50iw1p1_android_bpi-m64-lcd_uart0.img pack finish rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/android$ 4、编译uboot(可选) rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/lichee/brandy$ ./build.sh -p sun50iw1p1 CC external/openssl_ext.c ... make -C /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/sunxi_spl/sbrom/spl/ CC /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/arch/arm/cpu/armv7/sun50iw1p1/spl/ss_spl.c ... CC /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/arch/arm/cpu/armv7/sun50iw1p1/spl/spc_spl.c ... CC /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/arch/arm/cpu/armv7/sun50iw1p1/spl/smc_spl.c ... CC /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/arch/arm/cpu/armv7/sun50iw1p1/spl/gic_spl.c ... CC /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/arch/arm/cpu/armv7/sun50iw1p1/spl/debug.c ... CC /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/arch/arm/cpu/armv7/sun50iw1p1/spl/ctype.c ... CC /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/arch/arm/cpu/armv7/sun50iw1p1/spl/eabi_compat.c ... CC /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/arch/arm/cpu/armv7/sun50iw1p1/spl/efuse_spl.c ... make -C /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/sunxi_spl/spl/lib/ make[3]: 没有什么可以做的为 `all'。 /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/../gcc-linaro/bin/arm-linux-gnueabi-gcc -E -include /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/include/u-boot/u-boot.lds.h -DSBROMSWADDR="(0x10480)" -ansi -D__ASSEMBLY__ -P - </home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/sunxi_spl/sbrom/main/sboot.lds >/home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/sunxi_spl/sbrom/sboot.lds /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/../gcc-linaro/bin/arm-linux-gnueabi-ld /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/arch/arm/cpu/armv7/sun50iw1p1/dram/libchipid.o /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/arch/arm/cpu/armv7/sun50iw1p1/dram/libdram.o /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/arch/arm/cpu/armv7/sun50iw1p1/mmc/libmmc.o /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/arch/arm/cpu/armv7/sun50iw1p1/nand/libnand.o /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/sunxi_spl/sbrom/flash/libflash.o /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/sunxi_spl/sbrom/libs/libgeneric.o /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/sunxi_spl/sbrom/load/libload.o /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/sunxi_spl/sbrom/main/libmain.o /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/sunxi_spl/sbrom/openssl/libopenssl.o /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/sunxi_spl/sbrom/spl/libsource_spl.o /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/sunxi_spl/spl/lib/libgeneric.o -L /home/wwt/a64/bpi_a64_android/lichee/brandy/gcc-linaro/bin/../lib/gcc/arm-linux-gnueabi/4.6.3 -lgcc -T/home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/sunxi_spl/sbrom/sboot.lds -o sboot.axf -Map sboot.map /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/../gcc-linaro/bin/arm-linux-gnueabi-objcopy -O binary /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/sunxi_spl/sbrom/sboot.axf /home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/sunxi_spl/sbrom/sboot.bin "sboot_sun50iw1p1.bin" -> "/home/wwt/a64/bpi_a64_android/lichee/brandy/u-boot-2014.07/../../tools/pack/chips/sun50iw1p1/bin/sboot_sun50iw1p1.bin" rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/lichee/brandy$ rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/lichee/brandy$ 5、配置menuconfig(裁剪内核) rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/lichee$ ./build.sh config Welcome to mkscript setup progress All available chips: 0. sun50iw1p1 Choice: 0 All available platforms: 0. android 1. dragonboard 2. linux 3. camdroid 4. secureandroid Choice: 0 All available kernel: 0. linux-3.10 1. linux-3.4 Choice: 0 All available boards: 0. bpi-m64-hdmi 1. bpi-m64-lcd Choice: 1 rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/lichee$ cd linux-3.10/ rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/lichee/linux-3.10$ cp .config bak1_orig.config rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/lichee/linux-3.10$ rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/lichee/linux-3.10$ rootroot@cm-System-Product-Name:/home/wwt/a64/bpi_a64_android/lichee/linux-3.10$ make ARCH=arm64 menuconfig (1)改大打印缓存 General setup ---> (17) Kernel log buffer size (16 => 64KB, 17 => 128KB) 修改为: (18) Kernel log buffer size (16 => 64KB, 17 => 128KB) (2)只保留博通/正基的WIFI/BT:AP6212等 Device Drivers ---> [*] Network device support ---> [*] Wireless LAN ---> <M> Broadcom FullMAC wireless cards support (/system/vendor/modules/fw_bcmdhd.bin) Firmware path (/system/vendor/modules/nvram.txt) NVRAM path Enable Chip Interface (SDIO bus interface support) ---> Interrupt type (Out-of-Band Interrupt) ---> <M> Realtek 8723B SDIO or SPI WiFi <M> Realtek 8723BS_VQ0 WiFi <M> Realtek 8189F SDIO WiFi 修改为: < > Realtek 8723B SDIO or SPI WiFi < > Realtek 8723BS_VQ0 WiFi < > Realtek 8189F SDIO WiFi (3)关闭SELinux安全内核方便调试 Security options ---> [*] NSA SELinux Support [*] NSA SELinux boot parameter (1) NSA SELinux boot parameter default value [ ] NSA SELinux runtime disable [*] NSA SELinux Development Support [*] NSA SELinux AVC Statistics (1) NSA SELinux checkreqprot default value [ ] NSA SELinux maximum supported policy format version 修改为: [ ] NSA SELinux Support (4)在内核中增加USB摄像头/打开UVC的驱动 Device Drivers ---> <*> Multimedia support ---> [ ] Media USB Adapters ---> 修改为: [*] Media USB Adapters ---> --- Media USB Adapters *** Webcam devices *** < > USB Video Class (UVC) 修改为: <M> USB Video Class (UVC) [*] UVC input events device support (NEW)
在全志A64平台点亮GC2145 2017/5/25 14:39 小技巧,直接在全志A64的SDK中搜索ov5640(默认是几乎通的),全部替换为gc2145即可。 1、 R:\wyb\gc2145_bpi_a64_android\android\device\softwinner\bpi-m64-lcd\configs\camera.cfg ;------------------------------------------------------------------------------- ; 用于camera的配置 ; ; 采用格式: ; key = key_value ; 注意: 每个key需要顶格写; ; key_value紧跟着key后面的等号后面, 位于同一行中; ; key_value限制大小为256字节以内; ; ;------------------------------------------------------------------------------- ;------------------------------------------------------------------------------- ; exif information of "make" and "model" ;------------------------------------------------------------------------------- key_camera_exif_make = MAKE_A64 key_camera_exif_model = MODEL_A64 ;------------------------------------------------------------------------------- ; 1 for single camera, 2 for double camera ;------------------------------------------------------------------------------- number_of_camera = 1 ;------------------------------------------------------------------------------- ; CAMERA_FACING_BACK ; ov5640 gc2145 ;------------------------------------------------------------------------------- camera_id = 0 ;------------------------------------------------------------------------------- ; 1 for CAMERA_FACING_FRONT ; 0 for CAMERA_FACING_BACK ;------------------------------------------------------------------------------- camera_facing = 0 ;------------------------------------------------------------------------------- ; 1 for camera without isp(using built-in isp of Axx) ; 0 for camera with isp ;------------------------------------------------------------------------------- use_builtin_isp = 0 ;------------------------------------------------------------------------------- ; camera orientation (0, 90, 180, 270) ;------------------------------------------------------------------------------- camera_orientation = 180 ;------------------------------------------------------------------------------- ; driver device name ;------------------------------------------------------------------------------- camera_device = /dev/video0 ;------------------------------------------------------------------------------- ; device id ; for two camera devices with one CSI ;------------------------------------------------------------------------------- device_id = 0 used_preview_size = 1 key_support_preview_size = 640x480 key_default_preview_size = 640x480 used_picture_size = 1 key_support_picture_size = 1600x1200, 1280x720, 800x600, 640x480 ;key_support_picture_size = 1600x1200, 640x480 key_default_picture_size = 640x480 used_flash_mode = 0 key_support_flash_mode = on,off,auto key_default_flash_mode = on used_color_effect = 1 key_support_color_effect = none,mono,negative,sepia,aqua key_default_color_effect = none used_frame_rate = 1 key_support_frame_rate = 30 key_default_frame_rate = 30 used_focus_mode = 1 key_support_focus_mode = auto,infinity,macro,fixed,continuous-video,continuous-picture key_default_focus_mode = auto used_scene_mode = 0 key_support_scene_mode = auto,portrait,landscape,night,night-portrait,theatre,beach,snow,sunset,steadyphoto,fireworks,sports,party,candlelight,barcode key_default_scene_mode = auto used_white_balance = 1 key_support_white_balance = auto,incandescent,fluorescent,warm-fluorescent,daylight,cloudy-daylight key_default_white_balance = auto used_exposure_compensation = 1 key_max_exposure_compensation = 3 key_min_exposure_compensation = -3 key_step_exposure_compensation = 1 key_default_exposure_compensation = 0 key_horizonal_view_angle = 48.6 key_vertical_view_angle = 37.0 used_zoom = 1 key_zoom_supported = true key_smooth_zoom_supported = false key_zoom_ratios = 100,120,150,200,230,250,300 key_max_zoom = 30 key_default_zoom = 0 2、 R:\wyb\gc2145_bpi_a64_android\android\device\softwinner\bpi-m64-lcd\init.sun50iw1p1.rc # csi module insmod /system/vendor/modules/videobuf2-core.ko insmod /system/vendor/modules/videobuf2-memops.ko insmod /system/vendor/modules/videobuf2-dma-contig.ko insmod /system/vendor/modules/vfe_io.ko insmod /system/vendor/modules/actuator.ko insmod /system/vendor/modules/dw9714_act.ko #insmod /system/vendor/modules/ov5640.ko insmod /system/vendor/modules/gc2145.ko insmod /system/vendor/modules/vfe_v4l2.ko 3、(可选操作:) R:\wyb\gc2145_bpi_a64_android\android\device\softwinner\bpi-m64-lcd\ueventd.sun50iw1p1.rc /dev/video0 0770 media media #/dev/video1 0770 media media 4、 R:\wyb\gc2145_bpi_a64_android\lichee\linux-3.10\arch\arm64\boot\dts\sun50iw1p1.dtsi csi0:vfe@0 { device_type= "csi0"; compatible = "allwinner,sunxi-vfe"; interrupts = ;/*SUNXI_IRQ_CSI0 (SUNXI_GIC_START + 84 ) = 116*/ pinctrl-names = "default","sleep"; pinctrl-0 = ; pinctrl-1 = ; cci_sel = ; csi_sel = ; mipi_sel = ; isp_sel = ; csi0_sensor_list = ; csi0_mck = ; /*PE1 .mul_sel = 1, .pull = 0, .drv_level = 1, .data = 0*/ status = "okay"; csi0_dev0:dev@0{ csi0_dev0_mname = "ov5640"; 修改为: csi0_dev0_mname = "gc2145"; csi0_dev0_twi_addr = ; csi0_dev0_pos = "rear"; csi0_dev0_isp_used = ; csi0_dev0_fmt = ; csi0_dev0_stby_mode = ; csi0_dev0_vflip = ; csi0_dev0_hflip = ; csi0_dev0_iovdd = "iovdd-csi"; csi0_dev0_iovdd_vol = ; csi0_dev0_avdd = "avdd-csi"; csi0_dev0_avdd_vol = ; csi0_dev0_dvdd = "dvdd-csi-18"; csi0_dev0_dvdd_vol = ; csi0_dev0_afvdd = ""; csi0_dev0_afvdd_vol = ; csi0_dev0_power_en = ; csi0_dev0_reset = ; /*PE14 .mul_sel = 1, .pull = 0, .drv_level = 1, .data = 0*/ csi0_dev0_pwdn = ; /*PE15 .mul_sel = 1, .pull = 0, .drv_level = 1, .data = 0*/ csi0_dev0_flash_used = ; csi0_dev0_flash_type = ; csi0_dev0_flash_en = ; csi0_dev0_flash_mode = ; csi0_dev0_flvdd = "vdd-csi-led"; csi0_dev0_flvdd_vol = ; csi0_dev0_af_pwdn = ; csi0_dev0_act_used = ; csi0_dev0_act_name = "ad5820_act"; csi0_dev0_act_slave = ; status = "okay"; }; csi0_dev1:dev@1{ csi0_dev1_mname = ""; csi0_dev1_twi_addr = ; csi0_dev1_pos = "rear"; csi0_dev1_isp_used = ; csi0_dev1_fmt = ; csi0_dev1_stby_mode = ; csi0_dev1_vflip = ; csi0_dev1_hflip = ; csi0_dev1_iovdd = "iovdd-csi"; csi0_dev1_iovdd_vol = ; csi0_dev1_avdd = "avdd-csi"; csi0_dev1_avdd_vol = ; csi0_dev1_dvdd = "dvdd-csi-18"; csi0_dev1_dvdd_vol = ; csi0_dev1_afvdd = ""; csi0_dev1_afvdd_vol = ; csi0_dev1_power_en = ; csi0_dev1_reset = ; csi0_dev1_pwdn = ; csi0_dev1_flash_used = ; csi0_dev1_flash_type = ; csi0_dev1_flash_en = ; csi0_dev1_flash_mode = ; csi0_dev1_flvdd = "vdd-csi-led"; csi0_dev1_flvdd_vol = ; csi0_dev1_af_pwdn = ; csi0_dev1_act_used = ; csi0_dev1_act_name = "ad5820_act"; csi0_dev1_act_slave = ; status = "disabled"; }; }; 5、 R:\wyb\gc2145_bpi_a64_android\lichee\linux-3.10\drivers\media\platform\sunxi-vfe\device\Makefile obj-m += ov5640.o obj-m += ov2640.o #obj-m += ov7736.o #obj-m += s5k4ec.o #obj-m += s5k4ec_mipi.o #obj-m += gc2035.o #obj-m += gt2005.o #obj-m += gc0307.o obj-m += gc0308.o #obj-m += gc0328.o #obj-m += gc0328c.o obj-m += gc2145.o #obj-m += gc0329.o #obj-m += gc0311.o #obj-m += hi253.o #obj-m += sp2518.o #obj-m += sp2519.o #obj-m += sp0718.o #obj-m += sp0838.o #obj-m += ov16825.o #obj-m += ov5650.o #obj-m += ov5647.o #obj-m += ov5647_mipi.o #obj-m += t8et5.o #obj-m += s5k4e1.o #obj-m += s5k4e1_mipi.o #obj-m += sp2518.o #obj-m += sp0718.o #obj-m += gc5004.o #obj-m += gc5004_mipi.o #obj-m += ov5648.o #obj-m += ar0330.o #obj-m += ov5648.o #obj-m += sp5408.o #obj-m += ov12830.o #obj-m += ov8825.o #obj-m += ov8850.o #obj-m += gc2155.o #obj-m += ov8858.o #obj-m += ov13850.o #obj-m += imx214.o #obj-m += ov8858_4lane.o #obj-m += sp5409.o #obj-m += s5k5e2yx.o #obj-m += ov2710_mipi.o #obj-m += ov2686.o 6、 R:\wyb\gc2145_bpi_a64_android\lichee\linux-3.10\drivers\media\platform\sunxi-vfe\utility\sensor_info.c struct sensor_item sensor_list_t[] = { // name i2c_addr sensor type sensor size sensor max pclk { "ov2640" , 0x60, SENSOR_YUV , PIXEL_NUM_2M , CORE_CLK_RATE_FOR_2M}, { "ov5640" , 0x78, SENSOR_YUV , PIXEL_NUM_5M , CORE_CLK_RATE_FOR_5M}, { "ov5647" , 0x6c, SENSOR_RAW , PIXEL_NUM_5M , CORE_CLK_RATE_FOR_5M}, { "ov5647_mipi" , 0x6c, SENSOR_RAW , PIXEL_NUM_5M , CORE_CLK_RATE_FOR_5M}, { "ov5650" , 0x50, SENSOR_RAW , PIXEL_NUM_5M , CORE_CLK_RATE_FOR_5M}, { "ov5648" , 0x6c, SENSOR_RAW , PIXEL_NUM_5M , CORE_CLK_RATE_FOR_5M}, { "ov8825" , 0x6c, SENSOR_RAW , PIXEL_NUM_8M , CORE_CLK_RATE_FOR_8M}, { "ov8850" , 0x20, SENSOR_RAW , PIXEL_NUM_8M , CORE_CLK_RATE_FOR_8M}, { "ov12830" , 0x6c, SENSOR_RAW , PIXEL_NUM_12M , CORE_CLK_RATE_FOR_16M}, { "ov16825" , 0x6c, SENSOR_RAW , PIXEL_NUM_16M , CORE_CLK_RATE_FOR_16M}, { "gc0329" , 0x62, SENSOR_YUV , PIXEL_NUM_0_3M , CORE_CLK_RATE_FOR_2M}, { "gc0309" , 0x42, SENSOR_YUV , PIXEL_NUM_0_3M , CORE_CLK_RATE_FOR_2M}, { "gc0307" , 0x42, SENSOR_YUV , PIXEL_NUM_0_3M , CORE_CLK_RATE_FOR_2M}, { "gc0308" , 0x42, SENSOR_YUV , PIXEL_NUM_0_3M , CORE_CLK_RATE_FOR_2M}, { "gc2035" , 0x78, SENSOR_YUV , PIXEL_NUM_2M , CORE_CLK_RATE_FOR_2M}, { "gt2005" , 0x78, SENSOR_YUV , PIXEL_NUM_2M , CORE_CLK_RATE_FOR_2M}, { "gc2015" , 0x60, SENSOR_YUV , PIXEL_NUM_2M , CORE_CLK_RATE_FOR_2M}, { "gc2235" , 0x78, SENSOR_RAW , PIXEL_NUM_2M , CORE_CLK_RATE_FOR_2M}, { "sp0838" , 0x30, SENSOR_YUV , PIXEL_NUM_0_3M , CORE_CLK_RATE_FOR_2M}, { "sp0718" , 0x6c, SENSOR_YUV , PIXEL_NUM_0_3M , CORE_CLK_RATE_FOR_2M}, { "sp2518" , 0x6c, SENSOR_YUV , PIXEL_NUM_2M , CORE_CLK_RATE_FOR_2M}, { "hi253" , 0x40, SENSOR_YUV , PIXEL_NUM_2M , CORE_CLK_RATE_FOR_2M}, { "hi257" , 0x40, SENSOR_YUV , PIXEL_NUM_2M , CORE_CLK_RATE_FOR_2M}, { "s5k4ec" , 0x5a, SENSOR_YUV , PIXEL_NUM_5M , CORE_CLK_RATE_FOR_5M}, { "s5k4ec_mipi" , 0x5a, SENSOR_YUV , PIXEL_NUM_5M , CORE_CLK_RATE_FOR_5M}, { "s5k4e1" , 0x20, SENSOR_RAW , PIXEL_NUM_5M , CORE_CLK_RATE_FOR_5M}, { "s5k4e1_mipi" , 0x20, SENSOR_RAW , PIXEL_NUM_5M , CORE_CLK_RATE_FOR_5M}, { "t4k05" , 0x6c, SENSOR_RAW , PIXEL_NUM_8M , CORE_CLK_RATE_FOR_8M}, { "t8et5" , 0x78, SENSOR_RAW , PIXEL_NUM_5M , CORE_CLK_RATE_FOR_5M}, { "ar0330" , 0x20, SENSOR_RAW , PIXEL_NUM_3M , CORE_CLK_RATE_FOR_3M}, { "bf3a03" , 0xDC, SENSOR_YUV , PIXEL_NUM_0_3M , CORE_CLK_RATE_FOR_2M}, { "gc0311" , 0x66, SENSOR_YUV , PIXEL_NUM_0_3M , CORE_CLK_RATE_FOR_2M}, { "gc0311" , 0x66, SENSOR_YUV , PIXEL_NUM_0_3M , CORE_CLK_RATE_FOR_2M}, { "gc5004" , 0x6c, SENSOR_RAW , PIXEL_NUM_5M , CORE_CLK_RATE_FOR_5M}, { "gc5004_mipi" , 0x6c, SENSOR_RAW , PIXEL_NUM_5M , CORE_CLK_RATE_FOR_5M}, { "nt99252" , 0x6c, SENSOR_YUV , PIXEL_NUM_2M , CORE_CLK_RATE_FOR_2M}, { "ov7736" , 0x42, SENSOR_YUV , PIXEL_NUM_0_3M , CORE_CLK_RATE_FOR_2M}, { "gc2145" , 0x78, SENSOR_YUV , PIXEL_NUM_2M , CORE_CLK_RATE_FOR_2M}, { "gc2155" , 0x78, SENSOR_YUV , PIXEL_NUM_2M , CORE_CLK_RATE_FOR_2M}, { "gc0328c" , 0x42, SENSOR_YUV , PIXEL_NUM_0_3M , CORE_CLK_RATE_FOR_2M}, { "gc0328" , 0x42, SENSOR_YUV , PIXEL_NUM_0_3M , CORE_CLK_RATE_FOR_2M}, }; 7、 R:\wyb\gc2145_bpi_a64_android\lichee\linux-3.10\drivers\media\platform\sunxi-vfe\config.c struct ccm_config ccm0_def_cfg[] = { { .ccm = "ov5640", 修改为: .ccm = "gc2145", .twi_id = 1, .i2c_addr = 0x78, .is_isp_used = 0, .is_bayer_raw = 0, .vflip = 0, .hflip = 0, .iovdd_str = "", .avdd_str = "", .dvdd_str = "", .afvdd_str = "", .flvdd_str = "", .power = { .stby_mode = 1, .iovdd_vol =2800000, /* voltage of sensor module for interface */ .avdd_vol =2800000, /* voltage of sensor module for analog */ .dvdd_vol =1500000, /* voltage of sensor module for core */ .afvdd_vol =2800000, /* voltage of sensor module for vcm sink */ .flvdd_vol = 3300000,/* voltage of sensor module for flash led */ }, .gpio = { [MCLK_PIN] = {.gpio = GPIOE(1)/*129*/, .mul_sel = 1, .pull = 0, .drv_level = 1, .data = 0,}, [RESET] = {GPIOE(14)/*142*/, 1, 0, 1, 0,}, [PWDN] = {GPIOE(15)/*143*/, 1, 0, 1, 0,}, [POWER_EN] = {GPIO_INDEX_INVALID, 0, 0, 0, 0,}, [FLASH_EN] = {GPIO_INDEX_INVALID, 0, 0, 0, 0,}, [FLASH_MODE] = {GPIO_INDEX_INVALID, 0, 0, 0, 0,}, [AF_PWDN] = {GPIO_INDEX_INVALID, 0, 0, 0, 0,}, }, .flash_used = 0, .flash_type = 0, .act_used = 0, .act_name = "ad5820_act", .act_slave = 0x18, }, }; R:\wyb\gc2145_bpi_a64_android\lichee\tools\pack\chips\sun50iw1p1\configs\bpi-m64-lcd\sys_config.fex ;-------------------------------------------------------------------------------- ;csi (COMS Sensor Interface) configuration ;csi(x)_dev(x)_used: 0:disable 1:enable ;csi(x)_dev(x)_isp_used 0:not use isp 1:use isp ;csi(x)_dev(x)_fmt: 0:yuv 1:bayer raw rgb ;csi(x)_dev(x)_stby_mode: 0:not shut down power at standby 1:shut down power at standby ;csi(x)_dev(x)_vflip: flip in vertical direction 0:disable 1:enable ;csi(x)_dev(x)_hflip: flip in horizontal direction 0:disable 1:enable ;csi(x)_dev(x)_iovdd: camera module io power handle string, pmu power supply ;csi(x)_dev(x)_iovdd_vol: camera module io power voltage, pmu power supply ;csi(x)_dev(x)_avdd: camera module analog power handle string, pmu power supply ;csi(x)_dev(x)_avdd_vol: camera module analog power voltage, pmu power supply ;csi(x)_dev(x)_dvdd: camera module core power handle string, pmu power supply ;csi(x)_dev(x)_dvdd_vol: camera module core power voltage, pmu power supply ;csi(x)_dev(x)_afvdd: camera module vcm power handle string, pmu power supply ;csi(x)_dev(x)_afvdd_vol: camera module vcm power voltage, pmu power supply ;fill voltage in uV, e.g. iovdd = 2.8V, csix_iovdd_vol = 2800000 ;fill handle string as below: ;axp22_eldo3 ;axp22_dldo4 ;axp22_eldo2 ;fill handle string "" when not using any pmu power supply ;-------------------------------------------------------------------------------- [csi0] csi0_used = 1 csi0_sensor_list = 1 修改为: csi0_sensor_list = 0 csi0_pck = port:PE00 csi0_mck = port:PE01 修改为: csi0_mck = port:PE01 csi0_hsync = port:PE02 csi0_vsync = port:PE03 csi0_d0 = port:PE04 csi0_d1 = port:PE05 csi0_d2 = port:PE06 csi0_d3 = port:PE07 csi0_d4 = port:PE08 csi0_d5 = port:PE09 csi0_d6 = port:PE10 csi0_d7 = port:PE11 csi0_sck = port:PE12 csi0_sda = port:PE13 [csi0/csi0_dev0] csi0_dev0_used = 1 csi0_dev0_mname = "ov5640" 修改为: csi0_dev0_mname = "gc2145" csi0_dev0_twi_addr = 0x78 csi0_dev0_pos = "rear" csi0_dev0_isp_used = 1 csi0_dev0_fmt = 0 csi0_dev0_stby_mode = 0 csi0_dev0_vflip = 1 csi0_dev0_hflip = 1 csi0_dev0_iovdd = "avdd-csi" csi0_dev0_iovdd_vol = 2800000 csi0_dev0_avdd = "avdd-csi" csi0_dev0_avdd_vol = 2800000 csi0_dev0_dvdd = "dvdd-csi-18" csi0_dev0_dvdd_vol = 1500000 csi0_dev0_afvdd = "avdd-csi" csi0_dev0_afvdd_vol = 2800000 csi0_dev0_power_en = csi0_dev0_reset = port:PE16 csi0_dev0_pwdn = port:PE17 csi0_dev0_flash_used = 0 csi0_dev0_flash_type = 2 csi0_dev0_flash_en = csi0_dev0_flash_mode = csi0_dev0_flvdd = "" csi0_dev0_flvdd_vol = csi0_dev0_af_pwdn = csi0_dev0_act_used = 1 csi0_dev0_act_name = "dw9714_act" csi0_dev0_act_slave = 0x18
全志R16平台编译linux系统V1.0.txt 2017/4/11 13:36 (编译请使用编译android的lichee的选项编译生成的.config文件,不然直接编译会报错!!!!) rootroot@cm-System-Product-Name:/home/wwt/linux_r16$ tar zxvf lichee_parrotv1.1_20161202.tar.gz rootroot@cm-System-Product-Name:/home/wwt/linux_r16$ cd lichee/ rootroot@cm-System-Product-Name:/home/wwt/linux_r16/lichee$ ./build.sh config Welcome to mkscript setup progress All available chips: 0. sun8iw5p1 Choice: 0 All available platforms: 0. android 1. dragonboard 2. linux 3. tina Choice: 2 All available kernel: 0. linux-3.4 Choice: 0 All available boards: 0. bell-one 1. evb 2. evb-20 3. evb-30 4. evb-rtl8723bs 5. sc3813r Choice: 3 rootroot@cm-System-Product-Name:/home/wwt/linux_r16/lichee$ ./build.sh 错误1: KCONFIG_AUTOCONFIG=/home/wwt/linux_r16/lichee/out/sun8iw5p1/linux/common/buildroot/build/buildroot-config/auto.conf KCONFIG_AUTOHEADER=/home/wwt/linux_r16/lichee/out/sun8iw5p1/linux/common/buildroot/build/buildroot-config/autoconf.h KCONFIG_TRISTATE=/home/wwt/linux_r16/lichee/out/sun8iw5p1/linux/common/buildroot/build/buildroot-config/tristate.config BUILDROOT_CONFIG=/home/wwt/linux_r16/lichee/out/sun8iw5p1/linux/common/buildroot/.config /home/wwt/linux_r16/lichee/out/sun8iw5p1/linux/common/buildroot/build/buildroot-config/conf --silentoldconfig Config.in # # make dependencies written to .auto.deps # ATTENTION buildroot devels! # See top of this file before playing with this auto-preprequisites! # make[1]:正在离开目录 `/home/wwt/linux_r16/lichee/buildroot' You must install 'makeinfo' on your build machine makeinfo is usually part of the texinfo package in your distribution make: *** [dependencies] 错误 1 make:离开目录“/home/wwt/linux_r16/lichee/buildroot” ERROR: build buildroot Failed rootroot@cm-System-Product-Name:/home/wwt/linux_r16/lichee$ d/buildroot-config/conf.o /home/wwt/linux_r16/lichee/out/sun8iw5p1/linux/common/buildroot/build/buildroot-config/zconf.tab.o -o /home/wwt/linux_r16/lichee/out/sun8iw5p1/linux/common/buil

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值