Archive

Posts Tagged ‘gateworks’

Gateworks Newport SBCs Powered by Cavium Octeon TX 64-bit ARM SoC are Designed for Networking Applications

November 11th, 2017 3 comments

Gateworks is a US based company that provides embedded hardware solutions to mobile and wireless communications markets such as their NXP i.MX6 powered  Ventana single board computers, including Ventana GW5530 SBC with compact form factor making it suitable for robotics projects and drones.

The company has now launched a new family of single board computers with Newport boards based on Cavium Octeon TX dual and quad core processors, and targeting high performance network applications with up to 5 GbE copper Ethernet ports, 2 SFP ports for fiber.

GW6300/GW6304 SBC – Click to Enlarge

Eight boards from 4 board designs using the dual or quad core version of the processors will be launched in sequence until Q2 2018, but let’s first have a closer look at Newport GW6300/GW6304 boards’ specifications since they are available now:

  • SoC
    • GW6300 – Cavium Octeon TX CN8020 dual core custom ARMv8.1 SoC @ 800 MHz
    • GW6304 – Cavium Octeon TX CN8030 quad core custom ARMv8.1 SoC @ 1.5GHz
  • System Memory
    • GW6300 – 1GB DDR4 (default); optional up to 4GB
    • GW6304 – 2GB DDR4 (default); optional up to 4GB
  • Storage – 8GB eMMC flash (4 to 64GB option), micro SD socket, 1x mSATA 3.0 (See expansion)
  • Networking – 2x Gigabit Ethernet ports (RJ45)
  • GNSS – Ublox ZOE-MQ8 GNSS GPS Receiver with PPS (optional on GW6300, standard on GW6304)
  • USB – 2x USB 3.0 ports up to 5 Gbps
  • Expansion
    • mPCIe socket 1 – PCIe or GW1608x expansion, USB 2.0
    • mPCIe socket 2 – PCIe or mSATA, USB 2.0
    • mPCIe socket 3 – PCIe or USB 3.0, USB 2.0, SIM

      Click to Enlarge

    • Connector for 2x RS232 or 1x RS232/422/485 serial port
    • Digital I/O, I2C, and SPI headers
    • CAN 2.0B bus header via Microchip MCP25625  (optional on GW6300, standard on GW6304)
  • Security – Tamper switch support, optional Maxim DS28C22 Secure Authentication and Encryption
  • Misc – Real Time Clock with battery backup, voltage and temperature monitor, serial configuration EEPROM, programmable watchdog timer, programmable fan speed controller, programmable shut-down and wake-up,
  • Power Supply
    • 8 to 60V DC via barrel jack
    • Ethernet Jack Passive PoE with Input Voltage Range: 10 to 60V
    • Ethernet Jack 802.3at PoE with Input Voltage Range: 37 to 57V
    • Input Voltage Reverse and Transient Protection
  • Power Consumption
    • GW6300 – 6W @ 25°C typ.
    • GW6304 – 8W @ 25°C typ.
  • Dimensions – 105 x 100 x 21 mm (Compatible with Ventana GW5300 SBC)
  • Temperature Range – -40°C to +85°C
  • Weight – 96 grams

GW6300/4 Board Block Diagram – Click to Enlarge

The company provides OpenWrt and Ubuntu board support packages (BSP) for the boards. The company sells the board standalone, but also as a development kit (GW11042) with U-Boot bootloader, OpenWrt Linux BSP, Ethernet/ Serial/USB cables, passive PoE power injector and power supply, and a JTAG programmer. More technical details about software and hardware can be found in the Wiki.

Octeon TX Block Diagram

Octeon TX processors are specifically designed for networking applications, include networking acceleration engines & hardware virtualization, and can deliver IPSec performance of 8Gbps with only 2 cores.

If Newport GW6300/GW6304 SBCs do not match your requirements, Gateworks have 6 more SBCs planned with different form factors and various combinations of Ethernet ports.

Newport Family Matrix – Click to Enlarge

As you can see from the table above, some boards are available now, with a rollout of other versions planned until Q2 2018. Price for GW6300/GW6304 boards is not publicly available, but you can request a quote, inquire for customization options, and find more details on the product page.

Linux 4.9 Release – Main Changes, ARM and MIPS Architectures

December 12th, 2016 2 comments

Linus Torvalds released Linux 4.9 on Sunday:

So Linux 4.9 is out, and the merge window for 4.10 is thus open.

With the extra week for 4.9, the timing for the merge window is obviously a bit awkward, and it technically closes in two weeks on Christmas Day. But that is a pure technicality, because I will certainly stop pulling on the 23rd at the latest, and if I get roped into Xmas food prep, even that date might be questionable.

I could extend the merge window rather than cut it short, but I’m not going to. I suspect we all want a nice calm winter break, so if your stuff isn’t ready to be merged early, the solution is to just not merge it yet at all, and wait for 4.11. Just so you all know (I already bcc’d the main merge window suspects in a separate mailing last week, I’m just repeating myself here to avoid anybody being confused about timing).

Anyway, back to 4.9 itself.

I’m pretty sure this is the biggest release we’ve ever had, at least in number of commits. If you look at the number of lines changed, we’ve had bigger releases in the past, but they have tended to be due to specific issues (v4.2 got a lot of lines from the AMD GPU register definition files, for example, and we’ve had big re-organizations that caused a lot of lines in the past: v3.2 was big due to staging, v3.7 had the automated uapi header file disintegration, etc). In contrast, 4.9 is just big.

Admittedly a chunk of that is the new greybus staging support, but that really isn’t the bulk of it – it’s just another small detail in the overall “yes, v4.9 is big” picture.

Other than just the size, 4.9 looks fairly normal. A bit over two thirds drivers (staging, GPU and networking are the bulk of it, but it’s all over), with the rest looking fairly normal too: arch updates, documentation, generic networking, filesystems..

The shortlog (16k+ commits, with another 1100 merge commits to round things out) is obviously much too big to put here, and wouldn’t be legible anyway. So as is my wont, I’m appending just the log of my merges.

Linux 4.8 brought us an HDMI-CEC framework, a new kernel documentation system is now based on Sphinx, a user-space GPIO subsystem and tools, file systems improvements and more.

 

linux-4-9-changelogSome of the notable changes for Linux 4.9 include:

  • Greybus staging support. While Project Ara has been canceled, the code is still used in one Motorola phone, a Toshiba chip requires it, as well as other undisclosed users.
  • File systems improvements for CIFS (bug fixes, idsfromsid mount option, better reconnection handling), BTRFS (bug fixes), NFS (bug fixes and new features such as server-side copy), F2FS (bug fixed and performance improvements), EXT-4 (“Lots of bug fixes and cleanups”) , and XFS (iomap-based DAX infrastructure and XFS delalloc rework + bug fixes)
  • Improved security with virtually mapped kernel stacks, and memory protection keys
  • AMDGPU now supports older Radeon graphics cards, virtual display support, and improved reset.

Some interesting ARM architecture fixes and new features:

  • Allwinner:
    • Allwinner GR8 – Preliminary SoC support
    • Allwinner AXP209 PMIC – GPIO support
    • Allwinner A31 – SPDIF support
    • Allwinner A23/A33 and A31/A31s – sunxi-ng CCU driver
    • Allwinner A33 – Display Driver
    • Allwinner A64 – USB PHY support
    • Allwinner H3 – PWM support, I2C support
    • AXP806 PMIC – regulator support
    • AC100 RTC / codec IC – mfd driver, RTC driver
    • New boards and devices – Orange Pi PC Plus, Olimex A33-OLinuXino, Orange Pi Lite, Inet q972, Empire Electronix M712, Orange Pi Plus 2, Orange Pi Plus 2E, NanoPi NEO.
  • Rockchip:
    • PCI – Update Rockchip rk3399 host bridge driver DTS and resets
    • Rockchip RK808 PMIC driver
    • Rockchip DDR clks and rk3399 driver tweaks
    • phy driver for Rockchip usb2phy, internal PCIe PHY, and USB Type-C PHY on rk3399
    • update compatible strings for Rockchip efuse (RK3399)
    • Support for Tronsmart Orion R86 set-top-box (RK3368), Rockchip RK3288 Fennec reference board, Firefly RK3288 Reload platform
  • Amlogic
    • Network, clocks, and usb driver changes for meson-gxbb (S905)
    • Secure monitor firmware for Amlogic SoCs, and an NVMEM driver for the EFUSE based on that firmware interface
    • Amlogic 64-bit DT changes: added  USB host, I2C, SPI flash controller, PWM, mailbox, MHU, pinctrl: add pins for SPI, I2C, SDIO
    • Updates IR support for newer SoCs
    • net: new stmmac glue driver
  • Samsung
    • Added Samsung Exynos Low Power Audio driver (LPASS = Low Power Audio SubSystem)
    • samsung clk driver update: sound subsystem related clocks, addition of DRAM controller related clocks for exynos5420
    • Device Tree Update:
      • Enable HDMI on Arndale Octa board.
      • Update list of clocks for FIMC-IS block on Exynos4x12.
      • Remove skeleton.dtsi to fix DT compiler warning.
      • Cleanup of DT files
      • Allow compile testing of exynos-mct clocksource driver on ARM64.
      • Document Exynos5433 PMU compatible
      • Set chosen serial bitrate which allows proper serial output when bootloader does pass all the data in command line
  • Qualcomm
    • ASoC bug fix for simultaneous playback and capture
    • Added Qualcomm external bus interface 2 (EBI2), used in some mobile phone chips for connecting flash memory, LCD displays or other peripherals
    • Add a skeletal TSENS drivers for  MSM8916/MSM8996. TSENS is Qualcomms’ thermal temperature sensor device
    • Add MSM8916/APQ8016 display support
    • Updates for MSM8916 including TSCR, SMSM/SMP2P, and MBA reserve
    • Enable defconfig options for QDF2432
    • Added Qualcomm DragonBoard 820c single-board computer in 96boards form factor, LG Nexus 5 Phone
    • Device Tree Changes:
      • Rework dr_mode on APQ8064 and Nexus7
      • Add MSM8974 BLSP1 UART1 port
      • Add AP148 SATA mapping
      • Fixup MSM8660/MSM8064 SPMI/MPP IRQs
      • Add Nexus7 IMEM/reboot reason
      • Add Honami touchscreen support
      • Add TSENS support on MSM8974, APQ8064, and APQ8084
      • Add APQ8060 Dragonboard PM8058 LEDs
      • Rework VPH PWR REG for MSM8974
  • Mediatek
    • Add Mediatek thermal driver for mt2701
    • Driver for mt6577 auxdac found in mt2701, mt6577 and mt8173
    • Some DRM driver fixes
  • Other new ARM hardware or SoCs:
    • Marvell Armada 8040 development board, Netgear WNR854T router, Armada 395 SoC platform, GP board Armada 390 DB development board
    • ZTE ZX296718 STB SoC
    • SocioNext UniPhier LD11 TV SoC
    • Broadcom BCM958525er, BCM958522er, BCM988312hr, BCM958623hr and BCM958622hr reference boards for Northstar platform, Raspberry Pi Zero board
    • NXP i.MX 7 Warp7 reference board, Gateworks Ventana GW553x SBC, Technologic Systems TS-4900, and Engicam IMX6UL GEA M6UL computer-on-module, Inverse Path USB armory board
    • Renesas r8a7792/wheat and r7s72100/rskrza1 development boards
    • ST Microelectronics STi B2260 (96boards) single-board computer
    • TI Davinci OMAP-L138 LCDK Development kit, beagleboard-x15 rev B1 single-board computer

