Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Duet3Bootloader compilation pt.2 - SAME5x target

    Scheduled Pinned Locked Moved
    Firmware developers
    2
    5
    278
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Arplyuundefined
      Arplyu
      last edited by

      Hi, I need to build customized bootloader for SAME51 chip. Unfortunately, there are some issues:

      ../src/BoardType.cpp: In function 'unsigned int ReadAndQuantise(uint8_t, const uint16_t*, size_t)':
      ../src/BoardType.cpp:106:37: error: 'ReadChannel' is not a member of 'AnalogIn'
        106 |  const uint16_t reading = AnalogIn::ReadChannel(CommonAdcDevice, chan);
            |                                     ^~~~~~~~~~~
      ../src/BoardType.cpp: In function 'bool IdentifyBoard(CanAddress&, bool&, bool&)':
      ../src/BoardType.cpp:177:13: error: 'Init' is not a member of 'AnalogIn'
        177 |   AnalogIn::Init(CommonAdcDevice);
            |             ^~~~
      ../src/BoardType.cpp:180:13: error: 'Disable' is not a member of 'AnalogIn'
        180 |   AnalogIn::Disable(CommonAdcDevice);      // finished using the ADC
            |             ^~~~~~~
      

      I see that all implementation of AnalogIn namespace for SAME5x chip (./src/SAME5x_C21/SAME5x/AnalogIn.cpp) goes excluded since it's completely under "#ifdef RTOS" condition, while in bootloader RTOS is not used. Are there errors in the source files, or am I missing something in my workspace setup? Thank you in advance.

      P.S. Used branches and configs:

      • RRFLibraries 3.4-dev/SAME51

      • list itemCoreN2G 3.4-dev/SAME5x_CAN

      • list itemDuet3Bootloader dev/SAME5x

      • list itemCANLib 3.4-dev/SAME51_nonRTOS

      All local branches updated 1.07.2023

      dc42undefined 1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators @Arplyu
        last edited by dc42

        @Arplyu the current dev branch of Duet3Bootloader needs the 3.5-dev branches of the other projects. The AnalogIn functions for non-RTOS builds of CoreN2G are in file SimpleAnalogIn.cpp.

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        Arplyuundefined 1 Reply Last reply Reply Quote 0
        • Arplyuundefined
          Arplyu @dc42
          last edited by

          @dc42 Thank you very much for quick reply! I changed branches to 3.5-dev, and the old issues are gone now. However, there is one new issue

          ../src/Bootloader.cpp: In function 'void GetBlock(uint32_t, uint32_t&)':
          ../src/Bootloader.cpp:211:30: error: 'CanMessageBuffer::CanMessageBuffer(CanMessageBuffer*)' is private within this context
            211 |  CanMessageBuffer buf(nullptr);
                |                              ^
          In file included from ../src/Bootloader.cpp:22:
          /mnt/NTFSD/DEV/3DTech-Brinter/RRF-Brinter/CANlib/src/CanMessageBuffer.h:186:2: note: declared private here
            186 |  CanMessageBuffer(CanMessageBuffer *prev) noexcept : next(prev), managed(true) { }
                |  ^~~~~~~~~~~~~~~~
          

          Seems like moving CanMessageBuffer(CanMessageBuffer *prev) to public fixes the issue, but could you please check if the public repo contains the latest changes? Now the latest commit in 3.5-dev is 8eda57b890b2768bf5b16fcb692f98f68cad5e16.

          Thank you!

          dc42undefined 1 Reply Last reply Reply Quote 0
          • dc42undefined
            dc42 administrators @Arplyu
            last edited by dc42

            @Arplyu I've just committed a correction to the Duet3Bootloader project. I hadn't compiled it since making changes to CANlib.

            Duet WiFi hardware designer and firmware engineer
            Please do not ask me for Duet support via PM or email, use the forum
            http://www.escher3d.com, https://miscsolutions.wordpress.com

            Arplyuundefined 1 Reply Last reply Reply Quote 0
            • Arplyuundefined
              Arplyu @dc42
              last edited by

              @dc42 Thanks!

              1 Reply Last reply Reply Quote 0
              • First post
                Last post
              Unless otherwise noted, all forum content is licensed under CC-BY-SA