AnsweredAssumed Answered

USB Boot loader AN4368- k60 Twr, cw10.3, mqx 3.8.1, fails on sp & pc cntr load

Question asked by Robert Lewis on Oct 17, 2012
Latest reply on Oct 26, 2012 by David E Seymour

I have the latest code from the forum for cw10.2 & an4368, that compiles without errors for the k60 tower board.


I was unsure of the correct processor type, so I created a debug configuration for both the k60N512Z, and k60N512MLV10; we get the same failure on both. (I looked but I can't see the difference between these two processors). I rebuilt all the mqx libraries, bsp, psp, mfs, usb for the mqx k60 tower project


The code runs to the point where the stack and pc counter are loaded. The stack and pc counter always loads as 0xffffffff. The switch value on PTA19 is correct at 0x80000.


    New_sp  = IMAGE_ADDR[0];

    New_pc  = IMAGE_ADDR[1];


When the sp, and pc are loaded from here they are always 0xffffffff. So I thought that there must be something wrong with the build, or something is not set up correctly. I followed the app note but without success. I also tried where someone on the forum turned off the USB peripheral clock, but no luck.


The PE terminal program is running on Win 7, sp1 and is version 2.05, the latest that PE has. The port will open but nothing is printed on the screen. All the jumpers are on the board as per the appnote.


The .mem file is what was in the base project.


KEEP_SECTION { .vectortable }

KEEP_SECTION { .cfmconfig }




  interrupts  (RX) : ORIGIN = 0x00000000, LENGTH = 0x000001E0

  code        (RX) : ORIGIN = 0x00000410, LENGTH = 0x0007FBF0

  data14000000 (RW) : ORIGIN = 0x14000000, LENGTH = 0x00001000

  data        (RW) : ORIGIN = 0x1FFF0000, LENGTH = 0x00020000

  cfmprotrom  (RX) : ORIGIN = 0x00000400, LENGTH = 0x00000400



I can see where everyone on the forum seems to get this to work out of the box, so I am not sure of the error I am making. Any help would be much appreciated. Thanks.





  # Heap and Stack sizes definition

  __heap_size = 0x6000;

  ___stack_size = 0x2000;