There has been a fair amount of MIPS changes in Linux 4.9 too, some of them are:

  • Various updated to MIPS core arch code –  generic DT-based board & Flattened Image Trees (.itb) support, per-device DMA coherence support, bug fixes for KVM, uprobes, c-r4k, ptrace and more
  • Octeon – Delete dead code and files, change to use all memory into use by default, add DTS for D-Link DSR-500N, etc…
  • Pistachio – Remove ANDROID_TIMED_OUTPUT from defconfig
  • TX39xx & TX49xx – Move GPIO setup from .mem_setup() to .arch_init(), convert to Common Clock Framework
  • txx9wdt – Add missing clock (un)prepare calls for CCF
  • BMIPS – Add PW, GPIO SDHCI and NAND device node names, add DT examples for BCM63268, BCM3368 and BCM6362, add support for BCM3368 and BCM6362, etc…
  • Code changes for PCI, CPC, GIC, SMP, USB host, cpuidle, fbdev, auxdisplay…
  • mt7620 -Delete unnecessary assignment for the field “owner” from PCI
  • BCM63xx -Let clk_disable() return immediately if clk is NULL
  • pm-cps – Change FSB workaround to CPU blacklist, Use MIPS standard lightweight ordering barrier and completion barrier, etc…
  • SEAD3 – Rewrite to use DT and generic kernel feature
  • Malta – Rewrite to use DT
  • Loongson1C – Add CPU support for Loongson1C, add board support, add defconfig, and add RTC support for Loongson1C board

The full list of changes can be found in Linux 4.9 changelog with comments only, generated using git log v4.8..v4.9 --stat. You’ll also find a more readable list of changes for Linux 4.9 once kernelnewbies.org is updated.

Gateworks Ventana GW5530 SBC is Designed for Drones, Robots, and Digital Signage

July 21st, 2016 No comments

Gateworks Ventana is a family of boards based on NXP i.MX6 processor designed for embedded applications, and often include one or more mini PCIe ports for expansion. Their latest single board computer – Ventana GW5530 –  is powered by an NXP i.MX 6Dual processor coupled with 512MB RAM, 256MB storage, a mini PCIe port, a micro SD / SIM card slot, micro HDMI output, and some I/Os.

Click to Enlarge

Click to Enlarge

Ventana GW5530 specifications:

  • SoC – NXP i.MX6 Dual Core ARM Cortex-A9 processor @ 800MHz with Vivante 2D and 3D GPUs
  • System Memory – 512MB DDR3 (Up to 2GB as option)
  • Storage – 256MB flash (Up to 2GB as option), micro SD/SIM card slot, serial configuration EEPROM
  • Video & Audio Output – micro HDMI 1.4 port
  • Connectivity – Optional u-blox EVA-M8M GPS Receiver with MMCX or u.FL Antenna Connector
  • USB – 1x micro USB 2.0 OTG Port
  • Sensors – 9-axis inertial module (accelerometer/gyro/magnetometer)
  • Expansion
    • High-Power Gen 2.0 mini-PCIe Socket with USB 2.0 Support
    • SIM socket (shared with micro SD card)
    • Video input header for CVBS, Y/C, YPrPb
    • Digital and serial I/O header
  • Debugging – JTAG connector
  • Misc – RTC with battery backup, voltage and temperature monitor, programmable watchdog timer, reset header, LED header
  • Power Supply – 8 to 60V DC input via 2-pin header; Reverse voltage protection
  • Power Consumption – [email protected]°C (typical); 7W Available for mini-PCIe socket
  • Dimensions – 100x35x13 mm
  • Weight – 28 grams
  • Temperature Range – -40°C to +85°C

    Click to Enlarge

    Click to Enlarge

