public inbox for linuxppc-dev@ozlabs.org 
 help / color / mirror / Atom feed
From: "Richard Hendricks" <richard.hendricks@motorola•com>
To: linuxppc-embedded@lists•linuxppc.org
Subject: Re: Board boots when in BDM, hangs otherwise
Date: Tue, 02 May 2000 16:22:00 -0500	[thread overview]
Message-ID: <390F46F8.1748ACC9@motorola.com> (raw)
In-Reply-To: 390EEDC5.362C58FB@motorola.com

[-- Attachment #1: Type: text/plain, Size: 2846 bytes --]

Note:  This stuff only applies for Metrowerks running bare metal on the
FADS board.

Here are the instructions:
> Changes to PowerPC Runtime Source
>
> Add a __declspec(".init") before "extern void __start(void)" in
> __start.c
> Remove #pragma code_type ".init" in __start.c
> Add the following lines of code to __init_hardware() in
> __ppc_eabi_init.c and .cpp right after the nofralloc
>
>         /* Our address is really in high Flash ROM space.  When reset,
> execution
>          * starts at 0x0100.  This code fragment jumps us to the correct
>          * high memory area */
>
>         lis r3, __init_hardware@h  /* high address of __start */
>         ori r3, r3, __init_hardware@l
>         addi r3, r3, 0x0014  /* Jumps us into the NOPs below */
>         mtctr r3
>         bctr
>
>         nop
>         nop
>
>     /* Now we need to fix the LR since it points back to 0x0000_010x,
>      * not 0x0280_010x like it needs to after we muck up the BCSR's */
>
>     mflr r3
>     oris r3, r3, 0x0280
>     mtlr r3
>
> //Do rest of board setup here, including MSR, IMMR, disable and
> invalidate caches, program UPM, ICTRL, DER, and ICR
>
> Chages to PowerPC Runtime Include
>
> Remove declspec from both __init_hardware() and ADSInit() in file
> __ppc_eabi_init.h
>
> Next recompile Runtime.
> Make sure __ppc_eabi_init in project file points to new modified
> version.
>
> Then goto the project you wish to use flash, and change the Code Address
> to start at 0x02800100.  Since __start is the only function marked as
> .init, it will now be at the correct location, 0x0100 during bootup.
>
> The runtime will also work when not flashing.
>
> This will also allow you to run standalone, and with MPC8bug attached by
> "go 02800100".

I sent them in to Metrowerks, so hopefully their next iteration will
work.  I have also included my whole _FADS.cpp init file.

"Richard Hendricks (ra6353)" wrote:
>
> Jim Lewis wrote:
> >
> > Hi Josh,
> ..
> > Ther is one register that the IN command sets that it does not tell you about. That
> > is the ICTRL register, which controls serialization of the core, among other
> > things. On powerup, it is set to SHOW-ALL-INSTRUCTION-FETCH-CYCLES. Some 8xx
> > processors have problems with this. Read the errata. Check to make sure you are
> > setting ICTRL to something like 0x07 in your firmware.
> >
> > -Jim
>
> This is also probably the source of your slowdown when running
> off of BDM.
>
> Also make sure the watchdog is disabled (Dan's code does this, I think).
>
> If anyone is interested, I can post the startup file I use for
> running from flash on the FADS board using Metrowerks.  I finally
> figured out a way that I can run the same flash image standalone,
> and through MPC8bug.
>
> --
> MPC823 Applications Engineering Development
>

--
MPC823 Applications Engineering Development

[-- Attachment #2: __ppc_eabi_init_FADS.cpp --]
[-- Type: application/x-unknown-content-type-CodeWarrior_cpp, Size: 12546 bytes --]

  reply	other threads:[~2000-05-02 21:22 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-05-01 22:40 Board boots when in BDM, hangs otherwise Jochen Roth
2000-05-01 23:38 ` Jim Lewis
2000-05-02 13:59   ` Joshua Horvath
2000-05-02 15:01   ` Richard Hendricks
2000-05-02 21:22     ` Richard Hendricks [this message]
  -- strict thread matches above, loose matches on Subject: below --
2000-05-01 19:36 Joshua Horvath
2000-05-01 22:39 ` Dan Malek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=390F46F8.1748ACC9@motorola.com \
    --to=richard.hendricks@motorola$(echo .)com \
    --cc=linuxppc-embedded@lists$(echo .)linuxppc.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox