4665|11

50

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

2440 bootloader中,MBR是什么东西? [复制链接]

请教,bootloader中有这么一个函数:
  1. // lqm: 1G08:dwStartSector = 7 * 64 (boot:7个block)
  2. HANDLE BP_OpenPartition(DWORD dwStartSector, DWORD dwNumSectors, DWORD dwPartType, BOOL fActive, DWORD dwCreationFlags)
  3. {
  4.         DWORD dwPartIndex;
  5.         BOOL fExists;

  6.         ASSERT (g_pbMBRSector);
  7.         
  8.         if (!IsValidMBR()) // 这里的目的是什么???
  9.                 {
  10.             DWORD dwFlags = 0;

  11.             if (dwCreationFlags == PART_OPEN_EXISTING)
  12.                         {
  13.                 RETAILMSG(1, (TEXT("OpenPartition: Invalid MBR.  Cannot open existing partition 0x%x.\r\n"), dwPartType));
  14.                 return INVALID_HANDLE_VALUE;
  15.             }
  16.             
  17.             RETAILMSG(1, (TEXT("OpenPartition: Invalid MBR.  Formatting flash.\r\n")));
  18.             if (g_FlashInfo.flashType == NOR)
  19.                         {
  20.                 dwFlags |= FORMAT_SKIP_BLOCK_CHECK;
  21.             }
  22.             BP_LowLevelFormat (0, g_FlashInfo.dwNumBlocks, dwFlags);
  23.             dwPartIndex = 0;
  24.             fExists = FALSE;
  25.         }
  26.         else
  27.                 {
  28.             fExists = GetPartitionTableIndex(dwPartType, fActive, &dwPartIndex);        
  29.         }

  30.         RETAILMSG(1, (TEXT("OpenPartition: Partition Exists=0x%x for part 0x%x.\r\n"), fExists, dwPartType));
  31.         if (fExists) {

  32.             // Partition was found.  
  33.             if (dwCreationFlags == PART_CREATE_NEW)
  34.                 return INVALID_HANDLE_VALUE;
  35.             
  36.             if (g_partStateTable[dwPartIndex].pPartEntry == NULL) {
  37.                 // Open partition.  If this is the boot section partition, then file pointer starts after MBR
  38.                 g_partStateTable[dwPartIndex].pPartEntry = (PPARTENTRY)(g_pbMBRSector + PARTTABLE_OFFSET + sizeof(PARTENTRY)*dwPartIndex);
  39.                 g_partStateTable[dwPartIndex].dwDataPointer = 0;
  40.             }            
  41.             return (HANDLE)&g_partStateTable[dwPartIndex];            
  42.         }
  43.         else {

  44.             // If there are already 4 partitions, or creation flag specified OPEN_EXISTING, fail.
  45.             if ((dwPartIndex == NUM_PARTS) || (dwCreationFlags == PART_OPEN_EXISTING))
  46.                 return INVALID_HANDLE_VALUE;

  47.             // Create new partition
  48.             return CreatePartition (dwStartSector, dwNumSectors, dwPartType, fActive, dwPartIndex);
  49.         }

  50.         return INVALID_HANDLE_VALUE;
  51.         
  52. }
复制代码


