I'm evaluating the development tools for the NIOS on a Max 10 device. I chose the altera_hal operating system on the BSP creation dialog, as I assumed that a Micrium OS would have some sort of licensing fee associated with it (does it?). The project that I have uses a UART, PIO (several), some timers, and other standard things. It all compiles and I'm now at the point where I need to start writing code.
I am initially disappointed in the driver support for things like parallel IO (PIO). I've used Altium tools and Xilinx tools in the past for soft processor development, and there usually are a couple of levels of abstraction before any code touches something like an IO line. For instance, in Xilinx, I believe there is a struct defining the memory location of the device (hardware wrapper?), then some code that points to the struct which then has functions like writes and reads to ports, setup calls which control input / output, etc. No macros. In the altera_hal, it seems that we just have macros... based on example code that I've looked at. Has there been any development on this, or am I missing something? I would think that every device that gets instantiated in Qsys / Platform Designer would have corresponding software drivers that get initiated in code, and have programmatic names associated with them instead of having to use raw memory addresses. Am I missing something? Are there actual software drivers for things like PIO, or is it just macros and memory addresses? Thanks in advance, Mike