AT91SAM9260怎么软件控制重启???
我的程序是keil写的裸机程序,没有开看门狗,通过U-BOOT加载到内存运行,现在想通过软件实现重启,重新运行U-BOOT
就象用U-BOOT加载linux后,运行reboot命令重启一样
1.
ldr pc,=0x00
不行
2.
LDR R0, =0x00000
BX R0
不行
3.
LDR R0, =0x23F00000 //uboot装载到内存的地址
BX R0
不行
4.
AT91C_BASE_RSTC->RSTC_RCR = (AT91C_RSTC_KEY | AT91C_RSTC_PROCRST);
会重启运行我的软件,不会重启开始运行U-BOOT
5.
//取消重映射
AT91C_BASE_MATRIX->MATRIX_MRCR = 0;
//复位
AT91C_BASE_RSTC->RSTC_RCR = (AT91C_RSTC_KEY | AT91C_RSTC_PROCRST);
过了大概一分钟后,完全重启,这时间也太长了,不象linux下的reboot一下就重启了
6.
AT91C_BASE_RSTC->RSTC_RCR = (AT91C_RSTC_KEY | AT91C_RSTC_EXTRST); //NRST
AT91C_BASE_RSTC->RSTC_MR = (AT91C_RSTC_KEY | 1);
不行
7.
电源管理里MOR寄存器,关闭主振荡器,也不行
到底怎么搞,才是正确的重启??? |