SiFive RISC-V processor

Community Round-Up: RISC-V in GCC, Right to Repair, Sub-Threshold MCUs, Debugging, 32-Bit Upgrades, FPGA Follies, and Microelectrical Repair

Technology journalist Gareth Halfacree is running the AB Open Community Round-Up series, offering a fortnightly glimpse at what’s happening in and around open source hardware and software, wireless and related topics.

The open RISC-V instruction set architecture (ISA) has taken a major step towards the mainstream with the news that the GCC Steering Committee has accepted a port with a view to including it in the release of GCC 7.

The GNU Compiler Collection (GCC) is a major part of the GNU toolchain and the de facto standard for most Unix-like operating systems. Earlier this month it was announced that a 32/64-bit RISC-V port had been completed and submitted for inclusion in upstream GCC, but that additional work on documentation and testing was required before it would be accepted.

That work has now been completed in just two weeks, with David Edelsohn announcing that the RISC-V GCC port has now been accepted for inclusion in the project, with Palmer Dabbelt and Andrew Waterman appointed as co-maintainers. It is hoped that the upcoming GCC 7 release will include native RISC-V support as a result, though the timing is tight and the port may get pushed back to a future release if global review can’t be finished in time.

In other RISC-V news, the timing bug we unearthed in our review of the RISC-V powered HiFive1 microcontroller board appears to be a thing of the past, thanks to quick work by SiFive.

In a pull request to the SiFive GitHub respository, Megan Wachs has implemented a new set of functions for timings in milli- and microseconds which is considerably more efficient than the original release. Additionally, the patches include a fix for a rollover issue in the mcycle variable which was responsible for the major ‘shortcut’ spikes we saw during our testing.

The revised Board Support Package (BSP) for the Arduino IDE, now at version 1.0.2, will be released publicly in the coming days. SiFive has also pledged to unlock even greater performance from the HiFive1 through a new 320MHz clock option, which is expected to be included alongside the current 16MHz and 256MHz options in a future BSP release.

Autodesk has angered users of the Eagle PCB design package by announcing a shift to a subscription model which requires users to pay $15 a month for two-layer boards up to 160cm² in footprint or $65 a month for 16-layer boards with no size limit.

The move away from buy-it-and-it’s-yours to an ongoing subscription model has not gone down well with users, despite Autodesk positioning it as “good news” it is “excited to announce.” Comments on the EEVblog Forum range from “won’t work” through to “a mechanism to get more of my money without adding value.”

By far the biggest complaint is new restrictions in the licence: Eagle Standard has gone from supporting six signal layers to just two – down from four in the company’s original version of the announcement – with anyone requiring more needing to jump up to Eagle Professional. Coupled with ongoing costs even if your design work is complete – in case you need to rapidly make a tweak to the design at some point in the future – and a licensing requirement for the design PC to be connected to the internet at all times, few have agreed with Autodesk’s argument that the lower up-front costs represent increased value for money and a lower barrier to entry. Eagle Free, meanwhile, has no ongoing cost, but is limited to two schematic sheets, two signal layers, and an 80cm² board footprint.

New Electronics has published an interesting piece on ‘sub-threshold’ processors this week, looking at new microcontrollers and microprocessors from Ambiq and Minima which claim to offer massive energy savings over traditional designs.

Sub-threshold processors, the companies claim, are specifically designed to operate at the very bottom edge of their operating voltage threshold: where a normal MCU might run at 1.8V, Ambiq’s Apollo chip runs at 0.5V. The key comes in the power draw not scaling linearly with voltage: running its chips at 0.5V results in a 13-fold reduction in dynamic power consumption, the company claims, which increases to 36-fold if lowered to 0.3V. Minima has also confirmed it is investigating the possibility of launching sub-threshold RISC-V products.

Five US states have introduced bills designed to give residents a “right to repair,” legitimising independent repair companies and giving consumers access to parts, diagnostic manuals, and even schematics as a legal requirement.

Based on the 2012 Motor Vehicle Owners’ Right to Repair Act, each bill, covering the states of Kansas, Massachusetts, Minnesota, Nebraska, and New York, looks to end the monopoly many companies have on service and repair of their proprietary goods. Should the bills become Acts, companies would be required to provide spare parts and technical information to third parties – opening up platforms which have traditionally been extremely closed.

Eric Styger has posted a valuable guide to debugging binaries using Eclipse and the GNU Debugger (GDB) when source code is not available.

Eric’s guide walks through the process of debugging multiple binaries, as in the cases where you might be working with a bootloader or various libraries, through pulling debug information directly from the compiled binaries – specifically, DWARF data which is typically included in Executable and Linkable Format (ELF) and selected other format binaries – using GDB, then loading that information into Eclipse.

Embedded.com has another handy guide for anyone working with 8-bit and 16-bit microcontrollers, explaining how – and why – to upgrade to a 32-bit MCU.

While some of the conclusions drawn by authors Anbarasu Samiappan and Jaya Kathuria are relatively obvious – such as 32-bit microcontrollers offering better compute performance and access to greater address spaces than their 8-bit and 16-bit counterparts – others may seem counter-intuitive: a more powerful 32-bit MCU drawing less power overall than an 8-bit version, for example, by dint of completing its tasks and entering a sleep mode more quickly.

For anyone working with field-programmable gate arrays (FPGAs,) Glen Chenier’s FPGA Follies article on the EDN Network is definitely worth a look for the tale of just what can happen when you switch out an end-of-life part for a supposedly compatible replacement.

“Several of our circuit card products used an FPGA that had recently been obsoleted by the manufacturer. Fortunately, they had a replacement FPGA with the same pinout, the major difference being that the silicon was smaller and faster,” Glen writes in the introduction to his piece. “And there was a software tool to migrate the existing designs to the new device, allowing us to simply program and pop in the new part. Unfortunately, this simple migration did not go quite as planned.”

Finally, anyone who feels confident in their mastery of the art of circuit repair should probably resist clicking on this video link from G-Lon where an Apple A8 system-on-chip has its surface milled away and damaged microelectrical connections repaired by hand.

Brought to our attention by Andrew ‘bunnie’ Huang, the video shows a G-Lon technician removing the encapsulation of a damaged Apple A8 SoC in order to access I²C traces broken between the CPU and EEPROM. These traces are then repaired using ultra-thin wires before the chip is covered in UV-curable solder mask and the smartphone in which it sits booted up to prove the repair’s success – breathtaking stuff to watch, especially at the accelerated rate of the video.




Leave a Reply

Your email address will not be published. Required fields are marked *