Archive

Posts Tagged ‘96boards’

iMX7-96 “Meerkat” ARM Cortex A7/M4 Development Board Launched for $109

October 27th, 2017 No comments

If you have really good memory, you may remember that Freescale was working on a 96Boards compliant i.MX 7 development board in 2015 that was supposed to be released in Q4 of that year. Yesterday the board was finally launched and demonstrated on 96Boards OpenHours.

i.MX7-96 board (aka Meerkat) is powered by an NXP i.MX 7 dual core ARM Cortex-A7 + 1x Cortex M4 processor, coupled with 512MB RAM, and complies with the Consumer Edition (CE) of 96Boards specifications.

Click to Enlarge

iMX7 96 board specifications:

  • SoC – NXP i.MX 7Dual dual ARM Cortex-A7 processor at 1.2 GHz, with Cortex-M4 @ 200 MHz and 2D accelerator
  • System Memory – 512 MB DRAM
  • Storage – micro SD slot
  • Video Output – HDMI
  • Connectivity  – 802.11 b/g/n WiFi + Bluetooth 4.1 LE (LSR Sterling-LWB module)
  • USB – 2x USB 2.0 hosts,  1x micro USB 2.0 OTG
  • Camera – 1x  MIPI-CSI
  • Expansion Interfaces
    • 40-pin low speed expansion connector: +1.8V, +5V, SYS_DCIN, GND, UART, I2C, SPI, PCM, PWM,GPIO x12
    • 60-pin high speed expansion connector: 4L-MIPI DSI, USB, I2C x2, 2L+4L-MIPI CSI
  • Misc – 6x LEDs: 4x user controlled, 2x radio (BT and WLAN activity); Power/Reset buttons; 3-pin serial console port
  • Power Supply – [email protected], (inner diameter 1.7mm and outer diameter 4.8mm)
  • Power Consumption – 250 μW standby power
  • Dimensions – 85mm x 54mm

Two Linux images – built with buildroot – are available one headless, and one with XFCE desktop environment. You’ll find hardware design files, source code and documentations on 96Boards’s Github documentation page as well as a separate website. Some basic info can also be found on 96Boards.org.

Click to Enlarge (and see the nice rework…)

iMX7 96 board is a bit different from other 96Boards CE platform, as AFAIK it’s the only one include an MCU class Cortex-M4 core, and it also lack a 3D GPU having only the hardware to accelerated 2D graphics operation like resizing, rotation, or blending.

While Novtech designed the board, it is distributed by Arrow Electronics for $109. i.MX7 96 Board Workshops will be hosted in various locations in Europe (Germany, Poland, UK, and Hungary) in order to “gain practical hands-on experience in combining the Linux Operating System with the Real Time OS of the Cortex M4”.

Dragonwally is a Stereoscopic Computer Vision Mezzanine for 96Boards CE Boards

October 11th, 2017 No comments

Hardware based on 96Boards specifications may not have the number of sales as Raspberry Pi or Orange Pi boards, but there’s heavily used by Linaro member and other developer working on bleeding edge software. More and more companies are designing boards compliant with the standard, and several new mezzanine expansion boards such as Secure96, were showcased at Linaro Connect SFO 2017, and are yet to be show up on 96Boards Mezzanine page.

Another 96Boards mezzanine expansion board in development is Dragonwally, designed for stereoscopic computer vision, currently used with DragonBoard 410c board, and targetting applications such as object recognition,  people counting, access control, or driver identification and safety.

DragonWally DW0 board specifications:

  • MIPI DSI interface with high speed connector
  • 2x 5MP cameras
  • 1x USB port
  • 96Boards CE compliant

The two Brazilian developers working on the project interfaced it with DragonBoard 410c running Linaro Debian, and using OpenCV and Python for computer vision development. To demonstrate the capability of the board, they added a touchscreen display for a demo leveraging Amazon Rekognition API for face recognition and camera distance estimation.

DragonWally board does not seem available yet, nor the source code for the demo above. If you’d like more information, visit DragonWally website, or join 96Boards OpenHours #74 tomorrow.

Rock960 Board is a 96Boards Compliant Board Powered by Rockchip RK3399 SoC

September 29th, 2017 23 comments

So it looks like Rockchip is soon going to join 96Boards family with Rock960 board. Developed by a Guangzhou based startup called Varms, the board will be powered by Rockchip RK3399 hexa-core SoC, and comply with 96Boards CE specifications.

