Hi all, I’m working on writing firmware for our Caravel chip. My code utilizes a Queue for controlling data, and I get the Queue implementation (C code) from: https://www.geeksforgeeks.org/introduction-and-array-implementation-of-queue/
But when I run 'make verify-<name>-rtl' using makefile of caravel, it appears to have trouble understanding 'malloc' at 'createQueue()'. I’m sure that I’ve added <stdio.h> and <stdlib.h> in my code. There are 2 errors that related to the RISC-V not recognizing '__umodsi3' as well, and I'm unsure about its meaning. Any assistance would be greatly appreciated. Thanks! :(
m
Maximo Balestrini
01/10/2024, 2:11 PM
There's not standard library implementation included on the make files, so there's no malloc, printf, etc (make files compile with -nostdlib).
Don't know how trivial it would be to try to include one.
I think there's also no multiplication, division or mod (caravel's riscv doesn't have the multiplication instructions), that's why you get the __umodsi3
Linen is a search-engine friendly community platform. We offer integrations with existing Slack/Discord communities and make those conversations Google-searchable.