1 2 Previous Next 20 Replies Latest reply on Jun 5, 2018 1:09 PM by NiMc_1688136

    Amazon FreeRTOS - Can WICED use it?

      Can the WICED board can use 'Amazon FreeRTOS' in place of 'FreeRTOS'?

        • 1. Re: Amazon FreeRTOS - Can WICED use it?
          NiMc_1688136

          The actual Amazon FreeRTOS version is just the v10 kernel, which is pretty much drop in replaceable. You might want to compare the FreeRTOS build option header(s) to make sure they are the same.

          Also there are some minor modifications done in v9 where the WICED developers added support for proper debugging. Check tasks.c and find the comment starting with WICED. These changes can be copied into v10.

           

          I added a new RTOS folder, WICED/RTOS/FreeRTOS/ver10.0.1 and then modified the FreeRTOS.mk file to change the version variable to 10.0.1.

           

          #VERSION := 9.0.0

          VERSION := 10.0.1

           

          For rest of the files in the Amazon FreeRTOS release you will need to port it. To ease this process, for the portable files i used the template functions as wrappers to access the underlying WICED SDK.

          2 of 3 people found this helpful
          • 3. Re: Amazon FreeRTOS - Can WICED use it?
            MichaelF_56

            Thanks for the detailed response NiMc_1688136

            • 4. Re: Amazon FreeRTOS - Can WICED use it?
              AxLi_1746341

              nickmckendree_1688136 wrote:

               

              I added a new RTOS folder, WICED/RTOS/FreeRTOS/ver10.0.1 and then modified the FreeRTOS.mk file to change the version variable to 10.0.1.

              Do you hit any issue with v9.0.0?

              What is the benefit of upgrading to 10.0.1?

              • 5. Re: Amazon FreeRTOS - Can WICED use it?
                NiMc_1688136

                No direct issues.

                 

                I too had a request to use Amazon FreeRTOS code base which requires v10 support.

                • 6. Re: Amazon FreeRTOS - Can WICED use it?
                  AxLi_1746341

                  There is a race condition bug in vTaskSetTimeOutState() in the FreeRTOS-9.0.0 used by current wiced sdk.

                  Maybe cypress should upgrade the FreeRTOS version?

                  • 7. Re: Amazon FreeRTOS - Can WICED use it?

                    I have a follow up to this.

                     

                    Feel free to tell me I'm real stupid. I'm okay with that.

                     

                    The project requirement to have the IoTivity-Constrained library running on a WICED board.

                    https://github.com/iotivity/iotivity-constrained

                     

                    So, now I need to make a port. I have to learn how to do that.

                     

                    There's a current effort to port IoTivity-Constrained to Amazon FreeRTOS.

                     

                    I'm thinking: If I can use Amazon FreeRTOS on the WICED board & the IoTivity-Constrained port runs on Amazon FreeRTOS, then I'm one step closer to my goal.

                     

                    Does that sound reasonable?

                    • 8. Re: Amazon FreeRTOS - Can WICED use it?

                      How do you write a 'Make Target' for the Makefiles in /43xxx_Wi-Fi/WICED/RTOS/FreeRTOS?

                       

                      There are three different Makefiles in the subdirectories of /43xxx_Wi-Fi/WICED/RTOS/FreeRTOS; "WICED.mk", "WWD.mk", and "FreeRTOS.mk".

                       

                      All three of these Makefiles together only contain a grand total of four comments.

                      I do not understand how to use these and there are no tutorial videos (that I am aware of) detailing the process.

                       

                      The only WICED WiFi experience I have is with the ww101 video series, whose Makefiles are entirely in the /43xxx_Wi-Fi/apps.

                       

                      Would you be able to provide more explanation on how to build the C files in the /43xxx_Wi-Fi/WICED/RTOS/FreeRTOS?

                      • 9. Re: Amazon FreeRTOS - Can WICED use it?
                        NiMc_1688136

                        Quickprojects.testproject-QuicksilverEval-FreeRTOS-LwIP-debug download

                        • 10. Re: Amazon FreeRTOS - Can WICED use it?

                          I created a 'Make Target' with that exact line and this was produced:

                           

                          14:03:26 **** Build of configuration Default for project 43xxx_Wi-Fi ****

                          /home/jeremyhiggins/Documents/WICED-Studio-6.1/43xxx_Wi-Fi/make Quickprojects.testproject-QuicksilverEval-FreeRTOS-LwIP-debug download

                          MAKEFILE MAKECMDGOALS=Quickprojects.testproject-QuicksilverEval-FreeRTOS-LwIP-debug download OTA2_SUPPORT is disabled

                          Making config file for first time

                          ./tools/makefiles/wiced_config.mk:256: platforms//.mk: No such file or directory

                          ./tools/makefiles/wiced_config.mk:267: *** Unknown component: Quickprojects.testproject.  Stop.

                          make: *** No rule to make target `build/Quickprojects.testproject-QuicksilverEval-FreeRTOS-LwIP-debug/config.mk', needed by `main_app'.  Stop.

                           

                           

                          14:03:27 Build Finished (took 362ms)

                          • 11. Re: Amazon FreeRTOS - Can WICED use it?
                            NiMc_1688136

                            Replace testproject with the name of your project. Also my make target is for a quicksilver eval board from Arrow which is why i have quickprojects. Something similar would be

                             

                             

                             

                            Snip.scan-QuicksilverEval-FreeRTOS-LwIP-debug download

                            • 12. Re: Amazon FreeRTOS - Can WICED use it?

                              Please forgive my pestering, I am still quite confused.

                              I've started another thread asking my question in better detail.

                               

                              For now, I need to learn simply how to build any FreeRTOS program in WICED Studio 6.2, even 9.0.0.

                              Once I have a grasp on that, I can figure out how to step it up to Amazon FreeRTOS 10.0.1.

                              • 13. Re: Amazon FreeRTOS - Can WICED use it?

                                I've been trying to push ahead with this project since yesterday, but still no luck.

                                 

                                I did what you recommended and made a "ver10.0.1" folder, right next to the ver9.0.0 folder, then copied all of the Amazon FreeRTOS files (downloaded from here) to it.

                                 

                                I am using the simple "snip.scan" app, but compiling with the FreeRTOS library via the Make Target:

                                   snip.scan-FreeROTS-LwIP-debug download run

                                This is in attempt to just get the Free RTOS 10.0.1 library to build.

                                 

                                When Line 35 in FreeRTOS.mk is set to "VERSION := 9.0.0", this Make Target compiles just fine.

                                When Line 35 in FreeRTOS.mk is set to "VERSION := 10.0.1", there are numerous missing components.

                                 

                                There appear to be many changes between FreeRTOS 9.0.0 (included with WICED Studio) and FreeRTOS 10.0.1 that need resolution.

                                 

                                I am listing here which errors I have been able to resolve:

                                  - "croutine.c" and it's header no longer exist in Amazon FreeRTOS, so I copied over the older ones from 9.0.0.

                                  - "StackMacros.h" has been renamed "stack_macros.h".

                                  - Most of the header files, including "projdefs.h", "list.h", "portable.h", and many others were all moved into a new directory, "Private". I made copies out to their original location.

                                 

                                Even with all of these changes, the Build Console now barfs on WICED/RTOS/FreeRTOS/ver10.0.1/Source/portable/GCC/ARM_CRx_No_GIC/portASM.S, complaining that "Error: selected processor does not support `fmrxne R1,FPSCR' in ARM mode", among many, many other complaints.

                                 

                                I do not understand what these Errors are or how to resolve them. There seems to be quite a few extra steps to getting FreeRTOS 10.0.1 working in WICED Studio. Could you provide more detail in how you managed it?

                                • 14. Re: Amazon FreeRTOS - Can WICED use it?
                                  NiMc_1688136

                                  You are correct. I forgot about the restructuring that Amazon did to FreeRTOS file locations in their release.

                                   

                                  I went to freertos.org and downloaded the v10.0.1 kernel, which is the same as used in the Amazon release. The official kernel download has the files in default locations.

                                   

                                  https://www.freertos.org/FreeRTOS-V10.html

                                  https://sourceforge.net/projects/freertos/files/latest/download?source=files

                                   

                                  Maybe this helps

                                   

                                  Nick McKendree  |  Electrical Engineer II - Firmware

                                  +1.704.752.6513 x1277

                                  www.invue.com

                                   

                                   

                                  1 of 1 people found this helpful
                                  1 2 Previous Next