Archive

Posts Tagged ‘sdk’

Merrii A80 Hummingbird Octa-core Development Board Supports HDMI, VGA, and eDP Video Outputs

December 8th, 2014 5 comments

Up to now at least three boards based on Allwinner A80 processor were available: A80 OptimusBoard by Merrii, pCDuino8 by Linksprite, and Cubieboard4  by Cubitech, and the first two boards are basically the same. Merrii has now introduced a new board which they call “A80 Hummingbird H8″, with more features and ports including HDMI, VGA and eDP video outputs,  LVDS / MIPI DSI display interfaces, MIPI CSI camera interface, an RTC with battery and more.

A80 HummingBird H8 Board (Click to Enlarge)

A80 HummingBird H8 Board (Click to Enlarge)

Merri H8 specifications:

  • SoC – AllWinner A80 octa-core processor with 4x Cortex 15, 4x Cortex A7 cores in big.LITTLE configuration with Imagination Technologies PowerVR GC6230 GPU compliant with OpenGL ES 3.0/2.0/11, OpenCL 1.1, and DirectX 9.3
  • System Memory – 2GB DDR3
  • Storage – 8GB internal storage (Sandisk SDIN7DU2 iNAND Flash), micro SD slot up to 32 GB
  • Video Output/ Display Interfaces
    • HDMI 1.4 up to 4K UHD resolution
    • VGA port
    • eDP v1.2 up to 2560×1600 @ 60 Hz
    • MIPI DSI, LVDS,  LCD RGB interfaces via expansion connectors
  • Audio – HDMI, headphone jack, built-in microphone, speaker header. AC100 Codec
  • Camera I/F – MIPI CSI
  • Connectivity – Gigabit Ethernet, dual band Wi-Fi 802.11 b/g/n & Bluetooth 4.0 (AP6330 module)
  • USB – 1x USB 3.0 OTG, 2x USB 2.0 host ports
  • Debugging – UART
  • Expansion – Via 2x headers on the side shared with display and camera interfaces.
  • Misc – IR receiver, reset and power LEDs, reset, power on and u-boot buttons, RTC with battery
  • Power management – AXP806, AXP809 PMIC
  • Power Supply – 12V via power barrel or input header, LCD power header (12V/5V), and connector for external LiPo battery
  • Dimensions – N/A

Based on my experience with A80 OptimusBoard, Merrii does not always provide full documentation and source code for their board. But either A80 OptimusBoard came out a little too earlier, or Merrii has decided to improve, as some documentation (mostly in Chinese), and source code has been released on their forums.

Most downloads are available via Baidu, which can be slow, and for some, difficult to use if you live outside of China, so mininodes re-uploaded the product brief and user’s manual.

Other downloads include:

  • A80 HummingBird H8 Android image (Android 4.4.2 with Linux 3.4.39)
  • A80 HummingBird H8 Lubuntu images for SD card or internal boot (I guess)
  • A80 HummingBird H8 SDK (5.51 GB) – a80_hummingbird_20141015ok.tar.gz (password: 96qo)

I’m not sure when the board will be available, and but it should eventually show up on Merrii Aliexpress store.

Via Mininodes.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

MIPS Creator CI20 Development Board is Now Available for $65

December 5th, 2014 3 comments

When Imagination Technologies first announced their developer program for MIPS Creator CI20 board, they did not disclose the price, but based on the specifications I estimated that a decent price would be $70 o $80. The company has now announced broad availability of the board, which can be pre-ordered for just $65 or 50 GBP depending on the continent you live in, with shipping scheduled for the end of January 2015.

MIPS_CI20_Development_BoardThis development board is based on Ingenic JZ4780 dual core MIPS processor with 1GB DDR3, 8GB flash,  and features an HDMI output up to 1080p, Audio in and out, a Fast Ethernet RJ45 port, a Wireless module with Bluetooth 4.0 and Wi-Fi, an IR receiver, and expansion headers.

Several projects have already been ported by developers who got their free board a few months, ago including XBMC/Kodi, several games such as Spiral Episode 1, and beside Android 4.4 and Debian 7 officially supported by Imagination, operating systems have also been ported to MIPS Creator CI20 with NetBSD, Express Logic ThreadX RTOS, and Haiku inspired from the defunct BeOS.

XBMC 13.2 on MIPS Creator CI20

XBMC 13.2 on MIPS Creator CI20

