pulp-platform / snitch_cluster

An energy-efficient RISC-V floating-point compute cluster.
https://pulp-platform.github.io/snitch_cluster/
Apache License 2.0
50 stars 51 forks source link

sw: Runtime Fixes #166

Closed Xeratec closed 3 months ago

Xeratec commented 3 months ago

This PR introduces two fixes to the Snitch runtime that are required for Deeploy.

The first issue is related to the location of the snrt_l1_allocator() which is calculated via the cls() function. This function uses the _cls_ptr which is placed at the beginning of the .cbss section. However, if the .cbss section is empty, this location is invalid.

The second fix statically allocated the buffers for multicore compatible printf() function. Without this fix, the buffers overlap with the L3 allocator, causing printf() call to overwrite the allocation structure.

Fixed