- RV32E toolchain - 5 Updates
Tommy Murphy <tommy_...@hotmail.com>: Jan 13 12:01PM
Where did you get that toolchain from?
At 8.2.0 it seems very old.
And it also looks like a bare metal toolchain but is being passed Linux toolchain flags and seems to be looking for glibc rather than newlib which is odd.
I would start by looking for a more recent toolchain.
martin ribelotta <martinr...@gmail.com>: Jan 13 09:13AM -0300
Here: https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases
This bundles a multilib toolchain with rv32e support.
This is the result of execute riscv-none-elf-gcc -print-multi-lib:
rv32e/ilp32e;@march=rv32e@mabi=ilp32e
rv32ea/ilp32e;@march=rv32ea@mabi=ilp32e
rv32eac/ilp32e;@march=rv32eac@mabi=ilp32e
rv32ec/ilp32e;@march=rv32ec@mabi=ilp32e
rv32em/ilp32e;@march=rv32em@mabi=ilp32e
rv32ema/ilp32e;@march=rv32ema@mabi=ilp32e
rv32emac/ilp32e;@march=rv32emac@mabi=ilp32e
rv32emc/ilp32e;@march=rv32emc@mabi=ilp32e
rv32i/ilp32;@march=rv32i@mabi=ilp32
rv32ia/ilp32;@march=rv32ia@mabi=ilp32
rv32iac/ilp32;@march=rv32iac@mabi=ilp32
rv32iaf_zicsr/ilp32f;@march=rv32iaf_zicsr@mabi=ilp32f
rv32iafc_zicsr/ilp32f;@march=rv32iafc_zicsr@mabi=ilp32f
rv32iafd_zicsr/ilp32d;@march=rv32iafd_zicsr@mabi=ilp32d
rv32iafdc_zicsr/ilp32d;@march=rv32iafdc_zicsr@mabi=ilp32d
rv32ic/ilp32;@march=rv32ic@mabi=ilp32
rv32if_zicsr/ilp32f;@march=rv32if_zicsr@mabi=ilp32f
rv32ifc_zicsr/ilp32f;@march=rv32ifc_zicsr@mabi=ilp32f
rv32ifd_zicsr/ilp32d;@march=rv32ifd_zicsr@mabi=ilp32d
rv32ifdc_zicsr/ilp32d;@march=rv32ifdc_zicsr@mabi=ilp32d
rv32im/ilp32;@march=rv32im@mabi=ilp32
rv32ima/ilp32;@march=rv32ima@mabi=ilp32
rv32imaf_zicsr/ilp32f;@march=rv32imaf_zicsr@mabi=ilp32f
rv32imafc_zicsr/ilp32f;@march=rv32imafc_zicsr@mabi=ilp32f
rv32imafd_zicsr/ilp32d;@march=rv32imafd_zicsr@mabi=ilp32d
rv32imafdc_zicsr/ilp32d;@march=rv32imafdc_zicsr@mabi=ilp32d
rv32imc/ilp32;@march=rv32imc@mabi=ilp32
rv32imf_zicsr/ilp32f;@march=rv32imf_zicsr@mabi=ilp32f
rv32imfc_zicsr/ilp32f;@march=rv32imfc_zicsr@mabi=ilp32f
rv32imfd_zicsr/ilp32d;@march=rv32imfd_zicsr@mabi=ilp32d
rv32imfdc_zicsr/ilp32d;@march=rv32imfdc_zicsr@mabi=ilp32d
rv64i/lp64;@march=rv64i@mabi=lp64
rv64ia/lp64;@march=rv64ia@mabi=lp64
rv64iac/lp64;@march=rv64iac@mabi=lp64
rv64iaf_zicsr/lp64f;@march=rv64iaf_zicsr@mabi=lp64f
rv64iafc_zicsr/lp64f;@march=rv64iafc_zicsr@mabi=lp64f
rv64iafd_zicsr/lp64d;@march=rv64iafd_zicsr@mabi=lp64d
rv64iafdc_zicsr/lp64d;@march=rv64iafdc_zicsr@mabi=lp64d
rv64ic/lp64;@march=rv64ic@mabi=lp64
rv64if_zicsr/lp64f;@march=rv64if_zicsr@mabi=lp64f
rv64ifc_zicsr/lp64f;@march=rv64ifc_zicsr@mabi=lp64f
rv64ifd_zicsr/lp64d;@march=rv64ifd_zicsr@mabi=lp64d
rv64ifdc_zicsr/lp64d;@march=rv64ifdc_zicsr@mabi=lp64d
rv64im/lp64;@march=rv64im@mabi=lp64
rv64ima/lp64;@march=rv64ima@mabi=lp64
rv64imac/lp64;@march=rv64imac@mabi=lp64
rv64imaf_zicsr/lp64f;@march=rv64imaf_zicsr@mabi=lp64f
rv64imafc_zicsr/lp64f;@march=rv64imafc_zicsr@mabi=lp64f
rv64imafd_zicsr/lp64d;@march=rv64imafd_zicsr@mabi=lp64d
rv64imafdc_zicsr/lp64d;@march=rv64imafdc_zicsr@mabi=lp64d
rv64imc/lp64;@march=rv64imc@mabi=lp64
rv64imf_zicsr/lp64f;@march=rv64imf_zicsr@mabi=lp64f
rv64imfc_zicsr/lp64f;@march=rv64imfc_zicsr@mabi=lp64f
rv64imfd_zicsr/lp64d;@march=rv64imfd_zicsr@mabi=lp64d
rv64imfdc_zicsr/lp64d;@march=rv64imfdc_zicsr@mabi=lp64d
You can see the support of rv32emac and all of their variants (e, ec, emc,
etc). The @march, @mabi indicate the combination of -march=... and
-mabi=... in the command line that select the correct mode.
El vie, 13 ene 2023 a las 9:01, Tommy Murphy (<tommy_...@hotmail.com>)
escribió:
Tommy Murphy <tommy_...@hotmail.com>: Jan 13 12:33PM
That link is to a toolchain that's much more recent than the one in your screenshot?
________________________________
From: martin ribelotta <martinr...@gmail.com>
Sent: Friday, January 13, 2023 12:13:29 PM
To: Tommy Murphy <tommy_...@hotmail.com>
Cc: akhilesh Kotwaliwale <akhil...@gmail.com>; RISC-V ISA Dev <isa...@groups.riscv.org>
Subject: Re: [isa-dev] RV32E toolchain
Here: https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases
This bundles a multilib toolchain with rv32e support.
This is the result of execute riscv-none-elf-gcc -print-multi-lib:
rv32e/ilp32e;@march=rv32e@mabi=ilp32e
rv32ea/ilp32e;@march=rv32ea@mabi=ilp32e
rv32eac/ilp32e;@march=rv32eac@mabi=ilp32e
rv32ec/ilp32e;@march=rv32ec@mabi=ilp32e
rv32em/ilp32e;@march=rv32em@mabi=ilp32e
rv32ema/ilp32e;@march=rv32ema@mabi=ilp32e
rv32emac/ilp32e;@march=rv32emac@mabi=ilp32e
rv32emc/ilp32e;@march=rv32emc@mabi=ilp32e
rv32i/ilp32;@march=rv32i@mabi=ilp32
rv32ia/ilp32;@march=rv32ia@mabi=ilp32
rv32iac/ilp32;@march=rv32iac@mabi=ilp32
rv32iaf_zicsr/ilp32f;@march=rv32iaf_zicsr@mabi=ilp32f
rv32iafc_zicsr/ilp32f;@march=rv32iafc_zicsr@mabi=ilp32f
rv32iafd_zicsr/ilp32d;@march=rv32iafd_zicsr@mabi=ilp32d
rv32iafdc_zicsr/ilp32d;@march=rv32iafdc_zicsr@mabi=ilp32d
rv32ic/ilp32;@march=rv32ic@mabi=ilp32
rv32if_zicsr/ilp32f;@march=rv32if_zicsr@mabi=ilp32f
rv32ifc_zicsr/ilp32f;@march=rv32ifc_zicsr@mabi=ilp32f
rv32ifd_zicsr/ilp32d;@march=rv32ifd_zicsr@mabi=ilp32d
rv32ifdc_zicsr/ilp32d;@march=rv32ifdc_zicsr@mabi=ilp32d
rv32im/ilp32;@march=rv32im@mabi=ilp32
rv32ima/ilp32;@march=rv32ima@mabi=ilp32
rv32imaf_zicsr/ilp32f;@march=rv32imaf_zicsr@mabi=ilp32f
rv32imafc_zicsr/ilp32f;@march=rv32imafc_zicsr@mabi=ilp32f
rv32imafd_zicsr/ilp32d;@march=rv32imafd_zicsr@mabi=ilp32d
rv32imafdc_zicsr/ilp32d;@march=rv32imafdc_zicsr@mabi=ilp32d
rv32imc/ilp32;@march=rv32imc@mabi=ilp32
rv32imf_zicsr/ilp32f;@march=rv32imf_zicsr@mabi=ilp32f
rv32imfc_zicsr/ilp32f;@march=rv32imfc_zicsr@mabi=ilp32f
rv32imfd_zicsr/ilp32d;@march=rv32imfd_zicsr@mabi=ilp32d
rv32imfdc_zicsr/ilp32d;@march=rv32imfdc_zicsr@mabi=ilp32d
rv64i/lp64;@march=rv64i@mabi=lp64
rv64ia/lp64;@march=rv64ia@mabi=lp64
rv64iac/lp64;@march=rv64iac@mabi=lp64
rv64iaf_zicsr/lp64f;@march=rv64iaf_zicsr@mabi=lp64f
rv64iafc_zicsr/lp64f;@march=rv64iafc_zicsr@mabi=lp64f
rv64iafd_zicsr/lp64d;@march=rv64iafd_zicsr@mabi=lp64d
rv64iafdc_zicsr/lp64d;@march=rv64iafdc_zicsr@mabi=lp64d
rv64ic/lp64;@march=rv64ic@mabi=lp64
rv64if_zicsr/lp64f;@march=rv64if_zicsr@mabi=lp64f
rv64ifc_zicsr/lp64f;@march=rv64ifc_zicsr@mabi=lp64f
rv64ifd_zicsr/lp64d;@march=rv64ifd_zicsr@mabi=lp64d
rv64ifdc_zicsr/lp64d;@march=rv64ifdc_zicsr@mabi=lp64d
rv64im/lp64;@march=rv64im@mabi=lp64
rv64ima/lp64;@march=rv64ima@mabi=lp64
rv64imac/lp64;@march=rv64imac@mabi=lp64
rv64imaf_zicsr/lp64f;@march=rv64imaf_zicsr@mabi=lp64f
rv64imafc_zicsr/lp64f;@march=rv64imafc_zicsr@mabi=lp64f
rv64imafd_zicsr/lp64d;@march=rv64imafd_zicsr@mabi=lp64d
rv64imafdc_zicsr/lp64d;@march=rv64imafdc_zicsr@mabi=lp64d
rv64imc/lp64;@march=rv64imc@mabi=lp64
rv64imf_zicsr/lp64f;@march=rv64imf_zicsr@mabi=lp64f
rv64imfc_zicsr/lp64f;@march=rv64imfc_zicsr@mabi=lp64f
rv64imfd_zicsr/lp64d;@march=rv64imfd_zicsr@mabi=lp64d
rv64imfdc_zicsr/lp64d;@march=rv64imfdc_zicsr@mabi=lp64d
You can see the support of rv32emac and all of their variants (e, ec, emc, etc). The @march, @mabi indicate the combination of -march=... and -mabi=... in the command line that select the correct mode.
El vie, 13 ene 2023 a las 9:01, Tommy Murphy (<tommy_...@hotmail.com<mailto:tommy_...@hotmail.com>>) escribió:
Where did you get that toolchain from?
At 8.2.0 it seems very old.
And it also looks like a bare metal toolchain but is being passed Linux toolchain flags and seems to be looking for glibc rather than newlib which is odd.
I would start by looking for a more recent toolchain.
--
You received this message because you are subscribed to the Google Groups "RISC-V ISA Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isa-dev+u...@groups.riscv.org<mailto:isa-dev+u...@groups.riscv.org>.
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/isa-dev/LO0P265MB6866C115A8D6B0362C2F686FF9C29%40LO0P265MB6866.GBRP265.PROD.OUTLOOK.COM<https://groups.google.com/a/groups.riscv.org/d/msgid/isa-dev/LO0P265MB6866C115A8D6B0362C2F686FF9C29%40LO0P265MB6866.GBRP265.PROD.OUTLOOK.COM?utm_medium=email&utm_source=footer>.
martin ribelotta <martinr...@gmail.com>: Jan 13 10:59AM -0300
Yes, that's it. The last version is gcc 12.2.0 but you have 11.x, 10.x and
8.x series
El vie, 13 ene 2023 a las 9:33, Tommy Murphy (<tommy_...@hotmail.com>)
escribió:
Tommy Murphy <tommy_...@hotmail.com>: Jan 13 02:57PM
@akhilesh Kotwaliwale - can you post (attach) a full build log to show what exactly is going on please?
Also - can you post logs rather than screenshots as they are very difficult to read on some devices and for some people.
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to isa-dev+u...@groups.riscv.org.
I think that xpack, a popular distribution of RISC-V tools on Linux, is still shipping GCC 8.2, which is known to be sub-awesome for the faster moving aspects of RISC-V, like RV32E. I know I've seen 8.2 coming from someone in the last week. Maybe Buffalo Labs?With WCH shipping their CH32V003 parts claiming to be RV32E (which, last I looked, hadn't actually been ratified) parts as low as $0.10.in qty, I suspect we'll see an upswing in RV32E interest.Like Vector 0.7.1, vendors ship chips before the specs are final and then outsource the tooling, ABI, and compatibility issues to others. :-\They're already shipping a modified GCC and refusing to provide source. They provide source for OpenOCD but it's a giant un-upstreamable mess. Being an RBI member doesn't always mean they're good community members.
To unsubscribe from this group and stop receiving emails from it, send an email to isa-dev+u...@groups.riscv.org.
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/isa-dev/CAGJ6%2BwrQz0OsQ4%2BvPL%2BTgKjoj7TcmxDWWe0TGb5sg2%3DzC3HaJw%40mail.gmail.com.
This gcc version have a patch to incorporate "WCH-Interrupt-fast" attribute required to vendor firmware
I asked the MounRiver people about the source code of the gcc distributed with MounRiver Studio (old xpack gcc 8.x version with some patches) and the response was that they are working with gcc guys to integrate in the mainstream (I no have reason to doubt in it but the lack of some source code or at least minimal diff file to accomplish with GPL licence is very irregular)
Additionally, interrupt handling attribute is not the only modification about WCH gcc (provided by MounRiver). WCH cores add some proprietary X extensions to the C extension that are not documented (WCH said that their are working on it)
> Mounriver is the tool provider for WCH, the aforementioned RV32E maker and GPL violator.
They're not the only RVI member in breach of GPL, unfortunately... :-|
Hey, Martin.This gcc version have a patch to incorporate "WCH-Interrupt-fast" attribute required to vendor firmware
Good stuff. Thanx. I plan to ignore their fast interrupt stuff (I value a single GCC for ALL my RISC-V build - people that care about saving N clock cycles on an interrupt can chase that) but that's good to see.
I asked the MounRiver people about the source code of the gcc distributed with MounRiver Studio (old xpack gcc 8.x version with some patches) and the response was that they are working with gcc guys to integrate in the mainstream (I no have reason to doubt in it but the lack of some source code or at least minimal diff file to accomplish with GPL licence is very irregular)
This specific patch doesn't look contentious to the relatively untrained eye. I scanned the gcc-patches and gcc archives back to Jan 2021 and didn't see this patch actually submitted.
I have looked at the openocd diffs. Without being unkind, there is no way a sober maintainer would accept their support for their proprietary JTAG replacement, WCH-Link. That code is unpleasant and rife with logic errors and misunderstandings about how C works.
On Sat, Jan 14, 2023 at 4:49 PM Tommy Murphy <tommy_...@hotmail.com> wrote:> Mounriver is the tool provider for WCH, the aforementioned RV32E maker and GPL violator.
They're not the only RVI member in breach of GPL, unfortunately... :-|
Sadly, I think most of us can name a few.
My point wasn't to name and shame WCH alone on this. My point was that I'd like to see membership in RVI mean that you aren't also actively backstabbing RVI at the same time.
It may be beyond the scope of this list, but I'm pretty sure that people on this list are down the virtual halls from the right people to help make RVI membership be a badge of honor for good and ethical participation.
Well, if not good and ethical, at least NOT actively violating licenses.
RJL.
--
You received this message because you are subscribed to the Google Groups "RISC-V ISA Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isa-dev+u...@groups.riscv.org.
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/isa-dev/CAGJ6%2BwpDefBKQtEhgjZON-hosXUfJn_TSPdUZmmE6YvhepTUUQ%40mail.gmail.com.
Any guys know a RISC-V MCU company that plays nice with toolchain/ecosystem?- Microchip?- Boufalo? I see the toolchain and SDK and (apparently) is a good player in this scenario...- Espressif? (Maybe this is the most near-to-ideal?)- unknown?
May be interesting to create a list of current offers in MCU (the most active field for RV32/RV64 arch at now),
but officially maintained maybe? Some time ago, the RISC-V site maintained a list like it but was fastly outdated..
Thanks for the great summary of currently available volume RISC-V parts Robert.
Would it be worth capturing that info somewhere like this?