Archive

Posts Tagged ‘allwinner’

AllWinner Announces A83T Octa Core Processor for Tablets

September 4th, 2014 10 comments

AllWinner_A83TSo Allwinner has just announced a new processor. I’ve been disappointed recently when I discovered AllWinner A80 only supports Linux 3.4, whereas most competitors are running Android 3.10 stable kernel, and their partner is distributing A80 OptimusBoard development boards, which looks to be a nice hardware platform, but without any Android or Linux SDK… And with their latest press release you have to wonder… They announced AllWinner A83T processor with “eight highly energy-efficient Cortex-A7 cores that could run simultaneously at around 2.0GHz, and implements the advanced big.LITTLE architecture to maximize the battery life”. The only problem is that with big.LITTLE you need big and LITTLE core, and if AllWinner A83T is just having eight Cortex A7 cores, there’s no big to be found… I guess that just means they can turn cores on and off independently…

Allwinner must also have adopted Qualcomm or Mediatek press release “strategy”, as they release a little information as possible for their first press release… So right now, we just know the processor will be manufactured using TSMC’s 28-nm HPC processor, the cores will run up to 2.0 GHz, a PowerVR GPU is part of the mix, and it will feature Allwinner’s SmartColor technology to deliver better image quality.

Tablets based on Allwinner A83T should start selling in Q4 2014.

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

Categories: AllWinner A8X, Android Tags: allwinner, tablet

A80 OptimusBoard Development Board Pictures and Benchmarks

August 29th, 2014 13 comments

A80 OptimusBoard is a development board featuring the latest AllWinner A80 SoC with 8 ARM Cortex A15/A7 cores in big.LITTLE configuration, and a PowerVR GC6230 GPU. Availability was announced about 2 weeks ago for $345, but partially thanks to reader comments on CNX Software, Merrii Technology decided to lower the price to $169 (and $50+ for shipping) to stay competitive against similar boards such as Hardkernel ODROID-XU3. I’ve now received a sample for evaluation. I won’t go again through the specs, but today I’ll take a few pictures of the board, and provide benchmark results to compare them to the ones I got with Rockchip RK3288. Normally, I would also play with the SDK provided with the board, but sadly (and amazingly), there’s currently no such SDK for A80 OptimusBoard, except a leaked Linux SDK which failed to build with recent tools and operating systems.

A80 OptimusBoard Pictures

I’ve received the board via DHL from WITS Technology in the following package.

A80_OPtimusBoard_PackageInside the package, we’ve got the board itself in a transparent acrylic “enclosure”, a 5V/3A power supply, and a USB to serial cable.

A80 OptimusBoard with Power Supply and Debug Cable (Click to Enlarge)

A80 OptimusBoard with Power Supply and Debug Cable (Click to Enlarge)

I’ve also taken several pictures of the board. The top view shows AllWinner A80 SoC with 4 SKHynix chips for 2GB RAM, an AP6330 Wi-Fi module, and AXP809 PMIC, as well as various header for camera, serial, GPIOs (32 pins), battery, and JTAG. There’s also an IR receiver, and two small buttons for reset and power\ on this side of the board.

Top of A80 OptimusBoard (Click to Enlarge)

Top of A80 OptimusBoard (Click to Enlarge)

One thing that surprised me is that they did not include a heatsink with the board. Normally these kind of board comes with heatsinks and even maybe a fan small to let developers push the performance.

On the back of the board, there’s mostly the 16 GB Samsung eMMC flash, and a micro SD slot.

Bottom of A80 OptimusBoard (Click to Enlarge)

Bottom of A80 OptimusBoard (Click to Enlarge)

Connectors include a USB 3.0 OTG port, HDMI output, two USB 2.0 host ports, the DC jack, an Ethernet port (RJ45), and a 3.5mm headphone jack.

Connectors (Click to Enlarge)

Connectors (Click to Enlarge)

A80 OptimusBoard Benchmarks

I’ve connected an HDMI cable between the board and my TV, my air mouse RF dongle, an Ethernet cable, and the power supply to start the board. Boot time takes about 25 seconds.

Click for Original Size

Click for Original Size