The company can provide OpenWrt, Android, Yocto Linux, and OpenEmbedded board support packages (BSP) for the board. Some documentation can be found on Ventana wiki. The boards targets “small embedded applications such as Man Portable Units (MPUs), Unmanned Aerial Vehicles (UAV) equipment, digital signage, and robotics”.

Block Diagram

Block Diagram

The board is available now, with pricing not disclosed, and 1 year warranty. Gateworks GW11038 development kit with GW5530 SBC, OpenWrt BSP, USB and video cables, power supply, and a JTAG programmer can also be purchased for evaluation. More details can be found on Gateworks Ventana GW5530 product page.

AVC8000nano mini PCIe Frame Grabber Captures up to 8 D1 Videos

February 25th, 2016 1 comment

There are plenty of solutions to stream or capture multiple video streams from cameras, but example for security purpose, but usually the equipment is relatively large and heavy. Advanced Micro Peripherals AVC8000nano mini PCIe capture card miniaturizes all that thanks to its form factor, and its 8 u.FL connectors used to capture eight D1 videos at full frame rate.

AVC8000nano Connected to Gateworks Ventana SBC and 8 Cameras

AVC8000nano Connected to Gateworks Ventana SBC and 8 Analog Cameras

AVC8000nano features:

  • Video Inputs
    • 8x Live NTSC/PAL video inputs with 8x 10-bit ADC and anti-aliasing filters
    • 8x D1 size capture at full frame rate
    • Formats – NTSC-M, NTSC-Japan, NTSC (4.43), RS-170, PAL-B,G,N, PAL-D, PAL-H, PAL-I, PAL-M, PAL-CN, PAL-60 SECAM
    • Adjustments – Contrast, saturation, hue (or chroma phase), and brightness. Software adjustable Sharpness, Gamma and noise suppression
  • Video Capture FormatsRGB555, RGB565, YCbCr 4:2:2, YCbCr 4:1:1
  • Windows support with Drivers and DirectShow/DirectDraw
  • Linux with drivers and Video4Linux
  • Form factor – Full height mini PCI Express
  • Temperature Range – Commercial: 0°C to 60°C; Extended: –40°C to +85°C
AVC8000nano_Block_Diagram

AVC8000nano Block Diagram

The specifications also mentions hardware requirements: “x86 PC-Compatible with mini PCI Express socket”. But as you can see on the first picture, Gateworks managed to make the card work on their Ventana single board computers powered by Freescale/NXP i.MX6 and featuring one or more PCIe connectors so it’s also suitable for ARM platforms. The company also updated their Wiki to show how to use it on their boards with Linux (built with Yocto Project 1.8) using AVC8000nano drivers, Gstreamer, and optionally OpenCV if you want to stitch multiple inputs together.

OpenCV_Camera_Inputs_Stichting

Stitching with OpenCV

Such solutions can be used for vehicle-based Video Capture, real-time situational awareness, law enforcement, remote video surveillance, traffic monitoring and control, video acquisition & analytics, UAVs,  and more.

You may want to visit AVC8000nano product page for more details. Although it has been launched in 2013, I could not find price information for the capture card.

FOSDEM 2016 Schedule – Open Source Hardware and Software Event in Europe

January 13th, 2016 3 comments

FOSDEM (Free and Open Source Software Developers’ European Meeting) is a 2-day event that usually takes place on the first week-end of February in Brussels, but this year it will be on January 30-31. The event brings thousands of developers, hackers, and other person interested in open source technology who present their projects and share ideas. FOSDEM 2016 schedule is now available, and There will be 557 speakers, 612 events, and 50 tracks this year including 7 main tracks: Distros, Enterprise, Hardware, Communications, Miscellaneous, Office, Systems Administration, and Virtualization.

FOSDEM_2016

So I’ve had a look at some of the talks, especially out of  “Embedded, Mobile and Automotive” and “IoT” devrooms, and prepared my own virtual schedule although I won’t be able to attend.

Saturday

For many years MIPS processors have been involved in the embedded market, particularly in areas related to networks and storage. With the success of the mobile market, and the great evolution of the world linked to the “makers”, other architectures (such as ARM), they have reached very large levels of diffusion.

