What does it mean: No source available for " 0x4006C000 (0x4006C000)() "

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

What does it mean: No source available for " 0x4006C000 (0x4006C000)() "

Jump to solution
2,811 Views
UB39
Contributor I

Hello!

 

I ve a strange behaviour with my MQX project under CW 10.1

I bulid my project without problems. After that I turn the debug button and the Launching happens without error message. But at the End of Launching there s a message that there s no source available for " 0x4006C000 (0x4006C000)() "

I don t know what this means cause I don t use such a file.

The result of this message is, that I cannot debug my program.

 

 

And very stange: When I insert or delete some instructions  the message dissolves, but comes back when I insert or delete some other instructions. So I cannot see any correlation between the message and my code.

 

Do you know the meaning of the message and what I can do against it.

 

Many thanks

 

Ulf

0 Kudos
1 Solution
964 Views
DavidS
NXP Employee
NXP Employee

Hi UB39,

Can you post the code example?

Does seem more like a stack corruption but would be good to see what the instructions are you turn on and off.

Can you set the debugger to not run to main (i.e. set it up to start with first instruction rather than run to main)?  Then you might step upto the bad code or break just before it to inspect the system.

Regards,

David

View solution in original post

0 Kudos
8 Replies
964 Views
MarkP_
Contributor V

Hi Ulf,
The address comes from:
#define UART2_BASE_PTR  ((UART_MemMapPtr)0x4006C000u)
in MK60N512VMD100.h.

Check and add the bsp and psp directories to debugger Source Lookup Path:

Mouse right click at project ->
Debug as -> Debug Configurations ->
Select project at left  under the "Codewarrior Download"
Select at right "Source" (title at window: Source Lookup Path)
Click button "Add"
Select "Project"
Mark bsp and psp projects
Then OK and Apply

Now the debugger searches those directories to find source files.
(Hopefully this helps, and above steps are correct.
Made something like that at my work PC at office)

 

~Mark






0 Kudos
964 Views
MarkP_
Contributor V

One correction, I have added the whole Freescale directory, see attached file.

~Mark

0 Kudos
964 Views
UB39
Contributor I

Thank you, Mark, for your answer.

I tried it, but it has no effect.

 

I added to pictures. The first one shows the state with the no_source_available message the second one without it.

The difference in code between the 2 pictures is that there s an additionaly dummy  instruction without any effect in the code that leads to the source available picture which is uncommended in the no_source_available situation.

 

It s very strange cause little changes in my code changes the state from the no_source_available state to the source_available and vis a vis, so it is nearly impossible to program.

 

As you can see at the pictures, not only the source_available situation changes. The tasks and their names changes without any reason, too.

 

As you can see, the Resume Button in the no_source_available state isn t dectivated, but when I use it, I get more no_source_available messages for 0x00001340, 0x000018BE and so on. And I can see that my program doesn t behave as it should.

 

Ulf

 

 

0 Kudos
964 Views
MarkP_
Contributor V

I think the software has crashed, stack overflow etc.

On the debug-window there should only be code addresses.

~Mark

0 Kudos
965 Views
DavidS
NXP Employee
NXP Employee

Hi UB39,

Can you post the code example?

Does seem more like a stack corruption but would be good to see what the instructions are you turn on and off.

Can you set the debugger to not run to main (i.e. set it up to start with first instruction rather than run to main)?  Then you might step upto the bad code or break just before it to inspect the system.

Regards,

David

0 Kudos
964 Views
UB39
Contributor I

Hi!

 

You can see the 2 code fracments that causes the different behaviour. As you can see, the only difference is that  I increase the counter in the eror free case, what I don t do in the errornous case. But the error happens before I reach my main and also this code fracment.

 

I start to follow David´s hint,

 

I changed my entry point and started to step at the beginning. That s very interesting.

First of all the following Assembler Code is executed:

__boot:
        mrs r0, MSP
        msr PSP, r0
       
        ; switch to proccess stack (PSP)
        mrs r0, CONTROL
        orr r0, r0, #2
        msr CONTROL, r0
       
        b __iar_program_start

 

That s very interesting cause I don t use IAR but CW 10.1 and I followed all getting started instructions.

After executing the branch I got the following message (either in the error free and the errornous state and in a MQX example):

 

Can't find a source file at "D:\workspace\ARM_CORTEXM\ARM_CortexM_Component\ewl\EWL_Runtime\Runtime_ARM\Source\startup.c"
Locate the file or edit the source lookup path to include its location.

 

That s strange, cause that path doesn t exist and I cannot find any location where I can specify the path to a startup.c file and the path isn t specified at the project properties path and symbol menu, too.

 

Cause I got the message in every case I step further on (it s still possible), but I got the message several times and the following message once:

 

Can't find a source file at "D:\workspace\ARM_CORTEXM\ARM_CortexM_Component\ewl\EWL_Runtime\Runtime_ARM\Source\__arm_eabi_init.c"
Locate the file or edit the source lookup path to include its location.

 

So I step further on. First I reach this Assembler code:

 

__iar_program_start:
1fff8f00:   ldr r3,[pc,#0x4]
1fff8f04:   bx r3

 

Then I jump to this Assmebler Code:

__thumb_startup:
1fff8f0c:   bl __init_registers (0x1fff8ec8); 0x1fff8ec8
1fff8f10:   bl __init_hardware (0x1fff6cac); 0x1fff6cac
1fff8f14:   ldr r0,[pc,#0x3a]
1fff8f18:   cmp r0,#0

 

And her s the diffrence between the error free and the errornous code.In the error free case I step over the 2 branches at the beginning of _thumb start, at the errornous case I take the second jump (bl __init_hardware (0x1fff6cac); 0x1fff6cac) and jump to a position 4006c000:   andeq r0,r0,r0,lsl #8

which causes the message

No source available for " 0x4006C000 (0x4006C000)()

 

Very starnge, that I jump to 4006c000 cause the assembler looks like a jump to 0x1fff6cac

And very strange that the different jump behavior between the error free and the errornous case comes from a useless instruction.

 

At the moment I have several code fracments that causes the same effect. So I have several working places where I cannot program the code I want because of this strange effect.

 

I hope you can help me

 

Ulf

 

 

 

 

 

 

 

0 Kudos
964 Views
UB39
Contributor I

I find a way to import the startup.c file. After I did this, all strange behaviour disappears.

 

Thankk you for your help.

 

Ulf

0 Kudos
964 Views
nicho
Contributor I

I have the same problem.

Can you give me the steps to fix it?

 

thanks

0 Kudos