Loading...
 

SW4STM32 and SW4Linux fully supports the STM32MP1 asymmetric multicore Cortex/A7+M4 MPUs

   With System Workbench for Linux, Embedded Linux on the STM32MP1 family of MPUs from ST was never as simple to build and maintain, even for newcomers in the Linux world.
And, if you install System Workbench for Linux in System Workbench for STM32 you can seamlessly develop and debug asymmetric applications running partly on Linux, partly on the Cortex-M4.
You can get more information from the ac6-tools website and download two short videos (registration required) highlighting:

System Workbench for STM32


Eclipse CDT nullpointerException compiling

I have been pulling my hair out on this one for a day or so.

My SystemWorkbench build environment for my project seems to be broken.

When I try to build my project I get the following error:

“Errors running builder ‘CDT Builder’ on project ‘myproject.”
java.lang.NullPointerException

Other projects work fine. I also tried creating a new Eclipse workspace and imported the project into it but I still had the same issue.

Digging into the eclipse log I find the exception details:

ENTRY org.eclipse.core.resources 4 75 2020-10-02 04:16:22.809

MESSAGE Errors occurred during the build.

SUBENTRY 1 org.eclipse.cdt.managedbuilder.core 4 75 2020-10-02 04:16:22.809

MESSAGE Errors running builder ‘CDT Builder’ on project ‘myproject’.

STACK 0

java.lang.NullPointerException
at fr.ac6.mcu.ide.engine.CustomBoardGenerator.compareXMLBoard(CustomBoardGenerator.java:150)
at fr.ac6.mcu.ide.engine.CustomBoardGenerator.createCustomBoard(CustomBoardGenerator.java:330)
at fr.ac6.mcu.ide.engine.CustomBoardGenerator.addCustomBoardTo(CustomBoardGenerator.java:142)
at fr.ac6.mcu.ide.engine.CustomBoardGenerator.addCustomBoardToProject(CustomBoardGenerator.java:92)
at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.doApplyBoard(MCUIdeProjectTargetPartsManager.java:1012)
at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.doApplyBoard(MCUIdeProjectTargetPartsManager.java:978)
at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.syncExistingBoard(MCUIdeProjectTargetPartsManager.java:803)
at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.visitBoardSetup(MCUIdeProjectTargetPartsManager.java:700)
at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.doGetBoard(MCUIdeProjectTargetPartsManager.java:621)
at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getBoard(MCUIdeProjectTargetPartsManager.java:411)
at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getMcu(MCUIdeProjectTargetPartsManager.java:501)
at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getMcu(MCUIdeProjectTargetPartsManager.java:473)
at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getMcu(MCUIdeProjectTargetPartsManager.java:462)
at fr.ac6.mcu.ide.build.CrossCommandLineGenerator.generateCommandLineInfo(CrossCommandLineGenerator.java:81)
at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.generateToolCommandLineInfo(MakefileGenerator.java:2499)
at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.addRuleForSource(MakefileGenerator.java:3071)
at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.addFragmentMakefileEntriesForSource(MakefileGenerator.java:2319)
at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.addSources(MakefileGenerator.java:2227)
at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.populateFragmentMakefile(MakefileGenerator.java:1043)
at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.regenerateMakefiles(MakefileGenerator.java:958)
at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.performMakefileGeneration(CommonBuilder.java:1006)
at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.performPrebuildGeneration(CommonBuilder.java:873)
at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:748)
at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:510)
at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:459)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:735)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:301)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:304)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:360)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:383)
at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:487)
at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:406)
at org.eclipse.ui.actions.BuildAction$1.runInWorkspace(BuildAction.java:285)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

The evening before this happened i did have some hard crashes on my machine and it is entirely possible that this has corrupted a file ... but git shows no file differences amongst the files I checking in (and there isn’t much i don’t within the project folder ... but i dont checking the workspace folder but as per above I generated a new one of those and the problem did not go away).

Can anyone point me to a likely culprit?

In the interests of helping others who may struggle with cryptic errors like this in my case this was caused by my NUCLEO-H745ZI-Q.xml file having become corrupted ... it was no longer an XML file but a binary file consisting mostly of nulls. I replaced it with a good version and CDT is working again as expected.

 

Newest Forum Posts

  1. Holy fuck by mkellinghusen, 2020-12-02 22:54
  2. Holy fuck by rhaley-starfish, 2020-12-02 19:46
  3. Unable to Build and Clean Program in STM32CubeIDE by chandlerbing65nm, 2020-12-01 15:25
  4. Holy fuck by jqwpb, 2020-12-01 09:45
  5. Ubuntu 19.04 Debug problems by wigir, 2020-11-29 20:38
  6. SW4STM32 installation on Ubuntu 20.04 LTS by ImedBriki, 2020-11-27 23:43
  7. Serial Printing on STM32F1 using CubeMX by LORDHADES, 2020-11-27 09:04
  8. gdb not connected to openocd for debug by avf1906, 2020-11-23 10:26
  9. STM32F103 + CAN -> microcontroller does not release the frame from FIFO banks by amilo_pa, 2020-11-17 09:08
  10. STWINKT1 as HID by greale, 2020-11-13 13:03

Last-Modified Blogs