body start
ODROID-A -PC
Contents
- 1 Introduction
- 2 Hardware Information
- 3 Development Setup
- 4 T-flash sector map for Odroid-A
- 5 Recovery utility
- 6 ADB USB driver for Windows
- 7 User's manual
- 8 ODROID-A & PC Uboot
- 9 ODROID-A & PC Linux Kernel
- 10 ODROID-A & 7 & PC Android(Gingerbread) System
- 11 References
1 Introduction
Odroid-A project is world first Android open source tablet platform using Samsung Exynos4210 dual core CPU. HardKernel develop, manufacture and sell the Odroid-A devices to developers. Full source code and schematics are delivered with the package.
The Odroid-A is a development platform that enables Integrators, Developers and OEMs to create customized applications and Android environment.
Developers and OEMs can purchase the Odroid-A Developer Edition with Android 2.3(Gingerbread) and then download FREE firmware updates in the future.
Please note that the Odroid-A is a development platform and its specifications are subject to change without notice and it may include Beta and Pre-Release software. As such it is not designed for end-users.
2 Hardware Information
Full schematics are stored in the Odroid-A memory card.
2.1 Block diagram

2.2 Exynos4210 CPU Board
2.2.1 CPU Board components

2.3 Board to Board connector location data
Please consider connector J1 of CPU board should be matching to J1 of Base board.
Below link data is useful for designing your own base board.
Base board side pin location data :
ODROID-A_BASE_B2B.zip (59.9 KB)
ODROID-A_BASE_B2B.zip (59.9 KB)
2.3.1 Board to Board connector pin map
| pin# | Pin name | Function | CMT | pin# | Pin name | Function | CMT |
| J1-1 | - | GND | GND | J1-50 | - | GND | GND |
| J1-2 | - | GND | GND | J1-49 | - | GND | GND |
| J1-3 | XMMC2DATA_3 | SD_2_DATA[3] | - | J1-48 | XMMC2CMD | SD_2_CMD | - |
| J1-4 | XMMC2DATA_2 | SD_2_DATA[2] | - | J1-47 | XMMC2CDN | GPK2[2] | - |
| J1-5 | XMMC2CLK | SD_2_CLK | - | J1-46 | XMIPISDN3 | MIPI_SDN_3 | - |
| J1-6 | XI2S2SCLK | GPC1[0] | - | J1-45 | XMIPISDP3 | MIPI_SDP_3 | - |
| J1-7 | XI2C1SDA | I2C_1_SDA | - | J1-44 | XMIPISDN2 | MIPI_SDN_2 | - |
| J1-8 | XI2S2SDI | GPC1[3] | - | J1-43 | XMIPISDP2 | MIPI_SDP_2 | - |
| J1-9 | XI2C1SCL | I2C_1_SCL | - | J1-42 | XMIPISDNCLK | MIPI_CLK_RX_N | - |
| J1-10 | XI2S1LRCK | GPC0[2] | - | J1-41 | XMIPISDPCLK | MIPI_CLK_RX_P | - |
| J1-11 | XUTXD_1 | UART_1_TXD | - | J1-40 | XMIPISDN1 | MIPI_SDN_1 | - |
| J1-12 | XI2S1SDO | GPC0[4] | - | J1-39 | XMIPISDP1 | MIPI_SDP_1 | - |
| J1-13 | XI2S1SCLK | GPC0[0] | - | J1-38 | XMIPISDN0 | MIPI_SDN_0 | - |
| J1-14 | XPWMTOUT_1 | GPD0[1] | - | J1-37 | XMIPISDP0 | MIPI_SDP_0 | - |
| J1-15 | XUCTSN_0 | UART_0_CTSn | - | J1-36 | XMIPIMDN3 | MIPI_MDN_3 | - |
| J1-16 | XJTDI | XjTDI | - | J1-35 | XMIPIMDP3 | MIPI_MDP_3 | - |
| J1-17 | XJTMS | XjTMS | - | J1-34 | XMIPIMDN2 | MIPI_MDN_2 | - |
| J1-18 | XJTRSTN | XjTRSTn | - | J1-33 | XMIPIMDP2 | MIPI_MDP_2 | - |
| J1-19 | XJTCK | XjTCK | - | J1-32 | XMIPIMDNCLK | MIPI_CLK_TX_N | - |
| J1-20 | XJTDO | XjTDO | - | J1-31 | XMIPIMDPCLK | MIPI_CLK_TX_P | - |
| J1-21 | XUCTSN_1 | I2C_2_SDA | - | J1-30 | XMIPIMDN1 | MIPI_MDN_1 | - |
| J1-22 | XURXD_3 | UART_3_RXD | - | J1-29 | XMIPIMDP1 | MIPI_MDP_1 | - |
| J1-23 | XURXD_2 | UART_2_RXD | - | J1-28 | XMIPIMDN0 | MIPI_MDN_0 | - |
| J1-24 | XI2S2LRCK | GPC1[2] | - | J1-27 | XMIPIMDP0 | MIPI_MDP_0 | - |
| J1-25 | - | GND | GND | J1-26 | - | GND | GND |
| J2-1 | - | GND | GND | J2-50 | XSBUSDATA | SLIMbusData | - |
| J2-2 | XI2S1CDCLK | GPC0[1] | - | J2-49 | XSBUSCLK | SLIMbusClk | - |
| J2-3 | XI2S2SDO | GPC1[4] | - | J2-48 | XI2S1SDI | GPC0[3] | - |
| J2-4 | XPWMTOUT_3 | GPD0[3] | - | J2-47 | XI2S2CDCLK | GPC1[1] | - |
| J2-5 | XUTXD_0 | UART_0_TXD | - | J2-46 | XHDMITXCN | HDMI_TXCN | - |
| J2-6 | XSPIMISO_1 | SPI_1_MISO | - | J2-45 | XHDMITXCP | HDMI_TXCP | - |
| J2-7 | XPWMTOUT_2 | TOUT_2 | - | J2-44 | XHDMITX0N | HDMI_TX0N | - |
| J2-8 | XURTSN_0 | UART_0_RTSn | - | J2-43 | XHDMITX0P | HDMI_TX0P | - |
| J2-9 | XVVD_2 | LCD_VD[2] | - | J2-42 | XHDMITX1N | HDMI_TX1N | - |
| J2-10 | XSPIMOSI_0 | I2C_4_SCL | - | J2-41 | XHDMITX1P | HDMI_TX1P | - |
| J2-11 | XVHSYNC | LCD_HSYNC | - | J2-40 | XHDMITX2N | HDMI_TX2N | - |
| J2-12 | XSPICSN_0 | SPI_0_nSS | - | J2-39 | XHDMITX2P | HDMI_TX2P | - |
| J2-13 | XVVD_12 | LCD_VD12 | - | J2-38 | XPWMTOUT_0 | TOUT_0 | - |
| J2-14 | XUTXD_2 | UART_2_TXD | - | J2-37 | XURTSN_1 | I2C_2_SCL | - |
| J2-15 | XVVD_19 | LCD_VD19 | - | J2-36 | XURXD_1 | UART_1_RXD | - |
| J2-16 | XVVSYNC | LCD_VSYNC | - | J2-35 | XSPIMISO_0 | I2C_4_SDA | - |
| J2-17 | XVVD_18 | LCD_VD18 | - | J2-34 | XSPICLK_0 | GPB[0] | - |
| J2-18 | XVVD_8 | LCD_VD[8] | - | J2-33 | XSPIMOSI_1 | SPI_1_MOSI | - |
| J2-19 | XVVD_22 | LCD_VD22 | - | J2-32 | XSPICLK_1 | SPI_1_CLK | - |
| J2-20 | XVVD_11 | LCD_VD11 | - | J2-31 | XUTXD_3 | UART_3_TXD | - |
| J2-21 | XVVD_4 | LCD_VD[4] | - | J2-30 | XUCTSN_2 | UART_2_CTSn | - |
| J2-22 | XVVD_21 | LCD_VD21 | - | J2-29 | XURXD_0 | UART_0_RXD | - |
| J2-23 | XVVD_17 | LCD_VD17 | - | J2-28 | XURTSN_2 | UART_2_RTSn | - |
| J2-24 | XVVD_14 | LCD_VD14 | - | J2-27 | XSPICSN_1 | SPI_1_nSS | - |
| J2-25 | - | GND | GND | J2-26 | - | GND | GND |
| J3-1 | - | GND | GND | J3-50 | - | GND | GND |
| J3-2 | XMMC3DATA_1 | SD_3_DATA[1] | - | J3-49 | - | GND | GND |
| J3-3 | XMMC3DATA_3 | SD_3_DATA[3] | - | J3-48 | XUOTGDRVVBUS | XuotgDRVVBUS | - |
| J3-4 | XMMC3CDN | SD_3_CDn | - | J3-47 | XUHOSTPWREN | XuhostPWREN | - |
| J3-5 | XMMC3DATA_0 | SD_3_DATA[0] | - | J3-46 | XUHOSTOVERCUR | XuhostOVERCUR | - |
| J3-6 | XMMC3CLK | SD_3_CLK | - | J3-45 | XUOTGDP | XuotgDP | - |
| J3-7 | XMMC3DATA_2 | SD_3_DATA[2] | - | J3-44 | XUOTGDM | XuotgDM | - |
| J3-8 | XMMC3CMD | SD_3_CMD | - | J3-43 | XUOTGID | XuotgID | - |
| J3-9 | XI2S0CDCLK | I2S_0_SCLK | - | J3-42 | XUOTGVBUS | XuotgVBUS | - |
| J3-10 | XI2S0LRCK | I2S_0_LRCK | - | J3-41 | - | GND | GND |
| J3-11 | XI2S0SDI | I2S_0_SDI | - | J3-40 | XUHOSTDP | XuhostDP | - |
| J3-12 | XI2S0SCLK | I2S_0_SCLK | - | J3-39 | XUHOSTDM | XuhostDM | - |
| J3-13 | XI2S0SDO_0 | I2S_0_SDO[0] | - | J3-38 | - | LDO13 | PMIC |
| J3-14 | XGNSS_ISIGN | GNSS_ISIGN | - | J3-37 | - | LDO21 | PMIC |
| J3-15 | XGNSS_IMAG | GNSS_IMAG | - | J3-36 | - | LDO21 | PMIC |
| J3-16 | XGNSS_RF_RSTN | GNSS_RF_RSTN | - | J3-35 | - | LDO14 | PMIC |
| J3-17 | - | 32KHzCP | PMIC | J3-34 | - | LDO16 | PMIC |
| J3-18 | - | PWRON | PMIC | J3-33 | - | LDO15 | PMIC |
| J3-19 | - | JIGON | PMIC | J3-32 | - | BAT | - |
| J3-20 | - | MR2B | PMIC | J3-31 | - | BAT | - |
| J3-21 | - | BUCK6_EN | PMIC | J3-30 | - | BAT | - |
| J3-22 | - | MR1B | PMIC | J3-29 | - | BAT | - |
| J3-23 | - | GND | GND | J3-28 | - | BUCK6 | PMIC |
| J3-24 | - | GND | GND | J3-27 | - | BUCK6 | PMIC |
| J3-25 | - | GND | GND | J3-26 | - | BUCK6 | PMIC |
| J4-1 | - | BUCK7 | PMIC | J4-50 | - | LDO5 | PMIC |
| J4-2 | - | BUCK7 | PMIC | J4-49 | - | LDO9 | PMIC |
| J4-3 | - | LDO4 | PMIC | J4-48 | - | LDO9 | PMIC |
| J4-4 | XEINT_29 | WAKEUP_INT3[5] | - | J4-47 | XI2C0SCL | I2C_0_SCL | - |
| J4-5 | XEINT_31 | HDMI_HPD | - | J4-46 | XI2C0SDA | I2C_0_SDA | - |
| J4-6 | XEINT_21 | GPX2[5] | - | J4-45 | - | LDO1 | PMIC |
| J4-7 | XEINT_30 | HDMI_CEC | - | J4-44 | XNWRESET | XnWRESET | - |
| J4-8 | XEINT_25 | WAKEUP_INT3[1] | - | J4-43 | XOM_3 | XOM[3] | - |
| J4-9 | XEINT_12 | GPX1[4] | - | J4-42 | XOM_2 | XOM[2] | - |
| J4-10 | XEINT_8 | GPX1[0] | - | J4-41 | XOM_1 | XOM[1] | - |
| J4-11 | XEINT_5 | GPX0[5] | - | J4-40 | XOM_5 | XOM[5] | - |
| J4-12 | XEINT_10 | GPX1[2] | - | J4-39 | XOM_4 | XOM[4] | - |
| J4-13 | XADCAIN_8 | AIN[8] | - | J4-38 | XEINT_19 | GPX2[3] | - |
| J4-14 | XADCAIN_7 | AIN[7] | - | J4-37 | XEINT_6 | GPX0[6] | - |
| J4-15 | XADCAIN_6 | AIN[6] | - | J4-36 | XEINT_11 | GPX1[3] | - |
| J4-16 | XADCAIN_9 | AIN[9] | - | J4-35 | XEINT_7 | GPX0[7] | - |
| J4-17 | XEINT_24 | GPX3[0] | - | J4-34 | XPWRRGTON | XPWRRGTON | - |
| J4-18 | XEINT_18 | WAKEUP_INT2[2] | - | J4-33 | XEINT_9 | GPX1[1] | - |
| J4-19 | XEINT_23 | WAKEUP_INT2[7] | - | J4-32 | XEINT_3 | GPX0[3] | - |
| J4-20 | XEINT_27 | GPX3[3] | - | J4-31 | XEINT_28 | GPX3[4] | - |
| J4-21 | XEINT_17 | WAKEUP_INT2[1] | - | J4-30 | XEINT_16 | WAKEUP_INT2[0] | - |
| J4-22 | XEINT_2 | WAKEUP_INT0[2] | - | J4-29 | XEINT_20 | WAKEUP_INT2[4] | - |
| J4-23 | - | EXT_nRST | - | J4-28 | XEINT_26 | WAKEUP_INT3[2] | - |
| J4-24 | - | GND | GND | J4-27 | XEINT_13 | WAKEUP_INT1[5] | - |
| J4-25 | - | GND | GND | J4-26 | XEINT_22 | WAKEUP_INT2[6] | - |
| J5-1 | XMDMADDR_5 | CAM_B_DATA[5] | - | J5-50 | XMDMADDR_3 | CAM_B_DATA[3] | - |
| J5-2 | XMDMADDR_2 | CAM_B_DATA[2] | - | J5-49 | XMDMADDR_4 | CAM_B_DATA[4] | - |
| J5-3 | XMDMADDR_6 | CAM_B_DATA[6] | - | J5-48 | XMDMADDR_8 | MDM_ADDR[8] | - |
| J5-4 | XMDMADDR_0 | CAM_B_DATA[0] | - | J5-47 | XMDMADDR_9 | MDM_ADDR[9] | - |
| J5-5 | XMDMADDR_7 | CAM_B_DATA[7] | - | J5-46 | XMDMADDR_12 | MDM_ADDR12 | - |
| J5-6 | XMDMADDR_13 | MDM_ADDR13 | - | J5-45 | XMDMADDR_11 | MDM_ADDR11 | - |
| J5-7 | XMDMDATA_5 | MDM_DATA[5] | - | J5-44 | XMDMADDR_10 | MDM_ADDR10 | - |
| J5-8 | XMDMDATA_0 | MDM_DATA[0] | - | J5-43 | XMDMADDR_1 | CAM_B_DATA[1] | - |
| J5-9 | XMDMDATA_10 | MDM_DATA10 | - | J5-42 | XMDMDATA_7 | MDM_DATA[7] | - |
| J5-10 | XMDMDATA_6 | MDM_DATA[6] | - | J5-41 | XMDMDATA_1 | MDM_DATA[1] | - |
| J5-11 | XMDMDATA_3 | MDM_DATA[3] | - | J5-40 | XMDMDATA_9 | MDM_DATA[9] | - |
| J5-12 | XMDMDATA_8 | MDM_DATA[8] | - | J5-39 | XMDMDATA_4 | MDM_DATA[4] | - |
| J5-13 | XMDMDATA_2 | MDM_DATA[2] | - | J5-38 | XMDMIRQN | GPE0[3] | - |
| J5-14 | XMDMCSN | CAM_B_VSYNC | - | J5-37 | XMDMDATA_12 | MDM_DATA12 | - |
| J5-15 | XMDMRN | CAM_B_HERF | - | J5-36 | XMDMWEN | CAM_B_PCLK | - |
| J5-16 | XVVD_9 | LCD_VD[9] | - | J5-35 | XVVD_13 | LCD_VD13 | - |
| J5-17 | XVVD_3 | LCD_VD[3] | - | J5-34 | XVVD_15 | LCD_VD15 | - |
| J5-18 | XVVCLK | LCD_VCLK | - | J5-33 | XMDMDATA_11 | MDM_DATA11 | - |
| J5-19 | XVVD_10 | LCD_VD10 | - | J5-32 | XVVD_20 | LCD_VD20 | - |
| J5-20 | XVVD_1 | LCD_VD[1] | - | J5-31 | XMDMADVN | CAM_B_CLKOUT | - |
| J5-21 | XVVDEN | LCD_VDEN | - | J5-30 | XVVD_5 | LCD_VD[5] | - |
| J5-22 | XVVD_23 | LCD_VD23 | - | J5-29 | XVVD_6 | LCD_VD[6] | - |
| J5-23 | XVVD_0 | LCD_VD[0] | - | J5-28 | XVVD_16 | LCD_VD16 | - |
| J5-24 | - | GND | GND | J5-27 | XVVD_7 | LCD_VD[7] | - |
| J5-25 | - | GND | GND | J5-26 | - | GND | GND |
| J6-1 | - | GND | GND | J6-50 | - | LDO7 | PMIC |
| J6-2 | XSATARX2P | XsataRX2P | - | J6-49 | XM0DATA_11 | EBI_DATA11 | - |
| J6-3 | XSATARX2M | XsataRX2M | - | J6-48 | XM0CSN_3 | OND_CSn[1] | - |
| J6-4 | XSATATX2M | XsataTX2M | - | J6-47 | XM0DATA_0 | EBI_DATA[0] | - |
| J6-5 | XSATATX2P | XsataTX2P | - | J6-46 | XM0DATA_4 | EBI_DATA[4] | - |
| J6-6 | XSATAREFCLKP | XsataREFCLKP | - | J6-45 | XM0DATA_5 | EBI_DATA[5]- | - |
| J6-7 | XSATAREFCLKM | XsataREFCLKM | - | J6-44 | XM0DATA_13 | EBI_DATA13 | - |
| J6-8 | XM0DATA_14 | EBI_DATA14 | - | J6-43 | XMMC0DATA_0 | SD_0_DATA[0] | - |
| J6-9 | XM0DATA_3 | EBI_DATA[3] | - | J6-42 | XMMC1CDN | GPK1[2] | - |
| J6-10 | XM0DATA_15 | EBI_DATA15 | - | J6-41 | XMMC1CLK | GPK1[0] | - |
| J6-11 | XM0DATA_RDN | EBI_DATA_RDn | - | J6-40 | XMMC1DATA_0 | GPK1[3] | - |
| J6-12 | XMMC1DATA_3 | SD_1_DATA[3] | - | J6-39 | XCICLKENB | CAM_A_CLKOUT | - |
| J6-13 | XMMC1DATA_1 | GPK1[4] | - | J6-38 | XCIDATA_1 | CAM_A_DATA[1] | - |
| J6-14 | XMMC1DATA_2 | GPK1[5] | - | J6-37 | XCIVSYNC | CAM_A_VSYNC | - |
| J6-15 | XMMC1CMD | GPK1[1] | - | J6-36 | XCIDATA_6 | CAM_A_DATA[6] | - |
| J6-16 | XMMC0DATA_1 | SD_0_DATA[1] | - | J6-35 | XCIHREF | CAM_A_HREF | - |
| J6-17 | XMMC0CDN | SD_0_CDn | - | J6-34 | XCIDATA_4 | CAM_A_DATA[4] | - |
| J6-18 | XMMC0CLK | SD_0_CLK | - | J6-33 | XCIPCLK | CAM_A_PCLK | - |
| J6-19 | XMMC0DATA_2 | SD_0_DATA[2] | - | J6-32 | XCIDATA_7 | CAM_A_DATA[7] | - |
| J6-20 | XMMC0DATA_3 | SD_0_DATA[3] | - | J6-31 | XCIDATA_3 | CAM_A_DATA[3] | - |
| J6-21 | XMMC0CMD | SD_0_CMD | - | J6-30 | XCIFIELD | GPJ1[4] | - |
| J6-22 | XMMC2DATA_0 | SD_2_DATA[0] | - | J6-29 | XCIDATA_0 | CAM_A_DATA[0] | - |
| J6-23 | XMMC2DATA_1 | SD_2_DATA[1] | - | J6-28 | XCIDATA_2 | CAM_A_DATA[2] | - |
| J6-24 | - | GND | GND | J6-27 | XCIDATA_5 | CAM_A_DATA[5] | - |
| J6-25 | - | GND | GND | J6-26 | - | LDO6 | PMIC |
| J7-1 | XM0ADDR_4 | EBI_ADDR[4] | - | J7-50 | XM0ADDR_12 | EBI_ADDR12 | - |
| J7-2 | XM0CSN_1 | SROM_CSn[1] | - | J7-49 | XM0ADDR_9 | EBI_ADDR[9] | - |
| J7-3 | XM0ADDR_8 | EBI_ADDR[8] | - | J7-48 | XM0ADDR_1 | EBI_ADDR[1] | - |
| J7-4 | XM0ADDR_10 | EBI_ADDR10 | - | J7-47 | XM0BEN_0 | EBI_BEn[0] | - |
| J7-5 | XM0ADDR_15 | EBI_ADDR15 | - | J7-46 | XM0ADDR_5 | EBI_ADDR[5] | - |
| J7-6 | XM0ADDR_13 | EBI_ADDR13 | - | J7-45 | XM0ADDR_0 | EBI_ADDR[0] | - |
| J7-7 | XM0ADDR_7 | EBI_ADDR[7] | - | J7-44 | XM0ADDR_3 | EBI_ADDR[3] | - |
| J7-8 | XGNSS_GPIO_1 | XGNSS_GPIO[1] | - | J7-43 | XM0BEN_1 | EBI_BEn[1] | - |
| J7-9 | XGNSS_MCLK | XGNSS_MCLK | - | J7-42 | XM0ADDR_6 | EBI_ADDR[6] | - |
| J7-10 | XGNSS_SCL | XGNSS_SCL | - | J7-41 | XM0ADDR_14 | EBI_ADDR14 | - |
| J7-11 | XGNSS_EPOCH | XGNSS_EPOCH | - | J7-40 | XM0OEN | EBI_OEn | - |
| J7-12 | XGNSS_RTC_OUT | XGNSS_RTC_OUT | - | J7-39 | XM0DATA_2 | EBI_DATA[2] | - |
| J7-13 | XGNSS_CLKREQ | XGNSS_CLKREQ | - | J7-38 | XM0CSN_0 | SROM_CSn[0] | - |
| J7-14 | XGNSS_GPIO_2 | XGNSS_GPIO[2] | - | J7-37 | XM0WEN | EBI_WEn | - |
| J7-15 | XGNSS_SDA | XGNSS_SDA | - | J7-36 | XM0DATA_1 | EBI_DATA[1] | - |
| J7-16 | XGNSS_GPIO_4 | XGNSS_GPIO[4] | - | J7-35 | XM0DATA_9 | EBI_DATA[9] | - |
| J7-17 | XGNSS_QMAG | XGNSS_QMAG | - | J7-34 | XM0DATA_12 | EBI_DATA12 | - |
| J7-18 | XGNSS_SYNC | XGNSS_SYNC | - | J7-33 | XM0DATA_7 | EBI_DATA[7] | - |
| J7-19 | XGNSS_GPIO_3 | XGNSS_GPIO[3] | - | J7-32 | XM0DATA_10 | EBI_DATA10 | - |
| J7-20 | XGNSS_GPIO_5 | XGNSS_GPIO[5] | - | J7-31 | XM0DATA_8 | EBI_ADDR[8] | - |
| J7-21 | XGNSS_GPIO_7 | XGNSS_GPIO[7] | - | J7-30 | XM0DATA_6 | EBI_ADDR[6] | - |
| J7-22 | XGNSS_GPIO_6 | XGNSS_GPIO[6] | - | J7-29 | XM0ADDR_2 | EBI_ADDR[2] | - |
| J7-23 | XGNSS_GPIO_0 | XGNSS_GPIO[0] | - | J7-28 | XM0WAITN | SROM_WAITn | - |
| J7-24 | XGNSS_QSIGN | XGNSS_QSIGN | - | J7-27 | XM0ADDR_11 | EBI_ADDR11 | - |
| J7-25 | - | GND | GND | J7-26 | - | GND | GND |
2.3.2 Base board Extention Connector pin map
2.3.2.1 ODROID-A
| pin# | Function | CMT | pin# | Function | CMT |
| J18-1 | GND | GND | J18-2 | GND | GND |
| J18-3 | USBHOST_PWREN | USB Hub | J18-4 | USBHOST_D_P | USB Hub |
| J18-5 | USB_OVERCUR | USB Hub | J18-6 | USBHOST_D_N | USB Hub |
| J18-7 | I2C1_SDA | CPU | J18-8 | GPA1[0]/UART_2_RXD/UART_AUDIO_RXD | CPU |
| J18-9 | I2C1_SCL | CPU | J18-10 | GPA1[1]/UART_2_TXD/UART_AUDIO_TXD | CPU |
| J18-11 | GPD0[2]/TOUT_2/I2C_7_SDA | CPU | J18-12 | GPA1[2]/UART_2_CTSn/I2C_3_SDA | CPU |
| J18-13 | GPX0[5]/ALV_DBG[1]/WAKEUP_INT0[5] | CPU | J18-14 | GPA1[3]/UART_2_RTSn/I2C_3_SCL | CPU |
| J18-15 | GPA1[4]/UART_3_RXD/UART_AUDIO_RXD | CPU | J18-16 | GND | GND |
| J18-17 | GPA1[5]/UART_3_TXD/UART_AUDIO_TXD | CPU | J18-18 | AIN[6] | CPU |
| J18-19 | GPX2[6]/KP_ROW[6]/ALV_DBG18/WAKEUP_INT2[6] | CPU | J18-20 | AIN[7] | CPU |
| J18-21 | GPX2[4]/KP_ROW[4]/ALV_DBG16/WAKEUP_INT2[4] | CPU | J18-22 | AIN[8] | CPU |
| J18-23 | GPX2[0]/KP_ROW[0]/ALV_DBG12/WAKEUP_INT2[0] | CPU | J18-24 | AIN[9] | CPU |
| J18-25 | SYS | BAT | J18-26 | SYS | BAT |
| J18-27 | VDD_18_IO | - | J18-28 | VDD_28_IO | - |
| J18-29 | GND | GND | J18-30 | GND | GND |
2.3.2.2 ODROID-PC
| pin# | Function | CMT | pin# | Function | CMT |
| J18-1 | GND | GND | J18-2 | GND | GND |
| J18-3 | NONE | NONE | J18-4 | Xi2s2SDO/PCM_SOUT2/i2cSCL6/spiMOSI2/GPC1_4 | CPU |
| J18-5 | NONE | NONE | J18-6 | Xi2s2SDI/PCM_SIN2/i2sSDA6/spiMISO2/GPC1_3 | CPU |
| J18-7 | GPA1[0]/UART_2_RXD/UART_AUDIO_RXD | CPU | J18-8 | I2C1_SDA | CPU |
| J18-9 | GPA1[1]/UART_2_TXD/UART_AUDIO_TXD | CPU | J18-10 | I2C1_SCL | CPU |
| J18-11 | GPA1[2]/UART_2_CTSn/I2C_3_SDA | CPU | J18-12 | P3V3 | POWER |
| J18-13 | GPA1[3]/UART_2_RTSn/I2C_3_SCL | CPU | J18-14 | P3V3 | POWER |
| J18-15 | NONE | NONE | J18-16 | GND | GND |
| J18-17 | NONE | NONE | J18-18 | AIN[6] | CPU |
| J18-19 | XEINT_22/KP_ROW6/ALV_DBG18/GPX2_6 | CPU | J18-20 | AIN[7] | CPU |
| J18-21 | XEINT_20/KP_ROW4/ALV_DBG16/GPX2_4 | CPU | J18-22 | AIN[8] | CPU |
| J18-23 | GXEINT_16/KP_ROW0/ALV_DBG12/GPX2_0 | CPU | J18-24 | AIN[9] | CPU |
| J18-25 | NONE | NONE | J18-26 | VDD_28_IO | POWER |
| J18-27 | SYS | BAT | J18-28 | SYS | BAT |
| J18-29 | GND | GND | J18-30 | GND | GND |
2.4 Base Board
| 3G Modem | F5521GW has HSPA+/WCDMA/GSM/GPRS/EDGE connectivity and standalone GPS engine from Ericsson |
| WiFi/BT Combo Module | BCM4329 based module complies with IEEE 802.11 b/g/n + Bluetooth 2.1 EDR |
| Audio CODEC | MAX98089 is a full-featured and high performance audio CODEC from MAXIM |
| Charger Controller | MAX8903C, Switch mode Charge Li-Polymer battery with smart power path control |
| Fuel gauge | MAX17040 battery energy gauge |
| DC/DC Converters | MAX1790 for LCD backlight, XC9128 for USB host/HDMI, MAX15038 for 3G Modem |
| LVDS transmitter | DTC34LM85AL for RGB parallel to LVDS converter from DOESTEK |
| Level shifter | FXMA2102L8X for I2C/UART/HDMI voltage translator from Fairchild semiconductor |
| USB hub | USB2514B ultra low power USB 2.0 HS Hub controller from SMSC |
| Load switch | MAX8586 USB VBUS load controller |
| Gyroscope | MPU3050 has an embedded 3-axis gyroscope and Digital Motion Processor from Invensense |
| Accelerometer | BMA150 is a 3-axis, low-g acceleration sensor from Bosch Sensortec |
| Geomagnetic sensor | AMS0303M is an e-compass for detecting earth's magnetic field from Amosense |
| Motor driver | ISH1000 linear vibrator driver from Imagis Technology |
| Camera(Back) | - 3Mpixel Camera: LM35SS module contains QXGA(2048x1536) format sensor(Samsung S5K5CAG) with AutoFocus mechanism from Hansung Elcomtec. |
| Camera(Front) | - 1.3Mpixel Camera: CM130HF module contains SXGA(1280x1024) format sensor(Samsung S5K5AAFA) from Partron |
| Linear Motor | from Samsung Electro-Mechanics |
| Touch Screen | 10.1inch capacitive multi-touch from Tei corporation |
| Board to Board connector | for CPU board and Application board from Uju Electronics |
| HDMI | Standard type-C, support up to 1920 x 1080 resolution |
| IO(TTA20) | USB and Serial port for system monitoring |
| DC Jack | inner diameter 1.3mm, outer diameter 3.5mm(5V 2A) |
2.4.1 Base Board components
2.4.1.1 ODROID-A