I’ve been told the benchmarks may not be as high as for AllWinner A80 tablets. But let’s try anyway. Luckily, Google Play is installed with the firmware, but although I can login and search for apps, clicking on install did nothing. No problem, as I can install them by selecting “No Carrier AllWinner UltraOcta A80 OptimusBoard” on Google Play website.

But before running benchmarks, let’s get some details about AllWinner A80 SoC and the board with CPU-Z.

CPU-Z For AllWinner A80 (Click to Enlarge)

CPU-Z For AllWinner A80 (Click to Enlarge)

Since only some Cortex A7 cores (between 480 MHz and 1.20 GHz), CPU-Z appears to ignore Cortex A15 cores, and wrongly reports eight Cortex A7 cores. The codename of the board is “kylin_optimus”, which may be something useful to know when looking for information. It’s running Android 4.4.2 on top of Linux kernel 3.4.39, and everything have been built in early July. Resolution is 1920×1016, only 1205MB RAM is reported, most probably because some is reserved for the GPU, and some other hardware buffers. There’s 12.82 GB of internal storage.

The first benchmark I ran is Antutu 5, which they released yesterday.

Antutu 5 on A80 OptimusBoard (Click to Enlarge)

Antutu 5 on A80 OptimusBoard (Click to Enlarge)

It gets 33,921 which seems a little low, considering Amlogic S802 (Probox2 EX) got 37,000 with Antutu 5 (Beta), but as mentioned above they have not optimized the current firmware and hardware for performance. I haven’t run Antutu 5 on Rockchip RK3288 devices yet, so I can’t do a direct comparison yet. The firmware is also dated July 3,2014, so some more optimization may have been performed on the firmware since then. Yet no new firmware has been released.

Next… Quadrant benchmark could not run at all, and all I got was a black screen, just like with UyeSee G1H TV Box.

Vellamo worked, but I had to try twice to complete the benchmark.

A80_OptimusBoard_VellamoThe browser score is better on AllWinner A80 (2,308) than with Rockchip RK3288 (2,147), but A80 firmware defaulted to the Chrome browser, whereas UyeSee G1H used the stock Android Browser for this test, so both results can’t be compared. The Metal scores are somewhat similar with 1,287 (A80) and 1,323 (RK3288). Surprisingly, the Multicore (beta) test us much better on the quad core RK3288 (1,972) compared to the eight core A80 (1,340).

A80 Optimus Board Vellamo Multicore Comparison (Click to Enlarge)

A80 OptimusBoard Vellamo Multicore Comparison (Click to Enlarge)

During the tests, I also connected the serial console. Here’s what I got during the multicore test:

[   86.078970] CPU4: shutdown
 [   90.610468] CPU1: Booted secondary processor
 [   91.092528] CPU2: Booted secondary processor
 [   91.592556] CPU3: Booted secondary processor
 [   92.119633] CPU4: Booted secondary processor
 [   94.104631] CPU5: Booted secondary processor
 [   95.105115] CPU6: Booted secondary processor
 [   97.106251] CPU7: Booted secondary processor
 [   98.767201] CPU Budget: Limit state:1 item[1200000,4,1608000,4 0]
 [   98.774392] CPU Budget:update CPU 4 cpufreq max to 1608000 min to 600000
 [  100.591363] CPU7: shutdown
 [  100.917218] CPU Budget: Limit state:0 item[1200000,4,1800000,4 0]
 [  101.106648] CPU6: shutdown
 [  101.578869] CPU5: shutdown
 [  102.069103] CPU3: shutdown
 [  102.578981] CPU2: shutdown
 [  103.594914] CPU5: Booted secondary processor
 [  105.099015] CPU6: Booted secondary processor
 [  107.092366] CPU2: Booted secondary processor

