|
Post by mutantcaterpillar on Nov 28, 2016 16:56:19 GMT
Hi everybody,
A few queries about the debugger, if I may... (UDE 4.02.08).
First thing - breakpoints seem to be happily ignored by the debugger. I've disabled optimisation, and the debugger happily steps through the code, but completely fails to notice the breakpoint. That's on Core0. Core1 is my next problem... not only is it happily ignoring the breakpoints, it's also not even allowing me to step through the code. I can step through the assembler, but not the C++ code itself. On the other hand, Core1 has a definite penchant for jumping to TRAP_ENTRY - and it seems to jump there whenever I do anything.
I've not used Core2 yet but I imagine it'll be the same as Core1 - I want to be completely au fait with the Core1 before I play with Core2 too much.
Is there advice out there on using UDE with the multiple core TC275? I saw a mention of using Eclipse with UDE in the Getting Started but couldn't find anything specific (though I could have been looking in the wrong places!).
Thanks for any help! Having a properly working debugger will make everything much easier!
-- Ian Gledhill
|
|
|
Post by mjb on Nov 28, 2016 17:09:02 GMT
Hi, Please use the UDE4.04 that's in the latest ShieldBuddy SW add-in! www.hitex.co.uk/fileadmin/uk-files/downloads/ShieldBuddy/ShieldBuddyMulticoreIDE.zipwww.hitex.co.uk/fileadmin/uk-files/downloads/ShieldBuddy/ShieldBuddyMulticoreIDE.exePasswords: "ShieldBuddy" Breakpoints for Core0 work as you would expect. However in this restricted USB version of the UDE, Cores1 & 2 behave differently. If you have no breakpoints set in Cores 1 & 2, starting Core0 will automatically start the other two cores. However if you have any breakpoints set in Cores1 & 2, they will not start when you start Core0. You now have to start Cores1 & 2 individually. This is an artificial restriction which does not exist in the paid-for UDE version. It can get pretty mind-bending when all the cores are being debugged. One useful trick is to make sure that you keep the core0, core1 and core2 views of your source files in separate vertical groups (this is how the default project is supplied) You can setup UDE to run as a perspective in Eclipse, although we prefer to run the UDE in parallel as a separate application. We have supplied the default Eclipse project in this way but we will add an UDE perspective it soon as many people have asked for it. We will also provide a better Getting Started with the Eclpse IDE guide. Getting to TRAP_ENTRY usually indicates that something has accessed a non-existent address or you have not cleared the Einit protection before addressing a protected SFR. When using the Arduino IDE add-in, this should not happen but if you are using Eclipse then it is possible.
|
|
|
Post by mutantcaterpillar on Nov 28, 2016 20:10:04 GMT
Hi, Thanks for the help - much appreciated. I have so many versions of UDE floating around from different projects I'll go hunting for the 4.04; this should help my Core1 work a lot.
Thanks again,
-- Ian Gledhill
|
|
|
Post by mutantcaterpillar on Nov 29, 2016 10:50:43 GMT
Using 4.04.07 has helped a little, but it still seems to be inconsistent. I can put a breakpoint in my loop1() and it triggers. However, a breakpoint in setup1() will be completely ignored. Should I just accept that setup1() can't use breakpoints? Or is there something I can do to help with this?
Also, is there a way to stop core0's main.cpp opening in my core1 context whenever I click Reset with focus on core1?
Thanks!
-- Ian Gledhill
|
|