FAT 파일 시스템

임베디드 FAT12, FAT16 & FAT32 파일 시스템

FAT 파일 시스템 (FAT FS)은 임베디드 개발자가 자신의 시스템을 다른 주요 시스템과 통합하여 MS-DOS/Windows와 호환되는 파일 시스템 상호 운용을 쉽게하고 빠르게 할 수 있도록 합니다. Zeeis의 FAT 파일 시스템은 다양한 운영 체제에서 완벽하게 작동할 수 있으며, 비 ROST 시스템에서도 실행할 수 있습니다. 이 시스템은 고성능, 고속도, 낮은 공간 점유율의 장점을 가지고 있어 적은 RAM과 ROM만으로도 실행할 수 있습니다.

FAT 파일 시스템 개요

2008년 기준, Zeeis의 FAT 파일 시스템을 사용하는 장치는 2,500만 개를 초과하며, 전 세계 소비자 전자 제품 및 저장 응용 분야에서 선두를 달리고 있습니다.

임베디드 FAT 파일 시스템은 안전하고 신뢰할 수 있으며, 기능이 완전하고, 고성능 고효율의 FAT12/16/32 및 VFAT (긴 파일 이름) 파일 시스템입니다. 이 시스템은 MCU, CPU, DPS 등의 플랫폼을 지원합니다. 이는 임베디드 장치가 개인 컴퓨터 저장 매체를 읽을 수 있도록 작성된 소스 코드 제품으로, 고정 및 이동식 저장 매체를 지원합니다. 예를 들어, SD 카드, SDHC 카드, MMC 카드, CF 카드, ATA/IDE 하드 드라이브, SATA 하드 드라이브, USB 드라이브, NAND 플래시 등이 있습니다.

임베디드 FAT 파일 시스템의 소스 코드는 모두 표준 ANSI C로 작성되었습니다. 다양한 테스트를 거쳐 ARM STD, ARM ADS, ARM RVDS, GNU GCC, Keil, Visual C++ 등의 개발 도구를 사용할 수 있습니다.

FAT 파일 시스템 특징

  • 표준 FAT 파일 시스템 지원, 예: FAT12, FAT16, FAT32 및 VFAT (긴 파일 이름 지원)
  • MS DOS/Windows FAT 파일 시스템과 완전 호환
  • 다양한 프로세서 및 운영 체제에서 사용 가능
  • 소스 코드가 모두 ANSI C로 작성되어 이식성 보장
  • MCUs/DSPs에 최적화되어 실행 성능 및 안정성 보장
  • 구성에 따라 RAM과 ROM 점유율이 매우 유연하게 조정 가능
  • 자원 점유가 매우 적음: 경량 버전 <1KB RAM / 4KB ROM, 표준 버전 <2K RAM / 10K ROM
  • POSIX 인터페이스와 호환 (fopen(), fread(), fwrite(), fclose() 등)
  • 포맷 및 파티션 생성 가능
  • 런타임 오류 처리
  • 많은 코드 주석 및 개발 문서
  • 데모 프로그램 및 장치 드라이버
  • 1년 무료 기술 지원
  • 1년 무료 업그레이드 서비스
  • 일회성 라이선스 비용만 지불

지원되는 저장 매체

  • Secure Digital 카드: SD, SDHC, microSD, microSDHC
  • CompactFlash
  • MultiMediaCard (MMC)
  • USB
  • SATA
  • ATA/IDE
  • PCMCIA
  • NAND 플래시
  • NOR 플래시
  • DataFlash

FAT 파일 시스템 응용 프로그램 인터페이스

FS_mount: 임베디드 FAT 파일 시스템에 장치를 연결하고 버퍼를 생성합니다.

FS_unmount: 임베디드 FAT 파일 시스템의 모든 리소스를 해제합니다.

FS_format: 장치를 포맷합니다.

FS_size: 장치 및 FAT 파일 시스템의 공간 크기 정보를 가져옵니다.

FS_mkdir: 폴더(디렉토리)를 생성합니다.

FS_chdir: 현재 폴더를 변경합니다.

FS_rmdir: 빈 폴더를 삭제합니다.

FS_getCWD: 현재 폴더의 경로를 반환합니다.

FS_opendir: 폴더를 엽니다.

FS_closedir: 폴더를 닫습니다.

FS_readdir: 디렉토리를 읽습니다.

