Vscode Zephyr seeing code

I was trying to figure out what what code was being ran before main() function.  Specifically the code was not getting to my main() function and was stuck in the cpu idle code.  I figured out via trail and error with google's help that issue was with hardware not having 32Khz crystal.  However it would have been far easier if I could see the code that was being compiled and ran on the hardware.  Is there any way for old developers like me to actually get a directory of the code that is actually being ran on the hardware.  

Remember old developers like me have learned that we can trust others code, but only with verification.  So we like to understand at low levels what is going on because we have been burned so many times before.   Is there anyway we can do this with Nordic and Zephyr? 

  • Hello,

    I really don't have any specific method or tool to point to for the issue you addressed. All I think of is our developer academy course, which explains our SDK structure and application structures. It also explains application development, which gives you a better idea of the build process and how each application is structured and compiled. There is also a debugging chapter inside the course that will step through your code as it runs on the hardware. 

    Please expect a delay in response as we are on Easter vacation here in Norway. I will be responding after the 2nd of April. Sorry if this creates any inconvenience for you.

    Kind Regards,

    Abhijith

  • I was looking for a method to see the code that is ran before the main() function.  For example the code to setup the clocks, and code to setup the drivers.  Is there a way to view this code for a project? 

  • Hello,

    I can't think of a proper solution for your issue. But understanding the bootup sequences and execution context might shed some light. There is also a way to generate preprocessor build files for an application. The preprocessor handles directives for inclusion of other header files (#include), macro definitions (#define), conditional compilation, and other preprocessor directives. See this page.

    To see the code that runs before the main() function, you can use a debugger to step through the program execution. See the debugging section.

     

    Kind Regards,

    Abhijith

Related