Archive

Posts Tagged ‘Linux’

EU funded AXIOM Board is Powered by Xilinx Zynq UltraScale+ FPGA + ARM SoC

February 17th, 2017 3 comments

Back in 2015, Xilinx unveiled Zynq Ultrascale+ MPSoC combining ARM Cortex A53 & Cortex R5 cores, a Mali-400MP2 GPU, and UltraScale FPGA, and the company recently launched ZCU102 Evaluation Kit based on the SoC, which sells for just under $3,000. But if you are based in the European Union, you’ll be glad to learn about 4 millions Euros of your taxes have been spent to design a board based on the same MPSoC family as part of the AXIOM project, which was developed in collaboration with European universities and companies with the “aim of researching new software/hardware architectures for Cyber-Physical Systems (CPS) to meet the expectations” in terms of computational power, energy efficiency, scalability through modularity, easy programmability, and leverage of the best existing standards at minimal costs.

AXIOM (Agile, eXtensible, fast I/O Module) board’s key specifications:

  • SoC – Xilinx Zynq Ultrascale+ ZU9EG MPSoC with four ARM Cortex A53 cores @ 1.2GHz, two Cortex R5 “real-time” cores @ 500MHz, a Mali-400MP GPU @ 600 GHz, 600K System Logic Cells;
  • System Memory – 32 GB of swappable SO-DIMM RAM  (up to 32GB) for the Processing System, plus a soldered 1 GB Programmable Logic.
  • Storage – 8 GB eMMC flash (PCN layout supports up to 32GB), and a micro SD card reader.
  • Display – miniDP connector, single channel 24-bit LVDS interface, touch panel connector
  • Connectivity – Gigabit Ethernet port (RJ45)
  • USB – 4x USB Type C ports, 2x USB Type A ports
  • Expansion
    • Arduino UNO headers
    • 12x GTH transceivers @ 12.5 Gbps  (8 on USB Type C connectors + 4 on HS connector)

There’s also mention of an Axiom Link interface that would allow to interconnect multiple AXIOM boards in order to arrange small clusters.

Since it’s a public project I would have expected it to be open source. While there are some deliverables available for download, they appear to be outdated with “the technical specification of AXIOM board” PDF mentioning only AXIOM-15 and AXIOM-35 boards based on the previous Xilinx Zynq-7000 series SoCs. We can also find links to a Wiki, as well as git and svn repository, but all those are in a private area that requires a login, and as far as I could tell, it’s not possible to register. So maybe the EU commission wants to protect its investment, or we just need to be a little more patient. [Update: This Download page  seems to have more public info available]

Click to Enlarge

The AXIOM Board is said to combine features required for High-Performance Computing, Embedded Computing and Cyber-Physical Systems, with typical applications including real-time data analysis of a huge amount of data, machine learning, neural networks, server farms, bitcoin miners, and so on.

It’s unclear when/if the board will be available for sale, and at what price.

Via Board DB and Single Board Computers G+ community.

9Tripod X3399 SoM and Development Board are Powered by Rockchip RK3399 Hexa Core Processor

February 17th, 2017 1 comment

9Tripod (九鼎创展) has just launched X3399 system-on-module powered by Rockchip RK3399 hexa-core Cortex A72/A53 processor, and as well as a corresponding development board for people wanted to get started quickly before designing their own baseboard.

Click to Enlarge

X3399 core board preliminary specifications:

  • SoC – Rockchip RK3399 hexa-core big.LITTLE processor with two ARM Cortex A72 cores up to 2.0 GHz, four Cortex A53 cores, and a ARM Mali-T860 MP4 GPU with OpenGL 1.1 to 3.1 support, OpenVG1.1, OpenCL and DX 11 support
  • System Memory – 2GB LPDDR3 (2x Samsung K4E8E304EE-EGCF)
  • Storage – 8GB eMMC 5.0 flash (Samsung KLM8G1GEND-B031)
  • IOs – 204-pin to be soldered on baseboard
  • PMIC – Rockchip RK808-D
  • Dimensions – 55×55 mm