AllWinner A80 cores are booted in sequences. The Cortex A7 cores with 500ms interval, and the first two Cortex A15 are started first in 1 second intervals, and then 2 seconds interval. These delays may explain the lower performance of AllWinner A80 compared to Rockchip RK3288, and are probably done to optimize power consumption, rather than performance. You’ll also notice that when all 8 cores are running the Cortex A15 frequency is limited to 1.6 GHz, and after CPU7 is shutdown, it is re-adjusted to 1.8 GHz. Checking “/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor” show it’s set to “interactive”. so it would probably be possible to get a higher performance, with the CPU governor set to “performance”. I’m not sure how to change the behaviour since “cpupower” does not seem to be available (by default) in Android, and “cpufreq” directory is not available with shutdown cores. Maybe I should study about this, and write my finding in a separate post. Tips are welcome.

I’ve also noticed that running “cat /proc/cpuinfo” will only show the cores that are not shutdown, so during idle time you may just see one core.

AllWinner A80 embeds an Imagination Technologies PowerVR GC6230, which is supposed to provide some decent performance. So I’ve also run “Ice Storm Extreme” tests part of Futuremark’s 3Dmark benchmark.

3DMarks Ice Storm Extreme on A80 Optimus Board (Click to Enlarge)

3DMarks Ice Storm Extreme on A80 Optimus Board (Click to Enlarge)

But yet again, the results are somewhat disappointing, as A80 OptimusBoard got 5,841 points against 7,278 points for Rockchip RK3288, but the main culprits are the Physics score and test which for some reasons are much lower on AllWinner A80. The other scores are similar to Rockchip RK3288.

Finally some Linux benchmarks results. There’s still no Linux distribution available for A80 Optimius Board, but Linuxium ran some tests from the Phoronix test suite in a Linux chroot in Android comparing it to ODROID-U3 (Samsung Exynos 4412), MINIX NEO X8 (Amlogic S802), and Radxa Rock (Rockchip RK3188). These are all ARM Cortex A9 quad core processor, and the AllWinner A80 development board easily outperform these in most test.

A80_Optimus_vs_ODROID-U3_vs_MINIX_NEO_X8_vs_Radxa_Rock_LinuxAll these benchmark results should be taken with grain of salt, as the firmware is rather old, and I’d expect some performance improvement with newer firmware, and CPU governor set to performance.

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

AllWinner A80 Linux SDK Released

August 26th, 2014 15 comments

After Android 4.4 SDK for AllWinner A31 last week, another AllWinner software development kit has been seen in the wild, this time for the new AllWinner A80 octa-core processor. A80 SDK includes source code for the Linux Kernel and U-boot, as well as buildroot, and various AllWinner tools. I’ve also noticed AllWinner A80 datasheet is available, but with the strict minimum information (45 pages).

AllWinner_A80_SDK

Let’s get the code, and extract it:

wget http://dl.linux-sunxi.org/SDK/A80/A80_SDK_20140728.tar.gz
tar xvf A80_SDK_20140728.tar.gz
cd A80_SDK_20140728

Now we need to configure the build:

./build.sh config

Welcome to mkscript setup progress
All available chips:
   0. sun9iw1p1
Choice: 0
All available platforms:
   0. android
   1. dragonboard
   2. linux
Choice: 2
All available kernel:
   0. linux-3.4
Choice: 0
All available boards:
   0. optimus
   1. p1
   2. perf
   3. perf5
   4. perf-lpddr3
Choice: 0

sun9i is the codename for AllWinner A80, not sure what w1p1 means. Dragonboard must be the internal Allwinner development board, but I just selected Linux, since the SDK does not come with Android, and finally I opted for optimus, which could stand for OptimusBoard.

You may need to install extra dependencies in your build machine, for example (in Ubuntu 14.04):

sudo apt-get install flex texinfo build-essential

Now let’s start buildroot which should retrieve the toolchain, and build u-boot and the Linux kernel:

./build.sh
INFO: ----------------------------------------
INFO: build lichee ...
INFO: chip: sun9iw1p1
INFO: platform: linux
INFO: kernel: linux-3.4
INFO: board: optimus
INFO: output: out/sun9iw1p1/linux/optimus
INFO: ----------------------------------------
INFO: build buildroot ...
make: Entering directory `/media/hdd/edev/allwinner/A80_SDK_20140728/lichee/buildroot'
mkdir -p /home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/target
if ! [ -d "/home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/target/bin" ]; then \
		if [ -d "/media/hdd/edev/allwinner/A80_SDK_20140728/lichee/buildroot/fs/skeleton" ]; then \
			cp -fa /media/hdd/edev/allwinner/A80_SDK_20140728/lichee/buildroot/fs/skeleton/* /home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/target/; \
		fi; \
		touch /home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/host/usr/arm-unknown-linux-gnueabi/sysroot/.fakeroot.00000; \
	fi
find /home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/target -type d -name CVS -print0 -o -name .svn -print0 | xargs -0 rm -rf
find /home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/target -type f \( -name .empty -o -name '*~' \) -print0 | xargs -0 rm -rf
touch /home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/build/.root
--2014-08-26 11:55:29--  http://www.codesourcery.com/sgpp/lite/superh/portal/package7783/public/sh-linux-gnu//gcc-linaro.tar.bz2
Resolving www.codesourcery.com (www.codesourcery.com)... 107.23.79.96
Connecting to www.codesourcery.com (www.codesourcery.com)|107.23.79.96|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://sourcery.mentor.com/sgpp/lite/superh/portal/package7783/public/sh-linux-gnu//gcc-linaro.tar.bz2 [following]
--2014-08-26 11:55:31--  https://sourcery.mentor.com/sgpp/lite/superh/portal/package7783/public/sh-linux-gnu//gcc-linaro.tar.bz2
Resolving sourcery.mentor.com (sourcery.mentor.com)... 54.83.42.164
Connecting to sourcery.mentor.com (sourcery.mentor.com)|54.83.42.164|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://sourcery.mentor.com/public/gnu_toolchain/sh-linux-gnu//gcc-linaro.tar.bz2 [following]
--2014-08-26 11:55:33--  https://sourcery.mentor.com/public/gnu_toolchain/sh-linux-gnu//gcc-linaro.tar.bz2
Connecting to sourcery.mentor.com (sourcery.mentor.com)|54.83.42.164|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2014-08-26 11:55:35 ERROR 404: Not Found.

--2014-08-26 11:55:35--  http://sources.buildroot.net//gcc-linaro.tar.bz2
Resolving sources.buildroot.net (sources.buildroot.net)... 176.9.16.109
Connecting to sources.buildroot.net (sources.buildroot.net)|176.9.16.109|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2014-08-26 11:55:37 ERROR 404: Not Found.

make: *** [/media/hdd/edev/allwinner/A80_SDK_20140728/lichee/buildroot/dl/gcc-linaro.tar.bz2] Error 1
make: Leaving directory `/media/hdd/edev/allwinner/A80_SDK_20140728/lichee/buildroot'
ERROR: build buildroot Failed

So it’s looking for Linaro gcc via several servers, (except linaro), and all links fail… So I modified buildroot/toolchain/toolchain-external/ext-tool.mk to use http://releases.linaro.org/14.04/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux.tar.bz2 instead, and after adding some symlinks (arm-linux-gnueabi-gcc to arm-linux-gnueabihf-gcc), it went a little further, but Busybox failed to build (error: ‘RLIMIT_FSIZE’ undeclared), so another toolchain may be needed, or some work is needed to make it build…

Several drivers in the kernel are binary only, or mixed binary / source, including the NAND driver, part of dram frequency scaling drivers, some MIPI code, a face detection library, part of USB3.0 code, and more.

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

Interview with Allwinner Regarding their Linaro Membership

August 21st, 2014 14 comments

Since Allwinner has joined the Linaro Digital Home Group earlier this year, many people, including myself, have wondered what it means in terms of Linux support, and the engagement with the open source community. Following up on an idea from a regular reader, I’ve decided to asked a few questions to Ben-El Baz, marketing manager at Allwinner, and Linaro contact for Allwinner, which he kindly answered, and accepted to be published on CNX Software.

