[t:/]$ 지식_

초경량 임베디드용 FAT

2009/07/20

FAT를 임베디드에, 펌웨어에 내장하려고 할 때,
인터넷 뒤지면 참 다양한 것들이 나온다.

보통은 칩 사면 줄줄이 알사탕으로 초경량 OS에 쫓아오곤 하지만..

http://efsl.be/
General purpose Embedded Filesystem library

이걸 좀 이리저리 좌우까고 고쳐서 SD카드 용도로 사용 중...

잘된다.

메모리는 전역변수 하나 씀.. 즉 코드 빼고 스택 빼고 메모리를 4바이트만 쓴단 말씀. 그마저 에러처리라.. 뭐 제거해도 되고..

파일시스템 디스크립터, 파일 디스크립터 구조체만 메모리를 먹는다.
생각없이 잡은 지역 변수 배열이 없어서 스택 마진 100바이트면 충분한 것 같다.

사용례)

      ret = file_fopen(&efs_fd, &efs.myFs, "eeewe.txt" ,'w');
//      ret = file_read(&fd, 5, (unsigned char *)a);   
      ret = file_write(&efs_fd, 4, (unsigned char *)a);
      ret = file_fclose(&efs_fd);   
      fs_flushFs(&efs.myFs);

플러싱을 안 하니까 즉시 기록이 안 되는데..
버퍼 잡은 것도 아니고 왜 그런지는 더 추적해봐야겠다.









[t:/] is not "technology - root". dawnsea, rss