9Tripod does have a forum in English, but the company provides most of the information in Chinese.  I could not find details about Linux or Android images and source code, except a few mentions of Linux Qt, Ubuntu, and Android OS on a WIP Wiki, and that the bootloader used is xboot open source bootloader managed by 9Tripod community. There are some PDF documents with more details, but I failed to download them even after registration. If somebody could download them, and re-uploaded them somewhere, it would be appreciated.

Click to Enlarge

The company also provides X399BV1 development board with the RK3399 system-on-module soldered on, and the following (preliminary) specifications:

  • Storage – micro SD card
  • Video Output / Display IF – HDMI 2.0, 2x MIPI DSI connector, 1x MIPI DSI dual connector
  • Audio – Via HDMI, optical S/PDIF 3.5mm headphone jack, left and right speaker headers, 2x on-board microphones
  • Camera – MIPI CSI connector, CIF camera connector
  • Connectivity – Gigabit Ethernet, Ampak AP6354 wireless module with 802.11 n/g/n/ac WiFi 2x2MIMO, and Bluetooth 4.1 LE, micro SIM slot
  • USB – 1x USB type C port, 1x USB 3.0 port, 2x USB 2.0 host ports.
  • Serial- DB9 RS-232 port, TTL UART connector
  • Misc – Buttons, RTC + battery slot

The specifications above have been derived from the board’s photos only. I could not figure the two “connectors” on the bottom of the board are for. An IO header appears to be completely missing from the board, a big omission for a “development” board.

Click to Enlarge

9Tripod X3399 CoreBoard can be purchased for 599 CNY on Taobao (~$87) , while the developer board goes for 999 CNY ($145). If you don’t need a system-on-module for your own project, and/or can’t read Chinese, you’ll probably be much better served by Firefly-RK3399 development board instead.

MYD-C437x-PRU Development Board Leverages TI Sitara AM437x Programmable Real-time Unit

February 16th, 2017 No comments

MYIR Technologies launched MYC-C437x system-on-module based on TI Sitara AM437X processor, and the corresponding MYD-C437x development board at the end of 2015, but the latter did not make use of the processor’s PRU-ICSS (Programmable Real-Time Unit Subsystem and Industrial Communication SubSystem) block. The company has now released a new version of the baseboard called MYC-C437x-PRU which exposes I/Os pins to leverage the PRU-ICSS and enable implementation of protocols like EtherCAT and Profibus.MYD-C437x-PRU industrial development board specifications:

  • System-on-Module – MYC-C437x module with
    • SoC – Texas Instruments AM437x ARM Cortex A9 processor @ up to 1GHz with PowerVR  SGX530 GPU (AM4378/AM4379 only)
    • System Memory – 256 or 512MB (default) DDR3 SDRAM
    • Storage – 4GB eMMC Flash (reserved 256/512MB Nand Flash design), 16MB QSPI Flash (unpopulated by default), 32KB EEPROM
    • Connectivity – Gigabit Ethernet PHY
  • Storage – 1x micro SD slot
  • Serial ports – 1x 3-wire RS232 debug serial port, 2x  5-wire RS232 serial port, 1x RS485 with isolation
  • USB – 1x USB 2.0 host port, 1x mini USB 2.0 device port
  • Connectivity – 1x Gigabit Ethernet interface, 2x 10/100 Mbps PRU-ICSS Ethernet interfaces
  • Display – 1x 16-bit LCD interface, 1x 24-bit LCD interface, 1x 4-wire resistive touch screen interface
  • Camera – 1x Camera interface (0.5mm pitch 30-pin FPC connectors)
  • Debugging – 20-pin JTAG interface
  • Other Expansion Ports
    • 1x CAN interface with isolation
    • 3x 20-pin expansion connectors (2.0mm pitch) with:
      • 8x ADC
      • 2x SPI, 1x I2C, 2x UART
      • PRU-UART with support for PROFIBUS
      • 2x EnDat, 2x eQEP
      • eHRPWM
  • Misc – 4x Buttons (1x reset, 1x PMIC, 2x user), 1x power LED (red), 3x user LEDs (blue)
  • Power supply – +12V/1.5A (base board)
  • Dimensions – 150mm x 105mm (4-layer PCB)
  • Temperature Range – -40 to 85 Celsius (industrial grade)

The company provides a Linux 4.1.18 BSP for the modules and board, as well as Texas Instruments’ SYS/BIOS v6.45 Real-time Operating System. Note that you can only used one LCD interface at a time, and some of EtherCAT and LCD signals are multiplexed so only one can be used.

You can find some limited hardware & software documentation on the product page, as well as purchase MYD-C4377-PRU development board with TI Sitara AM4377 SoC, 512MB DDR3, and a 4GB eMMC flash for $189. Several modules are also offered with LCD displays, WiFi, and cameras.

$369 CHUWI Hi13 2-in-1 Windows 10 Tablet is Equipped with a 3000×2000 Display, Supports Ubuntu / Linux

February 15th, 2017 8 comments
I’ve recently reviewed CHUWI LapBook 14.1 laptop powered by an Intel Apollo Lake Celeron N3450 quad core processor, and found it to be a perfectly usable entry-level laptop with a few caveats like potential issues with USB ports, and the lack of brightness keys. The company is now about to launch with a higher end model, with the same processor, but instead of a 14.1″ Full HD display it will come with a high resolution 3000×2000 touchscreen 13.5″ display. The tablet will sell with Windows 10, but the company also claims support for Ubuntu, and other Linux distributions will likely work too.

Click to Enlarge

CHUWI Hi13 specifications:

  • SoC – Intel Celeron N3450 quad core “Apollo Lake” processor @ 1.1 GHz / 2.2 GHz (Burst frequency) and 12 EU Intel HD graphics 500 @ 200 MHz / 700 MHz (Burst freq.); 6W TDP
  • System Memory – 4GB DDR3L memory
  • Storage – 64 GB eMMC storage + micro SD slot for up to 128GB extra
  • Display – 13.5″ touchscreen display with 3000 x 2000 resolution, 3:2 aspect ratio
  • Video Output – micro HDMI port
  • Audio –  Via HDMI port, 4x speakers, microphone, 3.5mm audio jack
  • Connectivity – Dual band 802.11 b/g/n/ac WiFi, Bluetooth 4.0 LE
  • Keyboard – Detachable metal rotary QWERTY keyboard
  • USB – 2x USB port on keyboard, 1x USB type C port on tablet with support for power, data, audio & video
  • Camera – 5MP rear camera, 2MP front-facing camera
  • Battery – 10,000mAh battery, fast charging with 24W power supply
  • Dimensions – 334 x 222 x 9.2mm
  • Weight – 1080 grams (tablet only)
The 2-in-1 hybrid tablet/laptop will also sell with a Chuwi HiPen H3, and the older HiPen H1 stylus also works with it.
 The company also provided a comparison table between CHUWI Hi13, Microsoft Surface Book, and Apple iPad Pro.
Hi13 Surface Book iPad Pro (12.9-inch)
Price $369 Starting at $1499 Starting at $799
Operating system Windows 10 (Ubuntu OS support) Windows 10 iOS 10
Screen size 13.5 inch 13.5 inch 12.9 inch
Resolution 3000 x 2000 3000 x 2000 2732 x 2048
Pixel density (PPI) 267 267 264
Aspect ratio 3:2 3:2 4:3
Speakers Four speaker audio Two speaker audio Four speaker audio
Thinness 9.2mm 13.0mm 6.9mm
Processor Quad-core Intel Apollo Lake Dual-core Intel Core i5/i7 Dual-core Apple A9X
Fanless design Yes No Yes
All-metal design Yes No Yes
Type-C port 1 x USB Type-C None None
HDMI port 1x Micro HDMI None None
Stylus HiPen H3 Surface Pen Apple Pencil
Keyboard Detachable rotary keyboard Detachable rotary keyboard Keyboard cover

While there are some similarities, the cheapest Surface Book comes with 8GB RAM and a 128 SSD, and a dual core Core i5 processor that will be much faster than the Apollo Lake processor, and usable for video editing and recent 3D games, which won’t be the case for CHUWI Hi13. Nevertheless, that could still be an interesting option for people looking for a device with a high resolution display for less than $400.

CHUWI Hi13 will be officially released on February 20, with pre-orders for $369 starting on the same date, I’ll update the post with pre-order links and the product page once they become available.

