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