XBMC 13.2 is not based on the Android version, but based on Debian, as the last blog update posted at the end of October, mentions the OpenGL ES user interface runs smoothly (30 fps @ 1080p resolution), but FFmpeg/Libav were crashing at the time, so video could not be played. Hopefully this is fixed. At least that means that 2D/3D graphics acceleration is working in Linux.

Hardware and software documentation, as well as Debian 7, Android 4.4, and other distributions images and source code are available on MIPS Creator CI20 Wiki. You can also go directly to MIPS github account to get the source code for Linux, U-Boot, mplayer, and others.

If you live in North America, you can pre-order the board for $65, and people living in the European Union or the United Kingdom can purchase it for 50 GBP on the UK store. If you feel lucky, three boards will be given away on a Rafflecopter draw embedded on Imagination Technologies blog post.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Firefly-RK3288 Development Board in Mass Production, Selling for $140

November 27th, 2014 20 comments

Firefly-RK3288 development board has been an interesting, yet confusing story, at least to me. We’ve first heard about the Firefly board on July, but I was privately told in September that the board would only be sold in China by a T-Chip sales person, only to see it become available for $189 on Ebay, as well as on Taobao a few days later. But those first boards may have only been engineering sample, or more likely from a limited trial runs, as the company has now announced mass production had started.

Firefly-RK3288_Mass_ProductionLet’s refresh our memory with the specifications:

  • SoC – Rockchip 3288 quad core ARM Cortex A12 / A17 up to 1.8 GHz with Mali-T764 GPU supporting OpenGL ES 1.1/2.0 /3.0, and OpenCL 1.1
  • System Memory – 2G DDR3
  • Storage – 16 GB eMMC flash + micro SD slot
  • Video Output
    • HDMI 2.0 up to 3840×2160@60p
    • VGA out (D-SUB connector)
    • Dual MIPI, Dual LVDS and and EDP signal available via expansion headers
  • Audio Output / Input – HDMI, optical S/PDIF, microphone header, and built-in MIC
  • Connectivity – Gigabit Ethernet, dual band 802.11 b/g/n and 802.11ac Wi-Fi with external antenna, and Bluetooth 4.0
  • USB – 2x USB 2.0 host ports, 1x micro USB OTG
  • Debugging – Serial console
  • Expansion Headers – 2x 42-pin headers with access to MIPI, LVDS, EDP, SPI, UART, ADC, GPIO, I2C, I2S…
  • Misc – IR receiver, 2x user LED, power, recovery and reset buttons.
  • Power Supply – 5V/2A
  • Dimensions – 118 x 83 mm

The board is sold with two acrylic plates (bottom and top) with corresponding stands, a Wi-Fi antenna, and a power cable.

MP Version of Firefly-RK3288

MP Version of Firefly-RK3288

The company has published an extensive WiKi for the board inspired from Radxa website, which explains how to setup Android or Ubuntu, build the images from source. make use of drivers (ADC, I2C, GPIO. PWM, etc..) , and they’ve also released the schematics (PDF), and some other documentation.

It’s now quite cheaper to get the board, as GeekBuying sells it for $139.99 including shipping, and T-Chip also sells it by themselves on Aliexpress for $129.99 + shipping by DHL, which ends up costing $164.37 to Thailand, but at least you should get it in a couple of days, instead of a couple of weeks if you choose the cheaper option.

When it comes to Rockchip RK3288 development board, you basically have two options: Firefly-RK3288, or Radxa Rock 2. Radxa community has been setup in 2013 with the first Rockchip RK3188, and has many followers, but the company has opted for a more professional design for their RK3288 board comprised of a baseboard and a SoM. It has lots of features (including a 3G modem, a Gigabit switch, etc..), making it more expensive. So for hobbyists Firefly-RK3288 is probably the best choice for an RK3288 board, but for more professional usage, especially if you want to design your own product with an RK3288 SoM, the solution by Radxa should be more suited to your needs.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Technologic TS-7250-V2 Industrial Grade Embedded Computer Features Marvell PXA166/PXA168 Processor

November 24th, 2014 1 comment

Technologic Systems, as US based embedded systems solutions company, has announced availability of their TS-7250-V2 industrial grade PC/104 single board computer powered by Marvell PXA166 or PXA168 ARMv5 processor, with 512 MB RAM, 2GB eMMC SLC flash, single or dual Ethernet, and an optional Lattice FPGA with up to 17k LUT (Look-up Tables) among other features. They also have two enclosures namely TS-ENC720 (1x RJ45 port), and TS-ENC720-2ETH (2x RJ45 ports) for the boards.

