Address error
Thomas Doerfler
Thomas.Doerfler at imd-systems.de
Wed Sep 3 09:09:05 UTC 2003
Leon,
your welcome. I am glad I could save your head
from breaking apart :->
wkr,
Thomas.
> Thomas,
> You are great!!!!!!
> I don't know how to thank you - I brake my head already for the second day,
> but do not see this simple difference in declarations!
>
> 1001 of thanks to you!!!
>
> On Wednesday 03 September 2003 11:35, Thomas Doerfler wrote:
> > Hello Loen,
> >
> > maybe the answer is in the definition of your _output_char
> > function.
> >
> > AFAIK "BSP_output_char" should be a pointer to a output
> > function, like:
> >
> > BSP_output_char_function_type BSP_output_char;
> >
> > Initially it should point to a dummy function that performs
> > nothing. When your serial I/O is up and running, you can move
> > the pointer to the corresponding function.
> >
> > void my_output_char_fnc(char c)
> > {
> > /* output my character */
> > }
> >
> > void console_init( blablabla)
> > {
> > ...
> > /* init my output device */
> > ...
> > BSP_output_char = my_output_char_fnc;
> > ...
> > }
> >
> >
> > I guess you have named your output function as
> > "BSP_output_char", but printk assumes this "label" is a
> > pointer to the function, not the fucntion code itself.
> >
> > Does this fit your problem?
> >
> > wkr,
> > Thomas.
> >
> > > Hello,
> > > I see that my first mail was formulated unclear.
> > > Here is the next attempt :-))
> > >
> > > I have RH9 running the last tools and snapshot, my own BSP derived form
> > > mbx860 via bdm.
> > > The printk function tries to call my BSP_output_char via vprintk. The
> > > map shows that BSP_output_char resides at 0x34330.
> > >
> > > Below is the assembler of the call:
> > >
> > > 0x17a14 <vprintk+1056>: lis r11,3 R11=0x30000
> > > 0x17a18 <vprintk+1060>: lwz r9,8(r31)
> > > 0x17a1c <vprintk+1064>: lbz r0,0(r9)
> > > 0x17a20 <vprintk+1068>: clrlwi r0,r0,24
> > > 0x17a24 <vprintk+1072>: lwz r11,17200(r11) R11=0x9421ffe0 ?????
> > > 0x17a28 <vprintk+1076>: mtctr r11
> > > 0x17a2c <vprintk+1080>: mr r3,r0
> > > 0x17a30 <vprintk+1084>: bctrl
> > >
> > > The address which is put into CTRL register is 0x9421ffe0. It is the
> > > content of 0x34330 (assembler commands of BSP_output_char ).
> > > The question is why the code tries to call THIS function indirectly,
> > > while the calling address is direct?
> > >
> > >
> > > Any help will be VERY highly appreciated...
> > >
> > > --
> > > leonp at plris dot com
> >
> > --------------------------------------------
> > IMD Ingenieurbuero fuer Microcomputertechnik
> > Thomas Doerfler Herbststrasse 8
> > D-82178 Puchheim Germany
> > email: Thomas.Doerfler at imd-systems.de
> > PGP public key available at: http://www.imd-
> > systems.de/pgp_keys.htm
>
> --
> Dr.Leon M.Pollak
> Director
> PLR Information Systems Ltd.
> leonp at plris dot com
--------------------------------------------
IMD Ingenieurbuero fuer Microcomputertechnik
Thomas Doerfler Herbststrasse 8
D-82178 Puchheim Germany
email: Thomas.Doerfler at imd-systems.de
PGP public key available at: http://www.imd-
systems.de/pgp_keys.htm
More information about the users
mailing list