본문 바로가기
영어공부

[FreeRTOS] 파일 및 기타 관련 자료

by KANG Stroy 2020. 10. 24.

FreeRTOS Source Files Common to All Ports
The core FreeRTOS source code is contained in just two C files that are common to all the FreeRTOS ports. 

These are called tasks.c, and list.c, and they are located directly in the FreeRTOS/Source directory, as shown in Figure 2. In addition to these two files, the following source files are located in the same directory:


queue.c
queue.c provides both queue and semaphore services, as described later in this book. queue.c is nearly always required.


timers.c
timers.c provides software timer functionality, as described later in this book. It need only be included in the build if software timers are actually going to be used.

event_groups.c
event_groups.c provides event group functionality, as described later in this book. It need only be included in the build if event groups are actually going to be used.

croutine.c
croutine.c implements the FreeRTOS co-routine functionality. It need only be included in the build if co-routines are actually going to be used. Co-routines were intended for use on very small microcontrollers, are rarely used now, and are therefore not maintained to the same level as other FreeRTOS features. Co-routines are not described in this book.
 



It is recognized that the file names may result in name space clashes, as many projects will already include files that have the same names. It is however considered that changing the names of the files now would be problematic, as to do so would break compatibility with the many thousands of projects that use FreeRTOS, as well as automation tools, and IDE plugins. 


2개의 공통 함수를 가지고 있으며 tasks.c, list.c 그 폴더 안에는 표2 에서 queue.c, timers.c, event_groups.c, croutine.c 파일이 포함 됩니다. 


Task는 기본적으로 동작 되고, 리스트를 이용합니다. queue는 queue 와 semaphore 서버스를 제공 합니다. 

타이머는 각각의 task를 동작 시키기 위함으로 보입니다. 

task가 동작 되면서 이벤트를 받아서 처리 해야 하기 때문에 이벤트 파일이 있습니다. 


기본적으로 동작 되는 부분에 대해서 보고 있습니다. 


Difference Between Semaphore and Mutex

https://techdifferences.com/difference-between-semaphore-and-mutex.html



- 프로세스 간 메시지를 전송하거나, 공유메모리를 통해 특정 데이터를 공유하게 되는 경우 문제가 발생할 수 있습니다.
즉, 공유된 자원에 여러 개의 프로세스가 동시에 접근하면서 문제가 발생하는 것으로써 공유된 자원 속 하나의 데이터는 한 번에 하나의 프로세스만 접근할 수 있도록 제한해 두어야 하는데, 
이를 위하여 고안된 것이 바로 Semaphore 세마포어 입니다.

(세마포어와 뮤텍스의 차이)
세마포어(Semaphore) : 공유된 자원의 데이터를 여러 프로세스가 접근하는 것을 막는 것
뮤텍스(Mutex) : 공유된 자원의 데이터를 여러 쓰레드가 접근하는 것을 막는 것

** Critical section 이란 ?
OS에서 Critical Section은 아주 중요한 부분입니다.
- 다중 프로그래밍 운영체제에서 여러 프로세스가 데이타를 공유하면서 수행될 때 각 프로세스에서 공유 데이타를 액세스하는 프로그램 코드 부분을 가리키는 말입니다.
공유 데이타를 여러 프로세스가 동시에 액세스하면 시간적인 차이 때문에 잘못된 결과를 만들어 낼 수 있기 때문에 한 프로세스가 위험 부분을 수행하고 있을 때, 즉 공유 데이타를 액세스하고 있을 때는 다른 프로세스들은 절대로 그 데이타를 액세스하지 못하도록 하여야 합니다.



in addition은 부사구로서 '그 외에/게다가' 라는 뜻이고, 절이 뒤따르구요, in addition to는 명사상당어구가 뒤따릅니다
in addition to는 한  구전치사, 즉 한 묶음으로 된 전치사로서 '~외에' 라는 뜻입니다.
같은 뜻의 전치사로서 besides 가 있어요. besides는 부사구 in addition의 뜻도 돼요
in addition 은 접속부사 ; ~~, 사이 들어가고 in addition to는 to 보고 전치사라고 보면되구요
besides-전치사: ~이외에 , 접속부사: 게다가.

전치사 접속부사 둘 다쓰입니다. 접속부사가 뒤에 절을 이끌려면 세미콜론이나 콤마가 필요합니다. 단독으로는 절을 이끌지못합니다 그냥 부사역활하죠 또한 문두에 올수없습니다.



as shown in Figure 2

그림 2와 같이 


As will be described in Chapter 2,

2 장에서 설명 하겠지만


Chapter Introduction and Scope

장 소개 및 범위


prerequisite  [pre·req·ui·site || ‚prɪː'rekwɪzɪt]

n. 필요조건




댓글