Мини-обзор: планшет Ainol Novo7 Paladin и процессор JZ4770

В лучших канонах олдскула нас пугают скорым явлением консоли GCW, которая затмит славу Dingoo A320.

Чтобы подлить масла в огонь предлагаю мини-обзор планшета Ainol Novo7 Paladin. Данный планшет собран на той же элементной базе, что и GCW.

Особенности планшета:

  • операционная система Android 4.0 (Ice Cream Sandwich);
  • центральный процессор Ingenic JZ4770 с архитектурой MIPS (как у GCW);
  • низкая цена.

В обзоре кратко рассмотрим планшет, перемоем кости ARM и MIPS, приглядимся поближе к JZ4770. В конце обзора проводится препарирование планшета с подключением к UART.

Собственно сам планшет выглядит так:


Внешний вид

Подробному рассмотрению планшета Ainol Paladin посвящено немалое число обзоров на русском и английском языках (ссылки приведены в конце обзора). Поэтому здесь будет дана только краткая характеристика.

Таблица 1. Характеристики Ainol Paladin

Дисплей ёмкостной, 7 дюймов, 800×400
ОС Android 4.0
Процессор JZ4770
ОЗУ 512 МБ
SSD 8 ГБ
Интерфейсы miniUSB, кардридер microSDHC, Wi-Fi

Ainol Paladin является младшим представителем семейства планшетов Ainol на базе Ingenic JZ4770. У него нет ни одной камеры, ни выхода HDMI, ни Bluetooth.



Очень коротко про ПО. На планшет установлены стандартные встроенные приложения Android 4.0 (Web-браузер, Почта, Календарь и прочие Карты и Market’ы). Для того, чтобы пользователю было чем заняться установлен набор популярных игр вроде Angry Birds и Fruit Ninja; также присутствуют игры с поддержкой 3D: Asphalt 5 и Burning Tires. Обнаружились также Mail.ru агент, Одноклассники и В контакте.

Отдельная оговорка по поводу цены. По словам главного архитектора компании (!) MIPS Tech, Amit Rogatgi, стоимость Novo7 Paladin составляет 79 USD. Однако, в интернет-магазине Willgoo.com Ainol Novo 7 Paladin предлагается за 106 USD, что отличается от 79 USD, но тоже не слишком много.

Однако не только низкая цена привлекает внимание к этому планшету. Внутри у него процессор с архитектурой MIPS!

ARM и MIPS: RISCовые ребята

Рост рынка потребительских мобильных устройств позволил компании ARM получить деньги за лицензии на почти 8 миллиардов процессоров (см. ARM dominates 10B unit CPU core market). На фоне такого успеха 656 миллионов процессоров MIPS смотрятся жалко. Почувствовав, что почва уплывает из-под ног, в MIPS засуетились и с стали пытаться как-то поправить положение. Одним из шагов в этом направлении стали работы по стимуляции создания популярных планшетов на базе процессоров с архитектурой MIPS.

На выставке Mobile World Congress в начале весны 2012 года MIPS Tech. яростно пиарила изделия с архитектурой MIPS. Собственно стенд MIPS состоял из образцов потребительских устройств (планшетов и электронных книг) на базе процессоров с архитектурой MIPS:


В левом верхнем углу стенда — Паладин!

Для пользователя Android’а при нынешнем состоянии дел процессор MIPS вряд-ли является преимуществом, скорее недостатком. И вот почему: хотя немалая часть ПО написана на Java, а значит проблема переносимости в значительной мере снимается, есть всё-таки и такое ПО, которое на Java не будет работать с желаемой прытью (например, те же эмуляторы или какие-нибудь ресурсоёмкие игры), а значит их придётся писать на C/C++, компилировать в коды процессора. Далеко не все разработчики ПО под Android будут этим заниматься.

