![]() |
|
Tài trợ cho PIC Vietnam |
Giao tiếp USB, CAN, I2C, SPI, USART... Những giao tiếp được tích hợp trên PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#11 |
Đệ tử 4 túi
Tham gia ngày: Mar 2009
Bài gửi: 64
: |
Sau khi đọc được MBR, em thấy trong 512 byte của nó có dòng "Invalid partition table , error loading operating system missing operating system" Dòng này bắt đầu từ địa chỉ 139 (hay 0x8B)
Đọc MBR chính là đọc sector 0 có phải không ạ ? Còn boot sector là của từng thằng partition ? Ý em muốn hỏi về 3 khái niệm MBR, boot sector và sector 0 của thằng SD card, hàm đọc sector em gán địa chỉ là 0 thì đọc đuợc cái gì trong 3 thằng đó Do cái em đọc được nó không có những thông tin dưới đây, nên nó ko nhảy vào được cái if này, mặc dù đã format thẻ là FAT16 Code:
#ifdef USE_16BIT if (ReadByte( dsk->buffer, BSI_FSTYPE ) == 'F' && \ ReadByte( dsk->buffer, BSI_FSTYPE + 1 ) == 'A' && \ ReadByte( dsk->buffer, BSI_FSTYPE + 2 ) == 'T' && \ ReadByte( dsk->buffer, BSI_FSTYPE + 3 ) == '1' && \ ReadByte( dsk->buffer, BSI_BOOTSIG) == 0x29) #else if (BSec->FAT.FAT_16.BootSec_FSType[0] == 'F' && \ BSec->FAT.FAT_16.BootSec_FSType[1] == 'A' && \ BSec->FAT.FAT_16.BootSec_FSType[2] == 'T' && \ BSec->FAT.FAT_16.BootSec_FSType[3] == '1' && \ BSec->FAT.FAT_16.BootSec_BootSig == 0x29) #endif { dsk->firsts = 0; dsk->type = FAT16; } |
![]() |
![]() |
|
|