Posts Tagged ‘arm’

Amlogic S905 Source Code Published – Linux, U-Boot, Mali-450 GPU and Other Drivers

November 19th, 2015 16 comments

Amlogic has an open linux website where they regurlarly release GPL source code, and with Amlogic S905 devices coming to market, they’ve released a few tarballs at the beginning of the month including Linux 3.14 source code, U-boot source code, and Mali-450MP GPU kernel source code (obviously not userspace), as well as some other drivers for WiFi, NAND flash, PMU, TVIN, etc…
Amlogic_S905_Linux_MenuconfigLet’s get to the download links:

I quickly tried to build the Linux source. If you’ve never build a 64-bit ARM kernel or app before, you’ll fist need to install the toolchain. I installed the one provided with Ubuntu 14.04:

Now extract the tarball and enter the source directory:

At first I had a build failure due to a missing directory, so I created it, and use the default config for Amlogic S905/S912 (in arch/arm64/configs), before building the Linux kernel.

and it ended well:

So that’s a good starting for anybody wanting to work on the Android or Linux kernel…

Unrelated to Amlogic S905/Meson64, but I’ve also noticed some OpenWRT packages and rootfs  on Amlogic website that was released a little earlier this year. So either some people are using Amlogic Sxxx processors with OpenWRT, or Amlogic is working on a router chip that I missed. Probably the former.

Thanks to Olin.

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

Kondor AX FPGA + ARM Networking Board Targets Base Stations, IoT Gateways and IP Cameras

November 18th, 2015 No comments

Mikro Project, a company based in Zagreb, Croatia, has recently introduced Kondor AX “Advanced System Development Board” combining  Freescale i.MX6Solo processor with Lattice ECP5 FPGA, and targeting “low power applications at the network edge including HetNet (Heterogeneous Networks), Small Cells, Industrial IoT gateways and IP Cameras.”

Click to Enlarge

Click to Enlarge

Kondor AX development board specifications:

Category Lattice ECP5 LFE5UM-85F-BG756 FPGA Freescale i.MX6 Solo SoC
  • 84.000 LUTs
  • 207 Block RAMs
  • 156 18×18 Multipliers
  • 365 IO pins
  • 4 SERDES channels (In/out)
  • 400 MHz LPDDR3 Memory Support
  • 4 PLLs, 4 DLLs
  • ARM Cortex A9 @ 1 GHz
  • 512 KB L2 cache
  • GPU 3D – Vivante GC880
  • Video Decode: 1080p30 + D1
  • Video Encode: 1080p30 H.264 BP/ Dual 720p encode
Programming options
  • On-board USB JTAG interface
  • 10-pin JTAG header
  • Using i.MX6 processor
Memory & Storage
  • 512MB LPDDR3-1600
  • 800 MHz Clock Rate
  • 1x 32-bit channel
  • 512 MB 32-bit DDR3
  • 64Mbit SPI Flash
  • 8GB eMMC
  • Micro SD Card
Connectivity  and peripherals
  • 2x SFP cages
  • FMC Connector
  • GPIO header
  • GPIO (differential) header
  • 10/100M Ethernet (RMII)
  • UART (using USB JTAG interface)
  • HDMI output
  • Gigabit Ethernet
  • USB serial interface
  • Camera interface
Other peripherals
  • 4x Single color LEDs
  • 4x Dual color LEDs
  • 6x Status LEDs
Boot Options
  • From 64 Mbit on-board SPI Flash memory
  • SPI Slave mode
  • SPI flash
  • eMMC
  • Micro SD card
  • Onboard 100MHz Differential Oscillator
  • Si5338 Clock Generator
  • 24 MHz & 32.76 KHz
On-board Communication Interfaces
  • PCIe x1 interface
  • EIM interface
  • I2C, SPI, UART
Power Supply
  • 12V Input
  • RoHS Compliant
Kondor-AX Board Description and Block Diagram (Click to Enlarge)

Kondor-AX Board Description and Block Diagram (Click to Enlarge)

The company provides a Linux BSP for Freescale i.MX 6 Solo processor that includes device drivers, applications/services, libraries, GNU Tools (compilers, linkers, …) and “deployment mechanisms”. The ECP5 FPGA can be programmed over JTAG and SPI using Lattice Diamond Programmer from a computer, or directly with i.MX6 using command line tools. The board documentation including the flyer, a Linux BSP setup guide, and the user’s manuals, as well as tutorials for some demos can be found in the download page.

