I've done a fair bit of simple C coding on Microcontrollers (mostly Atmel) and a bunch of VHDL coding, but not much SOC, so I'm a bit new to NIOS. I've implemented a simple UART with a FIFO that is working, but I'd like to turn it into an Ethernet to UART converter using the TSE_MAC module with SGDMA's. My question is, what is the right approach for the OS? Can I stick with a simple HAL or is there a major benefit in using MicroC/OSII? I see a lot of sample code on MicroC (simple socket server), but I'm pretty lost when it comes to coding for that OS. The HAL seems manageable for me (reading & writing registers is pretty straightforward), but I'm not sure if it's wise to implement this system in this way. Eventually I would like to take this design and add additional interfaces to it, so ethernet could control discrete I/O's and other serial interfaces. Which would be better as the system grows? Thanks for the insight.