Make verify firmware code but Riscv problems
# caravel
d
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
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