1 2 Previous Next 21 Replies Latest reply on Apr 30, 2020 4:30 AM by RakshithM_16

    MTB 2.1 Build Issues

    OkBa_4438736

      We have a project based on "BLE  Battery Level FreeRTOS" and we have migrated it from Modustoolbox 1.1 to MTB 2.1.

      We have copyied the Device and Bluetooth Configurators and updated all personalities accordingly. Modified the the Library Manager also.

      However when we build the application, we get lots of "symbol .. could not be resolved" errors.

       

      screen1.jpg

      I can see that all necessary libraries are there.

      screen2.jpg

       

      and if I want to include libraries manually from Properties->C/C++ Build->Settings, the Tool Settings tab is not there.

       

      screen3.jpg

       

      So the question is how can I check which libraries are included to build ?

       

      Regards,

        • 1. Re: MTB 2.1 Build Issues
          LePo_1062026

          OkBa,

           

          There have been cautions about moving MTB 1.1 projects over to MTB 2.0.  It appears in many cases the structures of the API calls changed even when using PDL peripherals.  Some of the API calls changed from PDL 2.1 to 3.0 to 3.10 to 3.40.

           

          Therefore calls (variables and defines) made in MTB 1.1 are not always the same in MTB 2.0.

           

          With cautious investigation, most times, the conversions can be made manually. 

           

          I found this out especially when converting PSoC Creator projects to MTB.

           

          If you still have MTB 1.1 installed, I recommend investigating the Symbols referred to in the error list under MTB 2.0 and find where they are sourced.   Find the equivalent in MTB 2.0 and hand-convert.

           

          One potential way to hand-convert is to create an alias header file that makes Symbol reassignment.  This may not work under all conditions but it might be a start.

           

          Len

          • 2. Re: MTB 2.1 Build Issues
            OkBa_4438736

            Hi LePo_1062026,

             

            Thanks for the answer. I am using the same PDL (3.10) version in both of MTB 1.1. and MTB 2.1.

            When I investigate the Symbols referred to in the error list, I can see that the necessary files are already in the project in MTB 2.1.

            For instance, an error says that it can not find ADC hardware symbol but the necessary device header file is already in the lib folder (psoc6hal). Another error says "fatal error: FreeRTOS.h: No such file or directory". This makes me think that there is something going wrong during the project build. Probably these libraries are not included into the build process.

             

            PS: I am using default makefile without any change.

            • 3. Re: MTB 2.1 Build Issues
              LePo_1062026

              OkBa,

               

              I don't know about the reference to:

              For instance, an error says that it can not find ADC hardware symbol ...

              since the MTB doesn't have a TopDesign that PSoC Creator has.

               

              Now about:

               

              Another error says "fatal error: FreeRTOS.h: No such file or directory".

              It appears from the directory list you supplied that the FreeRTOS files can been added to your BSP directory.

               

              Now check the MakeFile.

               

              Scroll down to the "COMPONENTS" line.

              It should read:

              COMPONENTS=EMWIN_OSNTS

               

              The COMPONENTS line is to indicate to the build that you are using middleware components.

               

              The EMWIN designates you are using emWin.

              The OS indicates you are using an Operating System in this case the FreeRTOS.

              The NTS indicates you are NOT using a Touch Screen.  Change to TS if you are.

               

              Modify the COMPONENTS line and try it.  Hopefully this addresses the issue you are having.

               

              Len

              • 4. Re: MTB 2.1 Build Issues
                OkBa_4438736

                Hi LePo,

                 

                Thanks for the tip about modifying the make file.

                However, the trick did not work. Still I am getting FreeRTOS related errors.

                 

                rtos_error2.jpg

                Regards,

                • 5. Re: MTB 2.1 Build Issues
                  LePo_1062026

                  OkBa,

                   

                  I'm stumped.

                   

                  Are you willing to upload your MTB project to the forum?

                   

                  Myself or someone else might spot the issue if we had your build.

                   

                  Note:  This archive WILL BE large.

                   

                  Len

                  • 6. Re: MTB 2.1 Build Issues
                    OkBa_4438736

                    LePo_1062026

                     

                    Here you can find the MTB project.

                     

                    Regards,

                    • 7. Re: MTB 2.1 Build Issues
                      RakshithM_16

                      Hi OkBa_4438736,

                       

                      I tried importing the project into ModusToolbox 2.1 and I was unable to achieve that. I think there was an issue during the importing of the libraries. Also, I do not seem to find all the files in the archive shared like wave.h, sound.h and kxtj3_1057.h.

                       

                      Can you please share the working ModusToolbox 1.1 project and also the detailed steps describing the procedure followed to port the MTB 1.1 project to MTB 2.1 so that it will help us in debugging the issue?

                       

                      Thanks and Regards,

                      Rakshith M B

                      • 8. Re: MTB 2.1 Build Issues
                        OkBa_4438736

                        Hi RakshithM_16

                         

                        Here you can see another export of my MTB 2.1 project. hopefully this time it will work.

                         

                        Regards !

                        • 9. Re: MTB 2.1 Build Issues
                          LePo_1062026

                          Rakshith,

                           

                          I was able to download the project and import the code in MTB 2.1.

                           

                          I do get complaints about not finding header files such as "FreeRTOS.h"  that DO exist in the project.

                           

                          Attached is a log of the Console output of the build attempt on this project.

                          Also attached is a log of the Console output of the build on a working FreeRTOS project.

                           

                          I'm no expert but it appears from the logs of the console output and the other items mentioned below that OkBa's issue might be how the build is set up.

                           

                          On OkBa's MTB Quick Panel another option appears that doesn't appear on my working project:  "Project Build Settings"

                          When I compare OkBa's project build properties to my working project properties I notice two more tabs on OkBa's.

                          Hopefully this might bring some clues.

                           

                          Len

                          • 10. Re: MTB 2.1 Build Issues
                            OkBa_4438736

                            LePo_1062026

                             

                            The reason that I have more tabs in  the C/C++ Build > Settings is that I have selected " Generate Makefiles auttomatically" box in the C/C++ build >Builder Settings. with this way I wanted to see which files are included in the build process. But I could not see any path there.

                             

                            Regards,

                            • 11. Re: MTB 2.1 Build Issues
                              RakshithM_16

                              Hi OkBa_4438736, LePo_1062026,

                               

                              The build flow and the directory structure in MTB 1.1 and MTB 2.1 is different and you cannot directly import a MTB 1.1 project into MTB 2.1. We are working on a KBA explaining how to port the project from MTB 1.1 to MTB 2.1. Stay tuned for that.

                               

                              The MTB 1.1 uses the subdir.mk in each directory to track all the files which is not found in the MTB 2.1 project. These subdir.mk files are unable to find the lib files that are getting generated.

                               

                              So can you please share the working ModusToolbox 1.1 project? I will try porting the project to ModusToolbox 2.1 and share the project with you.

                               

                              Thanks and Regards,

                              Rakshith M B

                              1 of 1 people found this helpful
                              • 12. Re: MTB 2.1 Build Issues
                                OkBa_4438736

                                Hi RakshithM_16

                                 

                                Here you can find the MTW 1.1 project.

                                • 13. Re: MTB 2.1 Build Issues
                                  RakshithM_16

                                  Hi OkBa_4438736,

                                   

                                  I have attached the ModusToolbox 2.1 project for your reference.

                                   

                                  1. I started with the BLE_Battery_Level_FreeRTOS CE in MTB 2.1

                                  2. Included all the libraries that are needed using the Library Manager

                                  3. Copied the same design.modus file present in the MTB 1.1 project and replaced the existing design.modus file in the directory <MTB2.1_project_directory>\libs\TARGET_CY8CPROTO-063-BLE\COMPONENT_BSP_DESIGN_MODUS

                                  4. Clicked on the Device Configurator tool in the Quick Panel in MTB 2.1, fixed the errors which appear due to the version mismatch and saved the file.

                                  5. I replaced the design.cybt file present in the project with the design.cybt file that was in the MTB 2.1 project that you shared in your previous comment.

                                  6. I then built the project. Two macros were not defined so I copied the macros from the cycfg_ble.h of MTB1.1 project and defined it in ble_task.h as shown -

                                  7. After this I was able to build the project successfully.

                                   

                                  I have not confirmed the functionality of the project. But you can start with this project. Please confirm that the project works as expected. If you find any issue with any of the component or if you are stuck in using the project please create a new thread and we will be happy to help you. You can refer to this KBA for steps to import the archive into your MTB 2.1 workspace - Sharing My Eclipse Project 

                                   

                                  Adding to this, like I have told in my previous comment, we are working on a KBA explaining how to port the project from MTB 1.1 to MTB 2.1 in detail. Stay tuned for that.

                                   

                                  Hope this helps,

                                   

                                  Thanks and Regards,

                                  Rakshith M B

                                  • 14. Re: MTB 2.1 Build Issues
                                    OkBa_4438736

                                    Hi RakshithM_16,

                                     

                                    Can you also explain how did you move the source code from MTB1.1 to MTB 2.1 ?

                                    Seems like the replaced design.cybt file in the  MTB 2.1 is different than the one in MTB1.1.

                                    Unfortunately, When I program my PSOC 6 device it us programmed successfully.

                                     

                                    programm.jpg

                                     

                                    However, nothing happens in terms of functionality (BLE unit on the chip is not powered, no print out), while it was working in MTB 1.1

                                    Regards,

                                    1 2 Previous Next