ä»æ¥ãSoC RTD1185 -RTK300 Rev.ã«åºã¥ãããããã°ããŒãã䜿çšããŸããã C1-ãã«ãã¡ãã£ã¢ããã€ã¹ã®éçºçšã ãã®èšäºã®ãã¬ãŒã ã¯ãŒã¯ã§ã¯ããã®SDKã®æè¡çãªãã©ã¡ãŒã¿ãŒã«ç²ŸéããããŒã¹ã®Linuxã«ãŒãã«ãšãã®äžã®rootfsãåéããŠå®è¡ããããã»ã¹ã®ããã€ãã®åé¡ã解決ããŸãã
å 責äºé ïŒãã®èšäºã¯çµéšã®ããLinuxãŠãŒã¶ãŒã察象ã«ããŠããŸãããå°ãªããšã现éšã«ã€ããŠã¯è§ŠããŠããŸããã ã質åãããã°ãã³ã¡ã³ãããŠãã ããã
Realtekã®å人ã«ãããããäžã®ãã®ã·ã¹ãã ïŒã³ãŒãåJupiterã圌女ã®å åŒRTD1186ãªã©ïŒã¯ãHD MPEG 1/2/4ãH.264ãVC1ãRM / RMVBãããªåœ¢åŒããã³ãŒããããã«ãã¡ãã£ã¢ã¢ããªã±ãŒã·ã§ã³åãã«èšèšãããŠããŸãã ã¡ãã£ã¢ããã»ããµã¯ãUSB 2.0ããã³SATAã³ãã¯ã¿ãPCI-Expressãã¹ãããã³ã®ã¬ãããã€ãŒãµããããããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ããµããŒãããŠããŸãã
察å¿ãããããã¯ãŒã¯ã³ã³ãããŒã©ãŒãšçµã¿åãããã€ãŒãµãããã®ååšã«ãããæ倧1ã®ã¬ããã/ç§ã®é床ã§æç·ãããã¯ãŒã¯ãä»ããŠããŒã¿ã転éã§ããŸãã ãã®ããã€ã¹ã¯çŸä»£ã®æšæºã§ã¯CPUåšæ³¢æ°ãå°ãããªã£ãŠããŸããããã®ãã©ã¡ãŒã¿ãŒã¯åŒ·åãªãããªãã³ãŒããŒã«ãã£ãŠè£æ£ãããŠããããã«ãã¡ãã£ã¢ã¢ããªã±ãŒã·ã§ã³ã§ã®ãã®ãããã®äœ¿çšãæ£åœåããŠããŸãã
RTD1185ã®æè¡çãã©ã¡ãŒã¿ãŒïŒ
- CPUïŒ500 MHz
- HD MPEG 1/2/4ããã³HD JPEGãã³ãŒããŒ
- HD H.264ãVC1ãRM / RMVBãAVSãã³ãŒããŒ
- CVBS / Sãããª/ YPbPr / SCARTåºåä»ãTVãšã³ã³ãŒããŒ
- CECä»ãHDMI v1.3
- I2SãSPDIFã¢ãŠã
- USB2.0ãã¹ãããã³PHY
- USB2.0ããã€ã¹ãšPHY
- SATA
- 10/100ã€ãŒãµãããMACããã³PHY
- ã®ã¬ãããã€ãŒãµãããMAC
- PCI Express
- ã«ãŒããªãŒããŒïŒSD / MMCïŒ
- DTVé²ç»ãšã¿ã€ã ã·ãã
- ãã¥ã¢ã«TS-In
Realtek RTL-1185ããã
ããŒãã«ã¯ãIRãªã¢ã³ã³ãä»å±ããŠããŸãã Realtekãããååæ©èœãããSDKãåãåããŸãããããã¯ããã¡ãŒã ãŠã§ã¢ã¢ã»ã³ããªã«é¢ãããã¹ãŠã®åé¡ã解決ããªããã°ãªããªãã£ãã¯ãã§ãã ãã¿ã³ããªã³ããªãã§linux-2.6.12ãšåºæ¬çãªrootfsãæ§ç¯ã§ããããããããŒãã¯ãŒãã³ã°ããšåŒã³ãŸããã ãããããªãŒãã£ãªããã³ãããªãã¬ãŒã€ãŒã®ã¢ããªã±ãŒã·ã§ã³ã«é¢ããŠã¯ããã¿ã³ããªã³ãã䜿çšããå¿ èŠããããŸããã ãŸããããããšãã ã¯ãžã©ã¯äžã®åçã«æãããŠããŸãã
ããŒãã«ã¯æ¬¡ã®ã³ã³ããŒãã³ããå«ãŸããŠããŸãã
- SoC RTD11185
- NANYAãã256MB RAM
- 256MB NAND SLC-ãã©ãã·ã¥ãµã ã¹ã³
- 2 x 2.0 USBãã¹ã
- FastEthernet RJ45ãœã±ãã
- HDMIãã©ã³ã¹ããã¿ãŒåºå
- ãªã¢ãŒãã³ã³ãããŒã«çšã®IRã¬ã·ãŒããŒïŒãªã¢ãŒãã³ã³ãããŒã«ãå©çšå¯èœãäžã®åçïŒ
- ãªã³/ãªããåãæ¿ããããã¯ãã¿ã³
- 1ã€ã®USBãã¹ãã«æ¿å ¥ãããRTL8190Uã«åºã¥ãUSB WiFi
- ãã³ãã©ã°ïŒUARTïŒ
- å埩ãã¿ã³
ã¯ãžã©ãšåã
ãŸããç§ãã¡ã¯ããŒãã«äŒããŸãããããã§äœããå®è¡ããããšããŸãã åœåãRealtekãã¡ãŒã ãŠã§ã¢ã¯ã¯ãžã©ã«æèŒãããŠããŸããããQT4.7ã®äžã§åäœããŠããããã§ãã
ãã®SDKãå ¥æãããšãã誰ãããã±ããã®äžã®é³¥ã§ããããã«èŠããŸããã ããããããã«ã¯ãããŸããã§ããã ãã¡ããããã¹ãŠãåéãããããã§ã¯ãããŸããã ãããã°ããŒãã«ããã·ã¹ãã ãªã³ãããïŒSoCïŒã·ã¹ãã èªäœã«ãããã¥ã¡ã³ãã¯ãããŸããã Googleãå©ãã«ãªããªãã£ãã ããããããã«ã€ããŠã¯åŸã§ã
ãã®èšäºã§ã¯ã次ã®è¡šèšã䜿çšããŸãã
- ãã¹ãïŒ-ã³ãã³ãã¯ArchLinux x86_64ã§å®è¡ãããŸãã
- ubuntuïŒ-ã³ãã³ããå®è¡ãããŸãubuntu-12.10 amd64 chroot;
- jupiterïŒ-ã³ãã³ãã¯ã¯ãžã©ã§å®è¡ãããŸãã
ã³ã³ãœãŒã«ãååŸããŸã
ãªã·ãã¹ã³ãŒãã䜿çšããŠãããŒãã®UARTãã³é åïŒãªã«ããªãã¿ã³ã®è¿ãïŒãèŠã€ãããŸããïŒïŒUSB HOSTïŒGND-RX-TX-VCCã
ãã¹ãã§minicomã䜿çšããŠæ¥ç¶ããŸãã
host$ minicom -D /dev/ttyUSB0 -c on
ããŒãããªã³ã«ãããšãããã¬ã³ããªãŒãªãããŒãããŒããŒã衚瀺ãããŸãã
hello_world! 5522880 0 wwaiaittcheck_val=0x2700a0 REALTEK ROM Monitor, Revision 0000.0311.0022-ON. Copyright (c) Realtek Semiconductor Corp. - All Rights Reserved. For a list of available commands, type 'help'. Compilation time /version= Feb 4 2013 15:12:08 /0000.0311.0022-ON MAC address = 00.11.22.33.44.55 Processor Company ID/options = 0x01 (MIPS Technologies, Inc.) / 0x00 Processor ID/revision = 0x93 / 0x78 Endianness = Little Flash memory size = 256 MByte SDRAM size = 256 MByte First free SDRAM address = 0x800b1000 Press 'ESC' to Monitor mode Linux Kernel: FW Image from 0xa2020000, to 0x80100000, size=0x44f086 decrypt from 0xa2020000 to 0x80100000, len:0x44f086 Audio FW: FW Image from 0xa2480000, to 0x81b00000, size=0x17b040 decrypt from 0xa2480000 to 0x81b00000, len:0x17b040 Video FW: FW Image from 0xa2600000, to 0x81d80000, size=0x1bfd68 decrypt from 0xa2600000 to 0x81d80000, len:0x1bfd68 Audio data: FW Image from 0xa27c0000, to 0x83000000, size=0x68c78 Video data: FW Image from 0xa2840000, to 0x83100000, size=0x413428 5280Go 5280Go SCPU_CLK90K=0.000 sec. Debug: [go 0x80100000 mtdparts=rtk_nand:212096k,3968k(/),32768k(/usr/local/etc),13312k rootfstype=squashfs root=31:01 ] Reset Ethernet Mac. Address = 0x80100000
ãã®åŸãã«ãŒãã«ãããŒããéå§ããŸãã
泚ç®ãã¹ãã¯ããã¡ãŒã ãŠã§ã¢ããã©ã€ããŒã«ãã£ãŠã¡ã¢ãªã«ããŒããããã®ã§ã¯ãªããããŒããŒèªäœã«ãã£ãŠããŒããããããšã§ãã
ãã¡ãŒã ãŠã§ã¢ã®æŽæ°
ãŸããæªããªãã çµã¿ç«ãŠããã圢åŒã§SDKã«æ瀺ããããã¡ãŒã ãŠã§ã¢ã®æŽæ°ãè©Šã¿ãŸãã
- ãŸããUSBãã©ã€ãããã©ãŒãããããå¿
èŠããããŸãã
host# mkfs.vfat /dev/sdx -n firmware
- install.imgãã¡ãŒã ãŠã§ã¢ã€ã¡ãŒãžããã®ãã©ã€ãã«ã³ããŒããŸãã
- USBãã©ãã·ã¥ãã©ã€ããæ¿å ¥ãããœãããŠã§ã¢ã®æŽæ°ããã»ã¹ãéå§ããŸãã ãã®ãããã»ã¹ãã¯ãäž»ã«2ã€ã®æ¹æ³ã§èµ·åã§ããŸãïŒä»ã«ããããŸãïŒã
- å埩ããŒãã¢ãŒãïŒãå埩ãã¿ã³ããæŒããŠããŒããæå¹ã«ããå¿ èŠããããŸãã åæã«ãããŒãããŒããŒã¯ãã©ãã·ã¥å ã®å¥ã®ã¢ãã¬ã¹ã«ã«ãŒãã«ã移åããŸããã€ãŸãããã©ãã·ã¥äžã«ééã£ãã«ãŒãã«ãçž«ãåãããŠããŒãããããªãã¯ãäœæãããšããã€ã§ããªã«ããªã¢ãŒãã§èµ·åã§ããŸãã
- æšæºããŠã³ããŒãïŒGUIã§é©åãªã¢ã€ãã ãéžæããŸãã ãã®ãªãã·ã§ã³ã«ã€ããŠã¯è©³ãã説æããŸããã
ãã¹ãŠãäžç®ã§ãããã·ã³ãã«ãªãã®ã§ãã ãã©ãŒãããã ãã¡ãŒã ãŠã§ã¢ãUSBãã©ãã·ã¥ãã©ã€ãã«ã³ããŒããŸãã ããã€ã¹ã«æ¿å ¥ããŸãã å埩ã¢ãŒãã§èµ·åããŸãã ãã©ãã·ã¥ãã©ã€ããèªåçã«ããŠã³ãããããã¡ãŒã ãŠã§ã¢ãèµ·åããŸãã loader_aãŠãŒãã£ãªãã£ã¯ãããããã¹ãŠãæ åœããŸãã ããã...
[MCP][RSA] strip rsa header failed - no rsa padding header detected loader_a.c:verona_load_func:1456 Error! Image file, /mnt/usbmounts/sda/install.img, cannot be opened or the hash value is not correct. +++ ALLOC index: 3072 order: 8 1. start remap DVR zone 81c00000(80409000) 256...
ããŠãäœããã¹ããã ç§ãã¡ã¯ç°ãªã£ãè©Šã¿ãããŸãã
ãã®ä¿è·ã¯ãã¯ãªãŽã©ã«ãŒãã«ãã£ãŠåé¿ã§ããŸããããŸã å¿ èŠãããŸããã 誰ããèå³ãæã£ãŠããå Žåãloader_aãã¡ãŒã ãŠã§ã¢ãŠãŒãã£ãªãã£ã«ã¯åŒæ°ããããŸã-ããã·ã¥ãã§ãã¯ãç¡å¹ã«ããéã»ãã¥ã¢ã§ãã ãã ãããã®ããã«ã¯ããã®ãã©ãããã©ãŒã çšã®busyboxãæ§ç¯ããUSBãã©ã€ãã«ãã³ããŒããŠãããŒãããªã«ããªã¢ãŒãã§ããŒãããshell'eã§ã¯ãžã©ã§Linuxãå®è¡ããå¿ èŠããããŸãã
jupiter# cp /mnt/usbmounts/sda1/busybox /tmp/busybox && chmod a+x /tmp/busybox && /tmp/busybox killall loader_a && rm /var/lock/hotplug/mount_tmp/.lock_sda && loader_a --nonsecure &
loader_aããã»ã¹ãã«ãŒãããããã®initramfsã®å埩ã«ã¯äœããªããããBusyboxãæ§ç¯ããå¿ èŠããããŸããã ããããããã¯äž»ãªçç±ã§ã¯ãããŸããã 圌ãšäžç·ã«ãåãç°ãlsãç«ã䜿çšããŠããã®çµæãããããã䜿çšããªãå Žåãããå埩ã¢ãŒãã®å éšãåŠã¶æ¹ãã¯ããã«ç°¡åã§ããã
ããŒã¹Linuxã«ãŒãã«ãšrootfsããã«ãããŸã
Realtek SDKã䜿çšããŠã«ãŒãã«ãšrootfsããã«ããããšããæ¥ãŸããã ArchLinux x86_64ã§äœæ¥ããŠãããããéåžžãUbuntu 12.10 amd64 chrootã®çµã¿èŸŒã¿ãœãããŠã§ã¢ã®ãã¹ãŠã®ã¢ã»ã³ããªæäœãããã€ãã®çç±ã§å®è¡ããŸãã
- å€ãã®å Žåããã«ãããå¿ èŠããããã¹ãŠã®ããã±ãŒãžã¯ãã§ã«Ubuntuã«ãããŸãã
- çµã¿èŸŒã¿éçºè ã¯ä¿å®çã§ãå€ãã®å Žåããã¡ãŒã ãŠã§ã¢ïŒrootfsïŒãæ§ç¯ããããã«å¿ èŠãªãã¹ããŠãŒãã£ãªãã£ãç¹å®ã®å€ãããŒãžã§ã³ã®gccããã³ã©ã€ãã©ãªã«ãã£ãŠã³ã³ãã€ã«ãããSDKããããŸãããŸããåžžã«æ°ããããŒãžã§ã³ã®gccãarch ã ããããããã£ãããèªåã§ä¿®æ£ããããããchroot rootfsããããã€ããæ¹ãã¯ããã«ç°¡åã§ãã
- ã»ãšãã©ã®SDKã¯ãUbuntuã§ããŸã£ããåãããã«ãããã€ããã³ãã¹ããããŸãã Ubuntuèªäœã§ããããŸããã åãæåã§ãå¿ èŠã«å¿ããŠå¥ã®é åžããããå±éã§ããŸãã
- ã客æ§ã«chrootãšå ±ã«ãã¹ãŠã転éããããšãã§ããã客æ§ã®ãã¡ãŒã ãŠã§ã¢ã¯ããã«é«ã確çã§çµã¿ç«ãŠããããããã客æ§ã«ã¢ã»ã³ããªã·ã¹ãã ãå±éããã®ã¯ç°¡åã§ãã ãã ããããã¯ã顧客ãWindowsã§äœæ¥ããŠããªãå Žåã§ãïŒãã®å Žåãä»®æ³ãã·ã³ã䜿çšããŸãããããã¯æå³ããããŸããïŒã
chrootçšã®Ubuntu rootfsã¯ãAURããååŸããdebootstrapãŠãŒãã£ãªãã£ã䜿çšããŠãããã€ãããŸãã
- ubuntu chrootãå±éããwiki.ubuntu.com/DebootstrapChroot;
- chrootã®procãsysfsãdevtmpfsãdevptsãããŠã³ãããŸãã
- ãã¹ãïŒchroot ubuntu-12.10
- UbuntuïŒapt-get update
- ubuntuïŒapt-getã€ã³ã¹ããŒã«vimãã¡ã€ã«lib32z1-dev libc6-i386 sed dos2unix python g ++-4.4-multilib
- ubuntuïŒuseradd -s / bin / sh -m developer
SDKãã¡ã€ã«ãubuntu-12.10 / home / developer / Jupiterã«ã³ããŒããŸãã
- UbuntuïŒsu developer / bin / bash
- ububtu $ cd / home / developer / Jupiter / linux / system
- ubuntu $ make menuconfigïŒNFSããã³NFSã«ãŒããµããŒããæå¹ã«ãã
- ubuntu $ make PRJ = development.avhdd.jupiter.nand.loongtle
ãããã®æäœã®åŸãã«ãŒãã«ãšåºæ¬çãªrootfsãååŸããŸãã
nfsã«ãŒãã䜿çšããããã«ãrootfsã/ srv / nfs / jupiterã«ã³ããŒããŸãã / etc / exportsã«å¯Ÿå¿ããè¡ãè¿œå ããŸãã
ãã¹ãïŒexportfs -a
ã«ãŒãã«ã/srv/tftp/vmlinux.develop.avhdd.jupiter.nand.loongtle.binã®tftpãµãŒããŒã«ã³ããŒããŸãã
ãã¹ãã§tftpããã³nfsãµãŒããŒãèµ·åããŸã ã ã€ãŒãµãããçµç±ã§ãããã°ããŒãã«æ¥ç¶ããããã¹ãNICãæ§æããŸãïŒIpv4 192.168.0.1/24ã
æ¡ãããŠã®Linuxãå®è¡ãã
ããŒããåèµ·åããããã«ESCãã¯ã©ã³ãããŠç£èŠã¢ãŒãã«åãæ¿ããŸãã
REALTEK ROM Monitor, Revision 0000.0311.0022-ON. Copyright (c) Realtek Semiconductor Corp. - All Rights Reserved. For a list of available commands, type 'help'. Compilation time /version= Feb 4 2013 15:12:08 /0000.0311.0022-ON MAC address = 00.11.22.33.44.55 Processor Company ID/options = 0x01 (MIPS Technologies, Inc.) / 0x00 Processor ID/revision = 0x93 / 0x78 Endianness = Little Flash memory size = 256 MByte SDRAM size = 256 MByte First free SDRAM address = 0x800b1000 Press 'ESC' to Monitor mode Realtek> help Available commands : . . (repeat last command line) ; ; (command separator) + + <repeat count> ; compare compare <address1> <address2> <size> continue continue copy copy [-f] <src> <dst> <size> dump dump [-m][-8|-16|-32] <address> [<size>] erase erase -e|-m| <address> <size> factory factory [-r|-w|-sha1] <address> <size> or factory -c fill fill [-8|-16|-32] <address> <size> <data> fread fread tftp://<ipaddr>/<filename> <address> fwrite fwrite tftp://<ipaddr>/<filename> <address> <size> go go [?|.|<address> [<args>]] help help [<command>] info info [boot|board|cpu|sysctrl|memory|uart|all|pll] keyset keyset load load [-r] ([tftp:][//<ipaddr>][/<filename>]) | ([asc:] [//(tty0|tty1)]) ping ping ipaddr [<datagramsize>] port port [-a] [-8|-16|-32] <address> [<value>] reset reset saveenv saveenv setenv setenv [<variable> [<value>]] stty stty [-tty<0|1>] [-b|-u|[-p][<baudrate>][n|o|e][7|8][1|2][hw|none]] test test [-l] | [-m] [ <module> [ <module arguments> ] ] Realtek>
ããŒãããŒããŒã®ã³ãã³ãã©ã€ã³ã¯ubootã«å°ã䌌ãŠããŸãããããã§ã¯ãããŸãã tftpãä»ããŠãã¡ã€ã«ãã¢ããããŒãã§ããããšãããããŸããããã¯ããããã¯ãŒã¯ããLinuxã«ãŒãã«ãã¢ã³ããŒãããããã«è¡ããŸãã
Realtek> fread tftp://192.168.0.1/vmlinux.develop.avhdd.jupiter.nand.loongtle.bin 0x80100000; go 0x80100000 root=/dev/nfs rw nfsroot=192.168.0.1:/srv/nfs/jupiter,v3 About to binary read tftp://192.168.0.1/vmlinux.develop.avhdd.jupiter.nand.loongtle.bin .............................................................................................................................................................................................s Address = 0x80100000 Realtek LINUX started... Venus setting: ROSs have 2621440 bytes RAM. System CPU has 2 UARTs. System CPU uses external timer interrupt. Bootloader version: 0000.0311.0022-ON. This version string is of new format. The information of this board: Company ID:0x0 CPU ID: 0x33 Board ID: 0x311 Ethernet Mac address: 00.11.22.33.44.55 Model Config length=0 Base year of RTC is 2010. Config serial console: console=ttyS0,115200n8r prom_flashsize = 0x10000000 ⊠BusyBox v1.1.3 (2014.01.27-13:35+0000) Built-in shell (ash) Enter 'help' for a list of built-in commands. / # cat /proc/cpuinfo system type : Realtek DMP/Jupiter processor : 0 cpu model : MIPS 24K V7.8 BogoMIPS : 332.59 wait instruction : yes microsecond timers : yes tlb_entries : 32 extra interrupt vector : yes hardware watchpoint : yes ASEs implemented : mips16 VCED exceptions : not available VCEI exceptions : not available / # cat /proc/fb 0 venusfb / # cat /proc/filesystems nodev sysfs nodev rootfs nodev bdev nodev proc nodev sockfs nodev usbfs nodev pipefs nodev futexfs nodev tmpfs nodev eventpollfs nodev devpts nodev ptpfs ext3 squashfs nodev dvrfs nodev ramfs vfat nodev devfs nodev nfs nodev nfs4 nodev smbfs nodev cifs nodev jffs2 yaffs yaffs2 nodev rpc_pipefs / # cat /proc/meminfo MemTotal: 251716 kB MemFree: 242036 kB Buffers: 60 kB Cached: 1372 kB SwapCached: 0 kB Active: 1144 kB Inactive: 524 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 251716 kB LowFree: 242036 kB SwapTotal: 32 kB SwapFree: 32 kB Dirty: 0 kB Writeback: 0 kB Mapped: 612 kB Slab: 5496 kB CommitLimit: 125888 kB Committed_AS: 1588 kB PageTables: 56 kB VmallocTotal: 1048548 kB VmallocUsed: 500 kB VmallocChunk: 1047936 kB
ãããã£ãŠãåºæ¬çãªäœæ¥ã·ã¹ãã ãã§ããŸããã
次ã¯ïŒ
QTãgstreamerããã«ãããŠã¿ãŠãã ããã SDKã§ããŒããŠã§ã¢ãã³ãŒããŒã䜿çšããããã®gstreamerã®ãã©ã°ã€ã³ãèŠã€ããŠçµã¿ç«ãŠãããèªåã§éçºãã Buildrootãåªå ããŠãSDKã®ãã«ãã·ã¹ãã ãåé€ããå¿ èŠãããå ŽåããããŸãã ä»ã«æžãå¿ èŠãããã®ã¯ãã«ãŒãã«ã®æå·åãšãã¡ãŒã ãŠã§ã¢ã§ãã ããããããã¯èšäºã®å¥ã®éšåã®å¥ã®è©±ã§ãã
ãæž èŽããããšãããããŸããïŒ
PSé»åæ©åšã®éçºã«äœ¿çšããä»ã®é»åéšåãšæè¡ã®è©³çŽ°ã«ã€ããŠã¯ã ãããŒããŠã§ã¢ãã¯ãããžãŒãã»ã¯ã·ã§ã³ã®PromwadããŒã ã®Webãµã€ããã芧ãã ããã