Meanwhile, the MIPS architecture has evolved, introducing innovations and improvements to adapt to both the processor market from performance, both to the world of micro-controllers. The future of MIPS is a new family divided into several generations evolving.

During the presentation, after a brief and simplified introduction to architecture, will be shown the technologies available at the time and what will be the future developments.

The presentation will also show some reference platforms (ex. Imagination Creator CI20), and how to work to integrate and port on these platforms. Application examples with Yocto and buildroot, to switch to a full distribution (Debian). Finally it will also present a perspective on the use of MIPS in embedded designs.

AsteroidOS is a free and open-source smartwatch platform based on OpenEmbedded, libhybris, BlueZ5 and Qt5. The OS currently offers a basic user experience on the LG G Watch. This technical talk will briefly introduce the philosophical background of the project and more deeply its architecture’s details in order to attract developers, porters and curious.

This talk will successively be focused on how to boot an Android Wear watch, on how to gain hardware acceleration on that kind of hardware, on how Qt5 and OpenEmbedded are used and on the future of AsteroidOS.

AsteroidOS uses similar technological choices as those of projects like SailfishOS, NemoMobile, Mer, WebOS-Ports or Ubuntu Touch but adapted to the needs of smartwatches. The architecture of those project will briefly be compared during the presentation.

Based on Migen, MiSoC is a library of cores and a system-on-chip integration system to build gateware for various applications. MiSoC is lightweight (runs on FPGA devices as small as Spartan-6 LX9 with 32-bit RISC CPU and SDRAM), portable (demonstrated on Xilinx, Altera and Lattice devices) and high performance (e.g. contains the fastest open source DDR3 solution we are aware of). Designing and integrating cores is facilitated by Python and Migen features. Current MiSoC applications include LTE base stations, video processing (Numato Opsis) and experiment control system (ARTIQ).

Nemo Mobile is a long time FOSS operating system. Created in 2012 as continuation to Meego Community Edition, it has been actively developed since then. The newest iteration of it is to use Glacier UI as its renewed User Interface, along with its Qt Components. These components are now used in the NemoTablet adaptation using Raspberry Pi2 as underlying hardware and its plethora of possible peripherals to create a true DIY tablet derived from SailPi project.

With Raspberry Pi 2 introduction in February 2015, it was then possible to create an adaptation for it. This enables the myriad of functionality it offers, with its hardware provided. Initial adaptation was done originally for SailfishOS, but Nemo Mobile had the first run and checking that everything worked, before a closed system was installed. Nemo Mobile, however, was then not tried until later. The idea came once the official touchscreen by Raspberry Pi Foundation was released, so that a FOSS tablet could be built by anyone and used. Raspberry Pi 2 has non-free hardware, but Nemo Mobile itself is FOSS completely. As with all other adaptations, the questions regarding hardware freedom limitations rise for a good reason.

Libreboot is a free software BIOS replacement (boot firmware), based on coreboot, for Intel, AMD and ARM based systems. Backed by the Free Software Foundation, the aim of the Libreboot project is to provide individuals and companies with an escape from proprietary firmware in their computing. Libreboot is also being reviewed for entry as an official component of the GNU system.

Boot firmware is the low-level software that runs when you turn your computer on, which initializes the hardware and starts a bootloader for your operating system. Libreboot currently supports laptops and servers, on x86 (Intel and AMD) and ARM (Rockchip RK3288), with more hardware support on the horizon. The purpose of this talk is to describe the history of the project, why it started, why it’s important, where it’s going and, most importantly, to tell people how they can get involved.

Francis also runs the Minifree (formerly Gluglug), a company that sells computers with libreboot and Trisquel GNU/Linux pre-installed.

No abstract, but it’s clear about Olimex’s Allwinner A64 A64-OlinuXino board to be used in the company’s open source hardware laptop.

A brief discussion about the stable release branch 4 of KiCad as well as goals for the next development cycle and beyond.

The WPANKit is a ptxdist based Open-Source 6LoWPAN Board Support Package (BSP). The main focus is to provide a software development kit for the linux-wpan project. The linux-wpan project aims to implement a 6LoWPAN inside the mainline Linux kernel.

This talk will present the WPANKit: An Open-Source Linux BSP to develop 6LoWPAN IoT applications. It contains support for various common platforms such Raspberry Pi’s and Beaglebones. Additional components like the openlabs 802.15.4 transceiver SPI transceiver or BTLE USB dongles gives you a getting started platform into the Linux 6LoWPAN world.

The WPANKit will directly build a current mainline 6LoWPAN kernel, which is the official bluetooth-next tree. This is important, because the mainline 6LoWPAN development is still much in development. Additional the WPANKit offers a large of userspace IoT software collection e.g. tshark for sniffing network traffic, libcoap, etc. On top of this BSP you can develop your IoT application, setting up a Border-Router or help at the current mainline 6LoWPAN Linux-kernel development.

