Forum Discussion
14 Replies
- Altera_Forum
Honored Contributor
I believe Altera plans to start on the uC/OS-III port this year. Aside from that, one of our software engineer's in porting it right now and is working closely with Micrium and Altera to do so. The uC/OS-III port itself is fairly simple. What we're spending most of the time on is porting individual Altera components to be uC/OS-III compatible. I can't give you a timeline but we may be able to provide the port to you when he's finished. According to Micrium, we are the first ones to port it.
Jake - Altera_Forum
Honored Contributor
Thanks, I will wait for this.
- Altera_Forum
Honored Contributor
--- Quote Start --- I believe Altera plans to start on the uC/OS-III port this year. Aside from that, one of our software engineer's in porting it right now and is working closely with Micrium and Altera to do so. The uC/OS-III port itself is fairly simple. What we're spending most of the time on is porting individual Altera components to be uC/OS-III compatible. I can't give you a timeline but we may be able to provide the port to you when he's finished. According to Micrium, we are the first ones to port it. Jake --- Quote End --- Hello Jake, I'm also considering using uC/OS-III with NIOS II. Could you share with us the basic information what is required when porting Altera components to uC/OS-III? According to Micrium they "have the uC/OS-III port available for the Nios-II" and "All of our OS-II ports work for OS-III, there is just a small amount of massaging to do". So the porting the basic NIOS II CPU support seems to be easy, but what kind of other porting issues and problems are expected with SOPC and NIOS II EDS ... Best Regards, Jari - Altera_Forum
Honored Contributor
Basically, 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 - Altera_Forum
Honored Contributor
--- Quote Start --- Basically, 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. --- Quote End --- Can you share this component? - Altera_Forum
Honored Contributor
Thanks, Jake, for your quick answer!
I was also afraid that the Micrium's statement about the NIOS II port status was a sales pitch. Thanks for confirming it! This would give some perspective to their other "sales pitch" talk, too ... I've only done some quick evaluation with uC/OS-II, so I haven't looked that deep into the components to see what Altera's tools are actually requiring. Your explanation gave me some valuable information what to expect. Too bad that also the InterNiche stack requires some patching. I was also planning to use it. It looks like that using uC/OS-III at this moment requires quite a lot of hacking, which needs to be scheduled in the project. Although I would very much like to use uC/OS-III's round-robin scheduling feature from the beginning in the project, it might make more sense to first use uC/OS-II and wait until Altera/InterNiche/Micrium could put their act together and provide the official support for uC/OS-III ... But if you're able to share (even using private messages :-) any of the stuff you guys have done, I would appreciate it very much and would be willing to share my modifications with you, too. And hopefully many others in the Altera community feel the same way ... Best Regards, Jari - Altera_Forum
Honored Contributor
Is there any more info on when does Altera plan to release the uC/OS-III support.
Is it integrated in Qsys ? - Altera_Forum
Honored Contributor
Its a bit of topic but has anyone a link that shows what changed between II and III?
thank you karsten - Altera_Forum
Honored Contributor
There is a comparison table at the end of the document.
http://micrium.com/download/whitepaper_what_is_osiii.pdf - Altera_Forum
Honored Contributor
This was what i was looking for .
Thank you karsten