ODROID-C4

出自 flip the world
於 2020年5月27日 (三) 15:46 由 Tommy (對話 | 貢獻) 所做的修訂 (Build Android)
前往: 導覽搜尋

ODROID-C4

Board Description

ODROID-C4 Board
ODROID-C4 Detail

Pin definition

C4 40pinmap rev0.4.png

  • UART signals are driven at 1.8V.

Build Android

  • Set PATH
$ export PATH=$PATH:/opt/toolchains/gcc-linaro-aarch64-none-elf-4.9-2014.09_linux/bin
$ export PATH=$PATH:/opt/toolchains/gcc-linaro-arm-none-eabi-4.8-2014.04_linux/bin
$ export PATH=$PATH:/opt/toolchains/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin
  • Check out full source code
    • 32 bit
$ mkdir odroid-c4
$ cd odroid-c4
$ repo init -u https://github.com/hardkernel/android.git -b g12_9.0.0_master
$ repo sync
    • 64 bit
$ mkdir odroid-c4
$ cd odroid-c4
$ repo init -u https://github.com/hardkernel/android.git -b g12_9.0.0_64_master
$ repo sync

Installing initial images

  • Select fastboot mode by turning ON switch 3 (for details, refer to the HiKey 960 Getting Started guide).
  • Power the board.
  • Flash initial images:
    • cd device/linaro/hikey/installer/hikey960
  • Turn OFF switch 3 and power cycle the board.

Flashing images

  • Enter fastboot mode by turning ON switch 3.
  • Flash images by running the following commands:
    • fastboot flash boot out/target/product/hikey960/boot.img
  • Turn OFF switch 3 and power cycle the board.

Building the kernel

  • Run the following commands:
  • Update the kernel in the boot image.
    • Copy hi3660-hikey960.dtb (out/android-hikey-linaro-4.19/dist/hi3660-hikey960.dtb) to the hikey-kernel directory as file hi3660-hikey960.dtb-4.19.
    • Copy the Image file (out/android-hikey-linaro-4.19/dist/Image.gz-dtb) to the hikey-kernel directory as file Image.gz-dtb-hikey960-4.19.
 cp repo-common/out/android-hikey-linaro-4.19/dist/hi3660-hikey960.dtb hikey960/device/linaro/hikey-kernel/hi3660-hikey960.dtb-4.19
 cp repo-common/out/android-hikey-linaro-4.19/dist/Image.gz-dtb hikey960/device/linaro/hikey-kernel/Image.gz-dtb-hikey960-4.19
  • Make the boot image:
    • make bootimage -j24

Enable UART

  • In repo-common/hikey-linaro
diff --git a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
index 80334e500..a2f1de30b 100644
--- a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
@@ -494,7 +494,7 @@
                        clock-names = "uartclk", "apb_pclk";
                        pinctrl-names = "default";
                        pinctrl-0 = <&uart0_pmx_func &uart0_cfg_func>;
-                       status = "disabled";
+                       status = "ok";
                };

                uart1: serial@fdf00000 {
@@ -508,7 +508,7 @@
                        clock-names = "uartclk", "apb_pclk";
                        pinctrl-names = "default";
                        pinctrl-0 = <&uart1_pmx_func &uart1_cfg_func>;
-                       status = "disabled";
+                       status = "ok";
                };

                uart2: serial@fdf03000 {

Setting the serial number

To set the random serial number, run

    • fastboot getvar nve:SN@16\_DIGIT\_NUMBER
  • Bootloader exports the generated serial number to the kernel using androidboot.serialno=.

Setting monitor resolution

  • Edit the device/linaro/hikey/hikey960/BoardConfig.mk parameter BOARD_KERNEL_CMDLINE and configure the video setting. For example, the setting for a 24-inch monitor is video=HDMI-A-1:1280x800@60.

Android note

  • Disable ICMP for enable ping
    • sysctl -w net.ipv4.icmp_echo_ignore_all=0

Reference