FS_remove: 지정된 경로를 통해 파일을 삭제합니다.

FS_length: 파일의 크기를 반환합니다.

FS_fopen: 파일을 엽니다.

FS_fread: 핸들을 통해 데이터를 읽습니다.

FS_fwrite: 핸들을 통해 데이터를 씁니다.

FS_fflush: 핸들을 플러시합니다.

FS_fclose: 파일을 닫습니다.

FS_fseek: 파일 포인터를 지정된 위치로 이동합니다.

FS_ftell: 파일 포인터의 현재 위치를 가져옵니다.

FS_feof: 파일 끝에 도달했는지 테스트합니다.

FS_rewind: 포인터를 파일의 처음으로 재설정합니다.

FS_truncate: 파일의 길이를 조정합니다.

FS_rename: 파일 또는 폴더의 이름을 변경합니다.

FS_findFirst: 와일드카드를 사용해 파일이나 디렉토리를 찾습니다.

FS_findNext: 이전에 호출된 FS_findFirst()를 계속해서 찾습니다.

FS_setDateTime: 파일 또는 폴더의 날짜 및 시간 속성을 설정합니다.

FS_getDateTime: 파일 또는 폴더의 날짜 및 시간 속성을 가져옵니다.

FS_setAttributes: 파일 또는 폴더의 속성을 설정합니다.

FS_getAttributes: 파일 또는 폴더의 속성을 가져옵니다.

드라이버 및 포트 인터페이스

FATDriver_init

FS_STATUS FATDriver_init( FATDriver_DEVICE * device )

FAT 파일 시스템의 스토리지 장치 드라이버를 초기화합니다.

매개변수

device FSDriver_DEVICE 유형의 장치 포인터.

반환값

FS_SUCCESS를 반환하면 성공을 의미합니다. 그렇지 않으면 실패를 의미합니다.

FATDriver_deinit

FS_STATUS FATDriver_deinit( void )

FAT 파일 시스템의 스토리지 장치 드라이버가 점유한 자원을 해제합니다.

반환값

FS_SUCCESS를 반환하면 성공을 의미합니다. 그렇지 않으면 실패를 의미합니다.

FATDriver_getStatus

FS_STATUS FATDriver_getStatus( void )

이동식 저장 카드 FAT 파일 시스템의 현재 상태를 확인합니다.

반환값

FS_SUCCESS를 반환하면 성공을 의미합니다. 그렇지 않으면 실패를 의미합니다.

FATDriver_writeSectors

FS_STATUS FATDriver_writeSectors( void * buffer, unsigned long sector, unsigned long count )

입력을 장치의 지정된 섹터에 씁니다.

매개변수

buffer 데이터 쓰기 버퍼 sector 데이터 쓰기 시작 섹터 count 쓸 양

반환값

FS_SUCCESS를 반환하면 성공을 의미합니다. 그렇지 않으면 실패를 의미합니다.

FATDriver_readSectors

FS_STATUS FATDriver_readSectors( void * buffer, unsigned long sector, unsigned long count )

섹터 데이터를 읽습니다.

매개변수

buffer 데이터 읽기 버퍼 sector 데이터 읽기 시작 섹터 count 읽을 양

반환값

FS_SUCCESS를 반환하면 성공을 의미합니다. 그렇지 않으면 실패를 의미합니다.

FATPort_getDateTime

void FATPort_getDateTime( FS_DATE_TIME * date_time )

대상 시스템에서 현재 날짜와 시간 정보를 가져옵니다.

매개변수

date_time 현재 날짜와 시간 정보를 저장합니다.

라이선스

Zeeis 임베디드 FAT 파일 시스템은 자체 지적 재산권을 소유하고 있어 사용이나 수정에 제한이 없으며, 제품 설계를 빠르게 진행할 수 있습니다. 제품 구매 시 일회성 라이선스 비용만 지불하시면 됩니다.

Zeeis는 세계적인 임베디드 파일 시스템 연구 개발 기관일 뿐만 아니라, 대중화 지역에서 유일하게 현지 기술 지원을 직접 제공하는 공급업체입니다. 더 많은 제품 정보를 원하시면 이메일: [email protected] 또는 전화 024-31876750으로 연락하시기 바랍니다. 더 많은 연락처 정보를 보려면 여기를 클릭하세요.

이전