IsValidMBR() 函数的代码如下:
  1. static BOOL IsValidMBR()
  2. {
  3.     // Check to see if the MBR is valid

  4.     // MBR block is always located at logical sector 0
  5.     g_dwMBRSectorNum = GetMBRSectorNum();        

  6.     RETAILMSG (1, (TEXT("IsValidMBR: MBR sector = 0x%x\r\n"), g_dwMBRSectorNum));
  7.    
  8.     if ((g_dwMBRSectorNum == INVALID_ADDR) || !FMD_ReadSector (g_dwMBRSectorNum, g_pbMBRSector, NULL, 1))
  9.         {
  10.         return FALSE;  
  11.     }
  12.         // lqm added for test.10-04-12
  13.         RETAILMSG (1, (TEXT("g_pbMBRSector[0] = 0x%x\r\n"), g_pbMBRSector[0]));
  14.         RETAILMSG (1, (TEXT("g_pbMBRSector[1] = 0x%x\r\n"), g_pbMBRSector[1]));
  15.         RETAILMSG (1, (TEXT("g_pbMBRSector[2] = 0x%x\r\n"), g_pbMBRSector[2]));
  16.         RETAILMSG (1, (TEXT("g_pbMBRSector[SECTOR_SIZE-2] = 0x%x\r\n"), g_pbMBRSector[SECTOR_SIZE-2]));
  17.         RETAILMSG (1, (TEXT("g_pbMBRSector[SECTOR_SIZE-1] = 0x%x\r\n"), g_pbMBRSector[SECTOR_SIZE-1]));
  18.         // end added.
  19.     return ((g_pbMBRSector[0] == 0xE9) &&
  20.          (g_pbMBRSector[1] == 0xfd) &&
  21.          (g_pbMBRSector[2] == 0xff) &&
  22.          (g_pbMBRSector[SECTOR_SIZE-2] == 0x55) &&
  23.          (g_pbMBRSector[SECTOR_SIZE-1] == 0xAA));
  24. }
复制代码


打印信息中提示:g_dwMBRSectorNum = 0.
请问,这个MBR到底是个什么东西?存放在block0的第0个page吗?
我在FL2440开发板上,上面打印信息,读出来的g_pbMBRSector与后面的完全符合,
开发板的flash是K9F1G08的,另外一块板是用的K9F1208,更改bootloader相关代码后,这里打印的信息,
g_pbMBRSector[0] = 0x0
g_pbMBRSector[1] = 0x0
g_pbMBRSector[2] = 0x0
g_pbMBRSector[SECTOR_SIZE-2] = 0x0
g_pbMBRSector[SECTOR_SIZE-1] = 0x0
为什么这些会是0?错在哪里?
从程序分析,上面两个板的MBR都是放在block0的第0页?????

最新回复

