[U-Boot-Users] Decrementer timer do not works

Yu Weiping wyu120 at gmail.com
Tue Nov 15 22:07:17 CET 2005

 At what condition MPC7447A will generate Decrementer exception? From the
user manual, I just found two conditions: value in DEC register reach to 0
(at next cycle, it will be 0xFFFFFFFF, e.g. the MSB will change from 0 to
1), and MSR[EE] (bit 16) should be 1.
 All these two conditions are there, but I can't see the decrementer
exception run. I cleaned memory section 0x900 ~ 0xa00 to all zeros and erase
flash section 0xFFF00000 ~ 0xFFFFFFFF to all 0xFFs. MSR = 0xa030 (MSR[EE] =
1). Nothing happened, shell still there and commands can work as usrual.
Even I set DEC register to 0 in the shell, still can't crash CPU.
 Following are data in 0x900:
00000900: 7e9043a6 7eb143a6 7e800026 3aa1ff00 ~.C.~.C.~..&:...
00000910: 929500a8 92d50068 92f5006c 7e9042a6 .......h...l~.B.
00000920: 92950060 7ed142a6 92d50064 7e8802a6 ...`~.B....d~...
00000930: 929500a0 7ec902a6 92d5009c 7e8102a6 ....~.......~...
00000940: 929500a4 7eda02a6 7efb02a6 90150010 ....~...~.......
00000950: 90350014 90550018 90350000 7ea1ab78 .5...U...5..~..x
00000960: 9075001c 90950020 90b50024 90d50028 .u..... ...$...(
00000970: 806e8014 7c6803a6 38610010 3a801002 .n..|h..8a..:...
00000980: 52f40672 4e800021 00fcf4dc 00fbb2a8 R..rN..!........
 and the data in 0x988 is the ISR function pointer. I can use go command to
run this ISR (go 0xFCF4DC), and ISR runs as what I want.
 following are data in 0xFFF00900:
fff00900: 7e9043a6 7eb143a6 7e800026 3aa1ff00 ~.C.~.C.~..&:...
fff00910: 929500a8 92d50068 92f5006c 7e9042a6 .......h...l~.B.
fff00920: 92950060 7ed142a6 92d50064 7e8802a6 ...`~.B....d~...
fff00930: 929500a0 7ec902a6 92d5009c 7e8102a6 ....~.......~...
fff00940: 929500a4 7eda02a6 7efb02a6 90150010 ....~...~.......
fff00950: 90350014 90550018 90350000 7ea1ab78 .5...U...5..~..x
fff00960: 9075001c 90950020 90b50024 90d50028 .u..... ...$...(
fff00970: 806e8014 7c6803a6 38610010 3a801002 .n..|h..8a..:...
fff00980: 52f40672 4e800021 000164dc 000022a8 R..rN..!..d...".
 same as data in 0x900, except 0x988 and 0x98c. seems right.
 What else can I do?

 On 11/14/05, Yu Weiping <wyu120 at gmail.com> wrote:
> I think Decrementer runs because every time I read the DEC register (SPR
> 22), different value returned.
>  In the timer_interrupt, set_dec(decrementer_count) was called to reload
> the value of DEC register. I also tried to change decrementer_count value to
> 100, and then the value of DEC register I read out will always smaller than
> 100 (I tried many times). if I mask the call of set_dec in timer_interrupt,
> then I can read out big values (such as 0xFxxxxxxx, 0xExxxxxxx) for the DEC
> register. From this test, I guess the timer_interrupt was called after the
> exception generated. But the value of timestamp always be 0. It's hard to
> believe since in timer_interrupt, after calling set_dec, timestamp++ should
> be excuted.
>  On 11/14/05, bbosch at iphase.com <bbosch at iphase.com> wrote:
> >
> > I don't have the data sheet in front of me at the moment, but I seem
> > to recall that the 7447 has a hardware pin which must be strapped
> > properly to enable the decrementer. U-Boot assumes the hardware is
> > configured this way. Without the proper pull up or down resistor, the
> > decrementer just does not run.
> >
> > --Brad
> >
> >
> > -------------------------------------------------------
> > This SF.Net email is sponsored by the JBoss Inc. Get Certified Today
> > Register for a JBoss Training Course. Free Certification Exam
> > for All Training Attendees Through End of 2005. For more info visit:
> > http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click
> > _______________________________________________
> > U-Boot-Users mailing list
> > U-Boot-Users at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/u-boot-users
> >
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.denx.de/pipermail/u-boot/attachments/20051115/47e09e68/attachment.htm 

More information about the U-Boot mailing list