p1011 software restart(reboot) problem

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

p1011 software restart(reboot) problem

1,303件の閲覧回数
xupeng
Contributor II

    Now I want to realize software restart function() in my system.

    According to the user manual:

    "Software may request a hard reset by setting a bit in a
    global utilities register; see Reset control register (GUTS_RSTCR)."

    So I did this:

    #define GUTS_RSTCR 0xE00B0
    #define HRESET_REQ 1/* Hardware reset request */
    *(volatile unsigned int *)(CCSRBAR + GUTS_RSTCR) = (1 << HRESET_REQ);

    

    As described above,My system did not reboot.What steps did I omit?

    if anyone konws,please tell me!

    Thanks!

タグ(2)
0 件の賞賛
返信
2 返答(返信)

1,077件の閲覧回数
r8070z
NXP Employee
NXP Employee
Here the example from www.denx.de.git.u-boot.git./master/git/cpu/mpc85xx/cpu.c
int do_reset (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]) 
{      
   uint pvr;      
   uint ver;      
   pvr = get_pvr();      
   ver = PVR_VER(pvr);      
   if (ver & 1) {      
     /* e500 v2 core has reset control register */           
     volatile unsigned int * rstcr;       
     rstcr = (volatile unsigned int *)(CFG_IMMR + 0xE00B0);     
     *rstcr = 0x2;          /* HRESET_REQ */        
   } else {...
I.e. it just writes 0x2 to the rstcr (set HRESET_REQ bit) like we suppose your code does too.
Notice that it just assigns the HRESET_REQ_B pin. There should be external cuircuit on your system 
which tests HRESET_REQ_B pin state and assigns HRESET input of the processor.

1,077件の閲覧回数
xupeng
Contributor II

thank you very much!

0 件の賞賛
返信