系统已经起来了,但是显示一片空白,不知是显存地址冲突还是什么原因,打印信息如下: Microsoft Windows CE Ethernet Bootloader Common Library Version 1.1 Built Apr 12 2010 09:47:46 Microsoft Windows CE Bootloader for the Samsung SMDK2440 Version 2.4 Built Apr 14 2010 FMD: ReadID (Mfg=ec, Dev=76) FMD_Init: finished successful FMD_Init: reserved_blocks 104 FMD_GetInfo Press [ENTER] to launch image stored on boot media, or [SPACE] to enter boot monitor. Initiating image launch in 5 seconds. Ethernet Boot Loader Configuration: 0) IP address: 192.168.1.115 1) Subnet mask: 255.255.255.0 2) DHCP: Disabled 3) Boot delay: 5 seconds 4) Reset to factory default configuration 5) Startup image: LAUNCH EXISTING 6) Program disk image into SmartMedia card: Enabled 7) Program CS8900 MAC address (00:11:22:33:44:55) 8) Kernel Debugger: DISABLED 9) Format Boot Media for BinFS F) Low-level format the Smart Media card D) Download image now L) LAUNCH existing Boot Media image U) DOWNLOAD image now(USB) R) Read Configuration W) Write Configuration Right Now Enter your selection: u System ready! Preparing for download... Please send the Image through USB. pUSBCtrlAddr->OCSR1.out_pkt_rdy = 0x1 Ep3Handler : downPtIndex = 0x30800040 Download BIN file information: ----------------------------------------------------- [0]: Base Address=0x80200000  Length=0x22620b0 ----------------------------------------------------- ROMHDR at Address 80200044h Writing single region/multi-region update, dwBINFSPartLength: 36053168 IsValidMBR: MBR sector = 0x1a0 g_pbMBRSector[0] = 0xe9 g_pbMBRSector[1] = 0xfd g_pbMBRSector[2] = 0xff g_pbMBRSector[SECTOR_SIZE-2] = 0x55 g_pbMBRSector[SECTOR_SIZE-1] = 0xaa OpenPartition: Partition Exists=0x1 for part 0x21. BP_SetDataPointer at 0x0 WriteData: Start = 0x0, Length = 0x22620b0. Log2Phys: Logical 0x1c0 -> Physical 0x360 IsBlockBad(43A): TRUE Updateded TOC! IsValidMBR: MBR sector = 0x1a0 g_pbMBRSector[0] = 0xe9 g_pbMBRSector[1] = 0xfd g_pbMBRSector[2] = 0xff g_pbMBRSector[SECTOR_SIZE-2] = 0x55 g_pbMBRSector[SECTOR_SIZE-1] = 0xaa OpenPartition: Partition Exists=0x1 for part 0xb. TOC { dwSignature: 0x434F544E BootCfg {   ConfigFlags: 0x830   BootDelay: 0x5   ImageIndex: 1   IP: 192.168.1.115   MAC Address: 00:11:22:33:44:55   Port: 0.0.0.0   SubnetMask: 255.255.255.0 } ID[0] {   dwVersion: 0x20004   dwSignature: 0x45424F54   String: 'eboot.nb0'   dwImageType: 0x2   dwTtlSectors: 0x200   dwLoadAddress: 0x80038000   dwJumpAddress: 0x80038000   dwStoreOffset: 0x0   sgList[0].dwSector: 0xA0   sgList[0].dwLength: 0x200 } ID[1] {   dwVersion: 0x1   dwSignature: 0x43465348   String: ''   dwImageType: 0x2   dwTtlSectors: 0x11311   dwLoadAddress: 0x80200000   dwJumpAddress: 0x8022C480   dwStoreOffset: 0x0   sgList[0].dwSector: 0x360   sgList[0].dwLength: 0x11311 } chainInfo.dwLoadAddress: 0X00000000 chainInfo.dwFlashAddress: 0X00000000 chainInfo.dwLength: 0X00000000 } waitforconnect INFO: OEMLaunch: Jumping to Physical Address 0x3022C480h (Virtual Address 0x8022C480h)... Windows CE Kernel for ARM (Thumb Enabled) Built on Aug  4 2008 at 18:38:38 ProcessorType=0920  Revision=0 sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 8022c354 DCache: 8 sets, 64 ways, 32 line size, 16384 size ICache: 8 sets, 64 ways, 32 line size, 16384 size Sp=ffffc7cc OEMIoControl: Unsupported Code 0x10100b4 - device 0x0101 func 45 OEMIoControl: Unsupported Code 0x101008c - device 0x0101 func 35 FMD: ReadID (Mfg=ec, Dev=76) FMD_Init: finished successful FMD_Init: reserved_blocks 104 FMD_GetInfo IsBlockBad(6C): TRUE IsBlockBad(43A): TRUE OEMIoControl: Unsupported Code 0x1010104 - device 0x0101 func 65 OEMIoControl: Unsupported Code 0x10100c4 - device 0x0101 func 49 OEMIoControl: Unsupported Code 0x10100c4 - device 0x0101 func 49 OEMIoControl: Unsupported Code 0x10100d0 - device 0x0101 func 52 OEMIoControl: Unsupported Code 0x10100f8 - device 0x0101 func 62 +CS8900:DriverEntry CS8900:CSInit failure!! dm9000 init. [dm9]: Chip signature is 0000291E INFO: CReg2440Uart::CReg2440Uart using processor frequency reported by the OAL (50000000). I2C Init IIC IRQ mapping: [IRQ:27->sysIRQ:19]. Key: DLL_PROCESS_ATTACH. [Pwrbtn2440.c] EINT_InitializeAddresses Success [Pwrbtn2440.c] KEY_Init Sucessfully! [Pwrbtn2440.c] Wait EINT4... INFO: WAVEDEV.DLL: SetI2SClockRate:  Using processor frequency reported by the OAL (50000000). Prescaler:2 [Bak_hw.cpp] BL_InitializeAddresses - Success BL_ON  progress bar thread closed! ++S3C2440DISP::S3C2440DISP [s3c2440disp.cpp] rGPCCON = 0xaaaaaaaa [s3c2440disp.cpp] LCDCON1 = 0x6300179 [s3c2440disp.cpp] LCDCON2 = 0x1577c043 [s3c2440disp.cpp] LCDCON3 = 0x2c31f28 [s3c2440disp.cpp] LCDCON4 = 0xd80 [s3c2440disp.cpp] LCDCON5 = 0x14b09 --S3C2440DISP::InitDisplay done DISPLAY:800*480 OEMIoControl: Unsupported Code 0x10100fc - device 0x0101 func 63 BL_OFF  复制代码 二楼那篇文章很牛,按照那文章,系统已经正常运行。  详情 回复 发表于 2010-4-14 10:40
点赞 关注