Through the power of ptxdist you can easily add new own packages for cross-compiling. As well we accept patches to integrate new software into the official WPANKit repository, so we getting more and more new IoT capable software into the WPANKit which can be used by other ptxdist users.

An AdaCore intern has rewritten the CrazyFlie drone software, originally in C, into SPARK. In addition to fixing some bugs, this allowed to prove absence of runtime errors. Various techniques used to achieve that result will be presented, as well as a live demo of free fall detection.

This talk will take us through the available FOSS software stacks that are available for automotive. This last year has produced a lot of working software from fiber-optic networking drivers in the Linux kernel, complete In-Vehicle Infotainment stacks, to a newly released Qt Automotive. There has also been a change in available hardware to run this software on, new boards like the Minnowboard Max, Renesas’ Porter board, and even the Raspberry Pi 2. This talk will try and cover the entire software ecosystem and how it matches to hardware, how you can get involved today, and what the future holds.

Turris Omnia aims to bring to the market affordable, powerful and secure SOHO router which is completely open-source and open-hardware. As a operating system it uses our own fork of OpenWrt which has some additional features such as automatic security updates. This talk will cover few topics such as motivation for starting this project and developing of our own hardware and software.

FROSTED is an acronym for “FRee Operating System for Tiny Embedded Devices”. The goal of this project is to provide a free kernel for embedded systems based on ARM Cortex-M CPU family, which exposes a POSIX-compliant system call API. Even if it runs on small systems with no MMU and limited resources, Frosted has a VFS, UNIX command line tools and a HW abstraction layer which makes it easy to support new platforms and device drivers.

This talk will cover why the project was started, the approach taken to separate the kernel and user-space on ARM Cortex-M CPU’s without MMU, the collaboration with the libopencm3 project to provide a high quality hardware abstraction layer and the future goals of the project. Of course there will a demo showing the latest developments: dynamic loading of applications and possibly TCP/IP communication.

Sunday

Yocto project has been used at Open-RnD for building a number of IoT related products. The talk will go though the details of integration of Poky build system and OpenEmbedded layers into 3 projects carried out at Open-RnD:

  • an autonomous parking space monitoring system
  • a distributed 3D steroscopic image acquisition system
  • a gadget for acquisition of metabolic parameters of professional athletes

The presentation will approach to building software, automation and upstreaming of fixes. Only widely available hardware platforms such as BeagleBone Black, Raspberry Pi, Wandboard or Gateworks GW5400 (not as widely used as the previous ones, but still fully supported) were used in the project, hence all the points made during presentation are directly applicable by professionals and hobbyists alike.

Tizen is an open source GNU/Linux based software platform for mobile, wearable and embedded devices as well as Internet of Things. Tizen:Common provides a generic development environment for Tizen 3 which key features include, Wayland, Weston, EFL UI/UX toolkit, and a web runtime for safely running standalone HTML5 apps. Yocto Project offers tools to easily expends features of Tizen:Common by creating layers for new profiles. This talk will focus the Tizen architecture and it will provide guidelines for creating and building new Tizen profiles, based on Tizen:Common, using the Yocto Project for devices with Intel or ARM processors. It will also provide information about hidden gems in Tizen on Yocto and practical examples for packaging and deploying HTML5 applications through Yocto recipes for the open source hardware development boards like Raspberry PI2 or HummingBoard (Freescale I.MX6 ARM SoC) or MinnowBoard Max (Intel).

Finally, since Tizen aims to because the OS of everything, we will illustrate this by extending Tizen Distro with new connectivity features provided by IoTivity library, the open source implementation of OpenInterConnect’s standard.

This session will show you how to build your own retro hand-held console that is powered by Java, runs on a Raspberry Pi, and is printed on a 3D printer. Some of the topics covered include:

  • Hacking Java on the Raspberry Pi
  • Rigging input devices with Pi4J
  • Insane performance tuning on the JVM
  • Why your boss [or SO] needs to buy you a 3D printer!

And of course your retro gaming mettle will be put to the test, so make sure to dust off your old 8 and 16 bit consoles to prepare.

How to roll your own build and extend the Fairphone 2 hardware

The kernelci.org project is currently doing hundreds of build and boot tests for upstream kernels on a wide variety of hardware. This session will provide an introduction to the kernelci.org system, some live demos and how to start consuming its results, and be a forum for further discussions.

Distributed boards farms across the world are working together to deliver unified build, boot, and test results for every merge of an upstream Linux kernel tree. A community based architecture agnostic effort, kernelci.org aims to detect regressions in a timely manner and report back to kernel developers with a concise summary of the issues found. On every merge, all defconfigs for x86, arm, and arm64 are built, booted, and tested on over 300 real or virtual hardware platforms. Come join in the discussion and help make Linux better!

Hardware is funny stuff. It is often documented to work one way when it actually works a slightly different way. Different revisions of the hardware may have different bugs that require different sets of work-arounds. Programming it even slightly incorrectly can lead to software crashes or system hangs. Sometimes some versions of the hardware work fine, but the version not on the developer’s desk crashes. Failure modes are often opaque and give no clues for fixing the problem. Writing robust, reliable software to run directly on hardware is hard.

