Why FreeRTOS?

Hello fellow contest friends,

I've been playing around with the RDK and I think it is VERY cool. They really put a lot of stuff in there. Great for a contest, just wish it had more GPIO, but I've got the Future proto board to help and I've wired on some 595 S to P chips to help out. Love those SMT pads on the proto board.

My entry is a small weather station. Everything is coming along with temp, wind speed and direction, humidity, and a couple more. I just hope I get it done in time for the deadline. It's really coming quick, but that's ok. I don't see that anyput has submitted their design yet so I guess we will see a lot come in right before the deadline. I still need to adjust some code to make thing more linear and I need to work on my entry video.

So, my actual question is... why are people using FreeRTOS?? They do have an RX port, but are not giving away a prize for the contest? I tried rowebots, micrium, segger, and cmx before I settled on rowebots just because it seems uncommon and new and that my chance to win may be better, but I don't get why anyone would use FreeRTOS when that would exclude from winning a prize with one of the RTOS vendors? FreeRTOS really is just a fancy scheduler too. Compared to the other RTOS guys that are offering prizes in the contest, the contest RTOSes are much better featured. Just curious why. I don't mean to flame those who like FreeRTOS.

-Bill.

  • To me, the key advantage to FreeRTOS is the license.  As an open source offering, you have much more freedom than you do with a proprietary RTOS.  You have all the sources, you can *change* all the sources, you can share the sources, etc, and no licensing fees or NDAs are required.  The FreeRTOS "license" also won't expire after the contest is over.

    Given how many issues people have had relating to only having pre-built libraries for the other RTOSs, you can see why this is important to me :-)

  • BTW do you have the wifi card working with FreeRTOS? My code compiles but it stucks at "Scanning APs.." I am working under Linux

  • Sorry, I don't even have a wifi card.

  • I look at it this way: the proprietary tools vendors are out there to make a buck. I'm not.

    I'm just a hobbiest. I enjoy hacking and seeing good hacks. I enjoy being able to share.

    Their aim is to lock me in to their platform so I have to keep coming back to them. They like the bait and switch (limited time demos) and arbitrary code size restrictions.

    They don't even support my development platform of choice most of the time.

    They raise the barrier to entry for anyone else contributing to or reusing my designs.

    Why allow myself to be trapped?

    Why spend the time designing the hardware, which I fully understand, then the application code which I fully understand only to have a big opaque blob in the middle which I don't?

    I want to be able to look into and debug and fix the RTOS if I need to. I want to be able to share those fixes. I want my contributions to be useful to those that follow.

    FreeRTOS was really easy for me to bring up.

    Looking at the code and API I was sold. Compare:

        xTaskCreate( limitSwitchCheckTask,
               "LimitSwitch",
               configMINIMAL_STACK_SIZE, NULL,
               LIMIT_SWITCH_TASK_PRIO, ( xTaskHandle  * ) NULL );


    to:

       OSTaskCreate((OS_TCB     *)&AppTaskStartTCB,                /* Create the start task                                */
                     (CPU_CHAR   *)"App Task Start",
                     (OS_TASK_PTR ) AppTaskStart,
                     (void       *) 0,
                     (OS_PRIO     ) APP_TASK_START_PRIO,
                     (CPU_STK    *)&AppTaskStartStk[0],
                     (CPU_STK_SIZE) APP_TASK_START_STK_SIZE / 10u,
                     (CPU_STK_SIZE) APP_TASK_START_STK_SIZE,
                     (OS_MSG_QTY  ) 0u,
                     (OS_TICK     ) 0u,
                     (void       *) 0,
                     (OS_OPT      )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
                     (OS_ERR     *)&err);

        OSStart(&err);                                              /* Start multitasking (i.e. give control to uC/OS-III). */

  • Zizzle, I couldn't have said it any better. Those were the exact reasons I chose FreeRTOS as well.

    Besides, aren't the prizes for using the other RTOSes, just a license to use the RTOS? Personally, I'd be much happier winning a Redpine RS9110-N-11-03 Eval kit and a Total Phase I2C dev kit. Oh, and some of Renesas' and Micron's cash would be nice too. $-)

    Greg Whitmore

    gwdeveloper.net

    new project pages: gwdevprojects.blogspot.com

  • Besides, aren't the prizes for using the other RTOSes, just a license to use the RTOS?

    Well, I think the only thing I could offer would be a copy of my new book - but if you have won a competition using FreeRTOS then I don't think the book could teach you any more

    http://www.freertos.org/Documentation/FreeRTOS-documentation-and-book.html#FreeRTOS-Book-RX600

    [or paperback]

    Regards.

  • Wow, any chance I could exchange my Cortex-M3 version of your book for the RX600 version? I recently bought it so I could decipher and use it on the RX board as well. A version dedicated to the RX would be much more convenient.

    Greg Whitmore

    gwdeveloper.net

    gwdevprojects.blogspot.com

  • gwdeveloper wrote:

    Wow, any chance I could exchange my Cortex-M3 version of your book for the RX600 version? I recently bought it so I could decipher and use it on the RX board as well. A version dedicated to the RX would be much more convenient.

    Contact me using the address listed here: http://www.freertos.org/RTOS-contact-and-support.html

    Regards.

  • Good points all. Thanks for the input.

    For me, I think I'll stick with the commercial RTOS for the contest. It'd be nice to win something commercial and have kicking around if I needed it, but I do totally get the open source aspect of the FreeRTOS. Of course, there's always eBay if I won it and decided not to use it.

    -Bill