Technologic_Systems_TS-7250-V2TS-7250-V2 technical specifications:

  • Processor (one of the two)
    • Marvell PXA166 Sheeva ARMv5 processor up to 800 MHz
    • Marvell PXA168 Sheeva ARMv5 processor up to 1066 MHz
  • FPGA – 17 KLut Lattice LFXP2-8E FPGA
  • System Memory –  512 MB RAM
  • Storage – micro SD card socket + optional 2GB eMMC flash + optional full size SD card socket
  • Connectivity – 1x or 2x 10/100 Ethernet ports,
  • USB – 2x USB HS host ports, 1x micro USB device connector (console port)
  • Serial – 3x RS-232 serial ports, 3x TTL serial ports, RS-485 port, optional RS-422 port, and optional CAN port if Lattice FPGA selected.
  • Expansion Headers
    • PC/104 connector + optional 40-pin PC/104 connector
    • LCD and DIO Headers
    • 75 TTL DIO (including PC/104 conn)
  • Other I/Os – A/D converter, 5 channels (with 4-20 mA current loop)
  • Misc – RTC with battery and temp compensation, temperature Sensor
  • Power Supply –  5VDC or 8-28VDC power input
  • Temperature Range –  Industrial temperature range (-40°C to 85°C)

 

TS-ENC720-7200-2ETH_Rear_View

TS-ENC720-7200-2ETH Kit

TS-7250-V2 can boot from either the onboard eMMC SLC flash or microSD card to an embedded Linux distributions based on Linux kernel 3.14, or Debian 7 “Wheezy” distribution. The board can boot in 0.87 seconds to a busyBox terminal shell, but the company also provided an older Linux 2.6.34 kernel that can boot in 0.52 seconds to the command line. The company claims there’s no proprietary source code in the kernel as hardware specific functionalities are handled by user-space utilities such as spictl, sdctl, xuartctl, etc…, and the company also provides drivers for all on board peripherals. The company will also provide Opencore source core for the FPGA. More details about software support can be found on TS-7520-V2 Wiki. Schematics (PDF) and mechanical drawings (PDF) can also be downloaded from the documentation page.

The TS-7250-V2 single board computer can be purchased now starting at $165 for 100-unit orders. Models include TS-7250-V2-512-8S-I industrial temperature baord with PXA166 and 512 MB DDR2 ($199), and TS-7250-V2-512-4096F-10S-I-DEV, the version recommended for development, is also an industrial temperature grade board, but instead featuring  Marvell PXA168 processor, 512MB DDR2 RAM, 2GB Flash (4GB eMMC configured as 2GB SLC Flash), 2x 10/100 Ethernet ports, and 1x RS-422 port ($251). More information may be found on Technologic Systems TS-7250-V2 product page, and more pricing options are listed in the press release.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

ODROID-XU3 Lite Development Board – Android Setup and Benchmarks

November 21st, 2014 20 comments

It’s been nearly ten days since I make ODROID-XU3 Lite unboxing, and my plans to first test Linux on the board were thwarted due a problem with HDMI. Luckily, after several attempts I managed to boot the board with Android. So today, I’ll show how to install or update Android on the board, and run a few benchmarks. But since there’s always a silver lining, I’ll start buy writing a bit about the HDMI issue, as I learned a few things on the way.

HDMI Output Tribulations

ODROID-XU3 Lite looks like a nice and powerful kit, and it may be one of the most cost effective ARM board on the market since it comes to performance to price ratio, so I was excited to try it, but as you know if you’ve read my unboxing post I did not work quite as planned, as all I got was a black screen on my HDMI TV.

Here are some of the steps I followed to try to find out the cause or a workaround.

I usually connect the HDMI cable to an HDMI switcher as it’s more convenient to me. I got the connection light on the switcher but no image. Some devices won’t work with the switcher, so I decided to connect it directly to my Panasonic television instead, trying HDMI1 (DVI) and HDMI2 ports, but the result remained the same. I also connected the UART Debug board I got with ODROID-X board, and I could only see three lines related to HDMI in the log:

root@odroid:~# dmesg | grep -i hdmi                                             
[    0.417692] [c6] hdmi-en: no parameters                                      
[    2.753215] [c7] exynos-drm exynos-drm: bound 14530000.hdmi (ops hdmi_component_ops)                                                                         
[    4.787478] [c6] hdmi-en: disabling

So I tried with a Philips monitor, a slowly dying Samsung TV. Same results. So I decided to try with another micro HDMI cable, which I got with the older ODROID-X board. Still no luck. I was also instructed to try this Ubuntu image on a fast micro SD card, and after changing the boot switch position, the board booted from the micro SD “successfully”, but I still had a black screen. I also play around with boot.ini in the micro SD card to force various HDMI modes, but It did not work either.

