Getting Started with 64-bit ARM Development: Hello World and Linux on ARMv8 Fast Models

At the end of last year, ARM announced ARMv8, the first ARM 64-bit ARM archtecture, and last week at ARM Techcon 2012, ARM announced the first ARMv8 cores: Cortex A53 and A57. But since there’s no silicon at the moment, what if you wanted to develop code running on ARMv8 before the hardware is available? The answer is: Fast Models, a Virtual Platform (VP) to accelerate software development. This is especially important for ARMv8 since hardware is not expected to be available for another year. In this post, I’ll first show how to run “Hello World!” in ARMv8 fast models, then we’ll run ARM Linux 64-Bit (Aarch64) in the virtual platform. ARMv8 Foundation Model In order allow the developer’s community to program for ARMv8 (Cortex A53/A57 cores), ARM has made ARMv8 Foundation Model, a virtual platform, available free of charge. This v8 Foundation model provides a basic ARMv8 platform environment […]

Teradici Announces PCoIP Tera2 Host and Zero Client Processors

Earlier this year, I discovered PCoIP (PC over IP) , a remote desktop protocol that provides basically the same functionality as VNC or RDP, but promises better performance on low end hardware by using different compression methods depending on the content on the display. Teradici, the company behind this technology, has today announced its next-generation Tera2 processors specifically designed to handle PCoIP by hardware: TERA2220 dual display host processor – 150 Mpps (Megapixels per seconds), supports up to two displays at 1920×1200 resolution, or one at 2560×1600. TERA2240 quad display host processor – 300 Mpps, supports up to four displays at 1920×1200 resolution, or two at 2560×1600. TERA2321 dual display zero client processor TERA2140 quad display zero client processor Both Tera2 host processors include advanced security features such as AES-256 and NSA Suite B security protocols, and are capable of refreshing the full display at up to 60fps. Tera2 PCoIP zero client […]

VWorks VLAB Powers Freescale Vybrid Virtual Platform

Back in March, Freescale announced their Vybrid solution featuring both a Cortex A5 processor and a Cortex M4 microcontroller, and they had prototypes running  an unnamed virtual platform in order to speed up software development and possibly have the software ready at the same time as the silicon is. Always looking to learn more, I studied and wrote about virtual hardware platforms such as Cadence Virtual System Platform, Wind River Simics Virtual  Platforms and the open source Imperas OVPsim simulator. It turns out Freescale does not use any of these solutions, but relies on VWorks VLAB instead, which still use the same standard (SystemC/TLM) as the virtual hardware solutions aforementioned. VWorks uploaded a demonstration of VLAB running a virtual platform for the Freescale Vybrid controller and showing how it can handle both ARM Cortex-A5 and Cortex-M4 cores. This demo of VLAB 1.7.0 is pretty interesting and showcases: Dual (virtual) display […]

Xilinx Zynq-7000 Extensible Processing Platform (EPP): Dual Cortex A9 + FPGA SoC

The Xilinx Zynq-7000 EPP (Extensible Processing Platform) is a new class of device, offering a mix of a dual-core ARM Cortex-A9 subsystem (including cache, memory controllers, interface, and peripheral functions) with a 28-nm programmable digital FPGA and programmable analog capabilities. This  combination opens the door to a range of demanding applications, including automotive (video processing and analytics requirements for driver assistance systems), broadcast (high-bit-rate bandwidth for high-accuracy video processing and analytics), and industrial control systems that combine high-processing demands with tight integration requirements. There are actually 4 models which share the same processing subsystem (CPU core, memory, peripherals, etc…) and only differ by the programmable logic used: Z-7010 – Artix-7 FPGA with 28K logic cells. Z-7020 – Artix-7 FPGA with 85K logic cells. Z-7030 – Kintex-7 FPGA with 125K logic cells. Z-7045 – Kintex-7 FPGA with 350K logic cells. The Zynq-7000 EPP platform allows concurrent software and hardware development: System […]

Virtual Hardware Platforms: Test & Debug Software Before the Silicon is Ready

Historically software could only be tested and debugged when the first silicon sample was ready, and the software team could not participate in the design process. But thanks to Virtual Hardware Platforms, software can be executed at speeds close to real time on an abstract model of the hardware, available long before a design has been completed. The virtual platform is designed to simplify the creation and support of virtual prototypes and allow design teams to begin developing software weeks to months before a hardware prototype is available, and software teams can use it as their application development platform. For example, Freescale is using a Virtual Hardware Platform for their new Vybrid Controllers to emulate both Cortex A5 and Cortex M4 cores, as well as peripherals and run OS such as Linux or MQX before the Controllers are ready (Q2 2012). One Virtual Hardware Platform has just won the ACE […]

Android SDK Tools and ADT Revision 17 with VM Acceleration for x86 Emulator

Google has released revision 17 of the SDK Tools and the Eclipse plugin. This release brings new features and bug fixes in for Lint static checker, the build system, and the emulator among other things. Here’s what’s new for Lint in r17: Lint API Check – Added check for Android API calls that require a version of Android higher than the minimum supported version. You can use the @TargetApi annotation to specify local overrides for conditionally loaded code. New Lint Rules – Added over 40 new Lint rules for a total of over 80, including checks for performance, XML layouts, manifest and file handling. Ignoring Lint Warnings – Added ability to suppress Lint warnings in Java code with the new @SuppressLint annotation, and in XML files with the new tools: namespace prefix and ignore attribute. New Eclipse Lint UI – Improved HTML and XML reporting and Eclipse integration. Improvements to […]

Cross-compiling FreeRDP Windows Remote Desktop Client for ARM Linux (in Debian/Ubuntu)

Last month, I wrote the instructions to Cross-compile VMWare View for ARM Linux as I intended to “run” Windows 8 in an ARM client (most likely the Raspberry Pi) via PCoIP. However, the procedure to do so seems slightly complicated and requires to purchase a specific VMWare server software (VMware vSphere 5) or download a free trial. The good news is that there are other options such as VNC or RDP (Remote Desktop protocol) and Remmina, a Remote Connection client is available for Linux. As nothing is ever simple, another issue occured: if you are using a stable release of Linux (e.g. Debian Squeeze, Ubuntu 11.10) they come with older version of Remmina and either the connection is successful but the display is garbled (Version 0.7.x) either it crashes when connecting to Windows 8 via RDP (Version 0.8.x). The latest version (Remmina 1.0.0) fixes the problem and is available in […]

How to Install Windows 8 in Linux with QEMU

Microsoft has just released Windows 8 Consumer Preview. Here’s a method to install Windows 8 in Linux using KVM and Qemu. You can use this beta version of Windows 8 until the 15th of January 2013, after which it will be unusable. Here are the requirements to install Windows 8: 1 GHz Processor or greater 1 GB RAM 20 GB free storage for the 64-bit version Before you start, make sure your processor supports Intel Virtualization Technology (VT) or AMD’s AMD V CPU virtualization extensions. Type this command to check vmx or svm flags:

If this is the case, you can install KVM. Type the following command for RPM-based distributions such as Fedora:

or the following command for Debian or Ubuntu:

Then download the ISO image of Windows 8 on Microsoft website (64-bit version) :

Create a 20 GB virtual hard drive to install Windows 8: […]