Realtek RTD1295 SoC and Zidoo X9S TV Box Patchsets for Initial Mainline Linux Support

February 14th, 2017 4 comments

Realtek RTD1295 is a quad core Cortex A53 processor with built-in Gigabit Ethernet, USB 3.0 and SATA found, and is found in some TV boxes such as Zidoo X9S or Eweat R9 Plus that run Android 6.0 and OpenWrt on top of Linux 4.1. Andreas Färber has been working on Mainline Linux support for the SoC using Zidoo X9S, and just submitted patchsets for enablement of RTD1295.

Andreas explains:

This mini-series adds initial support for the Realtek RTD1295 SoC and the Zidoo X9S TV box.

With these patches CPU0 can be booted with earlycon.

PSCI doesn’t work despite present in the vendor device tree; as enable-method it instead used a custom “rtk-spin-table” that I sadly have no source code of.

The UARTs use a custom interrupt controller that I again lack source code of; with interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH> it can boot into an initrd.

The boot process is slightly twisted: The files need to be loaded from a 32-bit U-Boot, then boot into 64-bit U-Boot where the kernel can be booted. Similar to my previous Amlogic S905 work, the TEXT_OFFSET poses a problem, so a uImage needs to be used (or the kernel patched) for load address 0x00280000. I haven’t succeeded loading an initrd via bootm/booti; but as quick workaround initrd=$rootfs_loadaddr,0x$filesize can manually be specified in $bootargs.

If you want to try it out on your own Realtek RTD1295 device, you can find how to access the UART console, and play with U-Boot on Zidoo X9S page on OpenSUSE website. More experimental patchsets can also be found on Github.

In other news, if you’re interested in mainline Linux on Amlogic S912, kernel developers are currently using Nexbox A1 TV box with the help of Amlogic, which according to an upcoming talk at the Embedded Linux Conference 2017, “has put a priority on supporting their chips in the mainline Linux kernel”.

Categories: Linux, Realtek RTD Tags: Linux, realtek, zidoo

How to Upgrade to Linux 4.8 in Ubuntu 16.04.2

February 13th, 2017 14 comments

I had read from several news sources that Ubuntu 16.04.2 would come with Linux 4.8. My system was upgraded from Ubuntu 16.04.1 to Ubuntu 16.04.2 this week-end, but I still had Linux 4.4.

So I wondered why that was, and eventually found my answer on Reddit thanks to EndofLineLF user:

If it isn’t a new 16.04.2 installation then you won’t have newer kernel.

If your install started as 16.04 or 16.04.1 then with all updates installed “lsb_release” will display 16.04.2 as version because that’s what you have.

The switch to HWE (Hardware Enablement Stack) was never automatic. So if you want newer kernel you have to install it manually.

https://wiki.ubuntu.com/Kernel/RollingLTSEnablementStack#Packages-1
sudo apt-get install –install-recommends xserver-xorg-hwe-16.04

This will also install the new HWE kernel because it is recommended for that package.

Upgrading to the new kernel is completely optional, and Linux 4.4 will still get security updates, but I did it anyway, since I had an issue with the current Linux 4.4.62 kernel, although a fix with the next 4.4.63 release later this month. Anyway, I went ahead with:

After a reboot, I could confirm linux 4.8.0-34 kernel was installed:

If you run a Ubuntu 16.04 server installation, and want to upgrade to Linux 4.8, you may want to instead run:

One important note: If you switch from Linux 4.4 (GA) to Linux 4.8 (HWE), you’ll lose support for Canonical Livepatch Service.

Review & Quick Start Guide for Khadas Vim Pro Development Board with Ubuntu 16.04

February 11th, 2017 32 comments

Khadas Vim is the only Amlogic S905X development board I’m aware of. There are 4 or 5 versions of the board, but currently only two models are sold: Khadas Vim with 8GB flash and single band WiFi + BLE 4.0, and Khadas VIM Pro with 16GB flash, and dual band WiFi + BLE 4.2. SZWesion, the company behind the board, has sent Khadas Vim Pro for evaluation. Today, I’ll take a few pictures of the board and its accessories, and report my experience playing with Ubuntu 16.04.2 on the board. They’ve also released Android, LibreELEC, and dual boot Android/Ubuntu (for Vim Pro only) images, which you can find in the firmware resources page.

