Address error
Thomas Doerfler
Thomas.Doerfler at imd-systems.de
Wed Sep 3 08:35:48 UTC 2003
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
More information about the users
mailing list