Actually, did you know that there is a program in the TSLinux
image called "jp" which interrogates the jumpers.
On Mon, 19 May 2008, Jim Jackson wrote:
>
>
>
> On Sun, 18 May 2008, carol9078 wrote:
>
>> I'm alsot certainly missing the point, but why dows a simple memory
>> read of the JP6 setting address not work and cause a segmntation fault
>> and what can I do to fix it, I'm trying to write the smallest possible
>> program to go in the initial ramdisk image to read the jumper on
>> header 6 and decide which filesystem to boot on my TS7250, using the
>> normal includes and statically linking results in a huge file (400K)
>> so I thought I would try the inline assembler route:
>>
>>
>> #define JP6 0x22800000
>>
>> int main(void)
>> {
>> int ret;
>> asm volatile (
>> "ldrh %0, [ %1 ]\n"
>> : "=r" (ret)
>> : "r" (JP6)
>> : "memory"
>> );
>> return ret;
>> }
>>
>>
>> ./a.out
>> pc : [<000083d8>] lr : [<2aadde44>] Not tainted
>> sp : 7ffffe14 ip : 7ffffe28 fp : 7ffffe24
>> r10: 2abd9000 r9 : 000083c4 r8 : 00000001
>> r7 : 00008440 r6 : 7ffffe34 r5 : 2aac7e14 r4 : 00000000
>> r3 : 22800000 r2 : 7ffffe3c r1 : 7ffffe34 r0 : 00000001
>> Flags: nZCv IRQs on FIQs on Mode USER_32 Segment user
>> Control: C000317F Table: 01770000 DAC: 00000015
>> Segmentation fault
>>
>
> You cannot access memory direct from userspace like that.
> This is an FAQ, obfuscated by your use of assembler.
> You need to acces memory io via /dev/mem and mmap()
>
>
>
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|