Typical HetNet Application Block Diagram (Click to Enlarge)

HetNet Application Block Diagram (Click to Enlarge)

MikroProjeckt did not provide availability nor pricing information for the board, but I’ve been told the sample price is $1,800 + shipping, with a one week lead-time. More details can be found on MikroProjekt’s Kondor AX product page.

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

Run x86 Linux and Windows Applications in Raspberry Pi and other ARM Linux Devices with Exagear

November 12th, 2015 9 comments

A few weeks ago, I finally decided to buy a Raspberry Pi 2 board as it could always be useful for some testing, at least for comparison purpose. I ended up buying it from Ebay for $40, as it’s more $3 to $5 more expensive locally. Nevertheless I was not sure what I’ll use it first for, but after seeing a tweet for Exagear Desktop software that allows ARM boards to run x86 Linux or Windows applications, the later through wine. The program is available for Raspberry Pi, Raspberry Pi 2, and ARMv7 devices for $19.95 to $29.95.

I asked for version for testing purpose, and I was given a Google Drive link to download Exagear for Raspberry Pi 2, as well as a 3-month trial key. Installation is very easy.

I started by downloading and installing Raspbian Jessie the usual way on a 32GB micro SD card. It went pretty smoothly, and after installation I had to run raspi-config to extend the partition size, change the timezone, and keyboard layout.

Once you have downloaded the 1.4GB tarball for Exagear, extract it in your Raspberry Pi 2:

Now copy your product key (pk-xxxxxxxxxxxx.key) in the directory, and you should end with the the following files:

Now run the installation script:

The script should auto-detect your operating system and install the right files for your operating system:

You’d definitely need a 8GB micro SD card, and preferably larger, since 6.9GB is taken after Exagear is installed, and before you’ve installed any of your x86 apps:

Let’s compare the kernel in Raspbian and exagear.

So we’ve switched to an i686 machine with four cores (only one shown below):

First let’s try to run Skype for Debian, which has not been released for ARM.

The first step is to download Skype package and install it within exagear:

Installation failed because some of dependencies are not installed, but apt-get can take over from here:

This should complete Skype installation, with 7.2GB now used on the SD card.

I could start Skype from the command or top menu, login, start chatting.


Click for Original Size

Great! But when I tried the Echo / Sound Test Service, I noticed no audio. But I found on the forums that I would have to install pulseaudio on the ARM side. After exiting exagear, I did so, and tested audio.

Audio worked, but with pretty bad quality. Some problems related to the Raspberry Pi image, as Exagear is not involved here. I tried Skype again, but I had no luck with audio. [Update: Exagear provided more instructions but still no luck]

Beside the few x86 Linux programs not available for ARM, x86 emulation is particularly interesting to run Windows programs, which is usually done with wine in Linux.

Wine is already installed, so I decided to try Microsoft Windows 2007 Word Viewer, which has a Platinum rating in WineHQ website, meaning it should work well, and I did test it successfully in my Ubuntu 14.04 computer before trying it on the Raspberry Pi 2. Sadly it did not work well when I switched to exagear.

After checking into Eltechs_ExaGear_Desktop_guide_1.2.pdf, the issue is likely related to a kernel / user memory split, but Exagear has supposedly ported wine to support 2G/2G kernel split, and including a table with the versions to install for a given OS.

Kernel Split / OS Version / Exagear Packages

Kernel Split / OS Version / Exagear Packages

My system is running Raspbian Jessie 8 operating system with debian-8-wine2g package installed.  You’ll probably want to try another operating system with a 3G/1G split, such as Debian Jessie 8 to make sure wine runs fine. I’ve asked the company about the audio and wine issues, but did not receive any feedback after nearly 48 hours , so I’ve moved on due to time constraints. [Update: See comments with Skype ionstructions, and a promise to provide a patch for wine]. Other people were more lucky with Exagear and Windows with for instance, some old Windows games running on ODROID boards.

The company claims Exagear is up to 4.5 times faster than QEMU, but I wondered what would be the difference between native ARM programs to one compiled for x86. There’s always going to be a performance hit with emulation, but I built and ran linpack to find out how much.

  • Linpack natively run inside Raspberry Pi

  • Linpack emulated in Exagear.

Linpack x86 in Exagear is about 4.2 times slower than native Linpack (ARM) in the Raspberry Pi 2

I had mixed experience with Exagear. Skype is running well if all you do it chatting, but I had some audio issue, and I did not test video conference which is likely to suffer with emulation. You may have come across some configuration issues with Windows emulation, and unless you use old programs, for example games like Doom, Red Alert, or Duke Nukem 3D, the memory available on most ARM platforms will be a limitation. Finally, Exagear also has competition from both the free QEMU emulator (which is not quite as fast) and  cheap Intel hardware with Ubuntu Intel Atom TV Sticks selling for a little over $70.

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

ARM Introduces Cortex A35 64-bit Low Power Core, ARMv8-M Architecture for Secure MCUs

November 11th, 2015 4 comments

ARM TechCon 2015 has just started, and there have been a few announcements including the launch of a Cortex-A7 replacement with Cortex A35 providing 10% lower power consumption, 6 to 40% performance boost, and a better design flexibility making it suitable for SoC for smartphones to wearables.


The main specifications of Cortex A35 cores:

  • Architecture ARMv8-A (AArch32 and AArch64 )
  • Multicore 1-4x SMP within a single processor cluster, and multiple coherent SMP processor clusters through AMBA 5 CHI or AMBA 4 ACE technology
  • ISA Support
    • AArch32 for full backward compatibility with ARMv7
    • AArch64 for 64-bit support and new architectural features
    • TrustZone security technology
    • NEON Advanced SIMD
    • DSP & SIMD extensions
    • VFPv4 Floating point
    • Hardware virtualization support
  • Debug & Trace CoreSight DK-A35

The new core can both be used in quad core configuration at 1 GHz for a smartphone (90 mW per core), or in single core configuration at 100 MHz for wearables (6 mW) in a 0.4mm2 silicon footprint.

Cortex A7 vs Cortex A35 Performance

Cortex A7 vs Cortex A35 Performance

Cortex-A35 also consumes about 33 percent less power per core, and occupies 25 percent less silicon area compared to Cortex-A53. Considering quad core Cortex A53 devices ship for less than $50 today, you can expect ultra low cost (and low power) smartphones, wearables, and set-top boxes by the end of 2016. Cortex A35 is also expecting in low-power servers and smart TVs.

Visit ARM Cortex A35 page for more details.

ARM is also addressing IoT security by bringing ARM TrustZone and stack limits to micro-controllers with ARMv8-M architecture.

ARMv6-M vs ARMV7-M vs ARMv8-M

ARMv6-M vs ARMV7-M vs ARMv8-M

Some of the key features of ARMv8-M include (new in bold):

  • 32-bit architecture
  • ARM Thumb-2 technology for excellent code density
  • ‘C’ friendly exception model
  • Protected memory system support for real-time operating system use
  • Real time deterministic interrupt response
  • Adds fast, low overhead hardware based security extensions with ARM TrustZone for ARMv8-M
  • Enhances debug and trace with more flexible breakpoints and watchpoints
  • Improves productivity by making it easier to scale solutions from the smallest to the most performant
  • Makes it easier to protect code with a simpler to program memory protection unit.

There will be two variants with ARMv8-M Baseline and ARMv8-M Mainline, with the latter adding optional DSP and FPU, more instructions, etc…

Charbax is at the conference and did a good job at filming Mike Muller, ARM CTO, keynote, where he unveiled both Cortex A35 and ARMv8-M, beside addressing imprinted circuits, ARM servers ( is now running on those), weak security for IoT applications, CryptoCell 700 series for Cortex A processors, Cryptocell 300 series for ARMv8-M, and mbed OS 3.0. He concludes with the new industry equation: (trust x perf)/(energy x $) to emphasize the importance of security.

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

Linux 4.3 Release – Main Changes, ARM and MIPS Architectures

November 4th, 2015 2 comments

Linus Torvalds released Linux Kernel 4.3 last week-end:

So it *felt* like the last week of the rc series was busy, to the point where I got a bit worried about the release. But doing the actual numbers shows that that really was just my subjective feeling, probably due to the kernel summit and travel back home from Korea. It wasn’t actually a particularly busy week, it’s just that the pull requests were more noticeable in the last couple of days.

We had a network update and a late fix for a x86 vm86 mode bug introduced by the vm86 cleanups, but other than that it’s just a collection of various small one-liners all over. Ok, the vm86 mode thing was a one-liner too, it was just slightly more nerve-wracking because it looked scarier than it was before people (Andy) figured out what was going on.

The changes from rc7 are dominated by the network stuff, but as you can tell from the appended shortlog it’s not anything particularly scary.

