curtis.hendrix

Forum Replies Created

Viewing 15 posts - 16 through 30 (of 30 total)
  • Author
    Posts
  • in reply to: Live stack monitor for GCC Projects? #30831
    curtis.hendrix
    Participant

    I found a work-around that appears to work.  I put the following code in the reset handler:

    /*Fill the stack with the magic value so the stack monitoring can monitor
    *the stack in VisualGDB.*/
    uint32_t stackPointer;
    __ASM volatile("MOV %0, SP\n" : "=r" (stackPointer));

    for (; stackPointer >= &_ebss; stackPointer -= sizeof(stackPointer))
    {
    *(uint32_t*)stackPointer = 0xA5A5A5A5;
    }

    And it appears to work.  I’m still confused as to why the plugin can’t handle this automatically.

    in reply to: Live stack monitor for GCC Projects? #30830
    curtis.hendrix
    Participant

    Scratch that.  I power cycled my board and the issue came back.

    in reply to: Live stack monitor for GCC Projects? #30828
    curtis.hendrix
    Participant

    Finally figured out my issue.

    I removed these 2 lines from my linker script, which forces the live stack monitoring to use the _ebss linker variable for the bottom end of the stack.

    __StackLimit = __StackTop - SIZEOF(.co_stack);
    PROVIDE(__stack = __StackTop);

     

     

    in reply to: Live stack monitor for GCC Projects? #30827
    curtis.hendrix
    Participant

    0x20001e8c . = ALIGN (0x4)
    0x20001e8c _ebss = .
    0x20001e8c PROVIDE (__bss_end__ = _ebss)

    .co_stack 0x20001e8c 0x4 load address 0x000093b4
    0x20001e90 . = ALIGN (0x8)
    *fill* 0x20001e8c 0x4
    *(.co_stack .co_stack.*)
    0x20007ff8 __StackTop = ((ORIGIN (ram) + LENGTH (ram)) - 0x8)
    0x20007ff4 __StackLimit = (__StackTop - SIZEOF (.co_stack))
    0x20007ff8 PROVIDE (__stack = __StackTop)

    I’m not sure what I’m doing wrong.  Here’s the output of the .map file for my firmware, showing the stack symbols.  I removed the bootloader and everything else that isn’t part of the actual firmware I’m trying to run the stack monitor on.

    I was able to get it to work on an MKV31F, but I’m having trouble getting it working on a PAC5532.

    in reply to: The Platform for project is invalid. #30416
    curtis.hendrix
    Participant

    No idea why this worked, but it worked.

    I deleted the “VCTargetsPath” Environment Variable from the build server and now everything is working correctly again.

    in reply to: The Platform for project is invalid. #30410
    curtis.hendrix
    Participant

    A little more information:

    It would appear I cannot register VisualGDB under the service account used to run the builds.  I opened a command prompt as the service account, went to %VISUALGDB_DIR%, and executed “visualgdb /about”.  I got the “About VisualGDB” window, entered the license key, clicked “OK”.  But when I ran “visualgdb /about” from the command line again, it reverted to “Unknown” under “This copy of VisualGDB has been licensed to:”

    in reply to: The Platform for project is invalid. #30409
    curtis.hendrix
    Participant

    I also tried creating a new VisualGDB project in Visual Studio on the build server and got this error:

     

    VisualGDB version: 5.5.104.3920
    ------------------ System.InvalidOperationException ------------------
    System.InvalidOperationException: Platform 'VisualGDB' referenced in the project file 'EmbeddedProject2' cannot be found.
    at Microsoft.Verify.FailOperation(String message, Object[] args)
    at Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCProjectShim.<AddPlatformNoEventsAsync>d__343.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCProjectShim.<>c__DisplayClass63_0.<<AddPlatform>b__0>d.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.ApartmentMarshaler.<>c__DisplayClass7_0.<<Invoke>b__0>d.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at Microsoft.VisualStudio.Threading.JoinableTask.CompleteOnCurrentThread()
    at Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.ApartmentMarshaler.Invoke(Func`1 method)
    at Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCProjectShim.AddPlatform(String platformName)
    at mr.AddNewPlatformAndEnsureConfigurations(String b, String[] a)
    at s33.r(e13 c, IProjectEditContext f, e b, dx1 a, h g, Boolean e, y[] d)
    at ti2.b(EmbeddedWizardState a, IProjectEditContext e, zf2 b, e13 c, String d, dx1 f)
    at ti2.DoRunWizardOrThrowException(dx1 a, String b, String c)
    at n23`1.Execute(Object b, Int32 c, Object[]& e, Object[]& d, wizardResult& a)
    trace=[Microsoft.Verify.FailOperation:12, Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCProjectShim+<AddPlatformNoEventsAsync>d__343.MoveNext:174, System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess:39, System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification:40, Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCProjectShim+<>c__DisplayClass63_0+<<AddPlatform>b__0>d.MoveNext:187, System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess:39, System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification:40, Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.ApartmentMarshaler+<>c__DisplayClass7_0+<<Invoke>b__0>d.MoveNext:221, System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess:39, System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification:40, Microsoft.VisualStudio.Threading.JoinableTask.CompleteOnCurrentThread:556, Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.ApartmentMarshaler.Invoke:37, Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCProjectShim.AddPlatform:32, mr.AddNewPlatformAndEnsureConfigurations:0, s33.r:153, ti2.b:1102, ti2.DoRunWizardOrThrowException:2172, n23`1.Execute:210]

    in reply to: Disable pause on Main #29768
    curtis.hendrix
    Participant

    Figured out the problem.  I had a breakpoint set in a file that had been renamed or moved, but it was still listed in the “Breakpoint” window.  I deleted that breakpoint and now everything is working like it should.

    in reply to: Clang Intellisense C++ comments #29345
    curtis.hendrix
    Participant

    If the “Format” button is not shown, the currently open file is not handled by Clang-format and its formatting can be configured via Tools->Options->Text Editor->C/C++ (VisualGDB)->Formatting.

    I don’t have the “Format” button, so the settings in Tools->Options…->Formatting should be getting applied.  I’ve attached a screenshot of the settings.  I don’t see where to disable automatically adding a space between code and comment every time the autoformatter is run, or how to disable double indenting when there’s a space in between comment and code for a control block.

    I did find a work-around by enabling “Clang-format (advanced)”.

    Attachments:
    You must be logged in to view attached files.
    in reply to: Enabling Reset Device After Programming wipes flash #27446
    curtis.hendrix
    Participant

    I think I just answered my own question.  Well, more like found a workaround.

    The J-Link was originally configured for the “allow security” option.  I changed that to the normal MKV31F256xxx under “Debugged device” and now it looks like everything is working.

    in reply to: Disable Register window warning? #27427
    curtis.hendrix
    Participant

    Perfect!  The correct setting (for those who run across this later) is under Tools->Options->VisualGDB->General->Debug->Show ‘no register groups’ warnings

    in reply to: Bug? Cannot import SVD file on 5.5.2.3410 #27116
    curtis.hendrix
    Participant

    I cut off the end of the file because it was too large.   Try this one.  I removed a few register definitions to get the file under the size limit, but it still exhibits the same problem.

    Attachments:
    You must be logged in to view attached files.
    in reply to: Bug? Cannot import SVD file on 5.5.2.3410 #27098
    curtis.hendrix
    Participant

    …And apparently .svd files are not allowed.  Okay, let’s try attaching it as a text file.

    Attachments:
    You must be logged in to view attached files.
    in reply to: System.TypeInitializationException on Windows Server 2016 #22990
    curtis.hendrix
    Participant

    Figured out the issue.  Using FIPS compliant algroithms needs to be disabled:

    Report Manager: “System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.”

     

    “Or else, go to Local Security Policy (Start -> Run -> secpol.msc) and then go to “Security Settings -> Local Policies -> Security Options” and on the right-side windows you should see the policies in that please look for the Policy “System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing” and checked the security thing and it should be Enabled.”

     

    in reply to: KSDK Sample Selection controls do not work #22956
    curtis.hendrix
    Participant

    Worked perfectly.  Thanks!

Viewing 15 posts - 16 through 30 (of 30 total)