Rock960 board preliminary specifications:

  • SoC – Rochchip RK3399 hexa-core big.LITTLE processor with two ARM Cortex A72 cores up to 1.8/2.0 GHz, four Cortex A53 cores @ 1.4 GHz, and  ARM Mali-T860 MP4 GPU with OpenGL ES 1.1 to 3.2 support, OpenVG1.1, OpenCL 1.2 and DX 11 support
  • System Memory – 2 or 4GB RAM
  • Storage – 16 or 32GB eMMC flash + micro SD card
  • Video Output – 1x HDMI 2.0 up to [email protected] Hz with CEC and HDCP
  • Connectivity – WiFi 802.11ac 2×2 MIMO up to 867 Mbps, and Bluetooth 4.1 LE (AP6356S module) with two on-board antennas, two u.FL antenna connectors
  • USB – 1x USB 2.0 host port, 1x USB 3.0 port, 1x USB 3.0 type C port with DP 1.2 support
  • Expansion
    • 1x 40 pin low speed expansion connector – UART, SPI, I2C, GPIO, I2S
    • 1x 60 pin high speed expansion connector – MIPI DSI, USB, MIPI CSI, HSIC, SDIO
    • 1x M.2 key M PCIe connector with support for up to 4-lane PCIe 2.1 (max bandwidth: 2.0 GB)
  • Misc – Power & u-boot buttons. 6 LEDS (4x user, 1x Wifi, 1x Bluetooth)
  • Power Supply – 8 to 18V DC input (12V typical) as per 96Boards CE specs; Battery header
  • Dimensions – 85 x 54 mm (96Boards CE form factor)

The board will support Android (AOSP), Ubuntu, the Yocto Project, and Armbian. The website shows the word “official” for the first three, and lists Canonical as partner. The company will also offer various at least one expansion board, and starter kit based on Seeed Studio Grove system with a mezzanine board with plenty of Grove headers, an LCD display, and various Grove modules like buzzers, relays, buttons, LEDs, temperature sensors, and so on.

Rock960 is both simpler and smaller than other RK3399 boards such as Firefly-RK3399 and VS-RK3399, so I’d expect it to be cheaper, hopefully below $100, once it becomes available. The website is still very much under construction, but you may find few more details there.

Thanks to mininodes for the tip.

Secure96 is a 96Boards Mezzanine Expansion Board To Experiment with Hardware Based Security

September 28th, 2017 6 comments

With the Internet of things booming and taking a more important role in our lives, security will become more and more critical. So far, it has often been an afterthought with modems & routers frequently shipping with default username and password, and getting security right is really hard, as shown by the recent CLKSCREW attack that somehow leverages DVFS to break ARM TrustZone security, and that “is not a software bug, nor a hardware bug, it’s a fundamental part of the energy management design”, so most ARM platforms are vulnerable. Optimal security normally combines software and hardware, so having a platform to experiment with different HW security solutions would be useful, and that’s what Secure96 Mezzanine board for 96Boards aims for.

Secure96 expansion board specifications:

  • Security ICs
    • Microchip Atmel ATSHA204A SHA-based CryptoAuthentication crypto element device
    • Microchip Atmel ATECC508A crypto device with ECDH (Elliptic Curve Diffie–Hellman) key agreement
    • Infineon SLB 9670 TPM 1.2/2.0
  • Storage – EEPROM
  • USB – micro USB port connected to FTDI chip
  • Expansion – 4-pin for I2C, 40-pin header to connect to 96Boards

Launched in 2011, ATSHA204A is used for symmetric authentication with a random number generator, a unique 72-bit serial number, I2C/SWI host interface, 88 bytes used for configuration, 512 bytes used for data, and 64 bytes of OTP storage. It can be used for accessory (battery, cartridge, …)  authentication, secure boot, data integrity verification, and session key exchange. Joakim Bech, Tech Lead for Security Working Group at Linaro, has already published some code to leverage that chip, currently (& temporarily) posted on his own Github, but will be moved to Linaro repo later on.

Click to Enlarge

ATECC508A shares many of the feature of the first chip, but adds asymmetric key pairs. Sadly it requires an NDA to get the datasheet and TRM, It’s supported by the Atmel CryptoAuthLib, so it might be possible to study the code to better understand it. He has not done work on the software part yet for this part. Note that I previously reported about a demo for secure IoT connectivity using ESP8266 + ATECC508A.

Infineon SLB9670 TPM has just been tested with Intel TSS TPM 2.0 resource manager, and the tpm2.0 tools, but again, no software has been implemented for this chip on Secure96 board yet.