Hardkernel decided to send me another ODROID-XU3 Lite board, and a few days later I tried again, and unfortunately I got the same issue. The company told me they sold several thousand ODROID-XU3 boards, and they did not get the same report before, so we even considered shipping my TV to Hardkernel office in South Korea. But, since I had troubles with three monitors/TVs, I thought it must have been another issue, and I wanted to try a few other things.

In the meantime, one reader informed me he had a similar issue with his ODROID board, the reason being the ground was not connected in the HDMI cable,and he fixed it by connecting one of the USB host port of the board to his TV. So I tried with both my ODROID-XU3 Lite board, but the problem persistently remained. Out of desperation I also tried a different power supply (SMPS), but it did not work.

Finally, I flashed Android 4.4.4 instead to the eMMC module, and using the “new” micro HDMI cable I got the same black screen, but switching to the “old” ODROID-X micro HDMI cable, I could finally get video output at 720p60, and see the Android home screen. Yeah!!! So finally, it looked like an HDMI cable issue, but there may also be a software issue, as Android works, but Ubuntu does not work (yet). It’s something I’ll have to check again.

I talked with one of Hardkernel’s developer on #odroid IRC channel, and they told me some HDMI cables lack a ground connection, and/or lines are mixed. They’ll check with their supplier(s) to make sure the problem does not occur again. There’s actually an interesting thread on odroid forum that explains various issues related to HDMI (cables).

Installing and Setting Up Android on ODROID-XU3 (Lite) Board

There are three images to install Android 4.4.4 Alpha on ODROID-XU3 (Lite), which can currently be downloaded @ http://dn.odroid.com/5422/ODROID-XU3/Android/:

  • android-4.4.4-alpha-1.3-emmc_installer-odroidxu3-20141105.img.zip – Zipped image to install Android from eMMC to eMMC
  • android-4.4.4-alpha-1.3-sd2emmc_installer-odroidxu3-20141105.img.zip – Zipped image to install Android from micro SD card to eMMC
  • android-4.4.4-alpha-1.3-sd_installer-odroidxu3-20141105.img.zip – Zipped image to install Android from micro SD card to micro SD card.

Since I have an eMMC pre-installed with Linux, and the microSD eMMC reader, eMMC I used the first image. I connected the eMMC reader to my PC using my USB card reader’s micro SD slot, and unzipped the image, and flashed it as follows:

unzip android-4.4.4-alpha-1.3-emmc_installer-odroidxu3-20141105.img.zip
dd if=android-4.4.4-alpha-1.3-emmc_installer-odroidxu3-20141105.img | pv | sudo of=/dev/sdX bs=1M
sync

where X is the letter for the eMMC drive. Check with lsblk command before you run dd, to make sure of the letter, or you may wipe out the data on your hard drive. Some system with built-in micro SD slot may show as /dev/mmcblk01 instead of /dev/sdX. If you want to boot from micro SD card, the procedure is the same, but use the “sd_installer” image instead. You can also do that in Windows using Win32DiskImager.

Now connect the eMMC to the board, and other item you may need. I’ve connected most ports with a USB 3.0 hard drive, a USB 2.0 webcam to the USB 3.0 OTG port via the blue adapter, HDMI to my TV, Ethernet, two USB RF dongle, a Bluetooth dongle, a USB flash drive, and the serial debug board to access the console.

ODROID-XU3_Lite_USB3_HarddriveFinally I connected the 5V/4A power supply to boot the board. In the console, it takes about 12 seconds to boot to the command line, but I had to wait a total of 1 minute 20 seconds for Android user interface to be displayed on my TV screen. I noticed in the console that between 12 and 65 seconds I did not get any message, and the first subsequent message was related to USB audio… My USB webcam comes with a built-in microphone, so I disconnected it, and boot time dropped to a more normal 29 seconds.

Android Home Screen (Click for Original Size)

Android Home Screen (Click for Original Size)

The default resolution is 1280×720, and my TV output resolution was also set to 720p60. So I went to Android Settings->Display, and… wait… nothing there to change the video output. You actually have to go to the list of apps.

odroid-utlityand start ODROID Utility app.

ODROID_Utility