AllWinner_Linaro

  • CNXSoft: Why did Allwinner decide to join Linaro, and especially the Digital Home Group?
    Allwinner: One of our company’s goals is to be a technology leader.  It’s ambitious but not too far-fetched given the background of our leadership and engineering team.  There’s an extremely talented group of guys behind the scenes here!

    Leading is difficult unless you’re involved in collaborative organizations like Linaro that work on new technology.  Joining Linaro is an opportunity for us to grow and develop new technology together with other leading companies.  We’ve actually been trying to find the right time to join Linaro for over a year.  The Home Group was a perfect entry point; since the end of last year we’ve invested more resources into our home entertainment (OTT) division.  Our roadmap has added many new home sector-specific SoCs as well.

    Joining Linaro is also a continuation of our open strategy.  We’ve tried to be as open as possible since joining the app processor space; we were one of the first low-cost vendors to fully support the open source hardware community through partners like CubieTech, OLinuXino, pcDuino, Merrii, and more.  I’m sure I’m forgetting someone, please don’t be mad!

  • CNXSoft: There are three levels of membership for companies at Linaro: Core member, Club member, and Group member. AllWinner joined Linaro as a Group member, which as I understand is a limited membership, and leads to several questions:
    1. Will Allwinner primarily have an observatory role in the Digital Home Group, or will the company be actively engaged?
      Allwinner: Joining an international, collaborative engineering organization is new to us.  We’ve mostly been observing up to this point, but we’re trying to get more involved.  Getting more involved means our engineers more closely following Linaro’s roadmap and thinking about new projects we could bring into the Home group.  We’ve already brought up some ideas within the group.
    2. Will the work done in the Digital Home Group focus mainly on higher level applications, or will some work be done on the kernel and drivers as well,  specifically to the parts relating to Allwinner, or in other words will there be engineers at Linaro working on code specific to Allwinner?
      Allwinner:
      Still doing work planning.  Happy to share more details after Connect.  Have already done some ground work to support upcoming projects though.  Welcome any ideas from the community as well.
  • CNXSoft: I understand there’s no Allwinner Landing Team at Linaro, so there won’t be engineering builds targeting Allwinner hardware released by Linaro. Does Allwinner plan to eventually put more resources into Linaro?
    Allwinner:
    We’re more resource-limited compared to other larger Linaro members but still able to make appropriate engineering commitments.  We’re thinking about increasing our contribution over time – this type of collaboration is still very new to us.
  • CNXSoft: Do you expect the Linaro membership to affect the way the company approaches open source development? For example,  like many silicon vendors, Allwinner develop their own SDK (Linux,U-boot, etc..) in house, and release a vendor tree to direct customers, but it appears many companies are seeing the benefit of committing code to mainline (kernel.org), and there’s a clear trend in that direction. Now Allwinner mainline support is mainly performed by linux-sunxi community, so I’m wondering if Allwinner has any interest in getting involved in this area?
    Allwinner:
    I think there will always be a split software support focus – one towards productization and one towards mainline Linux support. Recently we started a more formal engagement with the linux-sunxi community; hopefully this will enable us to better support developers. Mainlining is important to us but needs some focus. It’d help to hear what the community wants. Which Allwinner SoCs would you like to see with mainline support? With which modules supported? In which kernel version (realistically!)? Why?

They also told me more details should be available after Linaro Connect USA next month.

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

Embedded Linux Conference Europe 2014 Schedule – IoT, ARM vs x86, Optimization, Power Management, Debugging…

August 21st, 2014 2 comments

The Embedded Linux Conference Europe (ELC 2014), CloudOpen, and LinuxCon Europe will jointly take place at the Congress Centre Düsseldorf, in Germany on October 13 – 15, 2014. The 3-day events will consists of keynotes, presentations, and tutorials. Each day will open with two or three keynotes by speakers including  Jim Zemlin (Executive Director, Linux Foundation), and Jono Bacon (XPRIZE), followed by presentation and tutorials. There will be 45 presentations for ELCE, 58 for LinuxCon, and 47 for CloudOpen, I’ll make a virtual schedule with a few sessions part of the Embedded Linux Conference Europe “track”.

ELCE_2014

Monday, October 13

When faced with a performance problem, the initial steps towards a solution include identifying the sections of code responsible and the precise reasons they are time-consuming. To this end, the ‘perf’ profiling tools provide valuable insight into the characteristics of a program. The presentation will show, using real-world examples, how the ‘perf’ tools can be used to pinpoint the parts of a program in need of optimization.