2.4.1.2 ODROID-PC

3 Development Setup
4 T-flash sector map for Odroid-A
Caution : It depends on different Release version. You have to check your version of ODROID-A Update Image first!!!
Odroid-A has 8Gbyte T-flash(removable) memory card.
Assume it has 255 heads, 62 sectors/track, 1021 cylinders and
Sector size is 512bytes.
4.1 After release version of ODROID-A Update Image 27-May
| Area Name | Size in bytes | Start Address | Partition Name |
| FAT32 for Storage | 0x1916D0000(6,734,807,040) | 0x5A396C00(1,513,712,640) | mmcblkp1 |
| EXT4 for Android Cache | 0x833C400(137,610,240) | 0x5205A800(1,376,102,400) | mmcblkp4 |
| EXT4 for Android Data | 0x402B9400(1,076,597,760) | 0x11DA1400(299,504,640) | mmcblkp3 |
| EXT4 for Android System | 0x10678800(275,220,480) | 0x1728C00(24,284,160) | mmcblkp2 |
| RAMDISK | 0xB74000(12,009,472) | 0x48C000(4,767,744) | |
| KERNEL | 0x400000(4,194,304) | 0x8C000(573,440) | |
| BL2 | 0x80000(524,288) | 0x4200(16896) | |
| BL1 | 0x4000(16384) | 0x200(512) | |
| Partition table / MBR | 0x200(512) | 0x0(0) |
Note : You can also update them all with dd(data dump) command on the Linux.
For example : kernel updating $ sudo dd if=zImage of=/dev/sdc bs=1 seek=573440 - zImage : kernel update image - /dev/sdc : micro-sd card device node (It should be unmount status and be very careful) - 573440 : Start Address of kernel AREA(Decimal number)
4.2 Before Release version of ODROID-A Update Image 27-May
| Area Name | Size in bytes | Start Address | Partition Name |
| FAT32 for Storage | 0x191E88400(6,742,901,760) | 0x59BDE800(1,505,617,920) | mmcblkp1 |
| EXT4 for Android Cache | 0x833C400(137,610,240) | 0x518A2400(1,368,007,680) | mmcblkp4 |
| EXT4 for Android Data | 0x402B9400(1,076,597,760) | 0x115E9000(291,409,920) | mmcblkp3 |
| EXT4 for Android System | 0x10678800(275,220,480) | 0xF70800(16,189,440) | mmcblkp2 |
| RAMDISK | 0xAE8600(11,437,568) | 0x488200(4,751,872) | |
| KERNEL | 0x400000(4,194,304) | 0x88200(557,568) | |
| BL2 | 0x80000(524,288) | 0x8200(33280) | |
| ENV | 0x4000(16,384) | 0x4200(16896) | |
| BL1 | 0x2000(8,192) | 0x200(512) | |
| Partition table / MBR | 0x200(512) | 0x0(0) |
Note : You can also update them all expect bootloader with dd(data dump) command on the Linux.
In this case of bootloader CAN NOT update using fastboot
For example : kernel updating $ sudo dd if=zImage of=/dev/sdc bs=1 seek=557568 - zImage : kernel update image - /dev/sdc : micro-sd card device node (It should be unmount status and be very careful) - 557568 : Start Address of kernel AREA(Decimal number)
5 Recovery utility
If your Odroid-A file system is broken or damaged, you can recover the T-flash card with this utility.
Unplug your T-flash from ODROID-A and connect it to your PC.
Note: This software is compatible with only Windows-XP.
Perform enforcement the compatibility mode with Windows-Vista or Windows-7.
You can also recover ODROID-A file system with dd(data dump) command on the Linux.
$ sudo dd if=odroid_a_img.odt of=/dev/sdx bs=4096
Note: You can get odroid_a_img.odt(the file name might not be the same) from
http://com.odroid.com/sigong/nf_file_board/nfile_board.php,
/dev/sdx is your T-flash device node and it should be unmount status.
http://com.odroid.com/sigong/nf_file_board/nfile_board.php,
/dev/sdx is your T-flash device node and it should be unmount status.
6 ADB USB driver for Windows
The Windows XP/VISTA ADB device driver for application developers can be found here.
7 User's manual
[
ODROID-A_User_Manual_ENG.pdf (1.11 MB) ]
ODROID-A_User_Manual_ENG.pdf (1.11 MB) ]
8 ODROID-A & PC Uboot
- For the Uboot compile HowTo and update Howto, refer below link. It is shared with ODROID-T/S/7 wiki
9 ODROID-A & PC Linux Kernel
9.1 Preface
This page will explain how to compile Linux Kernel for ODROID-A.
9.2 Build enironment
Tested with Ubuntu 10.04/10.10/11.04 (Other Linux package might be fine to build Linux Kernel)
64bit version is also working well.
- For the cross compiler(tool-chain) installation, refer to the below link.
9.3 Source code download
Linux kernel source code is stored in bundled micro SD card.
Please use this link to get the latest source code because there are many updates.
9.4 Kernel compile
To start Kernel compile, .config file should be made first.
Odroid-a Kenel configuration file is located in arch/arm/configs/odroida_android_defconfig
You can make .config with below command.
9.4.1 ODROID-A
# make ARCH=arm odroida_android_defconfig ====> Odroid-a
Let's start compile !
# make ARCH=arm CROSS_COMPILE=arm-none-eabi-
9.4.2 ODROID-PC
# make ARCH=arm odroida_android_pc_defconfig ====> Odroid-PC
Let's start compile !
# make ARCH=arm CROSS_COMPILE=arm-none-eabi-
If you build kernel successfully, you will have "arch/arm/boot/zImage" (approximately 2Mbytes).
9.5 Transfer kernel image to target board
9.5.1 For Windows(XP) PC Users
- Use Windows utility fastboot.exe and USB driver. You can get the fastboot.exe from
Android Developers and USB driver from this link and uncompress it.
http://dev.odroid.com/projects/odroida/download/70?filename=windows-usb_driver-fastboot.zip
1) Connect Debug board and PC serial port with Serial Cable(1:1)
2) Run serial communication software in PC (HyperTerminal/SecureCRT/etc)
3) Configure serial port options (COM port, Baudrate : 115200, DATA : 8, STOP : 1, No-Parity, No Flow Control)
4) Turn on Odroid and you can see the below booting message. Be sure to press any key quickly to stop the OS booting process.
2) Run serial communication software in PC (HyperTerminal/SecureCRT/etc)
3) Configure serial port options (COM port, Baudrate : 115200, DATA : 8, STOP : 1, No-Parity, No Flow Control)
4) Turn on Odroid and you can see the below booting message. Be sure to press any key quickly to stop the OS booting process.
OK U-Boot 2010.03-svn ( 4?? 05 2011 - 21:19:18) for HKDKC210 Android APLL = 1000MHz, MPLL = 800MHz PMIC: Board: hkdkc210 EVT1 POP_B DRAM: 1 GB OneNAND: 0 kB MMC: 3884 MB *** Warning - using default environment In: serial Out: serial Err: serial Checking Boot Mode ... SDMMC board_late_init Hit any key to stop autoboot: 1 HKDKC210 #
5) With "fastboot" command, you can download any binary file to Odroid RAM from PC via USB.
HKDKC210 # fastboot [Partition table on MoviNAND] ptn 0 name='bootloader' start=0x0 len=N/A (use hard-coded info. (cmd: movi)) ptn 1 name='kernel' start=N/A len=N/A (use hard-coded info. (cmd: movi)) ptn 2 name='ramdisk' start=N/A len=0x300000(~3072KB) (use hard-coded info. (cmd: movi)) ptn 3 name='system' start=0xF70800 len=0x10678800(~268770KB) ptn 4 name='userdata' start=0x115E9000 len=0x402B9400(~1051365KB) ptn 5 name='cache' start=0x518A2400 len=0x833C400(~134385KB) ptn 6 name='fat' start=0x59BDE800 len=0x91E88400(~2390561KB) Insert a OTG cable into the connector!
6) If you plug in the USB Cable, you are ready to send binary files to Odroid.
7) It's time to execute fastboot.exe utility. But, you should install the USB driver first.
Driver installation is only required for the first time of USB connection. Driver file location at this link.
7) It's time to execute fastboot.exe utility. But, you should install the USB driver first.
8) Run cmd.exe like this
Windows(Start) --> Run --> input "cmd" --> Enter
9) Excute fastboot command (It has to contain Your Env PATH)
Microsoft Windows [Version 6.1.7600] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\Users\neal>echo %PATH% C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32; C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\; C:\Program Files\Windows Live\Shared;C:\Program Files\Altium Designer Summer 09\ System;C:\Program Files\OpenSSH\bin;C:\Program Files\SlikSvn\bin\;C:\Program Fil es\Android\android-sdk\tools C:\Users\neal>
10) If you want to update kernel, you have to write down below the command.
C:\project\Odroid-a\RawImage>fastboot flash kernel zImage sending 'kernel' (3231 KB)... OKAY [ 0.478s] writing 'kernel'... OKAY [ 0.792s] finished. total time: 1.270s C:\project\Odroid-a\RawImage> Note : zImage is your KERNEL image file that will be write to your Odroid-A
11) And you have to confirm to write is OK on your serial communication software in PC (HyperTerminal/SecureCRT/etc)
Received 17 bytes: download:00327c54 Starting download of 3308628 bytes ... downloading of 3308628 bytes finished Received 12 bytes: flash:kernel flashing 'kernel' writing kernel.. 1089, 8192 MMC write: dev # 0, block # 1089, count 8192 ... .8192 blocks written: OK completed partition 'kernel' flashed
12) If you want to update RAMDISK, you have to write down below the command.
C:\project\Odroid-a\RawImage>fastboot flash ramdisk ramdisk-uboot.img Note : ramdisk-uboot is your ramdisk image file that will be write to your Odroid-A
9.5.2 For Linux (Ubuntu) PC Users
* Use one of Android tools fastboot.
You can get the file from Android out folder which is built by your Android system.
- To execute fastboot, you need to install libusb.
$ sudo apt-get install libusb-dev
1) Connect the Debug board and PC serial port with Serial Cable(1:1)
2) Run serial communication software in PC (minicom or others)
3) Set serial options (COM port, Baudrate : 115200, DATA : 8, STOP : 1, No-Parity, No Flow Control)
4) Turn on Odroid and you can see below booting message. You need to quickly press any key to stop the OS booting process.
2) Run serial communication software in PC (minicom or others)
3) Set serial options (COM port, Baudrate : 115200, DATA : 8, STOP : 1, No-Parity, No Flow Control)
4) Turn on Odroid and you can see below booting message. You need to quickly press any key to stop the OS booting process.
OK
U-Boot 2010.03-svn ( 3� 28 2011 - 15:44:25) for HKDKC210 Android
APLL = 1000MHz, MPLL = 800MHz
PMIC:
Board: hkdkc210
EVT1 POP_B
DRAM: 1 GB
OneNAND: 0 kB
MMC: 3884 MB
*** Warning - using default environment
In: serial
Out: serial
Err: serial
Checking Boot Mode ... SDMMC
board_late_init
Hit any key to stop autoboot: 0
HKDKC210 #
5) With "fastboot" command, you can download any binary file to Odroid RAM from PC via USB.
HKDKC210 # fastboot [Partition table on MoviNAND] ptn 0 name='bootloader' start=0x0 len=N/A (use hard-coded info. (cmd: movi)) ptn 1 name='kernel' start=N/A len=N/A (use hard-coded info. (cmd: movi)) ptn 2 name='ramdisk' start=N/A len=0x300000(~3072KB) (use hard-coded info. (cmd) ptn 3 name='system' start=0xF70800 len=0x10678800(~268770KB) ptn 4 name='userdata' start=0x115E9000 len=0x402B9400(~1051365KB) ptn 5 name='cache' start=0x518A2400 len=0x833C400(~134385KB) ptn 6 name='fat' start=0x59BDE800 len=0x91E88400(~2390561KB) Insert a OTG cable into the connector!
6) If you plug in the USB Cable, you are ready to send binary file to Odroid.
7) Open another Terminal window and You can check whether USB connection is correct or not with lsusb command.
7) Open another Terminal window and You can check whether USB connection is correct or not with lsusb command.
$ lsusb Bus 007 Device 002: ID 0566:4002 Monterey International Corp. Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 003: ID 04fe:0006 PFU, Ltd Bus 005 Device 002: ID 04fe:0008 PFU, Ltd Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 002: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 004: ID 18d1:0002 Google Inc. <=== OK!!! Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub $
8) If you want to update KERNEL, you have to write down below the command.
$ sudo /home/neal/bin/fastboot flash kernel zImage Note : zImage is your KERNEL image file that will be write to your Odroid-A
9) After downloading, PC will show the below message.
$ sudo /home/neal/bin/fastboot flash kernel arch/arm/boot/zImage
sending 'kernel' (3231 KB)... OKAY [ 0.478s]
writing 'kernel'... OKAY [ 0.792s]
finished. total time: 1.270s
$
10) After downloading, Serial terminal will show below message.
12) If you want to update RAMDISK, you have to write down below the command.
HKDKC210 # fastboot [Partition table on MoviNAND] ptn 0 name='bootloader' start=0x0 len=N/A (use hard-coded info. (cmd: movi)) ptn 1 name='kernel' start=N/A len=N/A (use hard-coded info. (cmd: movi)) ptn 2 name='ramdisk' start=N/A len=0x300000(~3072KB) (use hard-coded info. (cmd) ptn 3 name='system' start=0xF70800 len=0x10678800(~268770KB) ptn 4 name='userdata' start=0x115E9000 len=0x402B9400(~1051365KB) ptn 5 name='cache' start=0x518A2400 len=0x833C400(~134385KB) ptn 6 name='fat' start=0x59BDE800 len=0x91E88400(~2390561KB) Received 17 bytes: download:00327c54 Starting download of 3308628 bytes ... downloading of 3308628 bytes finished Received 12 bytes: flash:kernel flashing 'kernel' writing kernel.. 1089, 8192 MMC write: dev # 0, block # 1089, count 8192 ... .8192 blocks written: OK completed partition 'kernel' flashed
12) If you want to update RAMDISK, you have to write down below the command.
$ sudo /home/neal/bin/fastboot flash ramdisk ramdisk-uboot.img Note : ramdisk-uboot.img is your RAMDISK image file that will be write to your Odroid-A
13) After flash them all, reboot command will rebooting.
$ sudo /home/neal/bin/fastboot reboot Note: But this version can not reboot. We recommend that input "Ctrl + c", after input command "boot" will be process to booting
9.6 How to be a developer for this project
If you want to join this project, please email me(ruppi.kim at hardkernel.com) your id.
Or, leave a message on the board with the following information.
Title: Want to be a member.
ID: (Your login ID)
Description: Brief introduction
After the registration process, you can commit source with git and modify Wiki pages
ID: (Your login ID)
Description: Brief introduction