So on the whole, this remains a rather calm release cycle until the very end. And with the release of 4.3, obviously the merge window for 4.4 is open, and let’s keep our fingers crossed that that will be an equally calm release. Especially since apparently Greg has decided ahead of time (as an experiment brought on by discussion at the kernel summit) that 4.4 will be another LTS release.


Linux 4.2 brought us file systems and networking changed, new cryptography implementations, AMD GPU driver support for more graphics card, among other things. Some changes made to Linux 4.3 include:

  • Removal of EXT-3 file system (EXT-4 file system will handle EXT-3)
  • Various fixed for BTRFS, EXT-4, F2FS, and XFS file systems
  • IPv6 is now built into the kernel by default.
  • New driver framework for nonvolatile memory devices (e.g.EEPROMs). See nvmem.txt for details.
  • The networking layer added “lightweight tunnel” support.

More user visible and internal changes can be found on LWN’s merge window articles [1], [2] and [3].

I’ve also compiled some of the new features and improvements specific to the ARM architecture with a focus on Allwinner, Rockchip, Amlogic and /Mediatek processors often featured in this blog:

  • Allwinner:
    • A10 / A13 / A20 / A23 / A31 – Enabled OTG controller
    • A10 / A10s / A13 / A20 – Support for DMA engine
    • A23 / A33 – Support for USB controllers
    • most of Allwinner SoC – Support for Allwinner Security System crypto accelerator (sunxi-ss)
    • AXP152 – AXP152 mfd support
    • Added boards – Iteaduino Plus A10 board, Ippo-q8h-a33 v1.2 tablet board
  • Rockchip
    • Audio – Machine drivers for Rockchip systems with MAX98090 and RT5645 and RT5650
    • Added USB PHY support for RK3066 and RK3188, enabled on Marsboard
    • Reserve unusable memory region (0xfe000000~0xff000000) on RK3288 and RK3368
    • Fixed suspend issues on RK3288
    • Added support for phase inverters
    • Added support for Rockchip RK3368 including clock-controller
    • Added support for Netxeon R89 board, two Chromebooks (Veyron family), and R88 board (RK3368)
  • Amlogic (Minor changes)
    • meson6: DTS: Fix wrong reg mapping and IRQ numbers
    • meson8b: Properly include clk.h
  • Mediatek
    • Added basic support for Mediatek MT6580
    • Added SMP support for Mediatek MT6795
    • Mediatek MT8173: cpuidle-dt updates, watchdog device, misc other additions
    • Added MT6397 PMIC support to MT8173 eval board
  • Qualcomm
    • Qualcomm MSM8916 and APQ8016 updates for USB
    • Pinctrl driver updates for Qualcomm SPMI-MPP, and Qualcomm Technologies QDF2xxx ARM64 SoCs
    • Qualcomm driver for SMM/SMD (Shared Memory Driver)
    • Regulator driver for the Qualcomm RPM
    • Device tree updates for Compulab QS600, Inforce 6410 & 6540,  APQ8074 Dragonboard, etc…
  • Samsung
    • Various defconfig and device tree updates for Exynos processors
    • cpufreq driver updates
    • clk driver updates for Exynos 3250, 4210, 4412, and 5250 SoCs
  • Xilinx – ZynqMP: A bunch of devices added to the existing DTSI (sdhci and watchdog on ep108, DWC3 usb, SMMU, CANs node…)
  • Other new ARM SoCs & hardware platforms – Broadcom North Star 2 (ns2), Marvell Berlin4CT,  Freescale i.MX6UL boards, SocioNext (previously Panasonic) UniPhier, Texas Instruments DM814x, Gumstix Overo platforms

There have also been some changes for MIPS architecture mostly committed by Imagination Technologies themselves:

  • Fixed JZ4740 build
  • Cavium Octeon CN68XX improvements
  • Some work on the clock framework
  • Added uprobes support
  • Support for the I6400
  • Moved ath79 GPIO driver to drivers/gpio
  • Various fixes

Finally, I’ve generated Linux 4.3 Changelog with comments only (12.3MB) using git log v4.2..v4.3 --stat. Normally I would also recommend checking out the changelog on KernelNewbies here, but they have not even updated Linux 4.2 changelog yet.

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

ARM Introduces Mali-470 GPU for Wearables, IoT and Embedded Applications

October 21st, 2015 7 comments