There should can change the (framebuffer) resolution to 1280×800 (for ODROID-VU only?), 1280×720, or 1920×1080, and the HDMI phy, i.e. the actual video output mode. to 720p 50/60, 800p/59, 1080i 50/60, or 1080p 30/50/60. You can also select the orientation (portrait / landscape) which is very useful for digital signage applications. So I selected 1920×1080, and 1080p60, clicked on Save, and Apply and Reboot. The framebuffer resolution was properly changed, but for some unknown reasons, my TV will always fall back to 720p60. The Android image is currently in Alpha stage, so it still have a few bugs that will be fixed by Hardkernel and/or the community.

You may have noticed Google Play Store is not part of the pre-installed apps. That’s because in theory you need to have a certified device to install Google Mobile Services, and contrary to most Chinese vendors, Hardkernel rightly followed Google’s T&C. However, apparently nothing legally prevents the user from installing GMS by himself/herself. You could do so by downloading Gapps from goo.im, but there’s also GAppsInstaller_kitkat.apk that will easily and automatically do that for you. For full details read universal 1 click gapps installer for ODROID post.

ODROID-XU3_Apps_GappsAfter installation, we’ve got the Play Store, Hangout, Voice Search, Google, and so on.

So that’s all for the setup. Next time Hardkernel announces a new Android firmware update on their forums, you should not need to use an installer image, instead you can simply start ODROID Update app, which will automatically download and update the firmware.

ODROID_Updater

ODROID-XU3 Lite System, Storage, and Network Benchmarks

Before running actual benchmarks, I’ve started CPU-Z. The first surprised that is it can detect big.LITTLE configuration with four Cortex A7 cores @ 1.6 GHz, and four Cortex A15 cores @ 2.2 GHz. ODROID-XU3 Lite is supposed to have Exynos 5422 processor but clocked at a lower frequency (1.8 GHz) compared to ODROID-XU3 board (2.2 GHz). So maybe my processor is overclocked, or I got lucky. The GPU is also detected correcly as being an ARM Mali-T628. Internal storage is only shown to be 1.94 GB out of the 16GB eMMC, because there are two partitions with the other one having a 11GB+ capacity. ODROID-XU3_Lite_CPU-ZSo let’s get to the actual benchmark results, starting with Antutu 5.3.

Antutu 5.2 Score (Click to Enlarge)

Antutu 5.2 Score (Click to Enlarge)

As expected ODROID-XU3 Lite is a real beast with 45,815 points in Antutu, being one of the most powerful ARM Android platform currently available. It’s the highest verified score I’ve ever got on all the devices I tested. The only higher score was achieved by Tronsmart Draco AW80 mini PC with Allwinner A80 SoC (49,657 points), but it’s an unverified score.

Quadrant Score (Click to Enlarge)

Quadrant Score (Click to Enlarge)

ODROID-XU3 Lite got 9,256 points in Quadrant way ahead of last generation devices. It looks like Quadrant us not really up-to date so that’s probably the last time I use this benchmark.
ODROID-XU3_Lite_VellamoVellamo 3.1 scores are also very good. Metal score is 1,519 against 1,138 points for Allwinner A80 and 1,457 points for Rockchip RK3288, Multicore score is 1,449 against 1,352 points for Allwinner A80, and 2,003 points for RK3288, and the ODROID-XU3 Lite gets 2,868 points in the browser score against 2,109 points for Allwinner A80, and 2,549 points for RK3288. It does not make much sense for the quad core Cortex A12/A17 RK3288 to outperform the octa core Cortex A15 + A7 processor in the multi-core benchmark, and I’m not sure why that is. You can get comparison with other platform with the screenshots for Metal, Multicore, and Browser tests.

3Dmarks Ice Storm Unlimited (Click to Enlarge)

3Dmarks Ice Storm Unlimited (Click to Enlarge)

I’ve also tried to run 3DMarks Ice Storm Extreme to compare with A80 and RK3288, but unfortunately none of my three attempts could complete, either because of a kernel panic, or a problem with Mali driver (See log). So I switched to Ice Storm Unlimited test which runs at 720p, and could complete with a score of 15,184 points. That puts it close to flagship devices like  like the iPhone 6 Plus, Samsung Galaxy S5, which score between 16,000 and 18,000 points.

Beside standard benchmarks, I’ve also tested storage and network performance.

I used A1 SD benchmark to test the eMMC module, my class 10 SD card, and USB 3.0 + NTFS performance. The app also made the system unstable with kernel panic ensuing, but after a few tries I could complete all benchmarks.

USB NTFS Transfer rate in MB/S

USB NTFS Transfer rate in MB/S

