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