임베디드
RTOS 공개 시리즈 보기
이 기사에서는 RTOS 파티션 메모리를 계속 살펴봅니다.
Nucleus RTOS에는 파티션 풀과 관련된 유틸리티 기능을 제공하는 세 가지 API 호출이 있습니다. 파티션 풀에 대한 정보 반환, 애플리케이션의 파티션 풀 수 반환, 애플리케이션의 모든 파티션 풀에 대한 반환 포인터. 이 중 처음 두 가지는 Nucleus SE에서 구현됩니다.
이 서비스 호출은 파티션 풀에 대한 정보를 선택합니다. Nucleus SE 구현은 개체 이름 지정 및 일시 중단 순서가 지원되지 않고 작업 일시 중단이 활성화되지 않을 수 있으므로 더 적은 정보를 반환한다는 점에서 Nucleus RTOS와 다릅니다.
서비스 요청 프로토타입:
<블록 인용>STATUS NU_Partition_Pool_Information(NU_PARTITION_POOL *pool, CHAR *name, VOID **start_address, UNSIGNED *pool_size, UNSIGNED *partition_size, UNSIGNED *사용 가능, UNSIGNED *할당됨, OPTION *suspend_type, UNSIGNED *tasks_waiting , NU_TASK /강한>
매개변수:
<블록 인용>수영장 – 정보가 요청되는 파티션 풀에 대한 포인터
이름 – 파티션 풀 이름에 대한 8자 대상 영역에 대한 포인터 여기에는 null 종결자를 위한 공간이 포함됩니다.
시작 주소 – 파티션 풀 데이터 영역의 시작에 대한 포인터를 받을 변수에 대한 포인터
수영장_크기 – 파티션 풀의 크기(바이트 단위)를 수신할 변수에 대한 포인터
partition_size – 이 풀의 파티션 크기를 수신할 변수에 대한 포인터
사용 가능 – 이 풀에서 현재 사용 가능한 파티션 수를 수신할 변수에 대한 포인터
할당됨 – 이 풀에서 현재 사용 중인 파티션 수를 수신할 변수에 대한 포인터
일시 중단_유형 – 작업 일시 중단 유형을 유지하기 위한 변수에 대한 포인터. 유효한 작업 일시 중지 유형은 NU_FIFO입니다. 및 NU_PRIORITY .
tasks_waiting – 이 파티션 풀에서 일시 중단된 작업 수를 수신할 변수에 대한 포인터
첫 번째 작업 – 첫 번째 일시 중단된 작업의 포인터가 배치된 작업 포인터에 대한 포인터
반품:
<블록 인용>NU_SUCCESS – 통화가 성공적으로 완료되었습니다.
NU_INVALID_POOL – 파티션 풀 포인터가 유효하지 않습니다.
이 API 호출은 Nucleus RTOS API의 주요 기능을 지원합니다.
서비스 요청 프로토타입:
<블록 인용>상태 NUSE_Partition_Pool_Information(NUSE_PARTITION_POOL 풀, ADDR *start_address, U32 *pool_size, U16 *partition_size, U8 *사용 가능, U8 *할당됨, U8 *tasks_waiting, NUSE_TASK *first_task)
매개변수:
<블록 인용>수영장 – 정보가 요청되는 파티션 풀의 인덱스
시작 주소 – 파티션 풀 데이터 영역의 시작에 대한 포인터를 받을 변수에 대한 포인터
수영장_크기 – 파티션 풀의 크기(바이트 단위)를 수신할 변수에 대한 포인터
partition_size – 이 풀의 파티션 크기를 수신할 변수에 대한 포인터
사용 가능 – 이 풀에서 현재 사용 가능한 파티션 수를 수신할 변수에 대한 포인터
할당됨 – 이 풀에서 현재 사용 중인 파티션 수를 수신할 변수에 대한 포인터
tasks_waiting – 이 파티션 풀에서 일시 중단된 작업의 수를 수신할 변수에 대한 포인터(작업 일시 중단이 비활성화된 경우 아무 것도 반환되지 않음)
첫 번째 작업 – NUSE_TASK 유형의 변수에 대한 포인터 첫 번째 일시 중단된 작업의 인덱스를 수신합니다(작업 일시 중단이 비활성화된 경우 아무 것도 반환되지 않음)
반품:
<블록 인용>NUSE_SUCCESS – 통화가 성공적으로 완료되었습니다.
NUSE_INVALID_POOL – 파티션 풀 인덱스가 유효하지 않습니다.
NUSE_INVALID_POINTER – 하나 이상의 포인터 매개변수가 유효하지 않습니다.
이 API 호출의 구현은 매우 간단합니다.
이 함수는 파티션 풀 상태를 반환합니다. 그런 다음 차단 API 호출이 활성화되면 대기 중인 작업의 수와 첫 번째 작업의 인덱스가 반환됩니다(그렇지 않으면 이 두 매개변수가 0으로 설정됨).
이 서비스 호출은 애플리케이션에 구성된 파티션 풀의 수를 반환합니다. Nucleus RTOS에서는 시간에 따라 달라지며 반환된 값은 현재 풀 수를 나타내지만 Nucleus SE에서는 반환된 값이 빌드 시 설정되며 변경할 수 없습니다.
이 API 호출은 Nucleus RTOS API의 주요 기능을 지원합니다.
서비스 요청 프로토타입:
<블록 인용>서명되지 않은 NU_Established_Partition_Pools(VOID),
매개변수:
<블록 인용>없음
반품:
<블록 인용>애플리케이션에서 생성된 파티션 풀의 수
이 API 호출은 Nucleus RTOS API의 주요 기능을 지원합니다.
서비스 요청 프로토타입:
<블록 인용>U8 NUSE_Partition_Pool_Count(무효);
매개변수:
<블록 인용>없음
반품:
<블록 인용>애플리케이션에 구성된 파티션 풀의 수
이 API 호출의 구현은 거의 간단합니다. #define 기호 NUSE_PARTITION_POOL_NUMBER 반환됩니다.
임베디드
구조를 소개한 후 이 강력한 데이터 개체의 몇 가지 중요한 응용 프로그램을 살펴보겠습니다. 그런 다음 C 언어 구문을 조사하여 구조를 선언합니다. 마지막으로 데이터 정렬 요구 사항을 간략하게 소개합니다. 단순히 멤버의 순서를 재배열하여 구조체의 크기를 줄일 수 있음을 알 수 있습니다. 이 기사는 임베디드 C 프로그래밍의 구조에 대한 몇 가지 기본 정보를 제공합니다. 구조를 소개한 후 이 강력한 데이터 개체의 몇 가지 중요한 응용 프로그램을 살펴보겠습니다. 그런 다음 C 언어 구문을 조사하여 구조를 선언합니다. 마지막으로 데이터
30년 이상 동안 Camcode의 내구성 있는 자산 레이블 솔루션을 신뢰하여 자산을 식별, 추적 및 제어할 수 있습니다. 오늘날 Camcode는 검증된 AIDC(자동 식별 및 데이터 캡처) 프로세스와 내구성 있는 자산 레이블 및 태그를 사용하여 자산을 완전히 제어하고 시스템 내에서 책임을 높이는 데도 도움이 됩니다. Camcode의 프로젝트 관리 팀은 자산에 대한 확신을 얻는 데 도움이 되는 맞춤형 서비스 및 프로세스 기반 방법을 개발하기 위해 귀하와 협력합니다. 데이터. 높은 수준의 정책 구현에서 자산 레이블 설치 및 자산 데이터