Giter VIP home page Giter VIP logo

Comments (2)

glennergeerts avatar glennergeerts commented on July 19, 2024

I have never tried running a C++ application on the stack for embedded, but I would expect name mangling difference between C and C++ being the issue here. I saw that you added an extern "C" block around the code, but I wonder if the bootstrap function itself would need to be declared with extern "C" as wel? A long time ago we where able to run the stack as part of an OMNET++ based simulation, which meant it was useable from within a C++ program, but this was on the PC host not on the embedded target. You can still see the __LINK_C define from link_c.h being used in function definitions. My guess is that it would need to be added for bootstrap() and probably others as well. If you comment to call to bootstrap() do you still crash? Can you break in __framework_bootstrap() ?

from sub-iot-stack.

Dond96 avatar Dond96 commented on July 19, 2024

I looked a bit further into the problem and the code seems to crash on assembly code. The code crashed in the init_clock() function of stm32_common_mcu.c file when initialising the RCC structs. The debugger would go into memset assembly code where the program would throw a hardfault. The structs can be seen in the image below. I did put the = {0) in comments so the code would continue.
afbeelding

Later the code would crash in stm32l0xx_hal_rcc.h line 1201 that line of code would also lead to an assembly file because of calculation with unsigned 32 bit integers. It would lead to __aeabi_dadd.csdasm and would crash on the line of code which can be seen in the figure below.
afbeelding

So when compiling C++ for the B-L072Z-LRWAN1 the code does crash before the main loop is even called.

from sub-iot-stack.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.