Zephyr . Workque
Zephyr OS 커널이 제공하는 간단하게 사용가능한 스레드 작업단위.
커널의 스레드 에서 Workque 쌓인 항목들을 하나씩 꺼내서 실행. 인터럽트처리루틴(ISR) 에서도 안전하게 호출가능.
// k_work 핸들러 함수 정의
static void kw_start_adv_con_handler(struct k_work *work)
{
// 워크큐로 실행할 것.
}
// 매크로를 이용한 정적 선언 및 초기화 (변수명, 핸들러명)
K_WORK_DEFINE(kw_start_adv_con, kw_start_adv_con_handler);
///////// 매크로 이용하지 않는 경우
static struct k_work kw_start_adv_con;
static void kw_start_adv_con_handler(struct k_work *work)
{
}
k_work_init(&kw_start_adv_con, kw_start_adv_con_handler); // init() 등에서 초기화 해줘야함.
////////// 워크큐 실행.
k_work_submit(&kw_start_adv_con); // 시스템 기본 워크큐에 넣기. (가장 일반적)
연관
Zephyr (제퍼) . RTOS . 경량
Zephyr (제퍼)- 경량 RTOS . nRF52840 ( ARM Cortex M4F, 1MByte flash, 256kbyte ram. 64MHz )급에서도 활용 가능. - 라이센스 : 오픈소스- 관리주체 : 리눅스재단 하위 별도 프로젝트 팀. - - 제퍼운영체제는 리눅스 커
igotit.tistory.com
첫 등록 : 2026.04.07
최종 수정 :
단축 주소 : https://igotit.tistory.com/6550
'임베디드.일렉트로닉스' 카테고리의 다른 글
| USB . BOS 디스크립터 . Binary Device Object Store (0) | 2026.04.24 |
|---|---|
| NCS VSCode . 커스텀 보드 추가하기 (0) | 2026.04.11 |
| BLE . 페어링 . 본딩 . RPA . IRK (0) | 2026.04.06 |
| nRF Connect SDK VSCode . C++ 로 코딩하기 (0) | 2026.03.04 |
| VSCode 에서 nRF5 개발 기초. Zephyr OS 기반 (0) | 2026.02.25 |
댓글