Несмотря на скромные (по сравнению с ARM) достижения MIPS Tech в 2011 году, перспективы архитектуры MIPS в целом не так плохи. Дело в том, что львиную долю лицензий ARM составляют лицензии на сравнительно простые ядра (можно даже сказать урезанные). Эти ядра используются в микросхемах, которые можно смело называть микроконтроллерами — на них используются очень простые встраиваемые ОС, а часто они работают и совсем без ОС. Для подобных систем применение MIPS32 может оказаться просто избыточным. Архитектура MIPS традиционно используется в высокопроизводительных сетевых приложениях, например, какой процессор на базе ARM может потягаться с 8-ядерным (!) netlogic XLP832? Также можно отметить, что 64-рязрядная архитектура MIPS существует уже больше 10 лет, а 64-разрядная реализация ARM (ARMv8) существует только в виде макетных образцов (что с другой стороны может означать, что MIPS недостаточно хорошо использовала своё преимущество).

JZ4770

Посмотрим, чем JZ4770 отличается от JZ4755, который используется в Dingoo A320E и Dingoo A380.

Таблица 2. Отличия JZ4770 от JZ4755

Характеристика JZ4755 JZ4770
система команд MIPS32 R1 MIPS32 R2
FPU нет есть
GPU нет есть
интерфейс ОЗУ SDRAM DDR/DDR2
технология изготовления 160 nm 65 nm
корпус LQFP176 BGA379
типичные частоты, МГц 400 1000

Главное преимущество JZ4770 по сравнению с предшественниками любой даже самый неискушённых в устройстве процессора пользователь может наблюдать буквально невооружённым глазом. Это 3D ускоритель (GPU)! Причём это не самобытный Ingenic’овский, а лицензированный у Vivante GC860; это позволит использовать OpenGL ES2.0, ES1.0 и OpenVG1.1.

По сравнению с JZ4755 у JZ4770 стало больше периферийных интерфейсов:

  • появился Ethernet 10/100 Мбит;
  • увеличилось количеств SDIO, I2C и SPI интерфейсов;
  • интерфейс для SIM-карт встроен в процессор;
  • в JZ4770 имеется USB HOST, в то время как JZ4755 может использоваться только в качестве ведомого устройства.

У JZ4770 увеличилось число режимов загрузки. В то время как JZ4755 умеет грузиться с NAND, USB или SDIO, JZ4770 умеет грузиться также с SPI, NOR и iNAND.

Разбор и подключение к UART

Для разбора планшета необходимо отвернуть четыре винта, которые прячутся за приклеенными квадратными заглушками.


заглушки

После этого надо отжать защёлки рамки, фиксирующей touchscreen, и всё — планшет разобран!

Внутри обнаруживается аккуратная плата со сравнительно небольшим число компонентов:


Печатная плата: вид снизу

На плате без труда находятся выделенные три контактные площадки, рядом с которым нанесены обозначения UART, TXD и RXD. Хотя площадки небольшие, пайка не доставляет особых проблем.


Печатная плата: вид сверху

При включении через UART выдаётся следующее:

X-Boot: Serial is ok ...
X00000004
00000002
DDR SIZE(MB):0x00000200
X-Boot: Sdram initted ...
SD card found!
init ok
Starting X-Boot ...
X-Boot: PixCLK = 0x0166C488
X-Boot: PLL_CLK = 0x3C14DC00
X-Boot: In lcd_clear ...
00000020
00000320
000001E0
00000320
000001E0
-----------------
01E00320
00000320
00000320
00000320
00000320
00000320
00000320
00000320
X-Boot: Getting boot sel keys ...
X-Boot: Getting boot message ...
X-Boot: Enter msc_boot routine ...
X-Boot: Normal boot ...
00300000
00800000
X-Boot: Load kernel from MSC ...
SD init ok

mmc/sd read OK!
00258000
000F2000

mmc/sd read OK!
X-Boot: Prepare kernel parameters ...
X-Boot: mem=224M@0x0 mem=128M@0x30000000 console=ttyS2,57600n8 ip=off root=/dev/ram0 rw rdinit=/init memcfg=512M rd_start=0x80A00000 rd_size=0x000F1B7C cpu_version=4770v1
X-Boot: Jump to kernel start Addr 0x80600000

