현재 Micrium OS-II를 사용하는 ST32 (STM32F103xC) 용 애플리케이션을 개발 중입니다. 지금까지는 모든 것이 순조롭게 진행되었지만 지금은 블록을 맞았고 계속 진행할 수 없습니다.디바이스를 USB 드라이브로 설정 한 ST32의 FATFS
보드는 SD 카드를 사용하여 USB 저장 장치로 작동하도록 구성되어 호스트 PC가 장치에 저장된 파일을 복사 할 수 있습니다. Windows 탐색기에서 현재 SD 카드에있는 파일을 볼 수 있기 때문에 정상적으로 작동합니다.
그러나 FATFS를 사용하여 프로그램에서 파일을 만들려고하면 f_open()이 FR_NOT_READY를 반환합니다. 추가로 조사하기 위해 필자는 SD에 파일을 쓰는 샘플 코드를 작성하여 정상적으로 작동합니다. 그래서 필자는 필자의 프로그램에서 글쓰기 코드를 옮겼다. 필자가 OS 멀티 태스킹 틱을 시작하기 전에 f_open을 호출하면 제대로 작동했다. 파일을 열어 쓸 수 있었다. 진드기가 활성화 된 직후 (하지만 작업이 만들어지기 전에) 코드를 다시 작성하면 FR_NOT_READY가됩니다.
나는 이것이 무엇을 의미하는지 잘 모르겠다. 파일에 쓸 수있는 부분에 제한이 있습니까? 필기시 멀티 태스킹을 비활성화해야합니까? (아야, 틀림없이?) 내가 현재 USB 장치로 사용하고있는 SD 카드에 쓸 수 없다는 것인가?
ffconfig.h 파일에서 _FS_REENTRANT가 0으로 설정되면 어떻게 될까요? –
아니, 여전히 파산. FATFS 작업 중에 SD 카드 코드를 혼동시키는 USB 인터럽트와 관련이있는 것으로 보입니다. –
이 장치에는 전용 SD 카드 컨트롤러가 있습니까? 아니면 SPI를 사용해야합니까? –