TI中文支持网
TI专业的中文技术问题搜集分享网站

AM335X wince7.0 启动时间过长

 你好:

          目前我的am3354 跑 wince7.0,发现启动时间要1分41秒。

  不知道这个时间是否正常,还是有什么地方等待或超时。

附启动信息:

        

NK Image Loaded
Launch Windows CE image by jumping to 0x80002000…

Windows CE Kernel for ARM (Thumb Enabled)
CPU CP15 Control Register = 0xc5387f
CPU CP15 Auxiliary Control Register = 0x42
Board Name: EZ335X
Board Ver : 1.0A
+OALTimerInit(1, 24000, 200)
oal gpio dispatch
BSPGpioInit oallib
— High Performance Frequecy is 24 MHz—
PID:00400002 TID:00410002 SetOpp to 3PID:00400002 TID:01350006 ECC TYPE is BCH 8 bit with ELM
PID:00400002 TID:01350006 8Bit NAND device
PID:00400002 TID:01350006 +download_CM3: loading M3PID:00400002 TID:01350006 LoadFirmwareFile()
PID:00400002 TID:01350006 CM3: input file [\windows\firmware.bin] is 9932 bytes long
PID:00400002 TID:01350006 CM3: firmware file read ok!
PID:00400002 TID:01350006 +download_CM3: done with M3PID:00400002 TID:01350006 MSC DllMain:PID:00400002 TID:01350006 MSC_Init…
PID:00400002 TID:01350006 MSC_Init:PID:00400002 TID:01350006 device gpio dispatch
PID:00400002 TID:01350006 BSPGpioInit gpio.cpp
PID:00400002 TID:01350006 Cpsw3g_InitializeAdapter: mode=1, port=1, txCh=0, rxChMask=0x01, ActiveCpgmac=1
PID:00400002 TID:01350006 pAdapter->ActiveCpgmac = ActiveCpgmac;
PID:00400002 TID:01350006 Cpsw3g_Init_SendRecv
PID:00400002 TID:01350006 phy_state == INITING
PID:00400002 TID:01350006 || ActiveCpgmac == 1
PID:00400002 TID:01350006 <– Cpsw3g_InitializeAdapter.
PID:00400002 TID:03200002 _cpsw3g_Phy_Init_state: phy_mask 2, PhyAcks2 alive:6
PID:00400002 TID:03200002 *** PhyAcks=0x2 i=1
PID:00400002 TID:03200002 _cpsw3g_Phy_Init_state : could not found driver for PHY id 4dd072.
PID:00400002 TID:01350006 SDHC: CPU revision 0xffffffff
PID:00400002 TID:01350006 SDHC host controller initialize: m_fastPathSDIO:1 m_fastPathSDMEM:0
PID:00400002 TID:01350006 create m_hControllerISTEvent
PID:00400002 TID:026A000A MSC DllMain:PID:00400002 TID:01350006 CAM3xxOTG::Init DEVCTL 80
PID:00400002 TID:03F1000E MSC DllMain:PID:00400002 TID:02530012 MSC DllMain:PID:00400002 TID:01350006 CAM3xxOTG::Init DEVCTL 80
PID:00400002 TID:02F7001E MSC DllMain:PID:00400002 TID:03FE001E CAM3xxOTG[2]::HostMode(): entering host mode
PID:00400002 TID:05410002 MSC DllMain:PID:00400002 TID:01E10012 MSC DllMain:PID:00400002 TID:04C60006 dss :case to select m_dwSurfaceMgrPID:00400002 TID:04C60006 PVR:getCpuFamily: 5
PID:00400002 TID:04C60006 PVR:omapsgxddgpe getCpuFamily: 5
PID:00400002 TID:04C60006 KeybdDriverInitializeEx: Layout Manager successfully initialized to 1
PID:00400002 TID:03200002 _cpsw3g_phy_update_link, Port:0 LINK:UP SPEED:100 DUPLEX:FD
PID:00400002 TID:0540003E MSC DllMain:PID:00400002 TID:03CB0012 NDISPWR:: Found adapter [CPSW3G2]
PID:00400002 TID:03CB0012 MSC DllMain:PID:00400002 TID:051A003E MSC DllMain:PID:00400002 TID:04670046 MSC DllMain:PID:00400002 TID:01760006 kernel PVRSRV_IOCTL_POWER_SET setting state 1
PID:00400002 TID:02580006 MSC DllMain:PID:00400002 TID:01760006 kernel PVRSRV_IOCTL_POWER_SET setting state 0
PID:00400002 TID:03000002 MSC DllMain:PID:00400002 TID:017B0006 MSC DllMain:PID:00400002 TID:025E000A MSC DllMain:PID:00400002 TID:01760006 kernel PVRSRV_IOCTL_POWER_SET setting state 1
PID:00400002 TID:0395000A MSC DllMain:PID:00400002 TID:0420003E MSC DllMain:PID:00400002 TID:039F0002 MSC DllMain:PID:00400002 TID:01760006 kernel PVRSRV_IOCTL_POWER_SET setting state 2
PID:00400002 TID:01760006 kernel PVRSRV_IOCTL_POWER_SET setting state 0