Linux version 3.0.8-svn799 (yliu@android10) (gcc version 4.3.2 (Sourcery G++ Lite 4.3-51) ) #3 PREEMPT Tue Jan 31 09:52:59 CST 2012
bootconsole [early0] enabled
CPU revision is: 2ed1024f (Ingenic Xburst)
FPU revision is: 00330000
CPU clock: 1008MHz
PCLK: 126MHz
Memory clock: 252MHz
H1CLK: 252MHz
H2CLK: 252MHz
AUX clock: 504MHz
REG_CPM_PSWC1ST = 0x00000010
REG_CPM_PSWC2ST = 0x00000009
REG_CPM_PSWC0ST = 0x00000000
REG_CPM_PSWC3ST = 0x00000000
JZ4770 NP_M702 board setup
Power Management for JZ
40000 0 3703fdb1 8f8004a
100fffd0 0 680000f e9700020
4fffffff 0 0 90000000
3f078cf 0 3c008300 c00f0430
41cfa 0 df3a305 f2004000
80 0 ffd4bf5f 2b4020
Determined physical RAM map:
memory: 04000000 @ 00000000 (usable)
User-defined physical RAM map:
memory: 0e000000 @ 00000000 (usable)
memory: 08000000 @ 30000000 (usable)
Initial ramdisk at: 0x80a00000 (990076 bytes)
Zone PFN ranges:
Normal 0x00000000 -> 0x00020000
HighMem 0x00020000 -> 0x00038000
Movable zone start PFN for each node
early_node_map[2] active PFN ranges
0: 0x00000000 -> 0x0000e000
0: 0x00030000 -> 0x00038000
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 88320
Kernel command line: mem=224M@0x0 mem=128M@0x30000000 console=ttyS2,57600n8 ip=off root=/dev/ram0 rw rdinit=/init memcfg=512M rd_start=0x80A00000 rd_size=0x000F1B7C cpu_version=4770v1
PID hash table entries: 1024 (order: 0, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Primary instruction cache 16kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 16kB, 4-way, VIPT, no aliases, linesize 32 bytes
Memory: 341812k/229376k available (4124k kernel code, 18636k reserved, 1020k data, 204k init, 131072k highmem)
SLUB: Genslabs=9, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
NR_IRQS:256
serial ->Mode disabled.
console [ttyS2] enabled, bootconsole disabled
console [ttyS2] enabled, bootconsole disabled
Calibrating delay loop... 1001.88 BogoMIPS (lpj=5009408)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
NET: Registered protocol family 16
jz_platform_init
bio: create slab at 0
val = 0xc70177
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
i2c i2c-0: Invalid 7-bit I2C address 0x00
i2c i2c-0: Can't create device at 0x00
jz_i2c0 jz_i2c0.0: JZ4770 i2c bus driver.
jz_i2c1 jz_i2c1.1: JZ4770 i2c bus driver.
i2c i2c-2: Invalid 7-bit I2C address 0x00
i2c i2c-2: Can't create device at 0x00
jz_i2c2 jz_i2c2.2: JZ4770 i2c bus driver.
i2c-gpio i2c-gpio.3: using pins 153 (SDA) and 156 (SCL)
act8600_power:
4 87 1
5 49 1
6 57 0
7 57 0
8 36 0
Switching to clocksource jz_clocksource
musb-hdrc: version 6.0, pio, otg (peripheral+host)
jz47xx: Normal mode.
USB AS PERIPHERAL MODE
jz47xx: Disable USB PHY.
musb-hdrc musb-hdrc: USB OTG mode controller at b3440000 using PIO, IRQ 21
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 966k freed
highmem bounce pool size: 64 pages
ashmem: initialized
fuse init (API version 7.16)
msgmni has been set to 413
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
serial47xx: ttyS0 at MMIO 0x0 (irq = 5) is a jz_uart
serial47xx: ttyS1 at MMIO 0x0 (irq = 4) is a jz_uart
serial47xx: ttyS2 at MMIO 0x0 (irq = 3) is a jz_uart
serial47xx: ttyS3 at MMIO 0x0 (irq = 2) is a jz_uart
REG_CPM_GPUCDR= 0x80000000
GPU CLOCK USE PLL1
GPU GPU_CLK2x= 432 MHz
brd: module loaded
loop: module loaded
usbcore: registered new interface driver ub
pmem: 1 init
pmem_adsp: 1 init
Virtual Driver of JZ TCSM registered
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
usbcore: registered new interface driver asix
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver dm9601
usbcore: registered new interface driver qf9700
usbcore: registered new interface driver net1080
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver zaurus
cdc_ncm: 04-Aug-2011
usbcore: registered new interface driver cdc_ncm
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver ums-alauda
usbcore: registered new interface driver ums-cypress
usbcore: registered new interface driver ums-datafab
usbcore: registered new interface driver ums_eneub6250
usbcore: registered new interface driver ums-freecom
usbcore: registered new interface driver ums-isd200
usbcore: registered new interface driver ums-jumpshot
usbcore: registered new interface driver ums-karma
usbcore: registered new interface driver ums-onetouch
usbcore: registered new interface driver ums-sddr09
usbcore: registered new interface driver ums-sddr55
usbcore: registered new interface driver ums-usbat
usbcore: registered new interface driver usbserial
USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
USB Serial support registered for GSM modem (1-port)
usbcore: registered new interface driver option
option: v0.7.2:USB Driver for GSM modems
android_usb gadget: Mass Storage Function, version: 2009/09/11
android_usb gadget: Number of LUNs=3
lun0: LUN: removable file: (no medium)
lun1: LUN: removable file: (no medium)
lun2: LUN: removable read only CD-ROM file: (no medium)
android_usb gadget: android_usb ready
musb-hdrc musb-hdrc: MUSB HDRC host driver
musb-hdrc musb-hdrc: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
jz47xx: Enable USB PHY.
input: jz-gpio-key as /devices/platform/jz-gpio-key/input/input0
input: ldwzic_ts as /devices/virtual/input/input1
WARNING: can NOT get clock 4117!
using rtc device, jz4770-rtc, for alarms
jz4770-rtc jz4770-rtc: rtc core: registered jz4770-rtc as rtc0
check mma8452 chip ID
android_work: sent uevent USB_STATE=CONNECTED
--------> board_usb_connect_callback
android_work: sent uevent USB_STATE=DISCONNECTED
input: g_sensor as /devices/virtual/input/input2
add mma8452 i2c driver
input: orientation_sensor as /devices/virtual/input/input3
device-mapper: uevent: version 1.0.3
device-mapper: ioctl: 4.20.0-ioctl (2011-02-02) initialised: dm-devel@redhat.com
mmc0: No card detect facilities available
host->dma.channel = 4
JZ jz-msc driver registered
mmc1: No card detect facilities available
0: real-rate = 200000, rate = 200000, clkrt = 7
host->dma.channel = 8
JZ jz-msc driver registered
host->dma.channel = 9
JZ jz-msc driver registered
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
android_work: sent uevent USB_STATE=CONNECTED
JZMMC(0): CMD52 error report--Timeout while responsing
logger: created 256K log 'log_main'
logger: created 256K log 'log_events'
android_work: sent uevent USB_STATE=DISCONNECTED
mmc:jz_mmc_stop_dma
JZMMC(0): CMD52 error report--
logger: created 256K log 'log_radio'
logger: created 256K log 'log_system'
Timeout while responsing
mmc:jz_mmc_stop_dma
0: real-rate = 200000, rate = 200000, clkrt = 7
register codec 80318dbc
JZ_DLV: waring, dlv_reset_part() is a default function
0: real-rate = 200000, rate = 200000, clkrt = 7
JZMMC(0): CMD5 error report--Timeout while responsing
JZ_DLV: waring, dlv_init_part() is a default function
android_work: sent uevent USB_STATE=CONNECTED
JZ I2S OSS audio driver initialized
Netfilter messages via NETLINK v0.30.
mmc:jz_mmc_stop_dma
android_work: sent uevent USB_STATE=DISCONNECTED
JZMMC(0): CMD5 error report--Timeout while responsing
mmc:jz_mmc_stop_dma
NF_TPROXY: Transparent proxy support initialized, version 4.1.0
JZMMC(0): CMD5 error report--Timeout while responsing
NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
mmc:jz_mmc_stop_dma
JZMMC(0): CMD5 error report--Timeout while responsing
ip_tables: (C) 2000-2006 Netfilter Core Team
mmc:jz_mmc_stop_dma
0: real-rate = 200000, rate = 200000, clkrt = 7
TCP cubic registered
NET: Registered protocol family 10
Mobile IPv6
ip6_tables: (C) 2000-2006 Netfilter Core Team
android_work: sent uevent USB_STATE=CONNECTED
0: real-rate = 200000, rate = 200000, clkrt = 7
android_work: sent uevent USB_STATE=DISCONNECTED
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
0: real-rate = 200000, rate = 200000, clkrt = 7
panel AT070TN93 selected
0: real-rate = 200000, rate = 200000, clkrt = 7
jz47xxfb_map_smem FB_Size = 3198976 bytes
<>
<>
BPP32_FORMAT_ORDER == FORMAT_X8B8G8R8
0: real-rate = 25000000, rate = 25000000, clkrt = 0
LCDC:Request PixCLK:25863420
android_work: sent uevent USB_STATE=CONNECTED
LCDC:Real PixCLK:25411764
0: real-rate = 25000000, rate = 25000000, clkrt = 0
android_work: sent uevent USB_STATE=DISCONNECTED
fb0: jzlcd-fg0 frame buffer device, using 3124K of video memory
mmc0: new SDHC card at address 0002
mmcblk0: mmc0:0002 CHYUA 7.40 GiB
mmcblk0: p1 p2 p3 p4
============ REG_LCD_PCFG= 0xC7FF2100
1: real-rate = 200000, rate = 200000, clkrt = 7
1: real-rate = 200000, rate = 200000, clkrt = 7
1: real-rate = 200000, rate = 200000, clkrt = 7
1: real-rate = 200000, rate = 200000, clkrt = 7
android_work: sent uevent USB_STATE=CONNECTED
1: real-rate = 200000, rate = 200000, clkrt = 7
1: real-rate = 200000, rate = 200000, clkrt = 7
1: real-rate = 200000, rate = 200000, clkrt = 7
1: real-rate = 200000, rate = 200000, clkrt = 7
1: real-rate = 200000, rate = 200000, clkrt = 7
android_work: sent uevent USB_STATE=DISCONNECTED
android_work: sent uevent USB_STATE=CONNECTED
android_work: sent uevent USB_STATE=DISCONNECTED
jz4770-rtc jz4770-rtc: setting system clock to 2010-11-14 02:32:29 UTC (1289701949)
android_work: sent uevent USB_STATE=CONNECTED
android_work: sent uevent USB_STATE=DISCONNECTED
android_work: sent uevent USB_STATE=CONNECTED
android_work: sent uevent USB_STATE=DISCONNECTED
serial ->Mode disabled.
Freeing unused kernel memory: òinit (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj instead.
android_work: sent uevent USB_STATE=CONNECTED
android_work: sent uevent USB_STATE=DISCONNECTED
android_work: sent uevent USB_STATE=CONNECTED
android_work: sent uevent USB_STATE=DISCONNECTED
android_work: sent uevent USB_STATÅserial ->EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
init: nargs = 3
init: bÿserial ->Mode disabled.
init: margs[1] = /system/bin/sh
init: margs[2] = /system/etc/disk_preparing.sh
/system/bin/sh: /system/etc/disk_preparing.sh: No such file or directory
init: after wait 60
EXT4-fs (mmcblk0p1): re-mounted. Opts: (null)
init: nargs = 4
init: bserial ->Mode disabled.
init: margs[1] = /sbin/e2fsck
init: margs[2] = -y
init: margs[3] = /dev/block/mmcblk0p2
e2fsck 1.41.11 (14-Mar-2010)
data: recovering journal
data: clean, 634/65536 files, 85596/262139 blocks
init: after wait 62
EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
init: nargs = 2
init: bÿserial ->Mode disabled.
init: margs[1] = /system/bin/sync
init: after wait 65
init: nargs = 3
init: bÿserial ->Mode disabled.
init: margs[1] = /system/bin/sh
init: margs[2] = /system/etc/vendorprepare.sh
vendor abi ok!!!
/system/etc/vendorprepare.sh[7]: chmod: not found
init: after wait 66
EXT4-fs (mmcblk0p3): recovery complete
EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
init: nargs = 2
init: þserial ->Mode disabled.
init: margs[1] = /system/bin/readbattery
jz47xx_battery useinit: after wait 69
init: nargs = 3
init: þserial ->Mode disabled.
init: margs[1] = /system/bin/readbattery
init: margs[2] = update_curve
init: after wait 70
init: nargs = 3
init: before wait 72
init: margs[1] = /system/bin/sh
init: margs[2] = /system/etc/calibration.sh
/system/bin/sh: /syinit: after wait 72
stem/etc/calibration.sh: No such file or directory
adb_bind_config
/system/bin/sh: No controlling tty (opadb_open
en /dev/tty: No such device or address)
/system/bin/sh: warning: won't have full job control
file offset: 0
file length: 3874816
android_work: sent uevent USB_STATE=DISCONNECTED
header crc32 : 0x82a1ad85 and 0x7227cdcc
android_work: sent uevent USB_STATE=CONNECTED
android_work: sent uevent USB_STATE=DISCONNECTED
android_work: sent uevent USB_STATE=CONNECTED
android_usb gadget: high speed config #1: android
android_work: sent uevent USB_STATE=CONFIGURED
shell@android:/ $ battery_calculate_rising USB
next scan time : 216
warning: `rild' uses 32-bit capabilities (legacy support in use)
opening AT interface. retrying...: No such file or directory
image is the same, not flashing recovery

shell@android:/ $
jz47xxfb0_open() jzfb0_open_cnt=1
jz47xxfb0_open() jzfb0_open_cnt=2
jz47_ipu_wait_frame_end_flag() timeout....
fatal error opening "/sys/power/wake_lock"
fatal error opening "/sys/android_power/acquire_partial_wake_lock"
CODEC SET ROUTE: Route name : REPLAY_HP_STEREO_WITH_CAP
CODEC SET ROUTE: Route name : REPLAY_HP_STEREO_WITH_CAP
SET_ROUTE: need not to set!, current route is route now!

########### SND_SET_DEVICE ###########
, device = 4, ear_mute = 1, mic_mute = 1
########### SND_SET_DEVICE ###########

AudioStreJZ_DLV: waring, dlv_set_standby() is a default function
amOuJZ DLV: Unkown ioctl argument in SND_SET_STANDBY
tJz47xx ... standby()
shell@android:/ $ cat /proc/cpuinfo
system type : JZ4770
processor : MIPS-compatible processor JZ4770
cpu model : Ingenic Xburst
BogoMIPS : 1001.88
wait instruction : yes
microsecond timers : no
tlb_entries : 32
extra interrupt vector : yes
hardware watchpoint : yes, count: 1, address/irw mask: [0x0fff]
ASEs implemented : mxu
shadow register sets : 1
core : 0
VCED exceptions : not available
VCEI exceptions : not available
Features : fpu mxu dsp lowpower
CPU implementer : Ingenic
CPU architecture : MIPS

Hardware : npm702
Revision : 0005
Serial : 0000000000000000

EFUSE0 : 6a981b20
EFUSE1 : 0fb06011
EFUSE2 : f3170000
EFUSE3 : 8854c84f
EFUSE4 : 00000000
EFUSE5 : 00000000
EFUSE6 : 00000000
EFUSE7 : 00000000

shell@android:/ $ cat /proc/devices
Character devices:
1 mem
2 pty
3 ttyp
4 ttyS
5 /dev/tty
5 /dev/console
5 /dev/ptmx
10 misc
13 input
14 sound
29 fb
108 ppp
128 ptm
136 pts
180 usb
188 ttyUSB
189 usb_device
199 galcore
252 jz_charsd
253 ttyGS
254 rtc

Block devices:
1 ramdisk
259 blkext
7 loop
8 sd
65 sd
66 sd
67 sd
68 sd
69 sd
70 sd
71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
179 mmc
180 ub
254 device-mapper
shell@android:/ $ cat /proc/version
Linux version 3.0.8-svn799 (yliu@android10) (gcc version 4.3.2 (Sourcery G++ Lite 4.3-51) ) #3 PREEMPT Tue Jan 31 09:52:59 CST 2012
shell@android:/ $ cat /proc/interrupts
CPU0
0: 0 INTC jz_i2c1.1
1: 4 INTC jz_i2c0.0
3: 4036 INTC serial
6: 230 INTC galcore interrupt service
18: 267 INTC jz-sdac
21: 339 INTC musb-hdrc
22: 0 INTC jz_i2c2.2
25: 0 INTC gpio_endcall_tcu2
26: 2471 INTC jz-timerirq
27: 0 INTC jz-clockcycle
29: 0 INTC ipu
31: 1 INTC lcd
34: 0 INTC dlv_codec_irq
35: 0 INTC jz-msc (msc)
36: 0 INTC jz-msc (msc)
37: 1955 INTC jz-msc (msc)
43: 0 INTC oasd_compress
48: 0 INTC vpu
51: 0 DMA dma-i2c.0
52: 0 DMA dma-i2c.1
53: 0 DMA dma-i2c.2
54: 1827 DMA dma-msc
56: 1 DMA audio dac
57: 0 DMA audio adc
58: 0 DMA dma-msc
59: 0 DMA dma-msc
73: 1 GPIO mma8452
94: 0 GPIO end call key
101: 0 GPIO jz47xx_musb_vdetect
120: 0 GPIO jz-msc (gpio)
123: 0 GPIO ldwzic_ts
178: 1 GPIO volum down key
206: 0 GPIO jz47xx_musb_id
211: 0 GPIO jz47xx_battery_act8600
221: 0 GPIO volum up key
230: 0 GPIO menu key
233: 0 GPIO back key
ERR: 0
shell@android:/ $
request_suspend_state: wakeup (3->0) at 33382665246 (2010-11-14 02:32:59.797261938 UTC)
acc_open
acc_release
'/sys/devices/platform/ite6610-drv.0/hotplug_support' open ERROR!!!
'/sys/devices/platform/ite6610-drv.0/hotplug_support' read ERROR!!!
HDMI didn't support hotplug currently!
'/sys/devices/platform/ite6610-drv.0/driver_mode' open ERROR!!!
'/sys/devices/platform/ite6610-drv.0/driver_mode' read ERROR!!!
Cannot find device "rmnet0"
Cannot find device "rmnet0"
Cannot find device "ifb0"
opening AT interface. retrying...: No such file or directory
opening AT interface. retrying...: No such file or directory
opening AT interface. retrying...: No such file or directory
request_suspend_state: sleep (0->3) at 100489996864 (2010-11-14 02:34:06.904592222 UTC)
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.02 seconds) done.
PM: Syncing filesystems ... freeze_processes
Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
JZ_DLV: waring, dlv_suspend_part() is a default function

CODEC SET ROUTE: Route name : ROUTE_ALL_CLEAR
Aic and codec are suspended!
PM: suspend of devices complete after 1513.519 msecs
PM: late suspend of devices complete afte

Заключение

В целом планшет Ainol Novo 7 Paladin оставил хорошее впечатление: аккуратное исполнение, неплохой экран и отсутствие явных недостатков на фоне низкой цены. Непритязательный пользователь, которому нужны Angry Birds, Одноклассники и почтовый клиент, вероятно, останется доволен.

В тоже время проблема невозможности запустить ПО, разработанное для ARM, остаётся. Однако по мере распространения Android 4.0 для MIPS эта проблема будет всё актуальней, а значит разработчикам Android придётся её решить. Не стоит забывать, что Intel тоже жаждет продвижения своих x86 процессоров на рынок устройств под управлением ОС Android.

Ссылки

 



Добавить комментарий

Комментарии доступны через Intensedebate. Включите JavaScript.