Master Branch Build Problem

  • I'm new to Eclipse and GCC. Please be patient.
    I using 3D printer with Repetier and want try to use other Software. One of this is REPRAP.
    But befor i change i did try to Build REPRAP for RADDS. I using DUE with my own designed Shield. So i must change some Pinout later.
    Lets Start with my Problem:
    I was following exactly the Buildinstructions from DC42 for the Master Branch.
    Installed Eclipse Oxygen. GCC, CoreNG and the Firmware.
    Import of the Project CoreNG and Firmware into Eclipse.
    Setup the Path for GCC and using the Internal Builder.
    CoreNG was build from the beginning and i got the libCoreNG.a
    Then i start the Build for the Firmware, but different problems happen.
    1.GCC complains about the micros and delay definitions.
    This was fixed by change all the delay to coreDelay. For the micros it was neccesary to enable some part of the code in Wiring.c.
    So far so good.
    Now he build all modules but failed at the Linker step with following error:
    F:\Eclipse\Firmware\CoreNG\RADDS\libCoreNG.a(startup_sam3x.o): In function Reset_Handler': startup_sam3x.c:(.text.Reset_Handler+0x6a): warning: undefined reference toUrgentInit'
    startup_sam3x.c:(.text.Reset_Handler+0xa4): warning: undefined reference to `AppMain'
    collect2.exe: error: ld returned 1 exit status

    I selected the RADDS Build in CoreNG and ReprapFirmware.
    Thank you in advance for your support.

  • administrators

    The master branch of project CoreNG has moved on since the RADDS port was last built. So here are some possibilities:

    1. Try using the dev branch of CoreNG instead.

    2. Check out the master branch of CoreNG as at the date of the last RADDS release of RRF.

    3. Use the source code from the v2-dev branch of the RepRapFirmware project to bring the RADDS build right up to date; but as RADDS builds haven't been supported in that branch, you would have to make some other changes to get it building and working.

    4. Change the source code of RepRapFirmware to use the new program start interface (as is already done in the v2-dev branch). Function UrgentInit does any necessary urgent initialisation. You probably don't need to do anything in it. Function AppMain is called instead of setup() and loop().

  • @dc42 Thank you very much for this fast response.
    I did choose your 4 recommendation. And every thinf build with out problem.
    Now i will try, your just released 2.0.2RC3, to get Build for RADDS.
    One more question: in Wiring.c the excluded part for micros, which you not recommend to use, what can be used instead?

  • administrators

    We use the step pulse timer to time sub-millisecond delays. Function GetInterruptClocks returns the counter from the step pulse timer. Each count will be 84/128 microseconds on an Arduino Due.

Log in to reply