Re: Breakpoints in bootloader assembly



On Oct 9, 11:15 am, "Dean Ramsier" <ramsiernos...@xxxxxxxxxx> wrote:
Caveat - I have no experience with the Marvell jtag tools so don't assume
because I work at BSQUARE I know the answer to your question :)

Startup is going to occur with the MMU off, so the address you use needs to
be a physical address.  The one you used with Main() is a virtual address
because Main() is called after the MMU is enabled.

Also note that StartUp is going to be running in internal RAM because that's
what the hardware does - copies a small segment of code out of NAND into
internal RAM and jumps there.  What you really want is to set a hardware
breakpoint at that location.

And no, I don't know what it is offhand :)

--
Dean Ramsier - eMVP
BSQUARE Corporation

"RyeCatcher" <daniel.chi...@xxxxxxxxx> wrote in message

news:uBfXKOhKJHA.4452@xxxxxxxxxxxxxxxxxxxxxxx

Here we do not care about the boot mode. If you want to set a break point,
you can just set a dead loop at the Startup, as shown below.

Startup

deadloop

b    deadloop

Then it will stop at the Startup point. You can use some debug tools to
check if the current PC is pointing here.

--
RyeCatcher

Shanghai, China

<jared.win...@xxxxxxxx>
??????:76c4e839-b91d-47bf-8b72-da34065e4...@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
On Oct 8, 2:33 pm, "Paul G. Tobey [eMVP]" <p space tobey no spam AT no
instrument no spam DOT com> wrote:
Think we might need to know what bootloader you're talking about? What
version of Windows CE? What hardware debugging support you have? What
processor type? It looks like ARM, but why make us guess?

Paul T.

<jared.win...@xxxxxxxx> wrote in message

news:8b5526ea-8da8-4408-8992-2d07c8f7e7ea@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

I am trying to setup breakpoints in my bootloader before my the main()
function gets called. For instance, I would like be able to set a
breakpoint at the beginning of the StartUp function which is written
in assembly. I have no problem setting breakpoints for C functions,
for example I can create a new breakpoint and just type "main" into
the New Breakpoint dialog. I can also set a HW breakpoint using the
address of main (in my case 0x9000c1c0) and that works too. Trying to
enter "StartUp" rather than "main" doesn't work, nor does using its
address. I have noticed that the symbol "StartUp" isn't seen in my
bootloader executable like "main" is (as inspected with dumpbin). Any
suggestions of what I might be doing wrong would be appreciated.
Thanks.

Sure, sorry for the lack of details. I am running Windows CE 6 on a
BSquare development board with a PXA320 (XScale) processor. The
bootloader is from BSquare (not eboot), and it is booting from NAND
flash. If I understand things correctly, the processor has a BootROM
that will copy the the bootloader out of the NAND flash into internal
RAM, and then the BootROM will jump to my bootloader. I am using a
Macraigor usb2sprite JTAG probe and the Marvell Debugger Extensions
for Windows 3.0 provides my eXDI2 driver. Thanks.

got it, thanks. if anyone else has the same problem, the BootROM
copies the first block of the bootloader to address 0x5C014000, so
that is where you want to set the hardware breakpoint. See the BootROM
Reference Manual for the PXA3xx for more info. thanks again.
.



Relevant Pages

  • Re: Breakpoints in bootloader assembly
    ... Also note that StartUp is going to be running in internal RAM because that's ... breakpoint at the beginning of the StartUp function which is written ... BSquare development board with a PXA320 processor. ... bootloader is from BSquare, and it is booting from NAND ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Breakpoints in bootloader assembly
    ... Then it will stop at the Startup point. ... version of Windows CE? ... breakpoint at the beginning of the StartUp function which is written ... bootloader is from BSquare, and it is booting from NAND ...
    (microsoft.public.windowsce.platbuilder)
  • Access VBA Debugging unmöglich
    ... Ist Folge der Einstellung Extras / Start / Access- ... Spezialtasten verwenden = nicht aktiviert ... Open the database in which the breakpoint has been set. ... On the Tools menu, click Startup, and then in the Startup ...
    (microsoft.public.de.access)
  • Re: eboot.bib question
    ... but oalstartup is starting at A01D0EAC. ... and MMU turned on, your bootloader's StartUp ... Just define StartUp entry in your bootloader ... and jump to the bootloader's "C" main... ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Where is the eboot startup code?
    ... just // implement a pseudo 'main' instead of changing the startup ... The bootloader entry point (the first instruction executed on ... instead of the kernel entry ... someone will be able to give you more detailed information. ...
    (microsoft.public.windowsce.platbuilder)