Going forward the rough plans are to:

  • Finalize the ATSHA204A implementation
  • Create a library for the ATSHA204A implementation
  • Offline implementation to mimic device behavior (in a Trusted Application in a TEE)
  • Use IC(s) for secure boot on a 96Boards IoT device
  • Get the specification and implement support for ATECC508A
  • TPM chip – Try it out using IMA in Linux & use it to store SSH credentials

You may want to flick through the Linaro Connect presentation slides for more details.

The video has also been uploaded, but the audio is not that clear. Since there’s still quite a lot more work to do, Secure96 mezzanine is not for sale yet, but eventually it should be via 96Boards Mezzanine products page.

Short Demo with 96Boards SynQuacer 64-bit ARM Developer Box

September 27th, 2017 17 comments

Even if you are working on ARM platforms,  you are still likely using an Intel or AMD x86 build machine, since there’s not really a good alternative in the ARM world. Linaro talked about plans to change that at Linaro Connect Budapest 2017 in March, and a few days ago, GIGABYTE SynQuacer software development platform was unveiled with a Socionext SynQuacer SC2A11 24-core Cortex-A53 processor, and everything you’d expect from a PC tower with compartment for SATA drives, PCIe slots, memory slots, multiple USB 3.0 ports, and so on.

Click to Enlarge

The platform was just demonstrated a Linaro Connect San Francisco right after Linaro High Performance Computing keynotes by Kanta Vekaria, Technology Strategist, Linaro, and Yasuo Nishiguchi, Socionext’s Chairman & CEO.

If you have never used a system with more than 14 cores, you’d sadly learn that the tux logos at boot times will only be shown on the first line, skipping the remaining 10 cores, of the 24-core system. It was hard to stomach, but I’m recovering… 🙂

The demo showed a system with an NVIDIA graphics card connected to the PCIe x16 port and leveraging Nouveau open drivers, but it’s also possible to use it as an headless “developer box”. The demo system booted quickly into Debian + Linux 4.13. They then played a YouTube video, and ran top in the developer box showing all 24-cores and 32GB RAM. That’s it. They also took questions from the audience. We learned that the system can build the Linux kernel in less than 10 minutes, they are working on SBSA compliance, and the system will be available through 96Boards website, with a complete build with memory and storage expected to cost less than $1,000. The idea is to use any off-the-shelves peripherals typically found in x86 PC towers. We still don’t know if they take MasterCard though… The video below is the full keynote with the demo starting at the 52:30 mark.

Linaro Connect SF 2017 Welcome Keynote – New Members, Achievements, the Future of Open Source, and More…

September 26th, 2017 No comments

Linaro Connect San Francisco 2017 is now taking place until September 29, and it all started yesterday with the Welcome Keynote by George Grey, Linaro CEO discussing the various achievements since the last Linaro Connect in Budapest, and providing an insight to the future work to be done by the organization.

