Search Results
Search results 1-20 of 34.
This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.
-
[ABANDONED] "Could not find CFI compliant flash device" after changing TIF Speed
dnfuss - - Ozone related
PostAfter further investigation, I believe my issue relates to the fact under Ozone, the target doesn't always get halted before the init steps are executed, so the target doesn't get configured as required prior to the flash download. Will update following further investigation...
-
[ABANDONED] "Could not find CFI compliant flash device" after changing TIF Speed
dnfuss - - Ozone related
PostHi I'm using J-Flash (v6.90) to download firmware to an AT91 device. The Jflash project is configured to run the init steps at 30kHz, then switch to 12000kHz for the flash process. This works perfectly every time I'm trying to configure an Ozone project (3.22a which also uses Jflash v6.90 DLL's) to perform the same functionality. As long as I don't change TIFSpeed (i.e. leave it at 30 kHz), the binary image is transferred to the target device as expected. However, if I execute the SetTIFSpeed co…
-
I'm experiencing exactly this issue myself with 3.22a - my application uses two independant tcp/ip stacks, so there are several duplicated functions/filenames (e.g udp.c, route.c, etc) which results in Ozone taking me to the wrong file when selecting a function which exists in two such files. I've resorted to renaming the offending source files so that Ozone doesn't get confused, but was hoping there'd be a better way- Fingers crossed this'll get addressed.... David
-
Hi guys- I appreciate you're likely busy with other things, but would like to check that I'm not missing anything obvious with this- I assume the embOS and ThreadX examples allow a complete backtrace of the call stack when the SP register is set to the stack pointer of a paused thread, which is what I'm doing but I only get one frame in the call stack window, so I'm wondering if I need to be able to set the PSP register on the K60 (as distinct from the SP) before this will work correctly, as thi…
-
Hi I've got as far as restoring the saved registers (r3-r11 and lr) and setting the aRegs SP and PC indexes to that of the stack frame at the top of the stack when the thread was suspended. Although this does result in the stack changing to that of the selected thread in the plug-in table list, it's only one stack frame deep- How do I include the depth of the stack through the getregs array return mechanism to give me the complete call stack for each selected thread? (I don't know if it's releva…
-
Thanks Nino That's good to know- My plugin was derived from the embOS plugin but the MQX kernel structure is very different, so I'll need to find where R0 - R15 and PSR are stored within an MQX task. You mentioned callstack- is that separate operation to save & restore, or does a full implementation of getregs give enough for display of callstack? Thanks again David
-
Hi! I'm using an RTOS aware plug-in that I've developed for MQX, and I'm wondering if there's any way of having the call stack window reflect the context of the task selected in the displayed table (as in image below)? At present, it appears only to display the context of the active task... forum.segger.com/index.php/Attachment/4596/ I'm hoping I've just missed something in the documentation, as this would be an extremely useful feature! Many thanks David
-
Hi Nino Thank you for looking into this so quickly and for your explanation. I'm still a little puzzled as to why this trace pin configuration is happening at all, since I haven't explicitly enabled trace pins (assuming that this would be done via Project.SetTraceSource ("Trace Pins") in the .jdebug project)- Does the DLL attempt to configure the trace pins regardless of whether they've been specified? In any case, having taken the OnTraceStart() function from your example and added it to my Jli…
-
Hi Fabian Thanks for your prompt response It's the Port Control and Interrupt (PORT) registers that are being affected The attached image indicates my particular use-case. Initially, execution is halted and PortA[10] is set to the required value. Single-stepping to the next line sees PortA[10] having been reset to default. Hope this is helpful- Kind regards David
-
Hi My application runs on a K60, and I'm able to debug using the excellent Ozone tool. However, I'm experiencing something unexpected when I halt a debugging session; My application configures certain inputs from their default state to act as IRQ sources for external peripherals, which all work as expected following initial startup. If I then halt the debug session (e.g. hitting a breakpoint), these inputs appear to get reset to their default settings, and therefore no longer operate as IRQ sour…
-
Hi In my implementation of an MQX RTOS plug-in for Ozone, I'm wanting to order a table by the values in a 'Priority' column. UM08025 suggests that this is achievable using Threads.setSortByNumber(), but I'm unable to get it to function as I'd expect. I'm initialising the table as shown below: forum.segger.com/index.php/Attachment/4460/ But the sorting of the "Priority" column appears unaffected. forum.segger.com/index.php/Attachment/4461/ Have I misunderstood the purpose of Threads.setSortByNumb…
-
[SOLVED] Correct use of Debug.Evaluate when writing RTOS-aware plug-in
dnfuss - - Ozone related
PostHi Nino Release 3.22 does resolve a couple of issues I was seeing, however the cause of this particular issue remains and appears to relate to the casting of the address The structure 'kernel_data_struct' has a typedef of KERNEL_DATA_STRUCT_PTR, if I use this i.e. var KernelData = Debug.evaluate("*(KERNEL_DATA_STRUCT_PTR)" + 0x60050074c); KernelData contains the expected results. However, If I use: var KernelData = Debug.evaluate("*(struct kernel_data_struct *)" + 0x60050074c); i.e. the 'origina…
-
[SOLVED] Correct use of Debug.Evaluate when writing RTOS-aware plug-in
dnfuss - - Ozone related
PostHi I'm writing an Ozone RTOS plugin for MQX. Within Ozone's watch window, I can see the structure containing the data of interset, but I don't seem to be able to correctly read this structure within the *.js file As far as I can tell, my approach (attached) mirrors the Debug.evaluate example given in UM08025, but I'm getting 'undefined' when attempting to access any structure member following the successful evaluation check. What am I missing? forum.segger.com/index.php/Attachment/4411/ Many tha…
-
Hi Nino It's okay- I think the issue is with the Freescale LMEM cache block-If I disable caching in the bootloader, it look like I'm at last able to step and debug as expected in ext.flash (so far, so good anyway...) If this is the cause, I'd really like to understand why this prevents Jlink from working...? Update: I've just found this post which appears to address exactly this issue: [SOLVED] DEBUGGING doesn't work in external RAM, but in internal RAM Has the long-term fix mentioned here been …
-
Hi Nino I have attached a Jlink logfile indicating an instance of this. Some background: My setup is that I am using a Kinetis K60 MCU with an external flash bank. I have a bootloader which runs in internal flash, performing the low-level configuration of the MCU and peripheral devices and then jumps to the first of two applications in external flash (app1 and app2) Having tried a number of approaches in order to be able to debug the ext. flash applications app1 and/or app2, the problem always a…