This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

reboot the device using "KernelIoControl"

Other Parts Discussed in Thread: OMAP3530

Hi,

One of the customer is facing an issue while rebooting the device. Below are the descriptions.

Processor you are using            : OMAP3530,
BSP version                              : 6.6.0        
Platform (EVM or custom board)     : Custom board,
Steps to reproduce the problem.    : reboot the device using "KernelIoControl(IOCTL_HAL_REBOOT,NULL,0,NULL,0,NULL);"

then some time reboot and some times not, get stucked after XLDR is up with message "Jumpingto bootloader" this is a XLDRmessage before  XLDRMSGDEINIT;

Thanks

regards

Sathish.

  • Sathish,

    The BSP version they are using is significantly old (more than 1.5 years I think).

    Can they download the latest BSP 6.14.00 and try that on the EVM: Using the shell command "reboot". ==> this one uses the IOCTL_HAL_REBOOT. You can run this command if you don't have KITL enabled by doing Start->Run->"do reboot" on the WinCE desktop. This one works fine. (they could try the same thing on the EVM with the BSP 6.06 drop though I'm not sure if the command existed in that release).

    Alternately they can download the latest source and compare the modifications in this area and see if anything needs to be picked up.

    Jatin

  • Hi, Jatin

    I am using BSP_WINCE_ARM_A8_01_02_00, but IOCTL_HAL_REBOOT always failed, it stops in XLDR, as the following log.

    Rebooting

    Texas Instruments Windows CE NAND X-Loader for EVM 3530
    Built Sep 18 2013 at 13:06:33
    Version BSP_WINCE_ARM_A8 1.02.00.02

    Can you help me?

    By the way, the hardware reset (pull down the reset pin) also failed, but it works fine after a piece of code in InitT2PowerSequence was commented

     // Set sequence start memory address for Active to Sleep

    addr = T2_A2S_SEQ_START_ADDR << 2;

    // write Active to Sleep sequence to memory
    // for (i = 0; i < T2_SLEEPOFF_COUNT; ++i)
    // {
    //     for (j = 0; j < 4; ++j)
    //     {
    //         TWLWriteByteReg(hTwl, TWL_MEMORY_ADDRESS, addr++);
    //         TWLWriteByteReg(hTwl, TWL_MEMORY_DATA, s_pT2SleepOffSeqWords[i].msgByte[3-j]);
    //     }
    // }