Forum Replies Created
-
AuthorPosts
-
curtis.hendrixParticipant
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.
curtis.hendrixParticipantScratch that. I power cycled my board and the issue came back.
curtis.hendrixParticipantFinally 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);
curtis.hendrixParticipant0x20001e8c . = 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.
curtis.hendrixParticipantNo idea why this worked, but it worked.
I deleted the “VCTargetsPath” Environment Variable from the build server and now everything is working correctly again.
curtis.hendrixParticipantA 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:”
curtis.hendrixParticipantI 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]curtis.hendrixParticipantFigured 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.
curtis.hendrixParticipantIf 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.curtis.hendrixParticipantI 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.
curtis.hendrixParticipantPerfect! The correct setting (for those who run across this later) is under Tools->Options->VisualGDB->General->Debug->Show ‘no register groups’ warnings
curtis.hendrixParticipantI 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.curtis.hendrixParticipant…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.December 6, 2018 at 16:49 in reply to: System.TypeInitializationException on Windows Server 2016 #22990curtis.hendrixParticipantFigured out the issue. Using FIPS compliant algroithms needs to be disabled:
“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.”
curtis.hendrixParticipantWorked perfectly. Thanks!
-
AuthorPosts