Missing LED mappings in metal.h


It seems current version of metal.h for the hifive 1 rev B board is missing LED definition?

In metal.h:

#define __METAL_DT_MAX_LEDS 0

asm (".weak __metal_led_table");
struct __metal_driver_sifive_gpio_led *__metal_led_table[] = {
					NULL };

which leads calls to metal_led_get_rgb to return NULL

It seems this is the case for all the board types with the current freedom-sdk. Is there any way to find the LED table mappings? Any docs for this?

(Bruce Hoult) #2

This is implemented in the 19.05 branch, which will be released soon.

(Thomas Hornschuh) #3

I actually run in the same problem.
I just checked out the development-19.05 branch, so no need to wait for release :slight_smile:
Dont forget to run a submodule afterwards. So the complete command is:

git fetch
git checkout development-19.05
git submodule update --init --recursive

Some other remark: Different from the Getting started guide and the older version of the HiFive board the welcome program does not emmit the “Are the LEDs changing” message anymore. It just emmits the logo and “Welcome to SifFive” and then the LED is flashing in nice colors.

BTW: The SDK examples can only be compiled with the SiFive version of RISC-V gcc, because of CLIC csr registers. In addtion also gdb must be from SiFive build


Yup the dev branch works fine. Thanks!


Is there a release date? I tried the Dhrystone with this branch but result is unchanged.