본문 바로가기

FreeRTOS/FreeRTOS 기본 학습

(15)
07 FreeRTOS Tutorial: Task Utilities part1 https://www.youtube.com/watch?v=cUO_Hn6536s TaskHandle_t myTask1Handle = NULL; TaskHandle_t myTask2Handle = NULL; void myTask1(void *pvParameters) { TickType_t xDelay = pdMS_TO_TICKS(1000); TickType_t myLastUnblock; myLastUnblock = xTaskGetTickCount(); //char* text = "Task1\r\n"; char* text = pcTaskGetName(myTask1Handle); int count = 0; for(;;) { HAL_UART_Transmit(&huart2, (uint8_t *)text,strlen..
06 FreeRTOS Tutorial: Handling Interrupt 이번 시간에는 STM32 Discovery 보드에서 파란 버튼을 눌렀을때 간단한 UART 동작이 실행되는 것을 해볼 것 입니다. 파란 버튼을 누르면 "Hello EXTI(External Interrupt)" 가 Terminal에 출력 됩니다. 이를 FreeRTOS 환경에서 Interrupt Task를 만들어서 실행해봅니다. 교육영상 https://www.youtube.com/watch?v=0lX6OERAwsM 영상을 보기에 앞서 GPIO 설정과 Interrupt 설정을 해줘야 합니다. https://www.plainy.co.kr/bbs/board.php?bo_table=stm32_lecture&wr_id=17 다음의 사이트를 참고하세요 STM32CubeMX가 꼭 필요합니다. /* Private user ..
STM32F4 Discovery board - Keil 5 IDE with CubeMX: Tutorial 8 UART - Updated Dec 2017 FreeRTOS를 하면서 Printf 함수를 사용하니 TrueStudio에서 뭐가 잘 안뜬다. 찾아보면 해결 할 수 있겠지만 귀찮기도 하고 Uart도 써볼까 해서 해봤다. https://www.youtube.com/watch?v=RQNT0-_Iq-o&list=LLnJ3dJnBdwC2gZZdKionReg&index=3&t=238s 다음의 영상에서 CubeMX 설정하는 거랑 Tx , Rx 하는 것을 다 알려준다. 그런데 따라해도 계속 안되길래 여러가지를 찾아봤는데 CubeMX 설정을 할 때 모르고 FreeRTOS 를 미들웨어로 설정한 채로 main 문 안에 while(1) 을 사용 했던 것이다. 그래서 이번엔 Task를 만들어 해보니 잘 동작한다. FreeRTOS에서는 main 문의 while(1)문이 동작..
FreeRTOS API http://www.ubinos.org/mediawiki/index.php/FreeRTOS_API 서핑을 하다가 좋은 사이트를 찾았다. 2007년 기준이긴 하지만 초보자가 틀 잡기는 좋은 것 같다.
Suspending and Resuming task /* USER CODE BEGIN 0 */ TaskHandle_t Led_GateKeeperHandle = NULL; TaskHandle_t myTask2Handle = NULL; void Led_GateKeeper(void *pvParameters) { int count = (int*) pvParameters; //TickType_t xDelay = 500 / portTICK_PERIOD_MS; TickType_t xDelay = pdMS_TO_TICKS(1000); TickType_t myLastUnblock; myLastUnblock = xTaskGetTickCount(); for(;;) { HAL_GPIO_WritePin(GPIOD, LD4_Pin|LD3_Pin|LD5_Pin|LD6_Pin, GP..
Create Task & Delete Task , Delay 먼저 CubeMX를 이용해서 STM32F4 Discovery 보드 환경설정을 해준다. https://www.youtube.com/watch?v=CsMUmFLNTok&list=LLnJ3dJnBdwC2gZZdKionReg&index=4&t=169s 다음의 영상을 보면 FreeRTOS 코드를 다운로드해서 따로 설정하지 않아도 MiddleWare로 바로 FreeRTOS를 껴넣을 수있다. 최근에는 FreeRTOS CMSIS_V2 도 사용 할 수 있게 되었는데 더 좋은 성능을 내는 것 같다. 하지만 교육영상에서는 V1을 사용했으므로 V1으로 설정해주자. Create Task /* Private user code ---------------------------------------------------------*..
FreeRTOS Setup Target : STM32F407VGxx (Cortex-M4 Discovery Board) IDE : atollic TrueStudio 9.2 https://youtu.be/7efj3bJbGbk 다음의 영상을 보고 FreeRTOS setup을 따라해봤다. 좋은 점은 완전히 새로운 사용자에게 어떤 파일이 필요한지, 어떤 파일만 Build 할 것인지 대략적으로 알려준다는 것이다. 그러나 계속해서 linker 오류가 났는데 이유는 짐작하기에 FreeRTOSConfig.h 파일을 영상제작자는 따로 준비하여 왔는데 나는 그렇지 않았기 때문 인 것 같다. (본인은 FreeRTOS 폴더에 있는 Demo 파일중 Cortex-M4 아무거나 긁어왔음) 그래서 찾은게 https://www.youtube.com/watch?v..