illustris / freertos-riscv Goto Github PK
View Code? Open in Web Editor NEWA port of FreeRTOS for the RISC-V ISA
A port of FreeRTOS for the RISC-V ISA
Hi Harikrishnan,
Can you please add a readme file that can describe what changes you made in the port.
looking forward to use FreeRTOS on spike simulator.
Hello,
I'm trying to use FreeRTOS for a multi-core platform. So I began with Spike simulation.
When I run the app using the new version of spike it succeeds. But if I run it with -p2 dual-core I get the (tohost = 6) error again !!
Does running FreeRTOS with multi-core need any specific configuration or code adjustment?
Best regards,
Noureddine
Hello,
I'm trying to compile FreeRTOS but unsuccessfully. I get an error:
../Source/portable/GCC/RISCV/port.c:225:31: error 'CONFIG_STRING_ADDR' undeclared (first use in this function)
uint32_t addr = (uint32_t)CONFIG_STRING_ADDR;
Maybe I'm doing something wrong? I just ran make and that's it.
hi, illustris,
Great work!
I compiled and installed the newest riscv-tools.
I can compile FreeRTOS-RISCV (32bit & 64bit) correctly.
But I can not run riscv-spike.elf in spike, it looks can load an run, but meet error.
$ riscv32-spike riscv-spike.elf
riscv32-spike: ../fesvr/device.cc:44: void device_t::handle_identify(command_t): Assertion `addr % IDENTITY_SIZE == 0' failed.
riscv64-spike riscv64-spike.elf
: q
no output.
Can you give me any advice?
Thank you!
Upstream FreeRTOS now supports RISC-V and contains a couple of demos as well. Hence I think repository should be archived and point users to for example https://github.com/coldnew/FreeRTOS-mirror
The binary does not build without modification because this string is commented out. The build finishes properly if the string is uncommented, but this line ultimately causes a run-time access fault.
The system will read memory from CONFIG_STRING_ADDR+0x0c
and then attempt to dereference the result. When I ran it, this resulted in an attempt to dereference address 0x182b283
, which causes a run-time fault. It looks as if this code was introduced with abc678b.
What is the purpose of the configuration string and what should it be when running in spike?
I need to port freeRTOS to my RISC-V processor(32 bit architecture with ITLB and DTLB).Can you give procedures,how to convert your source code to my processor?
Hello,
I'm trying to run FreeRTOS using Spike (lowRISC) but I get this problem:
On the right: The demo built with a (recent compiler from Rocket-Chip repo) and tested with (recent) spike
On the left : The demo built with a lowRISC toolchain and tested with its 'old' spike --> got *** FAILED *** (tohost = 6)
Another case if i build the app with recent compiler and run it with old spike i get (tohost = 2)
I guess this is due to ISA spec version incompatibility? How can I resolve this and run FreeRTOS under the lowRISC spike version?
Thank you very much for your efforts.
Thanks this amazing port to spike.
But simple demo running just two tasks with printf and delay will not schedule correctly due to timer IRQ not firing as it should.
Context_Restore force mstatus to 0x1800, mret will clear MIE.
Temp fix is to remove csrs in ContextRestore, and only set mstatus to 1880 in Yield, right before ContextRestore. Not sure if this will have some side-effects.
Hi,
I am looking for UART driver address location and related information. I do find options to configure UART at different location for luminarymicro. Is there something similar there for RISCV port ?
Suppose I want to configure at adrress 0x11200. how to do it ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.