ODROID-XU3 Lite is clearly ahead of the competition with its USB 3.0 port when it comes to NTFS read speed which reaches 47.90 MB/s. and that’s the only device that supports USB 3.0 type of performance, although not quite as good as as on my PC (100+ MB/s), but it was with another benchmark tool (Bonnie++) in Linux.

Transfer Rate in MB/s

Transfer Rate in MB/s

I’ve included both eMMC and a class 10 micro SD card used with ODROID-XU3 Lite in the chart above (ODROID results on right side), and for some reasons the eMMC 5.0 module only got 47.02MB/s read speed, which is very good but still far from the 180+MB/s advertised with another benchmark. Write speed (32.42 MB/s) however is much faster than any other platforms tested so far. The class 10 micro SD used as comparison reads at 34.26 MB/s and writes at 10.81 MB/s which is not too bad compared to most other solutions.

ODROID-XU3 is capable of great I/O performance as we’ve seen above, so it would be nice if we had a fast network interface to leverage fast I/Os. Hardfkernel does provide a USB 3.0 to Gigabit dongle, but it was not included in my kit, so I’m limited to the 10/100Mbit interface which is shown to provide a good transfer rate with iperf (Command line: iperf -t 60 -c 192.168.0.104 -d).

Throughput in MB/s

Throughput in Mbps

iperf log:

Client connecting to 192.168.0.106, TCP port 5001
TCP window size:  212 KByte (default)
------------------------------------------------------------
[  6] local 192.168.0.104 port 54914 connected with 192.168.0.106 port 5001
[ ID] Interval       Transfer     Bandwidth
[  6]  0.0-60.0 sec   656 MBytes  91.7 Mbits/sec
[  4]  0.0-60.0 sec   631 MBytes  88.2 Mbits/sec

So overall, ODROID-XU3 Lite has outstanding performance in almost all aspects, but Android 4.4.4, which is still considered Alpha, required some more work to make it stable. There’s also an Android 4.4.2 image which may be more stable (TBC).

Android SDK for ODROID-XU3 (Lite)

I haven’t tried the SDK this time, but with each firmware release, Hardkernel provides a BSP.

To get and build the latest source code, you simply need to type these four commands, provided you’ll already setup your build machine for Android development:

repo init -u https://github.com/hardkernel/android.git -b 5422_4.4.4_master
repo sync
repo start 5422_4.4.4_master --all
./build.sh odroidxu3

If you want the code for a specific release, for example November 5 release (Android 4.4.4 Alpha 1.3), the repo init command line would become:

repo init -u https://github.com/hardkernel/android.git -b 5422_4.4.4_master -m manifeset-5422_4.4.4_v1.3

With the other three commands remaining the same.

That’s all for today, and Android. The next step will be to check out Ubuntu / Linux. If you are interested in this board, you can purchase it directly from Hardkernel, or through distributors like Ameridroid (USA) or Pollin Electronics (Germany).

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Add Wi-Fi to Arduino Boards for $3 with ESP8266 Wi-Fi Serial Module

November 17th, 2014 12 comments

There has been some buzz around ESP8266 Wi-Fi module, mostly because of its low price, and SDK availability, meaning it could become the Wi-Fi equivalent of ENC28J60 Ethernet module, and that for $5 you could potentially add Wi-Fi to your Arduino board for example. Since then, the price has come down even further, and if you are prepared to buy 5 pieces, you can now get the module for less than $3 / piece shipped, alternatively a single module costs $4, and a complete Wi-Fi + Arduino Uno (clone) kit goes for $15. A community has also been built around the chip, and a several project have been made with Arduino boards and ESP8266 module.

ESP8266_Wi-Fi_Module

The best way to find information is to go to ESP8266 community forum, as well as read the Wiki on github. There’s currently a GCC toolchain for Espressif Systems ESP8266, open source tools for working with the firmware images and serial protocol, but the (leaked) SDK needs to be officially opened, as I understand it still requires an NDA.

ESP8266 does not have to be connected to another MCU board via its serial interface, and it can be used in standalone, as it also provides two GPIOs (version 2 only) so you can use it to control relays for example. The picture above is ESP-01, which is the most common module, but there are also other form factor for example with ESP-07 that’s even smaller but would require some soldering.

There’s been several project published on the web with Arduino + ESP8622, but AFAIK no libraries have been released yet, and people simply send AT commands in their sketches. You can check ESP8266 Wifi Temperature Logger project using Sparkfun Arduino Pro Mini 328, Seeeduino wrote a short tutorial with Seeeduino3 (Arduino UNO), and James Wolf did a short demo using ESP8622 and Arduino Micro board that fetch a URL, and display the HTML code and some of HTTP data in the serial monitor.