Mali-400 was announced in 2008, and since then has been used in various SoCs for smartphone, but now it’s mostly replaced by Mali-450 GPU in low cost mobile and STB SoCs, although Mali-400 is still being implemented in new SoCs such as Rockchip RK3128 processor. ARM has been working on a lower power version of the GPU, and just unveiled Mali-470 GPU targeting wearables, as well as embedded and IoT applications.

Mali-470Mali-470 GPU is said to use the same memory and AMBA interfaces as Mali-400, while keeping some of the improvements brought to Mali-450 GPU, and further lowering power consumption to just half of that Mali-400 in terms of mW per frames per second.

Click to Enlarge

Click to Enlarge

Just like its predecessors, Mali-470 supports OpenGL ES 2.0, and like Mali-400 it will scale from 1 to 4 fragment processor, always combined with one single vertex processor. Mali-470MP1 is likely to be used in wearables or other applications with tiny displays and low power requirements, while Mali-470MP2 and Mali-470MP4 might also find their ways into more demanding applications.

ARM expects SoCs based on Mali-470 GPU to sample by Q2 2016, meaning we’ll probably start seeing Mali-470 GPU in actual devices in 2017.

Via AnandTech

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

Categories: Hardware Tags: arm, embedded, gpu, IoT, wearables

ARM TechCon 2015 Schedule – IoT, Servers, 64-bit ARM, Power Usage Optimization, and More

October 1st, 2015 No comments

ARM_TechCon_2015The ARM Technology Conference (ARM TechCon) will take place on November 10 – 12, 2015, in Santa Clara Convention Center, and just like every year, there will be a free exposition for companies to showcase their latest innovation and/or products, as well as a technical conference with sessions and workshops sorted into various tracks:

  • Automotive/Embedded Vision
  • Embedded
  • IoT
  • Mobile/Connectivity
  • Networking Infrastructure/Servers
  • Tools & Implementation
  • Wearables/Sensors
  • ARM Training Day
  • Sponsored Vendor Training
  • Special Event
  • General Event
  • Software Developers Workshop

You can find the complete schedule on ARM TechCon website. Although I won’t attend, I’ve created my own virtual schedule with some of the sessions I found interesting.

Tuesday – November 10

  • 8:30 – 9:20 – ARM Vision for Thermal Management and Energy Aware Scheduling on Linux by Ian Rickards (ARM), Charles Garcia-Tobin (ARM), Bobby Batacharia (ARM)

This talk will cover the history and where are we going, for ARM’s Power Software (IPA, EAS, and some concepts for the future).

ARM will detail the latest update on our thermal control software Intelligent Power Allocation (IPA) which has just been released in mainline Linux 4.2. The tuning and implementation flow allow IPA to be easily deployed in Linux-based devices including Android.

We will also introduce ‘Energy Aware Scheduling’ (EAS) which is a new development by ARM/Linaro to allow the Linux scheduler to make the most energy efficient decisions using a generic energy model based approach. EAS includes improved upstream Linux support for ARM “big.LITTLE” systems and other advanced multi-cpu topologies.

  • 9:30 – 10:30 – Innovation is Thriving in Semiconductors by Mike Muller (ARM)

The human capacity to find a path past difficult challenges is astonishing. Though traditional silicon scaling is more complex at advanced geometries, electronics design innovation is more robust than ever as engineers devise new ways to improve the latest chips. ARM CTO Mike Muller will describe advances in design innovation spanning low power, trust, and architectural innovation all the way from sensors to server and beyond. And he’ll unveil the latest technology achievements from ARM in his signature lively, humorous and engaging style.

  • 10:30 – 11:20 – IoT Prototyping 101: The All-in-One Platform by Steven Si (MediaTek)

Power efficiency, connectivity and size are top priorities for any developer looking to prototype innovative IoT devices. Best utilizing these key features with ARM’s technology will be the spotlight of this session a live demonstration of how a developer at any level can create the next big thing in IoT. Skills to be shown: connecting sensors; using a cloud interface to build a virtual device; sending data from the device to the cloud and communicating with other smart devices. (cnxsoft: possibly using LinkIt ONE platform)

  • 11:30 – 12:20 – Khronos APIs for Fast and Cool Graphics, Compute and Vision by Neil Trevett (Khronos)

