반응형

 

 

원문

(tusb_fifo.h 파일에서)

 Due to the use of unmasked pointers, this FIFO does not suffer from loosing one item slice. Furthermore, write and read operations are completely decoupled as write and read functions do not modify a common state.

 Henceforth, writing or reading from the FIFO within an ISR is safe as long as no other process (thread or ISR) interferes. Also, this FIFO is ready to be used in combination with a DMA as the write and read pointers can be updated from within a DMA ISR. Overflows are detectable within a certain number (see tu_fifo_overflow()).

 

용어

suffer from O : O로부터 고통받다.

Henceforth : 금후 (이제부터)

 

해석

 unmasked 포인터의 사용 때문에, FIFO는 잘라진 하나의 아이템을 잃는 거로부터 고통받지 않게된다.

더 나아가, RW operation들은 write 함수로써 완전히 분리되었다 그리고 read 함수는 common state를 수정하지 않는다.

 

 이제부터, ISR 안에서, FIFO로부터 일고 쓰는 작업은, (스레드 혹은 ISR) 다른 프로세스 인터페이스가 없는 한 안전하다.

또한, 이 FIFO는 DMA과 함께 콤비네이션 하면서 사용되는게 준비되어있다. 그래서, R/W 포인터들이 DMA ISR 내에서 업데이트할 수 있다.

  오버플로우는 특정한 숫자 내에서 감지가능하다.  (tu_fifo_overflow를 보아라)

 

 

 

원문

https://docs.tinyusb.org/en/latest/reference/index.html

OS Abstraction layer

TinyUSB is completely thread-safe by pushing all ISR events into a central queue, then process it later in the non-ISR context task function. It also uses semaphore/mutex to access shared resources such as CDC FIFO. Therefore the stack needs to use some of OS’s basic APIs. Following OSes are already supported out of the box.

  • No OS
  • FreeRTOS
  • Mynewt 

out of the box : 특별하게

 

해석

OS 추상 레이어

TinyUSB는 완전히 모든 ISR 이벤트를 중앙의 큐에 담음으로써, thread-safe하다. 

그러면, 후에 그걸 처리한다. non-ISR context task function안에서 말이다. 그것은 또한, semaphore와 mutex를 공유 자원에(CDC FIFO) 접근하기 위해, 사용한다. 그러므로, 저 스택은 몇개의 OS의 기본적인 API들을 사용하는게 필요하다.

아래의 OS들은, 특별하게 이미 지원되었다.

 

 

 

ISR은 Interrupt Service Routine

 

반응형

'영어 > 기술문서로 영어 공부하기' 카테고리의 다른 글

[USB 2.0 스펙] 9 USB Device Framework  (0) 2022.02.15
[USB 2.0 스펙] 10.4 Host Controller Driver  (0) 2022.02.15
[USB 2.0 스펙] USBDI, HCDI  (0) 2022.02.15
USB 스펙 용어정리  (0) 2022.02.15
USB 20 스펙  (0) 2022.02.15