The sketch for the demo can be found here, and he also wrote some documentation.

Thanks to onebir for the tip.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Zsun SD111 Is Now “Officially” an Hackable Wireless Flash Drive

November 16th, 2014 11 comments

Zsun SD11x are Wi-Fi flash drives for 8 to 128 GB eMMC, alternative to Sandisk or Kingston. Yesterday, I soldered the UART pins to Zsun SD111 (8GB) flash drive to access the serial console, but I did not manage to enter the terminal as it was password-protected. I posted my results anyway, as I was convinced I would get some clever ideas from my readers, some of which appeared to be a little time consuming, but Zoobab offered a simple solution that consisted in changing the boot parameters, by replacing /sbin/init by /bin/sh.

Zsun_SD111_UART_Pins

The first step is to interrupt the boot by pressing space or another key, in order to access U-boot.
Now we can check the U-boot environment

ar7240> printenv
bootargs=console=ttyS0,115200 root=31:02 rootfstype=jffs2 rw init=/sbin/init mtdparts=ar7240-nor0:64k(u-boot),64k(u-boot-env),6720k(rootfs),1216k(uImage),64k(NVRAM),64k(ART)
bootcmd=bootm 0x9f6B0000
bootdelay=4
baudrate=115200
ethaddr=0x00:0xaa:0xbb:0xcc:0xdd:0xee
ipaddr=10.168.168.1
serverip=10.168.168.10
stdin=serial
stdout=serial
stderr=serial
ethact=eth0

Environment size: 361/65532 bytes

Let’s keep everything the same, except the init, which can be modified with the command below:

ar7240> setenv bootargs console=ttyS0,115200 root=31:02 rootfstype=jffs2 rw init=/sbin/sh mtdparts=ar7240-nor0:64k(u-boot),64k(u-boot-env),6720k(rootfs),1216k(uImage),64k(NVRAM),64k(ART)

Let’s start Linux:

ar7240> boot

It will end with:

ar7240wdt_init: Registering WDT success
VFS: Mounted root (jffs2 filesystem) on device 31:2.
Freeing unused kernel memory: 128k freed