Software simulation of hardware is a technique that, in many cases, can alleviate some of this pain. Teams that develop hardware will often create a simulator as a by-product of hardware synthesis. Not ever developer is fortunate to have access to such tools. Those who do have access often find them slow or difficult to use. After all, these simulators are generally created as an aid for the hardware developers themselves. Much of the benefit of a full hardware simulator can be attained by developing the simulator independently from the hardware development. When the correct techniques are applied, it’s not even that hard.

This talk will present a variety of techniques based on experience with several “home grown” simulation environments. Techniques for both developing and validating the simulator and techniques for integrating simulation in the regular development process will be described.

  • 16:00 – 17:00 – PHP7 by Derick Rethans

With PHP 7 having been released, it is time to show what’s in there. Speed, scalar type hints and spaceships.

These are just a few selection from the complete schedule. Last year, most FOSDEM 2015 videos were available in mid-March, so I’d expect FOSDEM 2016 videos to be available in about the same time frame.

As usual, the event will be free, and does not require registration, so you just need to show up at the Université libre de Bruxelles in order to attend.

Gateworks Introduces an Embedded Android LCD Touchscreen Development Kit

September 3rd, 2015 3 comments

Gateworks has launched a rugged touchscreen LCD devkit featuring one of their Freescale i.MX6 based Ventana SBC, namely Ventana GW5224, that is similar to Ventana GW5220, but with a quad core Freescale i.MX 6Quad instead of the i.MX 6Dual found in the latter.

Gateworks_Industrial_Android_Tablet
GW11036 Embedded Android Development Kit features and specifications:

  • GW5224 single board computer
    • SoC- Freescale i.MX6 Quad with 4x Cortex A9 core @ 1GHz and Vivante GPU (automotive grade: -40 to +125C)
    • System Memory – 1GB DDR3-800 SDRAM
    • Storage – 2GB Flash, micro SD slot, serial configuration EEPROM
    • Connectivity – 1x Gigabit Ethernet port (RJ45)
    • Video Output and Input – HDMI 1.4 out,  LVDS output,  3x analog composite video inputs
    • Audio – HDMI, analog stereo Line In/Out
    • Expansion – 2x Mini PCIe sockets including one with PCIe signalling
    • Other I/O ports:
      • Serial – 2x RS232, CAN Bus 2.0B @ 1 Mbps
      • Master/slave SPI, GPIO
      • USB – 1x USB 2.0 OTG port up to 480 Mbps
    • Misc – RTC with battery,  voltage & temperature monitor; 6-axis accelerometer/magnetometer, watchdog timer,  etc…
    • Power Supply – 8 to 60V DC via a power barrel or 36 to 60V DC via 802.3af PoE
    • Typical power consumption – 2W Watts @ 25 C (0.08A @ 24VDC)
  • Display Panel – 7″ TFT-LCD LVDS panel (1024×600) with LED backlight and PCAP touchscreen; black anodized bezel
  • Connectivity – 802.11 b/g/n WiFi, Bluetooth 4.0 + HS radio (GW17022 module), GPS receiver ( Wi2Wi W2SG0008i)
  • Dimensions – 184x127x37.5 mm
  • Weight – 400 grams
  • Operating Temperature – SBC: -40 to +85 C; LCD Panel: -20 to +70 C; Radio: 0 to 60 C

Beside GW5224 single computer and the touch enabled LCD panel, the kit also comes with GW17022 wireless module, a 8GB class 10 micro SD card pre-loaded with Android 4.4.3, a GPS magnetic mount antenna, a 24V/1A power supply, as well as all required cables and mounting hardware.

Gateworks_Industrial_TabletYou can find some documentation about Android for the kit and Ventana boards in general on Gateworks Wiki.

The rugged LCD panel kit appears to be available now, but price is only given upon request. Further information may be found on Gateworks GW11036 Embedded Android Development Kit page.

Ventana GW5220 ARM Linux SBC Supports WiFi, Wimax, 3G Cellular Connectivity & PoE

April 29th, 2015 No comments

