자유게시판

[Discussion] How to write files into MBED microcontroller USB Device
2022. 9. 7 (수) 21:06 칩헤드 조회 51 좋아요 1 스크랩 1 댓글 2

본 주제는 질문이 아니라 discussion을 위하여 기고를 하고 있습니다. ^^

 

임베디드개발보드를 USB를 이용하여 Windows10 PC에 연결을 하면, 다음과 같이 

윈도우 익스플로러 탐색기에 "MBED micro controller USB Device"가 인식이 됩니다. 

* 스크린샷: 

 

스토리지 공간으로 인식되는 공간은 3MB용량입니다. 이 정도 사이즈면 개발중에 생성하는

*.txt , * 펌웨어 이미지 파일을 보관하는 공간으로도 충분합니다. 

그러나 탐색기에서 이러한 파일들을 write해보면 동작이 불가합니다. 

 

왜 그럴까요? 우리가 탐색기를 통하여 파일을 write를 할수 없다면, mbed 헤더 파일 정의를 통해서 

파일 쓰기가 가능할까요? 예를들면 아래와 같은 방법으로요. 

#include "mbed.h"
 
LocalFileSystem local("local");               
// Create the local filesystem under the name "local"                                           
 
int main() {
    FILE *fp = fopen("/local/out.txt", "w");  
// Open "out.txt" on the local file system for writing
    fprintf(fp, "Hello World!");
    fclose(fp);
}


os.mbed.com 웹사이트에서 아래와 같은 방법을 통한 write의 예시도 보이고 있습니다. 

int ConfigDisk::disk_write(const uint8_t * data, uint64_t block) {
    if (block == 4)
        parseFile(data);
    return 0;
}
 
int ConfigDisk::disk_read(uint8_t * data, uint64_t block) {                                     
    if (block < 4)
        memcpy(data, &disk[block*512], 512);
    else if (block == 4)
        createFile(data);
    else 
        memset(data, 0, 512);
    return 0;
}

 

칩헤드 2022.09.17 11:59 답글  | 
넵, 관련 정보 답변 감사합니다. ^^
E4DSLAB 2022.09.14 17:40 답글  | 
mbed에서도 부트로더에 FAT 파일시스템을 올리는 예제는 많이 있더라고요. github소스를 참조하면 어렵지 않게 올릴 수 있을 거 같습니다.

로그인 후
참가 상태를 확인할 수 있습니다.