回复
举报

74

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
建议楼主 好好看看这篇 文章:
http://blog.eeworld.net/hugohong/archive/2009/05/20/4204700.aspx
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
太感谢kyzf了,我好好看看,好文章
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

4
 
MBR是建立磁盘分区的
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

5
 
相当于文件的头文件
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

6
 
学习。。。。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

7
 
看了上面的文章,大受启发,我将MBR放到了block13,这时能进系统了,但是仍然卡在flash驱动那里,打印信息如下:
  1. Microsoft Windows CE Ethernet Bootloader Common Library Version 1.1 Built Apr 12 2010 09:47:46
  2. Microsoft Windows CE Bootloader for the Samsung SMDK2440 Version 2.4 Built Apr 13 2010

  3. FMD: ReadID (Mfg=ec, Dev=76)
  4. FMD_Init: finished successful
  5. FMD_Init: reserved_blocks 0
  6. FMD_GetInfo
  7. Press [ENTER] to launch image stored on boot media, or [SPACE] to enter boot monitor.

  8. Initiating image launch in 5 seconds.
  9. Ethernet Boot Loader Configuration:

  10. 0) IP address: 192.168.1.115
  11. 1) Subnet mask: 255.255.255.0
  12. 2) DHCP: Disabled
  13. 3) Boot delay: 5 seconds
  14. 4) Reset to factory default configuration
  15. 5) Startup image: LAUNCH EXISTING
  16. 6) Program disk image into SmartMedia card: Enabled
  17. 7) Program CS8900 MAC address (00:11:22:33:44:55)
  18. 8) Kernel Debugger: DISABLED
  19. 9) Format Boot Media for BinFS
  20. F) Low-level format the Smart Media card
  21. D) Download image now
  22. L) LAUNCH existing Boot Media image
  23. U) DOWNLOAD image now(USB)
  24. R) Read Configuration
  25. W) Write Configuration Right Now

  26. Enter your selection: u
  27. System ready!
  28. Preparing for download...
  29. Please send the Image through USB.
  30. pUSBCtrlAddr->OCSR1.out_pkt_rdy = 0x1
  31. Ep3Handler : downPtIndex = 0x30800040

  32. Download BIN file information:
  33. -----------------------------------------------------
  34. [0]: Base Address=0x80200000  Length=0x22620b4
  35. -----------------------------------------------------
  36. ROMHDR at Address 80200044h
  37. Writing single region/multi-region update, dwBINFSPartLength: 36053172
  38. IsValidMBR: MBR sector = 0x1a0
  39. g_pbMBRSector[0] = 0xff
  40. g_pbMBRSector[1] = 0xff
  41. g_pbMBRSector[2] = 0xff
  42. g_pbMBRSector[SECTOR_SIZE-2] = 0xff
  43. g_pbMBRSector[SECTOR_SIZE-1] = 0xff
  44. OpenPartition: Invalid MBR.  Formatting flash.
  45. Enter LowLevelFormat [0xd, 0xfff].
  46. Erasing flash block(s) [0xd, 0xfff] (please wait): IsBlockBad(43A): TRUE
  47. EraseBlocks: found a bad block (0x43a) - skipping...
  48. Done.
  49. WriteMBR: MBR block = 0xd.
  50. Done.

  51. OpenPartition: Partition Exists=0x0 for part 0x21.
  52. CreatePartition: Enter CreatePartition for 0x21.
  53. IsBlockBad(43A): TRUE
  54. LastLogSector: Last log sector is: 0x1fe3f.
  55. CreatePartition: Start = 0x1c0, Num = 0x11320.
  56. Log2Phys: Logical 0x1c0 -> Physical 0x360
  57. IsBlockBad(43A): TRUE
  58. WriteMBR: MBR block = 0xd.
  59. BP_SetDataPointer at 0x0
  60. WriteData: Start = 0x0, Length = 0x22620b4.
  61. Log2Phys: Logical 0x1c0 -> Physical 0x360
  62. IsBlockBad(43A): TRUE
  63. Updateded TOC!
  64. IsValidMBR: MBR sector = 0x1a0
  65. g_pbMBRSector[0] = 0xe9
  66. g_pbMBRSector[1] = 0xfd
  67. g_pbMBRSector[2] = 0xff
  68. g_pbMBRSector[SECTOR_SIZE-2] = 0x55
  69. g_pbMBRSector[SECTOR_SIZE-1] = 0xaa
  70. OpenPartition: Partition Exists=0x0 for part 0xb.
  71. CreatePartition: Enter CreatePartition for 0xb.
  72. FindFreeSector: FreeSector is: 0x114e0 after processing part 0x21.
  73. CreatePartition: Num sectors set to 0xe820 to allow for compaction blocks.
  74. CreatePartition: Start = 0x114e0, Num = 0xe820.
  75. WriteMBR: MBR block = 0xd.
  76. TOC {
  77. dwSignature: 0x434F544E
  78. BootCfg {
  79.   ConfigFlags: 0x830
  80.   BootDelay: 0x5
  81.   ImageIndex: 1
  82.   IP: 192.168.1.115
  83.   MAC Address: 00:11:22:33:44:55
  84.   Port: 0.0.0.0
  85.   SubnetMask: 255.255.255.0
  86. }
  87. ID[0] {
  88.   dwVersion: 0x20004
  89.   dwSignature: 0x45424F54
  90.   String: 'eboot.nb0'
  91.   dwImageType: 0x2
  92.   dwTtlSectors: 0x200
  93.   dwLoadAddress: 0x80038000
  94.   dwJumpAddress: 0x80038000
  95.   dwStoreOffset: 0x0
  96.   sgList[0].dwSector: 0xA0
  97.   sgList[0].dwLength: 0x200
  98. }
  99. ID[1] {
  100.   dwVersion: 0x1
  101.   dwSignature: 0x43465348
  102.   String: ''
  103.   dwImageType: 0x2
  104.   dwTtlSectors: 0x11311
  105.   dwLoadAddress: 0x80200000
  106.   dwJumpAddress: 0x8022C480
  107.   dwStoreOffset: 0x0
  108.   sgList[0].dwSector: 0x360
  109.   sgList[0].dwLength: 0x11311
  110. }
  111. chainInfo.dwLoadAddress: 0X00000000
  112. chainInfo.dwFlashAddress: 0X00000000
  113. chainInfo.dwLength: 0X00000000
  114. }
  115. waitforconnect
  116. INFO: OEMLaunch: Jumping to Physical Address 0x3022C480h (Virtual Address 0x8022C480h)...


  117. Windows CE Kernel for ARM (Thumb Enabled) Built on Aug  4 2008 at 18:38:38
  118. ProcessorType=0920  Revision=0
  119. sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 8022c354
  120. DCache: 8 sets, 64 ways, 32 line size, 16384 size
  121. ICache: 8 sets, 64 ways, 32 line size, 16384 size
  122. Sp=ffffc7cc
  123. OEMIoControl: Unsupported Code 0x10100b4 - device 0x0101 func 45
  124. OEMIoControl: Unsupported Code 0x101008c - device 0x0101 func 35
  125. FMD: ReadID (Mfg=ec, Dev=76)
  126. FMD_Init: finished successful
  127. FMD_Init: reserved_blocks 0
  128. FMD_GetInfo
  129. IsBlockBad(4): TRUE
  130. IsBlockBad(43A): TRUE
  131. OEMIoControl: Unsupported Code 0x1010104 - device 0x0101 func 65
