ฉันกำลังพยายามใช้ไลบรารีระบบไฟล์ FAT16/32 แบบอ่านอย่างเดียวสำหรับระบบฝังตัวเพื่ออ่านการ์ด SD (การสร้างวงล้อใหม่เพื่อการศึกษา)
ดูเหมือนว่ามีการ์ดที่ฟอร์แมตโดยไม่มี MBR; แค่ FAT โดยไม่มีตารางพาร์ติชั่น
ฉันได้อ่านเอกสาร FAT และเอกสาร MBR แล้ว และได้เรียนรู้วิธีอ่านการ์ด SD ซึ่งมีทั้ง MBR และ FAT
ฉันต้องการไลบรารี C++ เพื่อรองรับการอ่านการ์ด SD โดยไม่ต้องใช้ MBR
แนวทางปัจจุบันของฉันมีดังต่อไปนี้:
- ลองอ่านเซกเตอร์แรกโดยสมมติว่ามี FAT BPB (Boot parameter Block)
- ตรวจสอบว่าข้อมูลถูกต้องหรือไม่
- ถ้าใช่ ให้อ่านไดเรกทอรีรากต่อไป
- มิฉะนั้นถือว่ามี MBR
- อ่านตารางพาร์ติชันเริ่มต้นที่ 0x1BE
- หากมีประเภทพาร์ติชันที่รองรับ ให้ลองอ่านเซกเตอร์แรกเป็น FAT
- หากข้อมูลที่อ่านถูกต้อง ให้อ่านไดเร็กทอรีรากต่อไป
- มิฉะนั้นส่งคืน ERROR_CODE
มีแนวทางที่ดีกว่านี้ไหม? เช่น มีเลขอาถรรพ์หรือมีรูปแบบเฉพาะที่สามารถระบุได้หรือไม่?
คุณทำ
- person Farseen   schedule 24.06.2016awk -f '{x1=$1;...}'
หรือawk 'foo' '{x1=$1;...}'
แทนที่จะเป็นawk '{x1=$1;...}'
ดังนั้น awk จึงพยายามเปิดสคริปต์เหมือนกับว่าเป็นชื่อของไฟล์ อย่างหลังมีแนวโน้มที่จะได้รับข้อความแสดงข้อผิดพลาดเฉพาะนั้นมากกว่า ดู: