CPU: S3C44B0X <br />OS: uclinux 2.4 <br /><br />在shell下执行reboot总是出现 <br />reboot failed! <br /><br />查了些资料,只能看到诸如 architecture was unable to reboot 这样的描述。 <br />既然不支持,那就打算模拟硬件reset的方式,在程序里强制跳转到 0x00000000 地址来进行复位,asm volatile("b 0x00000000"); <br />但是仍然不成功, <br />提示: <br />Unhandled fault: alignment exception (93) at 0x00000001 <br />fault-common.c(97): start_code=0xc780040, start_stack=0xc783f94) <br />Internal error: Oops: 0 <br />CPU: 0 <br />pc : [ <0c01ac14>] lr : [ <0c0157e4>] Not tainted <br />sp : 0c68bfb8 ip : 0c7802e8 fp : 00000000 <br />r10: 0c781b84 r9 : 00000000 r8 : 00000000 <br />r7 : 0c780328 r6 : 0c780280 r5 : 0c78031c r4 : 0c286d44 <br />r3 : 0c68bff4 r2 : ffffffff r1 : 20000010 r0 : 0c783566 <br />Flags: nzCv IRQs off FIQs on Mode SVC_32 Segment user <br />Control: 0 <br />Process rb (pid: 26, stackpage=0c68b000) <br />Stack: <br />0c68bfa0: 0c0157e4 0c01ac14 20000093 ffffffff 0c781d34 0c781b <br />d0 <br />0c68bfc0: 0c781bd4 0c7802d4 00000000 0c78031c 0c780280 0c780328 00000000 000000 <br />00 <br />0c68bfe0: 0c781b84 0c7802f4 0c7802e8 0c7802e8 0c780268 0c783566 20000010 ffffff <br />ff <br />Backtrace: no frame pointer <br />Code: e3a00001 e1a0f00e (e5904000) e1140aa4 e0c11001 <br />pid 26: failed 11 <br /><br />请教各位是怎么实现软复位的呢?致谢! <br /> |
|