Khadas Vim Pro Unboxing and Photos

My parcel included Khadas package that looks like a book, an HDMI cable, and the same IR remote control sent with GeekBox, the first board made by the company, and powered by a Rockchip RK3368 processor.


You can indeed open the package like a book, and you’ll find the board and a USB to USB type C cable inside, as well as some basic specifications.

Click to Enlarge

You can verify you’ve got the right model on that back of the package which shows the memory and storage, in my case 2 GB + 16 GB.

The board comes with a neat acrylic case with opening for headers and ports. The top of the board features a 40-pin header, the Amlogic S905X processor (no heatsink), two RAM chips, the eMMC flash, the wireless module (AP6255), and most ports with two USB 2.0 ports, a USB type C port, HDMI 2.0a, and Fast Ethernet. There’s also a separate header close to the USB-C port giving access to Vin in case you don’t want to power your board through USB.

Click to Enlarge

There’s also 2-pin battery connector on the left of the board for the real-time clock (RTC). The bottom side of the board includes two more RAM chips, and the micro SD slot.

Click to Enlarge

Power, “function” and reset buttons can also be found on the side of the board, and there’s an IR receiver on the right of the 40-pin header.

Click to Enlarge

Ubuntu 16.04 on Khadas Vim (Pro)

While you can download the firmware on the “Firmware Resources” page, I recommend you check the Announcements & News section on the forums, as they normally include a changelog and some tips to configure your board. An Ubuntu 16.04 + XFCE image was released last month, but the company uploaded a Ubuntu 16.04.2 server image yesterday, so that’s the one I’m going to use today. A new Ubuntu 16.04 + XFCE image with better graphics support will be released sometimes next week.

My plan is to do the update in my Linux computer. The firmware is distributed through Mediafire, so you’ll have to download it through your web browser. I also downloaded  Vim_Uboot_170121.7z on the Firmware Resources pge since it’s needed for the SD card update method. Once we’ve got the firmware and U-boot binaries we can extract them with 7z.

Now insert the micro SD card inside your computer, find the device with lsblk, and check if it has more than one partition. Replace /dev/sdX with your own device.

If it has no partition or more than one, you’ll need to change the partition table using tools like fdisk, or gparted. The instructions provided on Khadas website are basically the same as I wrote in the post “How to Create a Bootable Recovery SD Card for Amlogic TV Boxes“.

Mount the partition, for example by removing and re-inserting the micro SD card into your computer, and copy two files needed for update:

Eject the micro SD card:

Now connect your board with the cables would want to use (e.g. Ethernet, HDMI. etc…), and possibly connect a USB to TTL debug board to access the serial console in case of errors. I also connect a USB hub with my RF dongles for air mouse, and a USB keyboard.

Click to Enlarge

The board comes pre-loaded with Android 6.0.1 with Linux 3.14, so you can connect the power first to make sure the board is working properly. Note that you’ll need to provide your own USB power supply. I used a 5V power supply, and not a fast charger found in some phone and starting at 12V. Now we can insert the micro SD card we’ve just prepared into the board, and boot into Upgrade Mode by keeping pressing on the power button (closest to the 40-pin header), pressing a short time on the reset button (closest to the USB port), and releasing the power button two or three seconds later. At this point, you should get a firmware upgrade interface on the HDMI display with a green progress bar, and once completed you’ll get a “Successful Android” logo.

This is what it looks like in the serial console during the update:

So I pressed Control-C in the serial console (if you have not set it up just reboot the board), and it failed to boot with the multiple error messages:

I contacted SZWesion about the issue, and they told me the SD card method did not work despite being documented on their website, and I had to use Amlogic USB Burning Tool in Windows instead. So I fired up a Windows 7 virtual machine, and I had no problem (for once) flashing the “update.img” file extract from Vim_Ubuntu-server-16.04_V170211.7z to the board.

Click to Enlarge

This time it works and the board booted properly. Here’s the complete boot log for reference: