Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
21 years ago

Best choice for a Nios II OS?

Hello all -

I'm currently in the research phase of a project where we are trying to deterimine what, if any, Operating System would be best suited for our application when used with the Nios II.

At this time we don't have any strict real-time requirements but we will need to provide access to a compact flash that will formatted as a MS-DOS file system with 8.3 name restrictions.

What operating system would be the best choice when considering the memory footprint, cost, and technical support?

Any comments/opinions would be appreciated.

Thanks.

2 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi bjskill,

    If you ask 3 people, you'll probably get 3 different answers.

    And there are 3 operating systems that come immediately to mind:

    uClinux, eCos, and MicroC/OS-II

    > What operating system would be the best choice when considering the

    > memory footprint, cost, and technical support?

    Only you can determine this -- these are all relative to what you need

    and what you're willing to spend. For example, if I need a full-featured

    samba server I'll use linux -- the memory footprint becomes irrelevant.

    If I have serveral eCos experts on staff, access to the mailing list might

    be all the support I need ... and so forth.

    Take a good look at the docs considering your requirements ... then

    try out the different operating systems, look through the code, etc.

    If you have some _specific_ requirements, I'm sure you can get some

    excellent feedback from this forum.

    Good luck & Happy New Year,

    --Scott
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi Scott,

    Thank you for your feedback. Let me see if I can add some details about our requirements that will, hopefully, generate some additional feedback on this forum and help guide me towards the best Operating System (OS) selection for our application. I realize that the best choice may be not to use an OS at all and just let the application free run from main().

    The project is based on a previous generation of product that uses the Stratix FPGA's and is in the early preliminary design stage. Here is a summary of our basic requirements for the embedded controller as I understand them now:

    Required capabilities:

    - Access to all Stratix-based registers that were previously accessed via an external controller

    - User Interface (UI) comms. to a host PC via an external USB 2.0 device controller

    - Compact Flash Interface (CFI) for removable storage

    - Control of at least one I2C, SPI, and SMBus device

    - Transfer data stored in SDRAM, via the external USB 2.0 controller, to the host PC >= 10 MBytes/sec.

    Wish list:

    - 10/100/1000 Base-T Ethernet support for alternate UI comms.

    - Flash File support for CFI

    - Calculate up to 256, 14-bit digital filter coefficients using single-precision floating point multiplies

    - Perform 2048-point FFT's every 200 milliseconds.

    - Provide a USB 2.0 hosting capabilty that allows data to be directly transferred to an USB 2.0-enabled HDD with the need for a host PC.

    In the past I have developed several "simple" embedded systems that had several real-time requirements associated with them. Meeting these real-time requirements usually meant developing several routines in assembly in order to maximize each clock cycle of the processor. Currently I'm personally not comfortable enough with any real-time OS (e.g. MicroC/OS-II) to feel that I can develop, based on the real-time requirements, my timing budgets and write the associated routines knowing how long that routine will take to execute (within some reasonable amount of accuracy). I can see how my comfort level would change once I start to use an OS and realize, over time, that the processing times are very deterministic. I'm sure there are lot of users out there who can share their experiences (good and bad) when using OS's that claim to produce determinstic processing results.

    Again, thanks for your comments. I look forward to more feedback.

    Regards,

    Brad.