Discover how 100 companies cooperate at the Khronos Group to create open, royalty free standards that enable developers to access the power of hardware to accelerate the demanding tasks in cutting-edge mobile applications including heterogeneous parallel computation, 3D graphics and vision processing. This session includes the latest updates to API standards including OpenGL, OpenCL, OpenVX, and the recent Vulkan new generation graphics and compute API. The session will explore how modern APIs will accelerate the availability of compelling experiences such as neural-net based driver assistance, virtual and augmented reality, and advanced environmental tracking and 3D reconstruction on ARM-based devices

  • 13:00 – 15:00 – Boosting Performance from ‘C’ to Sky with Custom Accelerators on ARM-based FPGAs by Shaun Purvis (Hardent)

Offloading tasks to specialized hardware, such as a GPU or FPU, is a common approach to boosting software performance. However, the fixed nature (i.e. hard-silicon) of such hardware places an upper limit on just how much performance can be boosted. In order to break down this barrier, some modern SoCs have combined ARM processing power with programmable logic allowing software to be offloaded to custom, scalable, accelerators. With accelerators that can be tailored to specific needs, suddenly the sky’s the limit! But that’s not all. Combining these SoCs with modern tools allows designers to migrate high-level functions directly to hardware, skipping all the hardware design in between. This presentation will introduce one such tool and discuss the design methodology that takes a software-defined system and turns it into a custom hardware accelerated one.

  • 15:30 – 16:20 – Bringing Mali, the Android GPU of Choice, to Wearables by Dan Wilson (ARM Ltd.)

In this talk we will look at the trends for the use of graphics processors in Wearable devices and how the technical requirements of this space differ from that of smartphones and other segments. We look specifically at the ARM Mali GPU Utgard architecture which provides the perfect fit for Wearable designs and describe how this architecture has been implemented to create ARM’s latest ultra-low-power Mali GPU.

  • 16:30 – 18:00 – Efficient Interrupts on ARM Cortex-M Microcontrollers by Chris Shore (ARM)

Most real-time embedded systems make extensive use of interrupts to provide real-time response to external events. The design of the interrupt architecture is crucial to achieve maximum system efficiency. When designing software for devices based on ARM’s Cortex-M microcontroller cores, it is important to understand the interaction between interrupt priority, sub-priority, tail-chaining and pre-emption to achieve the most efficient design. This session will examine various use cases and give practical advice to software developers.

Wednesday – November 11

  • 8:30 – 9:20 – How (Not) to Generate Misleading Performance Results for ARM Servers by Markus Levy (EEMBC) & Bryan Chin (Cavium)

Cloud workloads are putting unique demands on SoCs and other system-level hardware being integrated into scale-out servers. Traditional benchmarks address the suitability of processors for different tasks. However, many factors contribute to the whole system performance memory, disks, OS, network interfaces, and network stack. In addition, the manner of generating workloads can affect the results. This session uses a case study from Cavium’s ARM-based Thunder X system and the EEMBC cloud and server benchmark, to present results that demonstrate how subtle test environment variations can obfuscate benchmark results and how a properly designed benchmark can overcome these obstacles.

  • 9:30 – 10:30 – Keynote by Simon Segars (ARM’s CEO)
  • 10:30 – 11:20 – Pentralux Flexible Digital Displays on Paper, Plastic, Cloth & Synthetics by Mathew Gilliat-Smith (DST Innovations), Anthony Miles (DST Innovations)

DST Innovations has created a flexible digital display proof of concept produced on plastic, paper, cloth or synthetic substrates. It’s integrated with the ARM mbed OS and will be suitable for developers and designers to integrate into third party products. Initially the digital screens will be for informational or promotional data and video. Being bright, safe, robust and requiring little power, the design parameters will be significant and far reaching for the wearable sector in thousands of clothing, fashion, promotional and other commercial concepts. The screens will offer inter-connectivity through the mbed ecosystem to receive transmitted IoT cloud generated data.

  • 11:30 – 12:20 – Are you ready for USB Type-C? by Ravi Shah (NXP Semiconductors) & Andy Lin (NXP Semiconductors)

USB Type-C offers new features and benefits like reversible plug orientation, improved data rates up to 10 Gbps as well as an unprecedented, scalable, 100 W power-delivery capability that can power higher wattage devices and support faster charging. This session will review the features, benefits and applications it is being designed into today. In addition, design considerations and lessons learned from the field will be reviewed.

  • 12:30 – 13:20 – From Concept to Reality: Advancing ARM-based Enterprise SoCs – Presented by Applied Micro Circuits Corporation by Dr. Paramesh Gopi (Allied Micro Circuits Corporation)

