Yesterday, I’ve received MK908 mini PC featuring Rockchip RK3188, and a new firmware is available, so before further testing I’ll flash the firmware to the device basically using the instructions from Geekbuying. This method use standard Rockchip tools, so it should work for any RK3188 devices. But first a little rant. Those instructions only work on Windows operating systems, so if you’re using Linux or Mac, you’re out of luck until you find a Windows PC, or launch Windows in a virtual machine. This method should just be used in case the device can’t boot, or you have serious issue with the device firmware, but it is also used for firmware upgrade for Rockchip mini PCs. This is just wrong. Typical users should not be asked to install software and drivers, press the recovery button, just to upgrade their firmware. The best very way would be OTA updates, but maybe this […]
Linaro 13.04 Release With Linux Kernel 3.9 and Android 4.2.2
Linaro 13.04 has just been released. It features Linux Kernel 3.9-rc7 and Android 4.2.2. A lot of work has been done on ARMv8 (Cortex A53) with further work on OpenEmbedded, more testing, and updates to the GCC toolchain. Calxeda EnergyCore server has been added to LAVA, Origen Quad now gets hardware video acceleration in Android Jelly Bean. Still more cleanup has been done on the kernel side with regards to Samsung and ST SoC, and a big.LITTLE porting guide is now available (linaro login required). Here are the highlights of this release: LAVA Prototype of a new publishing system is used to overcome performance problems with android-build.linaro.org. Calxeda EnergyCore support is merged in LAVA, and an isolated system has been set up for web benchmarking. Fedora support is merged in LAVA. A user can submit LAVA jobs using a Fedora pre-built image. Boot commands are untangled from LAVA dispatcher. They’re now […]
BeagleBone Black vs Raspberry Pi – Features and Price Comparison
The Beagleboard community officially announced the BeagleBone Black and its $45 price tag on the 22nd of April. Many blogs and news sites touted it as a Raspberry Pi killer, and R-Pi vs BBB fanboys fights ensued, and many articles with incorrect information or heavily biased were published. There’s however one decent BeagleBone Black vs Raspberry Pi comparison from a robotic point of view, so I’ll build from there with some corrections and additions. I’ll compare both the features and the price differential between the Raspberry Pi Model B and BeagleBone Black boards depending on use cases. BeagleBone Black vs Raspberry Pi – The Features BeagleBone Black Raspberry Pi Model B Comment Processor TI Sitara AM3359AZCZ100 Cortex A8 @ 1GHz(will be changed to AM3358BZCZ100 in future versions) Broadcom BCM2835 ARM11 @ 700 MHz (Overclockable to 1GHz) Even thoughboth processors can run at the same frequency (after overclocking the R-Pi), but […]
Using ARM Development Studio 5 (DS-5) Streamline with MK802II mini PC
MK802-II is an Android 4.0 mini PC powered by AllWinner A10 (ARM Cortex A8) with 1GB RAM and 4GB flash. Instructions are also available to run Ubuntu, or other Linux distributions. ARM Development Studio 5 (ARM DS-5) is software development tool suite for ARM processors that can be used for both Linux and Android debugging, and available in 2 versions: professional edition and community edition, the latter being free of charge. I’m writing about both today, because Bob Peng, Technical Marking Engineer for ARM China, recently wrote a blog post in Chinese [Update: An English version is now available] showing how to use MK802-II, preloaded with the required drivers and daemon, with DS-5 Streamline Performance Analyzer with is part of both versions. The community edition may be missing some features of Streamline however. Streamline Performance Analyzer allows you to: Find out which modules or functions to take up most of […]
You-Get – Video Download Script for YouTube, YouKu, DailyMotion, and More
YouKu is the equivalent of YouTube in China, and earlier today I wanted to download a video from the service, so I’ve looked for an application or script that can do the job in Linux. I’ve finally come across you-get, a python 3 script that claims to be able to download videos from an impressive number of websites, namely: YouTube Vimeo Coursera Blip Dailymotion Facebook Google+ Google Drive Tumblr Vine SoundCloud Mixcloud Freesound JPopsuki VID48 Niconico (ニコニコ動画) Youku (优酷) Tudou (土豆) YinYueTai (音悦台) AcFun bilibili CNTV (中国网络电视台) Douban (豆瓣) ifeng (凤凰视频) iQIYI (爱奇艺) Joy.cn (激动网) Ku6 (酷6网) MioMio h NetEase (网易视频) (v.163.com) PPTV.com QQ (腾讯视频) (v.qq.com) Sina (新浪视频) (video.sina.com.cn) Sohu (搜狐视频) (tv.sohu.com) 56 (56网) Xiami (虾米) Baidu (百度音乐) (music.baidu.com) SongTaste I won’t try all, but just test it with YouKu and YouTube. First things first, let’s install it:
1 2 3 4 5 |
git clone git://github.com/soimort/you-get.git cd you-get sudo apt-get install python3 python3-setuptools ./you-get -V make install |
Time to go to youku.com and download a video:
1 2 3 4 5 6 7 8 |
you-get http://v.youku.com/v_show/id_XNTQ1OTk3NTAw.html Video Site: Youku.com Title: 1 second boot QT app in linux-sunxi with A10 Type: Flash video (video/x-flv) Size: 5.45 MB (5711001 Bytes) Downloading 1 second boot QT app in linux-sunxi with A10.flv ... 100.0% ( 5.4/5.4 MB) [========================================] 1/1 |
Success! […]
Booting Linux in Less Than 1 Second in AllWinner A10 Devices? Yes! You Can!
threewater, a Chinese developer, has just posted a very interesting demo on linux-sunxi mailing list showing a device based on AllWinner A10 boot linux within 0.85s, and if you add a Qt app, the total time is just about 1.2s. This appears to be a custom hardware (EM6000), but we do know it’s based on AllWinner A10, comes with 512 MB RAM, and 4GB NAND Flash. On the software side, the device runs kernel 3.4 from linux-sunxi, with a customized version of uboot, a squashfs rootfs, and a Qt 4.7.4 app showing a gauge. Both the rootfs (7MB) and the kernel (2MB) have been compressed with LZO. All that boots from NAND flash for optimal speed. The 1.2 second time includes kernel + rootfs + app time, and the total time is a bit longer, but this is still impressive. Here’s the boot log:
1 2 3 4 5 6 7 8 9 10 |
[1.690000 1.690000] U-Boot SPL 2013.01-05984-g2120a27-dirty (Apr 17 2013 - 14:22:02) [0.009000 0.009000] Board: EM6000 [0.012000 0.003000] DRAM: 512MB [1.014000 1.002000] init startup v1.1 [1.016000 0.002000] mount usr data error 2 [1.158000 0.142000] Could not read calibration: "/data/etc/pointercal" [1.166000 0.008000] Couldnt open tslib config file: No such file or directory [1.175000 0.009000] QWSTslibMouseHandlerPrivate: ts_config() failed with error: 'No such file or directory' [1.187000 0.012000] Please check your tslib installation! [1.200000 0.013000] qt show |
If you just boot to […]
How to Detect if an ARM ELF Binary is Hard-float (ARMHF) or Soft-float (ARMEL)
If some cases you may want to know if a library or binary built for the ARM architecture is using hard-float (armhf) or soft-float (armel). You can analyze ELF binary using readefl utility, so let’s have a try. First let’s install some armel and armhf files on a computer running Ubuntu by install gcc/g++ toolchain for armel and armhf:
1 |
apt-get install g++-arm-linux-gnueabi g++-arm-linux-gnueabihf |
We now have armhf and armel libraries installed in /usr/arm-linux-gnueabihf/lib and /usr/arm-linux-gnueabi/lib respectively. Let’s check the output of readelf filtered with “FP” string for libm.so.6 for armel:
1 2 3 4 5 6 7 |
readelf -a /usr/arm-linux-gnueabi/lib/libm.so.6 | grep FP Tag_FP_arch: VFPv3-D16 Tag_ABI_FP_denormal: Needed Tag_ABI_FP_exceptions: Needed Tag_ABI_FP_number_model: IEEE 754 Tag_ABI_HardFP_use: SP and DP |
and armhf:
1 2 3 4 5 6 7 8 |
readelf -a /usr/arm-linux-gnueabihf/lib/libm.so.6 | grep FP Tag_FP_arch: VFPv3-D16 Tag_ABI_FP_denormal: Needed Tag_ABI_FP_exceptions: Needed Tag_ABI_FP_number_model: IEEE 754 Tag_ABI_HardFP_use: SP and DP Tag_ABI_VFP_args: VFP registers |
Great, so there’s an extra line for armhf (Tag_ABI_VFP_args) that seems to confirm the library is hard-float. With readelf compiled from elftoolchain-0.6.1 (source code), the extra line will be a bit different: “Tag_ABI_VFP_args: AAPCS (VFP variant) AAPCS stands for ARM Architecture Procedure Call Standard. You can read more details on ARM website. There are also two other possible values […]
Design West Summit – 23-25 April 2013
Design West 2013, previously known as the Embedded Systems Confertence, will take place later this month, on 23-25 April to be exact, at San Jose McEnery Convention Center in San Jose, California, US. The event will be divided into 22 tracks dealing with software development, hardware design, operating systems, security and more: Android Certificate Program – Two-day hands-on embedded android workshop. Black Hat Summit – The Black Hat Embedded Security Summit will provide electronics professionals with essential information and tools, as well as a forum for the discussion and evaluation of the latest solutions for securing their embedded systems. Training courses will focus on topics such as Network Security, Incident Response, Web Application Security, and Exploit Development. Connectivity and Networking – The Connectivity and Networking track educates design engineers on wired and wireless communications, spanning need-to-know topics from essentials of USB device development to antenna and RF system design. Debugging […]