It’s not uncommon to produce embedded Linux based devices that end up with long and inconvenient boot times – yet eliminating boot time delays can be difficult and time consuming. Furthermore once a minimal boot time has been achieved it’s often just as difficult to maintain it through subsequent software development.

In this presentation, Andrew unfolds 12 keys lessons learned in his experience of boot time reduction. These lessons provide an insight into the common causes of boot time delays, why they are present and how they can be overcome. In describing these lessons Andrew will also take you on a journey that indicates why file system benchmarks should probably be ignored (with respect to boot time reduction) and a journey that illustrates that the Linux kernel is rarely the worst offender for boot delays.

With the introduction of Bluetooth Smart (aka Low Energy), the ubiquity of Bluetooth is more and more present. Millions of devices support Bluetooth Low Energy and with Bluetooth 4.1 specification, they are ready for the Internet of Things. This presentation will give an overview of Bluetooth Low Energy, and its usage for the Internet of Things. It will also introduce 6loWPAN over Bluetooth and show the possibilities this opens for Linux.

With experience developing community based open hardware for both the ARM based PandaBoard project and the x86 based MinnowBoard project, this presentation will provide a detailed comparison of the pros and cons of each platform with highlights of what each platform can learn from the other. Not only limited to the hardware aspect of the platforms, but also discuss community, software, corporate and general embedded aspects.

For almost as long as there have been deployments of Linux, there has been someone wondering “how can I get the device started quicker?” and “how do I configure some redundancy, easily, in case something goes wrong?”. And for the longest time, the answer has been “hack this and this and that” or “hire these consultants, they have done it before”. In this presentation, Tom will show what you need to turn on and the prep work required for, getting a lot of those items out of the box in U-Boot, what the hardware (and/or ROM) needs to do, and the what works is left going forward.

Got a question, comment, gripe, praise, or other communication for the Yocto Project and/or OpenEmbedded? Or maybe you’d just like to learn more about these projects and their influence on the world of embedded Linux? Feel free to join us for an informal BoF.

Tuesday, October 14

While user experiences are increasingly moving to 3D, rendering of 2D content remains at the core of how we interact with computer applications today. Skia is an open-source project maintained by Google whose goal is to bring the best 2D graphics library to a variety of targets, from mobile to desktop and embedded. Skia is used in highly popular projects like Mozilla Firefox, the Chromium browser and Android.

This talk will introduce Skia to developers and users, giving an overview of its design, architecture and features. It will also discuss briefly how hardware acceleration improves performance of Skia in the context of new devices, form-factors and the industry shift to mobile; with focus set on Linux and Android platforms.

The 4.4 KitKat release includes the results of “Project Svelte”: a set of tweaks to the operating system to make it run more easily on devices with around 512 MB RAM. This is especially important for people working with Android Wearables and “Embedded Android”, that is, implementing Android on devices at the lower end of the Android ecosystem. A large part of the problem is knowing how much RAM is really being used. Android offers a variety of tools for the purpose: procrank, procmem, meminfo and procstats, which Chris covers in the first part of the talk. In the second part, he takes a real-world example and show the practical steps you can take to optimize memory use including tuning the size of the Dalvik heap, enabling KSM (Kernel samepage merging) and swap to zRAM.

Android has relied from its early days on the Linux kernel for sandboxing the processes it runs. Yet, the permission model presented to app developers is significantly different from the Unix permission model. What’s the relationship between those two models? How is Android’s app security framework tied to the Linux kernel’s security model? More recently, Android has started using SELinux and has been extended by SEAndroid to support similar functionality. How is SELinux used by Android and what is SEAndroid about? Furthermore, how does Android provide support for multiple users?

This talk will explore Android’s security model in great detail and explain how the functionality found in the kernel is used to isolate user processes and the SE enhancements are leveraged by Android. As we’ll see, there are quite a few moving parts in Android’s security model.

Since last year, Free Electrons has been working on supporting the SoCs from Allwinner, a Chinese SoC vendor, in the mainline kernel. These SoCs are cheap, wide-spread, backed by a strong community and, until last year, only supported by an out-of-tree kernel. Through this talk, Maxime will share the status of this effort: the status a year ago, what solutions were in place, where we are currently, and what to expect from the future. He will also focus on the community around these SoCs, the work that is done there, etc.