BusyBox v1.01 (2014.06.20-01:25+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

/bin/sh: can't access tty; job control turned off
/ #

Perfect! We’ve got access to the command line. Let’s have look at the users:

~ # cat /etc/passwd 
root:x:0:0:root:/root:/bin/sh
Admin:x:0:0:root:/root:/bin/sh
bin:x:1:1:bin:/bin:/bin/sh
daemon:x:2:2:daemon:/usr/sbin:/bin/sh
adm:x:3:4:adm:/adm:/bin/sh
lp:x:4:7:lp:/var/spool/lpd:/bin/sh
sync:x:5:0:sync:/bin:/bin/sync
shutdown:x:6:11:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
uucp:x:10:14:uucp:/var/spool/uucp:/bin/sh
operator:x:11:0:Operator:/var:/bin/sh
nobody:x:65534:65534:nobody:/home:/bin/sh
ap71:x:500:0:Linux User,,,:/root:/bin/sh

If we look at the shadow file only root and Admin have a password, so you could login with user ap71 without password for example, but that’s not too useful since you would not have root access. So I simply changed the root password with passwd command, but let’s me access the board via the UART console or telnet.

I’ve run some command to find out more about the system.

~ # uname -a
Linux (none) 2.6.31--LSDK-9.2.0_U11.14 #1 Wed Aug 6 13:13:40 HKT 2014 mips unknown
~ # df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 6.6M      5.8M    796.0k  88% /
/dev/sda1                 7.4G     18.8M      7.4G   0% /etc/disk
~ # cat /proc/cpuinfo
system type             : Atheros AR9330 (Hornet)
processor               : 0
cpu model               : MIPS 24Kc V7.4
BogoMIPS                : 266.24
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 16
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 4, address/irw mask: [0x0000, 0x0ff8, 0x0943, 0x0650]
ASEs implemented        : mips16
shadow register sets    : 1
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available

~ # busybox
BusyBox v1.01 (2014.06.20-01:25+0000) multi-call binary

Usage: busybox [function] [arguments]...
or: [function] [arguments]...

BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable.  Most people will create a
link to busybox for each function they wish to use and BusyBox
will act like whatever it was invoked as!

Currently defined functions:
[, arping, ash, awk, brctl, busybox, cat, chgrp, chmod, cp, cut,
date, dd, df, dirname, dmesg, du, echo, egrep, env, ethdebug,
ethreg, expr, factoryreset, false, fgrep, find, getty, grep, httpd,
id, ifconfig, init, insmod, iproute, kill, killall, linuxrc, ln,
login, ls, lsmod, md, md5sum, mkdir, mknod, mktemp, mm, modprobe,
more, mount, mv, passwd, ping, ps, pwd, reboot, rm, rmdir, rmmod,
route, sed, sh, sleep, strings, su, sync, tail, tar, telnet, telnetd,
test, tftp, touch, true, tty, udhcpc, udhcpd, umount, uname, vconfig,
vi, wc, xargs

~ #

The linux kernel contains the string “LSDK-9.2.0″ which appears to be an SDK for Atheros AR93XX, and can be downloaded here (I have not tried/verified the download). So the device is not running OpenWRT. Since telnet is not exactly secure, and want to access the device over the network, you should probably install dropbear, There’s only 796 KB left on the SPI flash, so what you can do is probably limited, although it might be possible to delete unused files to get extra space. Have fun!

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Imagination Technologies Introduces PowerVR Series7 GPUs with Up to 512 Cores, Virtualization Support

November 10th, 2014 3 comments

Imagination Technologies has announced a new PowerVR Series7 GPU architecture that will be used in their high end PowerVR Series7XT GPUs delivering up to 1.5 TFLOPS for mid range and high-end mobioe devices, set-top boxes, gaming consoles and even servers, as well as their low power lost cost PowerVR Series7XE GPUs for entry-level mobile devices, set-top boxes, and wearables.

PowerVR_Series7XT_Block_Diagram

PowerVR Series7XT GPU Block Diagram

PowerVR Series7 GPU, both Series7XT and Series7XE GPUs, can achieve up to a 60% performance improvement over PowerVR Series6XT/6XE GPUs for a given configuration. For example a 64-core PowerVR7XT GPU should be up to 60% faster than a 64-core PowerVR Series6XT clocked at the same frequency, with all extra performance due to a different and improved architecture.

Some of Series7 architectural enhancements include:

  • Instruction set enhancements including added co-issue capability, resulting in improved application performance and increased GPU efficiency
  • New hierarchical layout structure that enables scalable polygon throughput and pixel fillrate improvements in addition to increased clock frequencies
  • GPU compute setup and cache throughput improvements resulting in up to 300% better parallel processing performance

The new GPUs can also optional support 10-bit YUV color depths, security (e.g. DRM), and hardware virtualization, as well as other feature specific to some market segments:

  • Android Extension Pack (AEP) – Full hardware tessellation and native OpenGL ES 3.1 support. Compatible with Android 5.0 ‘Lollipop’ release.
  • DirectX 11 Feature Pack – Full DirectX 11.2 feature set for Microsoft operating systems.
  • OpenCL FP64 Feature Pack –  Scalable 64-bit floating point co-processor per cluster for high-performance server compute. Series7XT only.
PowerVR Seris7XE Block Diagram

PowerVR Seris7XE Block Diagram

The PowerVR Series7XT family scales between 100 GFLOPS to 1.5 TFLOPS, and is designed to provide the best possible performance. It features AEP and 10-bit YUV support by default, and supports between two to sixteen clusters with 32 multi-threaded multi-tasking ALU cores each. Current Series7XT GPUs include the GT7200 (64 cores),  GT7400 (128 cores), GT7600 (192 cores),  GT7800 (256 cores), and GT7900, the most powerful PowerVR GPU to date with 512 cores.

On the other hand, Series7XE GPUs are optimized for area, efficiency, and cost thanks to feature configurability, with let SoC manufacturers choose whether they want options such as 10-bit YUV support for HEVC, virtualization, or AEP support. Beside low cost mobile devices and media player, Series7XE GPU are also expected to be used in photocopiers, printers, consumer and other enterprise devices which may require 3D user interfaces at a lower price point. There are two GPUs part of the Series7XE family: GE7400 with 16 cores, and the GE7800 with 32 cores.

The company will provide their usual free PowerVR SDK for 3D graphics and GPU compute application development. Hypervisors will be able to utilize the virtualization in the GPUs to implement true heterogeneous security in any of the PowerVR Series7 GPUs (if virtualization is enabled).

PowerVR Series7XE and Series7XT GPUs are available for licensing now, and Imagination Technologies has already started implemention their new GPU IP into SoCs from licensing partners. More technical details about be found on two blog post: New PowerVR Series7XE family targets the next billion mobile and embedded GPUs and PowerVR Series7XT GPUs push graphics and compute performance to the max.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter