2013-07-04 3 views
0

OS가 없어도 내 질문에 USB 임베디드 경험이 없습니다.RTOS가없는 임베디드 시스템의 USB

물론 운영체제없이 실행할 수 있어야하지만, 가지고 있다면 쉽게 될 수 있습니까?

첨부 된 USB 대용량 저장 장치에 데이터를 저장하는 데 사용하고 싶습니다.

+0

연결할 USB 장치는 무엇입니까? USB를 직렬, 대용량 장치 또는 오디오 장치에 추가하려는 경우 차이가 있습니다. – jeb

+0

SD 카드를 대량 장치로 선택할 수 있습니까? 작은 코드 및 램을 사용하여 거의 액세스 할 수 없기 때문에 – jeb

+0

USB 컨트롤러가 있습니까? 그렇다면 프로세서는 무엇입니까? – Clifford

답변

2

USB 장치가 온칩이면, 칩 공급 업체는 대용량 저장 장치를 포함 할 수있는 USB 용 예제 코드를 거의 가지고 있습니다. OS는 필요 없지만 인터럽트 처리와 파일 시스템이 필요합니다.

USB 컨트롤러에 호스트 또는 OTG 기능이 필요합니다. 장치에만 가능한 경우 호스트가 아닌 다른 USB 장치에 연결할 수 없습니다.

OS 또는 최소한 간단한 RTOS 커널의 이점은 다른 처리 작업과 동시에 파일 시스템 활동을 예약 할 수 있다는 것입니다. 이 경우 운영 체제는 일을 더 쉽게 만들어주지는 않지만 중요한 작업 및 이벤트에 대한 시스템의 응답 성을 높일 수 있습니다.

+0

내 컨트롤러는 호스트 기능이있는 STM32F4 장치입니다. 나는 ST의 예제 코드를 시험해보고 그것을 예정된 시스템에 집어 넣었다. 시간 문제가 있습니다. 파일 쓰기가 너무 오랜 시간이 걸리므로 다른 작업이 제 시간에 실행되지 않았습니다. – user2479653

+0

버퍼링을위한 충분한 메모리가있는 한 RTOS가이 문제를 해결할 수 있으므로 실제 쓰기는 우선 순위가 낮은 태스크에서 수행 될 수 있습니다. 저장 장치에 대한 USB 데이터 전송의 성능은 저장 장치 자체에 의해 제한 될 수 있습니다. – Clifford

+1

매우 자주 이러한 작업은 최대 속도 이상으로 작동하지만 최소 속도는 없으므로 수행 할 수있는 작업은 USB/파일 시스템 코드를 리팩터링하여 메인 프로세스를 통해 매번 프로세스를 진행하는 것입니다 시스템 루프 또는 스케줄 될 때마다. 시간주기 또는 조건을 기다릴 때마다/반환해야하며 다음 실행시에는 시간 초과/조건이 충족되었는지 확인하십시오. –

0

필자는 PIC18F2550 (8 비트) 및 LPC1343 (32 비트 ARM-Cortex M3) 마이크로 컨트롤러와 함께 과거에 usb 스택을 아무런 문제없이 사용 해왔다.

관련 문제