Posibus Peripheral Emulator Powered by Emcraft SmartFusion (Cortex M3 + FPGA) Solutions

According to Wikipedia, Digital Equipment Corporation (DEC) PDP-8 was the first successful commercial minicomputer, and was introduced in March 1965. Mike Thompson, working at Rhode Island Computer Museum (RICM), has restored a PDP-8/L system that was sold between 1968 through 1971. The system can be expanded with 4K of core, a paper tape reader (PR8/L), and/or a punch (PP8/L) controller. But the tape reader is not available anymore, so Mike decided to designe a Posibus peripheral (Tape Reader) emulator using a board with an FPGA + micro-controller. The easiest way to perform this task was to get an SoC that comes with an MCU and a FPGA to avoid having to create an FPGA <-> MCU interface. This is why he chose Emcraft Linux SmartFusion Evaluation Kit featuring a Microsemi Smartfusion cSOC with a Cortex M3 core and an embedded FPGA. The whole setup is shown below. Three FlipChip interface boards […]

uClinux on Cortex-M3/M4 MCU: The Costs, Performance and Power Consumption

I previously wrote about different options available to run Linux on Cortex M3 & M4 Microcontrollers, and more recently Vladimir Khusainov, co-founder and Director of Engineering at Emcraft Systems,wrote a longish article entitled “Practical Advice on Running uClinux on Cortex-M3/M4” on electronicdesign.com, where he explains how SoM are usually selected, the costs of running uClinux on Cortex M3/M4 MCUs such as Freescale K70 or STmicroelectronics STM32F2/F4, as well as performance and power consumption considerations. First, Vladimir addresses one comment that says there’s basically no use for uClinux on Cortex M3/M4 MCU, since external memory is needed and an ARM7/ARM9 modules (with MMU) can be purchased for almost the same price.  There are 2 counter arguments to this point of view: In practice, customers usually select an hardware platform first, then think what OS can be used on the platform. For example, if a company decided to use an hardware based […]

Getting Started with Emcraft Systems Cortex M3/M4 Starter Kits Running uCLinux

A few months ago, I wrote a post about running uCLinux on Cortex M3/M4. Since then I’ve had the opportunity to play a with Cortex M3  & M4 boards capable of running Linux, as last week, I received Emcraft Systems Freescale K70 Starter Kit together with their MicroSemi (previously known as Actel) Smartfusion SoM. Today, I’ll show some pictures of the baseboard and modules I received in the kit, and some details about the documentation and how to get started with the modules. Unboxing Pictures Here’s the baseboard with Ethernet, USB interface using USB-UART bridge connected to the UART0, JTAG connectors (P3 and P5), two push-buttons and a breadboard for easy access to unused signals (ADC, I2C, SPI, UART and GPIOs). P4 and P6 are the sockets to plug in the SoM. There is a lithium-ion battery (CR2016) at the back of the board for the RTC clock. As previously […]

Linux for Cortex M3 & M4 Microcontrollers

There are plenty of low cost Linux development boards based on Cortex A8 or A9 such as the Beaglebone, as well as some devkits based on ARM7 and ARM9 such as SAM9 development kits , but if your application is cost and/or energy sensitive you can also switch to micro-controllers using Cortex M3 or M4 based development boards such as Emcraft SmartFusion devkits. You can run a functional uCLinux system with 1MB of RAM and 1MB of flash including the TCP/IP stack. You need to use uClinux and not directly Linux, because the Cortex M3 doess not have a Memory Management Unit (MMU) and only a Memory Protection Unit (MPU). This can bring some interesting software development challenges such as (apparently random) kernel panics, the lack of fork, memory fragmentation and more. You can check out http://kernel.org/pub/linux/libs/uclibc/Glibc_vs_uClibc_Differences.txt for the main differences between uClibc and Glibc. The instructions to patch and […]