5 Replies Latest reply on Jul 26, 2013 11:43 PM by g.yvraut

    Feature questions

    g.yvraut

      Hello  Everyone

      I could not find informations in the documentation about the following topics. I would appreciate is someone can point me to the appropriate document or provide me with indication on how to do.

      Just if it matters, I am using STM32F4Discovery board or bare metal STM32F40x processors.

      1) How to view peripherals in debug mode.

      I can create an "xml" file like the one provided in some examples (like the STM3210C-EVAL\periph\std_periph_lib_examples.xml). Is it sufficient and how can I then associate the file to the debugger so that the peripherals shows up in the debug view?

       

      2) I am using STMicroelectronics code that embed "Doxygen" type comments. Is it possible to have those displayed in some "help window" when a source file is selected?

       

      3) Is 'newlib-nano" supported? 

      I tried including "--specs=nano.specs" in the link option, but got error message.

      If not supported, are their plans to make them available in a near future (with optimisation set to none, this nano lib saves me 100kBytes of code allowing use of smaller processor footprint). 

       

      Thanks

      Gerard..

        • 1. Re: Feature questions
          james_patterson

          Hi Gerard,

           

          I am checking on these questions.

           

          Regards,

          James

          • 2. Re: Feature questions
            james_patterson

            1.  While the STM32F4Discovery board (and ST-Link) were added to the Spring release of CodeBench, the addition of the peripheral register files is yet to come.  We hope to have these in an upcoming release.  In the meantime, if you register in the Mentor Embedded Portal, you can view this knowledgebase entry https://sourcery.mentor.com/GNUToolchain/kbentry259 which explains how to add new peripheral registers so they are visible in Eclipse's register view.

             

            2.  CodeBench itself does not ship with built-in Doxygen support.  However, there are third party Eclipse plug-ins available which can perform this task.

             

            3.  No, newlib-nano is not supported in CodeBench.  Our free Lite edition supports newlib and our commercial bare-metal versions include the high-performance, small footprint CSLIBC as described here:  http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/overview/

             

            Does this help?

            • 3. Re: Feature questions
              g.yvraut

              Hello James,

               

              Thank you for your prompt replies.

              We will give a try at your recommendation for questions 1 and 2.

               

              For question 3, we may have some misunderstanding at what newlib-nano is expected to provide versus what is effectively provided by the small footprint CSLIBC.

              If you compile the attached example and compile it with the "p_Class = new Any_Class;" statement commented out first and then uncommented, you will notice a huge size difference (text size 840 in first case and 56600 in second case (not using compiler optimisation).

              My understanding of the purpose of newlib-nano is to avoid such size increase by not handling exception.

              Let me know if I am missing some points in the use ofCSLIBC that would bring me the expected newlib-nano benavior.

               

              Best regards

              Gerard

              • 4. Re: Feature questions
                james_patterson

                Optimizing out exception handling is not present.  The available optimizations for CSLIBC is to eliminate floating-point support and automatic buffering in standard i/o.  This is covered in the installed *The CodeSourcery C Library* pdf chapter 14.

                • 5. Re: Feature questions
                  g.yvraut

                  Thanks for the clarification

                  Best regards

                  Gerard