Steven Liu1:

是从NAND flash启动的吗?通过你的观察是在哪一块停留时间较长呢?

对于某些不需要的driver或者服务,在开机的时候就不要加载了,这样可以节省启动时间。

hainan zhu:

回复 Steven Liu1:

我是从NAND flash启动

PID:00400002 TID:03CB0012 NDISPWR:: Found adapter [CPSW3G2]

等很长时间PID:00400002 TID:01760006 kernel PVRSRV_IOCTL_POWER_SET setting state 1 出现伴随着进入桌面。

在没有进入桌面之前,我碰几下触摸屏,又会加长 30、40秒的时间

hainan zhu:

回复 Steven Liu1:

你好:

  你们demo板  AM335X wince7.0 NAND Flash启动一般的时间多少?

Steven Liu1:

回复 hainan zhu:

由于目前官方不提供对WINCE7的支持,所以没有测试数据。

对启动时间的优化这个问题,很多人都有需求,目前我们FAE在Linux方面也在做一些汇总,你可以参考这个帖子里面的一些东西:http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/70630.aspx

操作系统不一样,但思路都差不多的。我建议你可以追一下log,分析一下,前面提到的耗费时间较长的log打印时,driver里面都在做什么,从这里开始做优化。

例如,查到NAND flash里面读取image的时间过长,你就可以根据nand flash手册去优化gpmc的时序配置……

Jian Zhou:

回复 Steven Liu1:

请问你的WinCE7是从adeneo下载的么?这个版本的NAND时序是没有做优化的,请参考NAND的dadasheet和AM335x GPMC timming set部分对时序做下优化

hainan zhu:

回复 Jian Zhou:

你好  Jian Zhou:

          根据你的提示,我修改了gpmc的时序配置。

          我通过参考linux下的时序配置,是针对am335x平台:

          static struct gpmc_timings am335x_nand_timings = {

 .sync_clk = 0,

 .cs_on = 0,

 .cs_rd_off = 44,

 .cs_wr_off = 44,

 .adv_on = 6,

 .adv_rd_off = 34,

 .adv_wr_off = 44,

 .we_off = 40,

 .oe_off = 54,

 .access = 64,

 .rd_cycle = 82,

 .wr_cycle = 82,

 .wr_access = 40,

 .wr_data_mux_bus = 0,

};
修改了wince7.0 bsp_cfg.h文件中的相关 GPMC_CONFIGi 的配置

#if 1 /*BSP_AM33X*/ /* SA 8-Bit Nand */#define M_NAND_GPMC_CONFIG1 0x00000800#else#define M_NAND_GPMC_CONFIG1 0x00001810#endif#define M_NAND_GPMC_CONFIG2 0x002c2c00 / /0x001e1e00#define M_NAND_GPMC_CONFIG3 0x002c2206 //0x001e1e00#define M_NAND_GPMC_CONFIG4 0x28053607 //0x16051807#define M_NAND_GPMC_CONFIG5 0x00405252 //0x00151e1e#define M_NAND_GPMC_CONFIG6 0x28000f80 //0x16000f80#define M_NAND_GPMC_CONFIG7 0x00000008

注释部分是原来内核里配置的,我修改并烧录了新的ebootnd.bin xldrnand.bin nk.bin

发现内核启动信息:

INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0x8409

Texas Instruments Windows CE EBOOT for AM33x, Built Sep 23 2014 at 09:00:51EBOOT Version 0.0.1, BSP BSP_WINCE_ARM_A8 02.30.00.01oal gpio dispatch

TI AM33X

ecc type:3System ready!Preparing for download…INFO: Predownload….启动卡在了  while ((NAND_GetStatus(pDevice) & NAND_STATUS_READY) == 0);上

可能我的时序配置有误,但是我是按linux时序配置来的,是不是还有除这7个寄存器之外的配置需要修改。

希望您的答复。

hainan zhu:

回复 hainan zhu:

我尝试网上另一种配置方案:

#define M_NAND_GPMC_CONFIG10x00000800
#define M_NAND_GPMC_CONFIG20x00030300
#define M_NAND_GPMC_CONFIG30x00030300
#define M_NAND_GPMC_CONFIG40x02000311
#define M_NAND_GPMC_CONFIG50x00030303
#define M_NAND_GPMC_CONFIG60x03000540
#define M_NAND_GPMC_CONFIG70x00000008
发现可以启动系统,启动时间由原来的1分30秒 缩小到 1分20秒
如果这是优化的结果,那么启动慢是否是因为在某些模块上花费的时间
比较多,由于打印信息太少,内核模块加载内容和花费时间的并不清晰。
有什么好的办法吗?
希望您的答复

user5086616:

您好,请问您还有保存am335x winec7的官方源码镜像吗?能不能共享给我。我QQ email:862049719@qq.com

yongqing wang:

回复 user5086616:

官方好像没有wince7 提供的SDK,你看以在第三方下载比如:飞凌,盈鹏飞

赞(0)
未经允许不得转载:TI中文支持网 » AM335X wince7.0 启动时间过长
分享到: 更多 (0)