Enlightenment Foundation Library is a set of libraries designed to use the full potential of any hardware to do great UI. It has been designed with the embedded devices in mind, but it is a desktop class toolkit. Being done in C, it is providing a stable API/ABI, high efficiency, low memory and low battery usage for all kind of Linux devices. Enabling development of modern UI adapted to any hardware that run Linux. These are the reason why Samsung uses it in its Tizen devices. This talk, after a short overview of what this libraries cover, will focus on this year improvement, and where it is heading. It will also be an opportunity to learn about project around EFL that will help people develop product with it. And it would also be a good opportunity to see where EFL are used with some real use case.

Wednesday, October 15

A major issue the community faces is the lack of power measurement (PM) instrumentation, coupled with poor integration: development boards not designed for it, expensive high-precision lab equipment not accessible to hobbyists (plus limited Linux support), limited low-cost solutions (precision, sampling rate) to monitor high-performance SoC (System On Chips) platforms (e.g. smartphones, tablets, IoT, …). After a brief introduction to the problematic (PM techniques, sense resistor / ADC selection, …) and a comparative study of existing solutions, this presentation will focus on a new upcoming initiative to close these gaps and bring a full-blown multi-channel but low-cost power (and temperature) measurement equipment to the community, including the definition of an open standard PM connector. After having covered motivations, challenges, key decisions, a live demo will close the talk.

In 2013, at the Embedded Linux Conference in Europe in Edinburgh, there was a race between a dog and a blimp. It was said that despite the dogs win, that the blimp had participated in the miracle of flight. In 2014, John wants to show that the brains of that dog can be transplanted and that it too, can participate in the miracle of flight. The talk is mainly targeting taking an off the shelf embedded platform, Minnowboard Max, and it’s use in UAVs, specifically quad-copters. With the ability to do real time computer vision, as well as various GPIO capabilities he will explore the directions that significantly more autonomous UAVs can take with Linux and embedded platforms using, mostly, off the shelf components.

There have been many presentations on what a device tree looks like and how to create a device tree. This talk instead examines how the Linux kernel uses a device tree. Topics include the kernel device tree framework, device creation, resource allocation, driver binding, and connecting objects. Troubleshooting will consider initialization, allocation, and binding ordering; kernel configuration; and driver problems.

Providing real-time capabilities to a general purpose operating system is an outstanding technical problem, and Linux Preempt-RT has been developed for 10 years for this goal. In this presentation, Jim proposes a lightweight open source para-virtualization layer, called “rtmux”, using resource-multiplexing techniques to provide a highly deterministic RT environment for Linux/ARM. Typically, less than 500 lines modification against Linux kernel are required to enable rtmux accompanied by POSIX/PSE51 compatible runtime.

During the last 2.5 years, a team of engineers at Free Electrons has been involved in mainlining the support for several ARM processors from Marvell, converting the not-so-great vendor-specific BSP into mainline quality code progressively merged upstream. This effort of several hundreds working days, has led to the integration of hundreds of patches in the kernel. Through this talk, Thomas will share some lessons learned regarding this mainlining effort, which could be useful to other engineers involved in ARM SoC support, as well as detail the steps Free Electrons engineers have gone through, the mistakes made and how they’ve been solved, as well as their overall experience on this project.

To make your own schedule matching your interests, you can check out the events’ program.

To attend the conference, you can register online.

The fees are listed as follows:

  • All-access Registration Fee – $600 until August 22 (tomorrow), $750 until October 2, and $850 afterwards
  • Attendee Networking Pass Registration – No access to conference sessions. $250 until August 22, $300 afterwards.
  • Student Registration Fee – $200 (valid student id required).
  • Registration Discount Scholar – $300. For active open source community members who can’t be sponsored by their company. .

Fees are significantly higher than last year, because there are only all-in-one (ELCE, CloudOpen and LinuxCon )options, and you can’t simply register to one single event.

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