No abstract…

  • 14:30 – 17:20 – STM32L7 Hands-On Workshop by James Lombard & Steve Miller (STMicroelectronics)

Thursday – November 12

  • 8:30 – 9:20 – All Things Data: Healthcare by Pierre Roux (Atmel)

Examples of IoT are everywhere, including digital home, remote resourcing monitoring and automation, but what gets less attention is how the IoT will impact healthcare with the combination of technologies that leverages big data and analytics that go along with it.

This talk will look at opportunities, hurdles and the skills required to make the most of this intersection of Internet-connected physical objects and the deluge of data. It will examine new generation of data analytics for use cases associated with our changing world and, examine the role big data analytics will play in the future of the healthcare industry.

  • 10:30 – 11:20 – The ARM Cortex-A72 processor: Delivering high efficiency for Server Networking and HPC by Ian Forsyth,  Director of Marketing, ARM

New content-rich features, services and evolving business models are transforming network architectures, giving rise to the Intelligent Flexible Cloud (IFC). Architects are decentralizing intelligence to deliver required flexibility and to cope with increased traffic demands. This, in turn, is driving new classes of SoCs, enabled by technology standards including software-defined networking (SDN) and network functional virtualization (NFV). These require significant throughput-per-watt efficiencies within networking and servers. This talk will explore how the latest Cortex-A72 CPU offers compelling performance and throughput to meet the requirements of these future workloads.

  • 11:30 – 12:20 – Porting to 64-bit on ARM by Chris Shore (ARM)

With the introduction of the A64 instruction set in ARMv8-A, many developers need to port existing code to work in a 64-bit environment. At the coding level, this presentation will cover porting C code, assembly code and NEON code. Issues covered will include data typing and type conversion, pointers, bitwise operations, differences in the SIMD register bank layout, mapping of assembly instructions. At a system level, we will cover maintenance operations and extensions to the security architecture.

  • 13:30 – 14:20 – Keynote- The Hard Things About the Internet of Things by Colt McAnlis (Google)
  • 14:30 – 15:20 – Wearable System Power Analysis and Optimization by Greg Steiert (Maxim Integrated), Jesse Marroquin (Maxim Integrated)

This session will demonstrate how to extend battery life by showing the real world impact of system level architecture decisions. The session will introduce a technique for measuring battery current and then use that technique to compare the power efficiency of different system implementations. Tradeoffs analyzed will include: power architecture, operating voltage, sensor data interfaces, DMA, SIMD.

Takeaway: a method for measuring real time power consumption,  advantage of operating at the lowest voltage possible with efficient regulators, tradeoffs of different sensor interfaces and of different micro-controller architectures (peripherals/M0+/M3/M4)

  • 15:30 – 16:20 – Improving Software Security through Standards Compliance and Structural Coverage Analysis by Shan Bhattacharya (LDRA)

This presentation will focus on secure software best practices. Ensuring the security of embedded devices involves more than simply using vulnerability preventive programming. However, paying attention to and leveraging security standards such as CWE/CVE, CERT C and even CERT Java, will certainly improve the probability of delivering a secure and effective system.

  • 16:30 – 17:20 – Top Android Performance Problems of 2015 by Colt McAnlis (Google)

When you look at performance problems all day, you’re bound to lose your hair. So rather than balding early yourself, Colt McAnlis will walk you through the top performance problems that dominated 2015. This talk will cover the range of issues from Memory, to Rendering, to Networking, listing specific topics that have shown up in many of the top apps in Google Play. We’ll even take some time to look at the differences in some form factors, and how you should plan around that.

  • 17:30 – 18:30 – Happy Hour :)

If you are going to attend, you can register online. While as usual, going to the expo and attending vendor’s sponsored sessions is free, there are different passes to join the conference sessions, ARM training day, and software developers workshops. The earlier you register, the cheaper.

Conference Pass ARM Training Day Software Developers
Expo Pass
Super Early Bird
(Ends July 24)
$599 $199 $99 Free
Early Bird
(Ends Sept. 4)
$799 $249 $149 Free
(Ends Oct. 30)
$999 $299 $199 Free
Regular/Onsite $1249 $349 $249 Free

There are also discounts for groups, students, press & media, and government employees. You can check details on ARm TechCon 2015’s Passes & Prices page.

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

Linux 4.2 Release – Main Changes, ARM and MIPS Architectures

September 2nd, 2015 No comments

Linus Torvalds released Linux Kernel 4.2 last Sunday:

