• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Embedded Software » Linux » Linux forum » TIDM368 IPNC执行reboot后不能启动成功!
Share
Linux
  • Forum
Options
  • Subscribe via RSS

Forums

TIDM368 IPNC执行reboot后不能启动成功!

This question is not answered
Tan Rick99944
Posted by Tan Rick99944
on Aug 07 2012 04:57 AM
Prodigy50 points

TIDM368 IPNC执行reboot后不能启动:

Sending all processes the KILL signal... Done. #这是执行reboot

Starting reboot command: reboot

Rebooting...

Restarting system.

.

DM36x initialization passed!

TI UBL Version: 1.50

Booting Catalog Boot Loader

BootMode = NAND

Starting NAND Copy... #将程序从FLASH拷贝到DDR RAM中运行。

Valid magicnum, 0xA1ACED66, found in block 0x00000008.

   DONE

Jumping to entry point at 0x81080000.

 DM368_IPNC_UBL_1.0.0

U-Boot 1.3.4 (Dec 16 2010 - 21:38:22) DM368-IPNC-1.0.0 #交权给uboot

I2C:   ready

DRAM:  128 MB

NAND:  NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3V 8-bit)

TTTTTTTTTTTTTTTTEDMA_Read8 timeout!! #timeout发生在copy的过程中,这表明是u-boot init NAND flash有问题。

TTTTTTTTTTTTTTTTEDMA_Read8 timeout!!

TTTTTTTTTTTTTTTTEDMA_Read8 timeout!!

TTTTTTTTTTTTTTTTEDMA_Read8 timeout!!

TTTTTTTTTTTTTTTTEDMA_Read8 timeout!!

TTTTTTTTTTTTTTTTEDMA_Read8 timeout!!

TTTTTTTTTTTTTTTTEDMA_Read8 timeout!!

TTTTTTTTTTTTTTTTEDMA_Read8 timeout!!

Bad block table not found for chip 0

TTTTTTTTTTTTTTTTEDMA_Read8 timeout!!

TTTTTTTTTTTTTTTTEDMA_Read8 timeout!!

TTTTTTTTTTTTTTTTEDMA_Read8 timeout!!

TTTTTTTTTTTTTTTTEDMA_Read8 timeout!!

Bad block table found at page 65408, version 0x01

TTTTTTTTTTTTTTTTEDMA_Read8 timeout!!

TTTTTTTTTTTTTTTTEDMA_Read8 timeout!!

TTTTTTTTTTTTTTTTEDMA_Read8 timeout!!

TTTTTTTTTTTTTTTTEDMA_Read8 timeout!!

TTTTTTTTTTTTTTTTEDMA_Read8 timeout!!

Bad block table written to 0x07fe0000, version 0x01

128 MiB

TTTTTTTTTTTTTT

第一次的对策由TI的第三方Appro公司的的george给出:

他的建议是:正常的reboot程序,請參考

ipnc_app/network/boa-0.94.13/src/appro_api.c 中的 void restart_ipcam(.....){} 的寫法

關於reboot_ipnc,可以參照上述function

自行修改 ipnc_app/interface/src/reboot_ipnc.c

我把code paste here

void restart_ipcam(void)

{

char cmd[64];

int dev_fp;

void *pMem_map;

unsigned long phyAddr= 0x01C41000;

unsigned long length = 0xAE0;

unsigned int *pPSCCtrl = NULL;

unsigned int *pPTCMD = NULL;

if ((dev_fp=open("/dev/mem",O_RDWR|O_SYNC))==-1)

{

return ;

}

pMem_map=mmap((void *)phyAddr,length,PROT_READ|PROT_WRITE|PROT_EXEC,MAP_SHARED, dev_fp,phyAddr);

if (pMem_map!=(void *)phyAddr)

{

return ;

}

pPTCMD  = (unsigned int *)( (char *)pMem_map+0x120);

pPSCCtrl  = (unsigned int *)( (char *)pMem_map+0xA00);

//EDMA 

*(pPSCCtrl+0)  = 2;

*pPTCMD  = 1;

usleep(5000);

//EDMA 

*(pPSCCtrl+1)  = 2;

*pPTCMD  = 1;

usleep(5000);

//EDMA 

*(pPSCCtrl+2)  = 2;

*pPTCMD  = 1;

usleep(5000);

//EDMA 

*(pPSCCtrl+3)  = 2;

*pPTCMD  = 1;

usleep(5000);

//EDMA 

*(pPSCCtrl+4)  = 2;

*pPTCMD  = 1;

usleep(5000);

//VPSS 

*(pPSCCtrl+47)  = 2;

*pPTCMD  = 1;

usleep(5000);

//MJCP 

*(pPSCCtrl+50)  = 2;

*pPTCMD  = 1;

usleep(5000);

//HDVICP 

*(pPSCCtrl+51)  = 2;

*pPTCMD  = 1;

usleep(5000);

if( pMem_map )

munmap(pMem_map, length);

if( dev_fp >= 0)

close(dev_fp);

sprintf(cmd, "/sbin/shutdown -r now");

system(cmd);

return;

}

从程序来看,只是做了一个munmap的动作,似乎多此一举。而且,我实测的结果是,这样可能会导致reboot根本无法成功,就是说,reboot都无法用了。

对策二:用watchdog来复位。

实测的结果是:30次会发生约1次不成功,也就是说,仍然有机率复位不成功。

u-boot IPNC Timeout EDMA_Read8 reboot TIDM368
Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • Raghu Kudva
    Posted by Raghu Kudva
    on Aug 17 2012 03:29 AM
    Expert6665 points

    It looks like you are using very old version of UBL, uboot and system code.

    we had fixed this hanging DMA issue in later version.can you please migrate to latest version

    please check with Appro for downalod or software upgradees

    Regards,

    Raghu


    Please mark this reply as Verify Answer on this post if it answers the question.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Wonder Won
    Posted by Wonder Won
    on Dec 14 2012 06:08 AM
    Intellectual960 points

    I updated to ipnc ubl 2.1.0 + u-boot 1.0(the uboot is same as previous ipnc 2.0), the emda_timeout iusse seems fix, but ubl hangup with watchdog reset. Following is the log,

    DM36x initialization passed!

    TI UBL Base Version: 1.50

    Boot Loader BootMode = NAND

    Starting NAND Copy...                 # hangup there

     

    Normal boot log is

    DM36x initialization passed!          # normal TI UBL Base Version: 1.50 Boot Loader BootMode = NAND Starting NAND Copy... Valid magicnum, 0xA1ACED66, found in block 0x00000008. Boot Mode Task Completed

    IPNC UBL Version: 2.1.0 Platform: DM368-432

    Jumping to entry point at 0x81080000

    U-Boot 1.3.4 (Apr 20 2010 - 11:42:44) DM368-IPNC-1.0.0

    ...............................

    ...............................

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use