freeRTOS(5)
-
[FreeRTOS] Task에서 사용하고 있는 최대 Stack Size 확인 법
FreeRTOS 기반으로 어플리케이션을 개발 하다 보면, Task의 Stack Size 설정이 필요하며 이를 적절한 값으로 설정해야 할 필요가 있다. FreeRTOS에서 제공하고 있는, uxTaskGetStackHighWaterMark 함수를 이용하면, 동작하고 있는 Task에 얼마만큼 여유 Stack이 남아 있는지를 확인 할 수 있다. Returns Word 단위로 Stack Size가 Return 됨 예를 들어 32bit 머신에서 1은 4bytes의 stack size가 사용되지 않고 있다는 의미 Return되는 값이 0인 경우, Stack Overflow 발생( 사용 가능한 Stack이 남아 있지 않다는 의미 ) uxTaskGetStackHighWaterMark 기능을 사용하기 위해서는 아래 절차를..
2021.07.23 -
[PolarSSL+FreeRTOS]"bad message length" & "malloc failed" Error 해결 방법
PolarSSL “bad message length” & “malloc failed” Error 해결 방법Environment SSL : PolarSSL-1.3.8RTOS : FreeRTOS-8.1.2Network Stack : Lwip-1.4.1MCU : RealTek RTL8195a문제Wi-Fi 모듈에서 SKT ThingPlug에 SSL 연결을 위한 기능을 구현 하는 중, SSL 연결이 되지 않는 문제가 발생 하였다.원인 분석정확한 원인을 분석하기 위하여 Wi-Fi 모듈과 ThingPlug 간에 주고 받는 패킷을 캡쳐 하였다. 패킷 분석 결과, SSL 서버와 Hand Shake 과정이 정상적으로 완료 되지 않는 것을 확인 하였다.SKT ThingPlug Server와 정상적인 통신 패킷을 확인 해 보..
2016.12.01 -
FreeRTOS기반의 W7500 UART CLI(Command Line Interpreter) 구현하기
FreeRTOS기반의 W7500 UART CLI(Command Line Interpreter) 구현하기CLI(Command Line Interpreter)CLI, Command line interface) 또는 명령어 인터페이스는 텍스트 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식을 뜻한다. 즉, 작업 명령은 사용자가 컴퓨터 키보드 등을 통해 문자열의 형태로 입력하며, 컴퓨터로부터의 출력 역시 문자열의 형태로 주어진다. 참고 : https://ko.wikipedia.org/wiki/%EB%AA%85%EB%A0%B9_%EC%A4%84_%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4Repository of ProjectRepository에 접속한 후, Download..
2015.10.08 -
FreeRTOS Porting Guide(2/4)
FreeRTOSDownload FreeRTOSFreeRTOS사이트에 접속하면, FreeRTOS에 관한 정보와 문서, 소스 코드를 다운 받을 수 있다. DocumentSource CodeFolder StructureFreeRTOS를 다운로드 받으면, 크게 Free-RTOS-Plus 폴더와 FreeRTOS 폴더를 확인 할 수 있다. 자세한 내용은 http://www.freertos.org/a00017.html를 참고 하기 바란다.먼저 FreeRTOS 폴더를 확인해 보면 Demo 폴더와 Source 폴더로 구성되어 있으며, Demo 폴더에는 FreeRTOS 커널 기반의 예제 데모 프로젝트가 존재 한다.Source 폴더에는 FreeRTOS Kenel 구현 파일들이 존재하며, Portable 폴더에는 프로세스별,..
2015.10.08 -
FreeRTOS Porting Guide (1/4)
RTOS실시간 운영 체제(문화어: 실시간조작체계) 또는 RTOS(←Real Time Operating System) 는 실시간 응용 프로그램을 위해 개발된 운영 체제이다. 운영 체제의 기능 중 CPU 시간 관리 부분에 초점을 맞추어 설계되었다. 실시간 운영 체제는 프로그래머가 프로세스 우선 순위에 더 많은 제어를 할 수 있게 한다. 응용 프로그램의 우선 순위가 시스템 프로그램의 우선 순위를 넘어설 수도 있다. 시스템 코드의 임계 구역을 최소화하였으며, 이를 통하여 응용 프로그램의 처리 요청을 정해진 시간 안에 처리해 줄 수 있다.실시간 운영 체제의 핵심은 응용 프로그램의 테스크를 처리에 걸리는 시간을 일관되게 유지할 수 있는 정도에 있다. 처리 시간의 변동폭은 지터(jitter)라 부른다. 경성(hard..
2015.10.08