LDRH and STRH is broke in the the 2.2.1 kernel for the ARM720T. Try a 2.4.x
kernel.
Cliff
>-----Original Message-----
>From: [EMAIL PROTECTED]
>[mailto:[EMAIL PROTECTED]]On Behalf Of MNShukla
>Sent: Thursday, May 10, 2001 9:24 AM
>To: Russell King - ARM Linux
>Cc: [EMAIL PROTECTED]
>Subject: Re: Querry....
>
>
>Russell King - ARM Linux wrote:
>
>> On Thu, May 10, 2001 at 09:48:21AM +0530, MNShukla wrote:
>> > I am using arm-linux-gcc compiler tool, obtained from
>> > http://www.lart.tudelft.nl/lartware/compile-tools/ .
>> > I am working on EP7212 (arm7tdmi core) eval board and
>using open linux.
>> > If I use assembly instruction STRH (write half word in memory), it
>> > causes kernel-panic only in the address range 0x0203e000
>to 0x0203efff
>> > (kb size) and And I am able ot use this instruction
>leaving this address
>> > range.
>>
>> Where is the kernel Oops output?
>> _____
>
>1# I am not getting the Oops error/output. I had modified
>the panic file
>to print the task structure which prints the following information:
>Kernel panic: Unknown data abort code 4194304 [pc=02000224,
>*pc=e1c100bc] LR=02000224
>Current program :comm[] = ads46
> pid=6
>exit_code = 0, exit_signal = 17
>pdeath_signal = 0
>
>start_data:0
> end_data:203cc50
>
>start_code:2000000
> end_code:2033bcc
>start_stack: bfffff50
>arg_start=bfffffb2
> arg_end=bfffffba
>
>2# Kernel Version:
> #define LINUX_VERSION_CODE 131585
> This is in linux\include\linux\version.h
>----- I think it
>means Linux kernel version = 2.02.01 which I am assuming a stable Linux
>version.
>
>3# The small test program is shown below. In the Map file,
>we get address
>of global variable "mnglobal" as 0x0203dfa4. When we write
>mnglobal[46] (whose
>address will be 0x0203e000) it gives kernel panic with
>information given above
>(#1).
>If we access mnglobal[45], there is no problem.
>Now, if we change STRH by STRB in init.s file and then create
>init.o, we can
>write at mnglobal[46 or 47 etc]
>
>Thanks in advance....
>Regards,
>-Mahesh
>---------------------------------------
>filie = init.c ---- compiled on ADS v1.1
>---------------------------------------
>extern short mnglobal[15000];
>void init(void)
>{
> mnglobal[46] = 1;
>} /* init */
>
>------------------------------------------
>filie = data.c ----- compiled on ADS v1.1
>------------------------------------------
>short mnglobal[15000];
>
>---------------------------------------------
>filie = test.c ----- compiled on ADS v1.1
>---------------------------------------------
># include <stdio.h>
>extern short mnglobal[15000];
>extern void init(void);
>int main (void)
>{
> init();
> mnglobal[0] = 1234 ;
> printf("\n mnglobal[0] = %d\n", mnglobal[0]);
> printf("\n &mnglobal[645] = %p\n", &mnglobal[645]);
>}
>-----------------------------------------------
>All the above 3 files are linked by using arm-linux-gcc.
>
>
>>
>> |_____| ------------------------------------------------- ---+---+-
>> | | Russell King [EMAIL PROTECTED] --- ---
>> | | | | http://www.arm.linux.org.uk/ / / |
>> | +-+-+ --- -+-
>> / | THE developer of ARM Linux |+| /|\
>> / | | | --- |
>> +-+-+ ------------------------------------------------- /\\\ |
>
_______________________________________________
http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm
Please visit the above address for information on this list.