The video is available on YouTube (embedded below), and since I watched it, I’ll provide a summary of what was discussed:

  • Welcoming New Members – Kylin (China developed FreeBSD operating systems) joined LEG (Enterprise Group), NXP added LHG (Home Group) membership, and Xilinx joined LITE (IoT and Embedded).
  • Achievements
    • OPTEE open portable trusted environment execution more commonly integrated into products. Details at optee.org.
    • LEG 17.08 ERP release based on Linux 4.12, Debian 8.9 with UEFI, ACPI, DPDK, Bigtop, Hadoop, etc…
    • LITE group has been involved in Zephyr 1.9 release, notably contributing to LwM2M stack
    • More projects to be found on download page.
  • Open source future with many fields involved including artificial intelligence, security, automotive, automation, etc.
    • Security requires software/hardware combination, and with a single global standard such as OPTEE desirable
    • Artificial Intelligence / Machine Learning
      • Trend is to move out of the CPU to off-load tasks to GPU, FPGA, or NNA (Neural Network Accelerators)
      • Not single API, for example TensorFlow supports CPU and NVIVIA CUDA, using other platforms require heavy customization
      • Linaro to work abstraction layer/ common API for machine learning
      • A.I will bring many benefits, but also potential dangers/issues: privacy, military use, etc… Development in the open is better.
    • Automotive
      • Currently Intel and NVIDIA provides ADAS / autonomous driving platform, both closed sources
      • More open platform needed, maybe a 96Boards Automotive platform with 6x cameras, GPS, touch screen display, processing power good enough for ADAS and IVI (In Vehicle-Entertainment)
      • Linux now mostly handles non-safety critical code, will change in the future. Containers will help.
      • Currently working on proof-of-concept with StreetDrone One autonomous driving development platform, DragonBoard 410c and Gumstix AeroCore 2 mezzanine. More details, maybe demo, at next Linaro Connect
  • 96Boards
    • Recently (and soon to be) announced – Hikey 960, Orange Pi i96, Uranus (WiFi board based on TI CC3220, to run Zephyr OS)
    • Mezzanine boards – NeonKey with sensors and LEDs, Secure96 with crypto chips & TPM (used to play with OPTEE)
  • ARM Platforms for developers – Three types:
  • Microplatforms
    • Definition – open source, minimal, secure, OTA upgradeable distributions
    • Cortex M platforms will use Zephyr OS, Cortex A support will be based on OpenEmbedded with a unified multi-SoC kernel
    • Currently tested on Hikey, DragonBoard 410c, and Raspberry Pi 3, more platforms to be supported in the future
    • Demos with 6x Carbon + Nitrogen board with BLE running Zephyr OS, Raspberry Pi 3 IoT gateway:
      • 1. Use Linaro Developer Cloud (running LED Enterprise Reference Platform) + Hawkbit dash to monitor temperature sensors on the board
      • 2. Switch Raspberry Pi 3 gateway to use Softbank cloud using Alibaba infrastructure on-the-fly, and control lights from Japan severs.
      • The two demos above shows how a multi-standard automation gateway could be implemented solving the problem of incompatibility of devices from different manufacturers
      • BLE mesh demo with six board controlling lights
      • Source code for demos can be found on Github
    • Going forwards downstream microplatforms will be developed by a separate entity: Open Source Foundries, unrelated to Linaro which will keep on focusing on upstream work
  • Linaro also launched the Associate Program for OEMs, ODMs, service providers, startups, and university who want to join Linaro. No details were provided, only an email address [email protected]

You’ll also find the presentation slides on Slideshare.

GIGABYTE SynQuacer 96Boards Enterprise Platform is Powered by SocioNext SC2A11 24-core ARMv8 SoC

September 24th, 2017 21 comments

GIGABYTE, Socionext and Linaro have partnered to design a software development platform compliant with 96Boards Enterprise specifications, with GIGABYTE taking care of manufacturing the hardware based on Socionext SC2A11 processor, while Linaro will provide support via 96Boards community.

Click to Enlarge

GIGABYTE SynQuacer platform preliminary specifications (based on photos and SC2A11 specifications):

  • SoC – Socionext SynQuacer SC2A11 24x ARM Cortex-A53 MPCore cores @ up to 1GHz, with 32KB/32KB I/D L1 cache, 256 KB L2 cache, and 4MB L3 cache (5W power consumption)
  • System Memory – 4x DIMM slots for 64-bit DDR4-2133Mbps with ECC up to 64GB
  • Storage – 32GB Samsung KLMBG2JENB-B041 eMMC 5.1 flash + 2x SATA interfaces
  • Connectivity – 2x Gigabit Ethernet (RJ45) with IPSec Network Offload Engine
  • USB – 2x USB 3.0 ports on motherboard (via Renesas D720201), 4x USB ports on front panel via expansion board
  • Audio – 1x microphone input, 1x speaker output on front panel
  • Expansion – 1x PCie x16 slot (limited to 4-lanes), 2x PCIe x4 slots, other headers for expansion and/or debugging
  • Misc – Power button, power and activity LEDs, reset and power switches, configuration switches, RTC battery
  • Power Supply – ATX connector + ATX power supply
  • Dimensions – board: microATX board (96Board Enterprise compliant)

Linaro have been working on Socionex SC2A11 SoC using their PEC boards for a while, and if you want more details you may check out Linaro Connect Budapest 2017’s presentation. Multiple PEC boards can be interconnected offering up to 1536-core servers, with those systems suitable for IoT gateways, edge computing and servers running programs such as Hadoop/Spark, e-Commerce platforms, OpenStack, and so on. As of March 2017, Socionext SC2A11 supported ARM Trusted firmware, UEFI (edk2), Linux 4.5 with all drivers, Centos 7 Aarch64 rootfs, and Hadoop.

Click to Enlarge

The new development platform should become available in December 2017, and a prototype will be demonstrated during Linaro Connect San Francisco next week on September 25-29, and Yasuo Nishiguchi (Socionext) will present a related keynote at the event.

Getting Started with MediaTek X20 Android Development Board

July 17th, 2017 No comments

Thanks to CNX for helping me get a hand on the 96Boards compliant Mediatek X20 board that was generously donated by Seeed Studio. In this article, I will walk through the steps to get the board up and running and also compile Android from the source code. The current Android is version 6.

Unboxing the Beast

Figure-1 : DHL Packet

Figure-2 : MediaTek X20 Box

Figure-3 : Standoff, board and instructions

Figure-4 : Front Facing

Figure-5 : Powerful tiny MediateTek chip

Figure-6 : Side Shot

Figure-7 : Backside Shot

Figure-8 : Multiple Antenna

First Boot Up

The board boots up from the eMMC, and the first time you boot up you will get Android screen as shown in Figure-9. This is the default Android image from the factory, which surprisingly looks like it was setup for a phone screen mode, which is not sufficient for a HDMI monitor. It would be better to install the images that are made available at Linaro website or build your own. See the other section to flash the board with different images.

Figure-9 : Out-of-the-box Android

Figure-10 : Partition mount information

Switching to Fastboot Mode

Flashing image files are done using fastboot tool in bootloader mode. There are 2 ways to switch to bootloader mode. To prepare the board to be flashed it will need pin 3 (USB Host Set) located at the back of the board as shown in Figure-11 to be set to OFF

Figure-11 : Switch OFF pin 3

Method 1

The first method requires that you boot your board into Android. Power the board and let it boot to Android. Once it boots to Android you can switch to bootloader mode by typing

Once it switch to bootloader mode you can use the fastboot to flash the image

Method 2

The 2nd method require the xflash tool which can be downloaded from the following link http://builds.96boards.org/releases/helio-x20/mediatek/aosp/16.10/mediatek-x20-aosp-16.10.tar.xz. Unzip the file and you will see something like Figure-12.

Figure-12 : Tools and Image files

Extract xflash.tar.gz and you will see something like Figure-13.

Figure-13 : Inside xflash.tar.gz

Unplug the power supply, and plug your computer USB cable to the micro USB cable of the board and run the xflash tool as follow

The location of MT6797_Android_scatter.txt can be found inside the <your_unzip_mediatek>/Images/Normal Image/ as shown in Figure-14

Figure-14: Scatter File

Power up your board after running the xflash tool. You will see print out on the screen as shown below.

Once you see the text ‘END’ the board has been switched to bootloader mode, and is ready to be flashed.

Flashing Android Image

Before flashing the new Android image make sure your board is indeed in bootloader mode by running the following command

You know that you are in bootloader mode, once you get a reply like the following

You can either flash using the image files provided by Linaro or build your own custom image. You can download a ready made image file from http://builds.96boards.org/releases/helio-x20/mediatek/aosp/16.10/mediatek-x20-aosp-16.10.tar.xz (the image file are inside the <directory>/Images/Normal Image).

The extracted mediatek-x20-aosp-16.10.tar.xz wil look like Figure-15.

Figure-15: All image files

Copy all the different files inside /Normal Image and /Special Image to a separate folder and flash the files using the fastboot command as follows:

Building From Source

Android 6.0 is supported on the X20 board. Use the following command to checkout the AOSP source code

You will need to download the binary drivers from Linaro website. The driver binary can be downloaded from https://builds.96boards.org/releases/helio-x20/mediatek/aosp/latest/. Download the file called sla.tar.gz and unzip it. You will see something like Figure-16.

Figure-16 : Content of sla.tar.gz

Copy the contents of device/, prebuilts/ and vendor/ into the AOSP directory. After completing the copy steps follow the steps below to start compiling

  1. source build/envsetup.sh
  2. lunch
  3. You will be shown the selection like Figure-17

    Figure-17 : Lunch menu

  4. Select 8 (or even 9)
  5. make -j10

Once the build process is complete, you will see list of files as shown in Figure-18.

Figure-18 : Local image files

The image files are now ready to be flashed to the board. Use the same flashboot commands as above to flash the new compiled image.

Mediatek X20 Board Info and Antutu Benchmark

I’ll complete this guide by showing the info provided by CPU-Z and Antutu benchmark for the board for people wanting such details.

Click to Enlarge

Click to Enlarge

Click to Enlarge

If you’re interested in the board, you can purchase it for $199 plus shipping on Seeed Studio.

References:

  1. http://builds.96boards.org/releases/helio-x20/mediatek/aosp/16.10/
  2. http://www.96boards.org/documentation/ConsumerEdition/MediaTekX20/Downloads/ThirdParty/AOSP/LinuxFastboot.md/