I'm trying to create a BSP for a NIOS V/m running on a Cyclone 10 LP Eval Kit.  
The NIOS V/m is a rv32ia/ilp32 architecture so I had to patch the RSB to add 
that multilib.  I have a Hello World app compiled but I get exceptions when 
having the tick timer interrupt enabled.  So, I disabled the tick timer 
interrupt and was able to get to the Init() task.  When execution the hello 
world printf, I get another exception related to puts_r in newlib.  The 
exception is occurring when trying to load the address of _tls_stdout.  I 
traced this back to THREAD_LOCAL_STORAGE being enabled in newlib for the RISC 
V.  Does the BSP have to do anything to setup thread local storage or does this 
happen automatically when triggered?  The exception occurs after it returns 
from __sinit which I guess is initializes the thread local storage.

Kevin Kirspel (he/his), R&D Manager Sr II, BS EE
IDEXX | One IDEXX Drive Westbrook, Maine 04092 | m. +1 770-688-1642 | idexx.com

We help pets lead fuller lives + + + + + + +

[Shape  Description automatically generated with medium confidence]

devel mailing list

Reply via email to