复制代码

正在查原因,不知何解?
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

8
 
BP开头的这些函数正在研究中...MARK!
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

9
 
你的FMD_OEMIoControl函数中应该没有对不支持的操作码进行处理,可在switch(dwIoControlCode)后加default处理。
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 8 楼 jimigaga 的回复:
你的FMD_OEMIoControl函数中应该没有对不支持的操作码进行处理,可在switch(dwIoControlCode)后加default处理。


呵呵~学习了~MARK
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

11
 
文件系统相关的东西,这里是创建 fat分区的。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

12
 
系统已经起来了,但是显示一片空白,不知是显存地址冲突还是什么原因,打印信息如下:
  1. Microsoft Windows CE Ethernet Bootloader Common Library Version 1.1 Built Apr 12 2010 09:47:46
  2. Microsoft Windows CE Bootloader for the Samsung SMDK2440 Version 2.4 Built Apr 14 2010

  3. FMD: ReadID (Mfg=ec, Dev=76)
  4. FMD_Init: finished successful
  5. FMD_Init: reserved_blocks 104
  6. FMD_GetInfo
  7. Press [ENTER] to launch image stored on boot media, or [SPACE] to enter boot monitor.

  8. Initiating image launch in 5 seconds.
  9. Ethernet Boot Loader Configuration:

  10. 0) IP address: 192.168.1.115
  11. 1) Subnet mask: 255.255.255.0
  12. 2) DHCP: Disabled
  13. 3) Boot delay: 5 seconds
  14. 4) Reset to factory default configuration
  15. 5) Startup image: LAUNCH EXISTING
  16. 6) Program disk image into SmartMedia card: Enabled
  17. 7) Program CS8900 MAC address (00:11:22:33:44:55)
  18. 8) Kernel Debugger: DISABLED
  19. 9) Format Boot Media for BinFS
  20. F) Low-level format the Smart Media card
  21. D) Download image now
  22. L) LAUNCH existing Boot Media image
  23. U) DOWNLOAD image now(USB)
  24. R) Read Configuration
  25. W) Write Configuration Right Now

  26. Enter your selection: u
  27. System ready!
  28. Preparing for download...
  29. Please send the Image through USB.
  30. pUSBCtrlAddr->OCSR1.out_pkt_rdy = 0x1
  31. Ep3Handler : downPtIndex = 0x30800040

  32. Download BIN file information:
  33. -----------------------------------------------------
  34. [0]: Base Address=0x80200000  Length=0x22620b0
  35. -----------------------------------------------------
  36. ROMHDR at Address 80200044h
  37. Writing single region/multi-region update, dwBINFSPartLength: 36053168
  38. IsValidMBR: MBR sector = 0x1a0
  39. g_pbMBRSector[0] = 0xe9
  40. g_pbMBRSector[1] = 0xfd
  41. g_pbMBRSector[2] = 0xff
  42. g_pbMBRSector[SECTOR_SIZE-2] = 0x55
  43. g_pbMBRSector[SECTOR_SIZE-1] = 0xaa
  44. OpenPartition: Partition Exists=0x1 for part 0x21.
  45. BP_SetDataPointer at 0x0
  46. WriteData: Start = 0x0, Length = 0x22620b0.
  47. Log2Phys: Logical 0x1c0 -> Physical 0x360
  48. IsBlockBad(43A): TRUE
  49. Updateded TOC!
  50. IsValidMBR: MBR sector = 0x1a0
  51. g_pbMBRSector[0] = 0xe9
  52. g_pbMBRSector[1] = 0xfd
  53. g_pbMBRSector[2] = 0xff
  54. g_pbMBRSector[SECTOR_SIZE-2] = 0x55
  55. g_pbMBRSector[SECTOR_SIZE-1] = 0xaa
  56. OpenPartition: Partition Exists=0x1 for part 0xb.
  57. TOC {
  58. dwSignature: 0x434F544E
  59. BootCfg {
  60.   ConfigFlags: 0x830
  61.   BootDelay: 0x5
  62.   ImageIndex: 1
  63.   IP: 192.168.1.115
  64.   MAC Address: 00:11:22:33:44:55
  65.   Port: 0.0.0.0
  66.   SubnetMask: 255.255.255.0
  67. }
  68. ID[0] {
  69.   dwVersion: 0x20004
  70.   dwSignature: 0x45424F54
  71.   String: 'eboot.nb0'
  72.   dwImageType: 0x2
  73.   dwTtlSectors: 0x200
  74.   dwLoadAddress: 0x80038000
  75.   dwJumpAddress: 0x80038000
  76.   dwStoreOffset: 0x0
  77.   sgList[0].dwSector: 0xA0
  78.   sgList[0].dwLength: 0x200
  79. }
  80. ID[1] {
  81.   dwVersion: 0x1
  82.   dwSignature: 0x43465348
  83.   String: ''
  84.   dwImageType: 0x2
  85.   dwTtlSectors: 0x11311
  86.   dwLoadAddress: 0x80200000
  87.   dwJumpAddress: 0x8022C480
  88.   dwStoreOffset: 0x0
  89.   sgList[0].dwSector: 0x360
  90.   sgList[0].dwLength: 0x11311
  91. }
  92. chainInfo.dwLoadAddress: 0X00000000
  93. chainInfo.dwFlashAddress: 0X00000000
  94. chainInfo.dwLength: 0X00000000
  95. }
  96. waitforconnect
  97. INFO: OEMLaunch: Jumping to Physical Address 0x3022C480h (Virtual Address 0x8022C480h)...


  98. Windows CE Kernel for ARM (Thumb Enabled) Built on Aug  4 2008 at 18:38:38
  99. ProcessorType=0920  Revision=0
  100. sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 8022c354
  101. DCache: 8 sets, 64 ways, 32 line size, 16384 size
  102. ICache: 8 sets, 64 ways, 32 line size, 16384 size
  103. Sp=ffffc7cc
  104. OEMIoControl: Unsupported Code 0x10100b4 - device 0x0101 func 45
  105. OEMIoControl: Unsupported Code 0x101008c - device 0x0101 func 35
  106. FMD: ReadID (Mfg=ec, Dev=76)
  107. FMD_Init: finished successful
  108. FMD_Init: reserved_blocks 104
  109. FMD_GetInfo
  110. IsBlockBad(6C): TRUE
  111. IsBlockBad(43A): TRUE
  112. OEMIoControl: Unsupported Code 0x1010104 - device 0x0101 func 65
  113. OEMIoControl: Unsupported Code 0x10100c4 - device 0x0101 func 49
  114. OEMIoControl: Unsupported Code 0x10100c4 - device 0x0101 func 49
  115. OEMIoControl: Unsupported Code 0x10100d0 - device 0x0101 func 52
  116. OEMIoControl: Unsupported Code 0x10100f8 - device 0x0101 func 62
  117. +CS8900:DriverEntry
  118. CS8900:CSInit failure!!

  119. dm9000 init.
  120. [dm9]: Chip signature is 0000291E
  121. INFO: CReg2440Uart::CReg2440Uart using processor frequency reported by the OAL (50000000).
  122. I2C Init
  123. IIC IRQ mapping: [IRQ:27->sysIRQ:19].
  124. Key: DLL_PROCESS_ATTACH.
  125. [Pwrbtn2440.c] EINT_InitializeAddresses Success
  126. [Pwrbtn2440.c] KEY_Init Sucessfully!
  127. [Pwrbtn2440.c] Wait EINT4...
  128. INFO: WAVEDEV.DLL: SetI2SClockRate:  Using processor frequency reported by the OAL (50000000).
  129. Prescaler:2
  130. [Bak_hw.cpp] BL_InitializeAddresses - Success
  131. BL_ON  progress bar thread closed!
  132. ++S3C2440DISP::S3C2440DISP
  133. [s3c2440disp.cpp] rGPCCON = 0xaaaaaaaa
  134. [s3c2440disp.cpp] LCDCON1 = 0x6300179
  135. [s3c2440disp.cpp] LCDCON2 = 0x1577c043
  136. [s3c2440disp.cpp] LCDCON3 = 0x2c31f28
  137. [s3c2440disp.cpp] LCDCON4 = 0xd80
  138. [s3c2440disp.cpp] LCDCON5 = 0x14b09
  139. --S3C2440DISP::InitDisplay done
  140. DISPLAY:800*480
  141. OEMIoControl: Unsupported Code 0x10100fc - device 0x0101 func 63
  142. BL_OFF  
复制代码


二楼那篇文章很牛,按照那文章,系统已经正常运行。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表