AllWinner A31 Android & Linux SDKs, and Documentation Leaked

August 20th, 2014 16 comments

AllWinner A31 software development kits (SDK) for Android 4.2 / 4.4 and Linux can now be downloaded, and relevant documentation has also been made available, including HummingBird A31 system brief and system manual. Part of the documentation is in English, but lots of it, is in Chinese only.

AllWinner_A31_SDK_Android_LinuxDownload links to AllWinner A31 SDKs for HummingBird A31 development board, but they may be useful for other hardware platforms based on AllWinner A31:

  • Android 4.4 SDK (password: 5ck9) – a31_v4.5_hummingbird_kfb_ok.tar.gz (6.04 GB)
  • Android 4.2 SDK (password: tz17) – a31_hummbingbird_V3.3_v2_kfb_0k.tar.gz (3.99 GB)
  • Linux SDK (password: kdcw) – A31_MerriiLinux_V3.3_v1.tar.gz (1.17 GB)

There are also links to firmware files specific to HummingBird:

It takes a very long time to download the SDKs, so I haven’t checked the files, and hopefully there’s also some documentation inside. But if you want a quicker look at the documentation including AlLWinner A31 datasheet, AllWinner A31 tablet and STB schematics, and more, you may want to have a look at http://wens.csie.org/a31/, but soon these may become available on linux-sunxi.org.. [Update: The SDK can now downloaded @ http://dl.linux-sunxi.org/SDK/A31/ and the documentation @ http://dl.linux-sunxi.org/A31/]

On a related note, there will be soon another AllWinner A31 development board and systems-on-module (A31-SOM-EVB + A31-SOM) made by Olimex.

Thanks to Domingos!

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

AllWinner A33 Quad Core Tablets Are Now Available for $60 and Up

July 29th, 2014 6 comments

AllWinner A33 is a new quad core Cortex A7 processor pin-to-pin compatible will AllWinner A23 dual core processor, that costs less than $5 with the power management IC (AXP223). Tablets based on the new processor are now available for sale, and just as low as $60 including shipping on Aliexpress. All models currently listed feature 9″ to 10″ displays, so it’s safe to expect 7″ tablets to be close to $50.
AllWinner_A33_Tablet
Let’s check the specs of one of the no-name 9″ tablets currently available:

  • SoC – AllWinner A33 quad core Cortex A7 processor @ 1.3 GHz (Overclocked to 1.5GHz???) with Mali-400MP2 GPU
  • System Memory – 512MB RAM
  • Storage – 8GB NAND FLASH + microSD card slot (Up to 32GB)
  • Display – 9″ capacitive touch screen (800 x 480 pixels, 5 points touch)
  • Connectivity – 802.11 b/g/n Wi-Fi and Bluetooth. 3G is supported via external 3G USB dongle.
  • Camera – 0.3M front camera,  1.3MP rear camera
  • USB – 1x micro USB 2.0 port
  • Audio – Speakers, earphone jack
  • Video Codecs - H.264, VP8, RV, WMV, AVS, H.263, MPEG4 up to 1080p
  • Audio formats – MP3, WMA, WAV, ACC, ACC+
  • Sensors – Gravity sensor
  • Battery – 3000 mAH Lithium battery
  • Dimensions – 263 x 165 x 11.5 mm
  • Weight – 650 gram???

The tablet runs Android 4.4.2, and comes with a 5V/2A power adapter, a OTG cable, a micro USB to USB cable, and a user’s manual. 512 MB RAM used to be a limitation in previous version of Android, but that might be OK with Android 4.4, as Google optimized Android for device with 512 MB RAM. I’d expect 800×480 resolution for a 9″ display will be somewhat pixelated, and the dual cameras to be a disaster. But if it’s for a first tablet, for a kid, or for tablet used as a control panel it could be an option. I and a few people around me purchased low cost tablets in the last few years, and I found them to be mostly usable, but you can’t expect to keep them to last very long because of the battery which will survive 6 months to a little over a year depending on your usage…

You may also want to read the press release for details about SmartColor image processing technology, video decoder performance, and power consumption (up to 300 hours in standaby mode with a 4,000 mAh battery).

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