Forum Discussion
Altera_Forum
Honored Contributor
16 years agoBasically, our software engineer has got uC/OS-III ported for NIOS II. He's made an OS component out of it so it shows up in the BSP editor as an option for the OS type along with "HAL" and uC/OS-II. That part wasn't so bad. It basically entailed:
1 - The actual platform-specific code (which was basically identical to uC/OS-II) 2 - Creating an OS component for SoPC builder using a "_sw.tcl" script. 3 - Adding the new component to the "components.ipx" file so it showed up. Now what he's spent the vast majority of his time doing is porting all of the Altera components over to support uC/OS-III. This involves: 1 - Creating a UCOSIII folder for some components with any specific code. Altera has got some code running in a java app somewhere behind the scenes that is forcing the folder names containing the source code for a component to match the name of the OS it supports (unless it's in the HAL folder in which case it's fine). So if you've got a software component or driver that has a UCOSII folder in it with source code. Chances are that has to be copied into a new folder named UCOSIII. 2 - You have to specify for each component in the "components.ipx" file that it supports UC/OS-III. I know the "_sw.tcl" files allow you to specify what OS it supports but apparently that gets ignored completely. It has to be done in the ".ipx" file. 3 - Most of his time has been spent porting the InterNiche TCP/IP stack over. There are some differences between uC/OS-II and uC/OS-III that require rewriting some of the InterNiche code. Basically dealing with the way they handle semaphores. That's the condensed version. Micrium's comment that the port is already complete is just a sales pitch. They were willing to do it for us if we wanted to pay them the NRE. Jake