So judging by how little happened this week, it wouldn’t have been a mistake to release 4.2 last week after all, but hey, there’s certainly a few fixes here, and it’s not like delaying 4.2 for a week should have caused any problems either.

So here it is, and the merge window for 4.3 is now open. I already have a few pending early pull requests, but as usual I’ll start processing them tomorrow and give the release some time to actually sit.

The shortlog from rc8 is tiny, and appended. The patch is pretty tiny too.

Go get it,


Some notable changes made to Linux 4.2 include:

  • File systems
    • New features for F2FS including per file encryption
    • CIFS support SMB 3.1.1 (experimental)
  • Cryptography – Jitter Entropy Random Number Generator, Chacha20 stream cipher and Poly1305 authentication (RFC7539),New RSA implementation. See for details.
  • AMD GPU driver added support for AMD “Tonga,” “Iceland,” and “Carrizo” systems. That driver has now over 400,000 lines of code…
  • Networking

Some of the new features and improvements specific to the ARM architecture include (With a focus on Allwinner/Rockchip/Amlogic/Mediatek processors often discussed in this blog):

  • Allwinner:
    • A10/A10s/A13/A20/A31/A23 – SRAM Controller
    • A23 – SMP support, architected timer support
    • A31/A31s – CPUFreq support
    • A33 – Machine support, Bring-up sharing most drivers with A23, pinctl driver, PIO controller
    • A80 – Architected timer support, USB support
    • AXP221 PMIC driver
    • New boards and devices: LinkSprite pcDuino3 Nano, Cubietech Cubieboard4, Gemei G9, Auxtek T004, Utoo P66, Wexler TAB 7200, MK808C, Jesurun Q5, Xunlong Orange Pi, Xunlong Orange Pi Mini, Sinlinx SinA33
  • Rockchip
    • Fixes for GPU DRM driver
    • RK3368 – Added pinctrl and Ethernet (dwmac) support
    • Device tree – Files relicensed under GPLv2/X11 dual-license, Enable A12 HW PMU events in RK3288 boards, and TSADC for Firefly and PopMetal boards
    • Fixed IR receiver bug and modify some GPIO code in RK3288
  • Amlogic – Added documentation to the clock controller… nothing else.
  • Mediatek
    • Fixed clock registration in MT8135
    • Small changes and fixes to pinctrl driver
    • Added driver for Mediatek MT8173 I2C controller
    • Some fixes for PMIC
    • MT7601U driver (WiFi device)
    • Pinctrl driver for MT8127, MT6397,
  • Qualcomm
    • Added SPMI PMIC Arbiter device tree node for MSM8916
    • Added 8×16 chipset SPMI PMIC’s nodes
    • Added MSM8916 restart device node
    • Added initial set of PMIC and SoC pins for APQ8016 SBC board
  • Samsung
    • Fix exynos3250 MIPI DSI display and MIPI CSIS-2 camera sensor
    • Bring back cpufreq for exynos4210
  •  ARM64
    • New processors: Hisilicon ARM64 SoCs (e.g. Hi6220)
    • Various fixes for ARM64 for ACPI, MMU, SMP, perf, and more.
    • Enabled EDAC on ARM64
    • Support for Hikey board, ARM Juno r1 board
  • Various changes to some Atmel and Marvell processors, see Free Electrons blog post for details.
  • Other new ARM SoCs & hardware platforms – Freescale i.MX 7Dual, ZTE ZX29670, Buffalo WXR-1900DHP, ASUS RT-AC87U, SmartRG SR400ac, Compulab CM-A510, and more

There has also been some interesting changes for the MIPS architecture:

  • many bug fixes: LLVM build issue, KVM fixes, fix seccomp MIPS64, fix for oprofile (get_c0_perfcount_int), Fix JR emulation for R6, etc…
  • Some code cleanups (fixed misspellings, removes some code)
  • Added support for appended DTP
  • Improvements for R12000, R3000, Broadcom BCM47xx and BCM63xx,  ATH79
  • Large patchset for Ingenic JZ4740 SoC
  • Added support to Pistachio SoC
  • New MIPS platforms: MIPS Creator CI20 board and XWR-1750 board

A complete changelog for Linux 4.2 should soon be published on, and you’ll probably also want to look at their ARM architecture and drivers sections for more details about to various platforms including ARM and MIPS. I’ve also generated a complete Linux 4.2 Changelog with comments only (13.9MB) using git (git log v4.1..v4.2 --stat)

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