Gateworks recently launched another Freescale i.MX6 board part of theur Ventana family with Ventana GW5220 single board computer with Freescale i.MX6 dual processor, HDMI out, Ethernet, and a PCIe slot that takes modules adding WiFi 802.11 b/g/n/a, 4G Wimax, and 3G (CDMA/GSM) connectivity, as well as other compatible PCIe modules.
Gateworks_GW5220Gateworks GW5520 board specifications:

  • SoC- Freescale i.MX6 Dual with 2x Cortex A9 core @ 800MHz and Vivante GPU
  • System Memory – 512 MB (default) to 2GB DDR3-800 SDRAM
  • Storage – 256 MB (default) to 2GB Flash, micro SD slot, serial configuration EEPROM
  • Connectivity – 1x Gigabit Ethernet port (RJ45)
  • Video Output and Input – HDMI 1.4 out, CVBS, Y/C, and YPbPr inputs, LVDS output (TIA/EIA 644-A)
  • Audio – HDMI, analog stereo Line In/Out, or Headphone/Mic
  • Expansion – 2x Mini PCIe sockets including one supporting USB and SIM socket, and the other supporting PCIe, mSATA and USB signals.
  • Other I/O ports:
    • Serial – 2x RS232, CAN Bus 2.0B @ 1 Mbps, optional RS485 serial port
    • SPI, GPIO
    • USB – 1x USB 2.0 OTG port up to 480 Mbps
  • Misc – RTC with battery,  voltage & temperature monitor; 6-axis accelerometer/magnetometer, optional GPS receiver, etc…
  • Power Supply – 8 to 60V DC via a power barrel or 36 to 60V DC via 802.3af PoE
  • Typical power consumption – 2W Watts @ 25 C (0.08A @ 24VDC)
  • Dimensions – 100 x 70 x 21 mm
  • Weight – 57 grams
  • Operating Temperature – -40 to +85 C
Ventana GW5220 Block Diagram

Ventana GW5220 Block Diagram

The company can provide OpenWRT, OpenEmbedded/Yocto, and Android BSPs (Board Support Packages). A development kit with GW5220 network computer, cables (Ethernet, Serial, USB, AV), a passive PoE power injector and power supply, and a JTAG programmer is also available. More technical details about the board and supported wireless modules can be found on Ventana Wiki.

Ventana GW5220 board has started shipping, and costs $297 per unit for 100 pieces orders. The development kit pricing has not been disclosed, but you can find request more information via Ventana Development Kits page, as well as Ventana GW5520 product page.

Gateworks GW5520 Single Board Computer Features Dual Gigabit Ethernet Ports, Two mini PCIe Slots

February 4th, 2015 7 comments

If you need industrial grade ARM Linux boards with lots of Ethernet ports and several mini PCIe slots, you may want to check out Gateworks Ventana boards. The company has now released a smaller member of Ventana family with GW5520 SBC powered by Freescale i.MX6 dual, with two Gigabit Ethernet port, two mini PCIe slots, and support for PoE.

Ventana_GW5520_BoardGateworks Ventana GW5520 SBC specifications:

  • SoC- Freescale i.MX6 Dual Cortex A9 processor @ 800MHz with Vivante Vivante GC2000 / GC355 / GC320 GPUs. Option: i.MX6 Quad
  • System Memory – 512 MB DDR3-800 SDRAM (Up to 2GB RAM as option)
  • Storage – 256 MB Flash (Up to 2GB as option), serial configuration EEPROM
  • Video and Audio Output – HDMI 1.4
  • Connectivity – 2x Gigabit Ethernet ports.
  • USB – 2x USB 2.0 host ports
  • Expansion
    • 2x Mini-PCIe sockets
    • Optional mini-PCIe socket to supports a mSATA disk drive (i.MX6 Quad only)
    •  I/Os
      • Serial – CAN Bus 2.0B up to 1Mbps, 3x TTL serial ports
      • 4x GPIOs
  • Misc – RTC with battery backup,  voltage & temperature monitor, watchdog timer
  • Power Supply – 8 to 60V DC input voltage; Power via barrel or passive PoE Ethernet; reverse voltage and transient protection
  • Power consumption –  3W @ 25 C (Typical); 16W shared between mini PCIe slots
  • Dimensions – 100 x 70 x 21 mm
  • Operating Temperature – -40 to +85C

The company claims a 81.9 years MTBF at 55°C, but I’m not quite sure how this is computed… OpenWRT, OpenEmbedded Yocto, and Android BSPs are available for the board.. It’s also supported in mainline kernel since Linux 3.18 release. Documentation is available on Ventana boards Wiki.

Based on the block diagram below, they don’t use the GMAC inside i.MX6, and instead connected an external Gigabit Ethernet via PCIe, so they should not be subject to the 470 Mbps known limitation for Gigabit Ethernet on i.MX6 processor. [Update: The company confirmed that, and they measured 940 Mbps on their Ethernet ports]

Ventana GW5520 Block Diagram

Ventana GW5520 Block Diagram

Gateworks also offers  GW5520 Development Kit which includes GW5520 network computer, U-Boot bootloader, OpenWRT Linux Board Support Package, Ethernet, serial, USB, audio and video cables, as well as a passive PoE power injector and a 24V power supply, and a JTAG Programmer.The network board appears to be available now selling for about $400 on Avnet, while the development kit goes for around $500. You can visit Gateworks GW5520 product page for details, including download links to the datasheet and user’s manual.

[Update: I’ve also been informed about GW5510 based on i.MX6 Solo, but smaller (35x70mm), without Ethernet port (a mini PCIe card can be used to add Wi-Fi), and both HDMI in and out.[