STM32 CubeIDE에서 FreeRTOS 속공

제목과 같이 2019년 4월 발매된 STM32CubeIDE에서 프리타스를 빠르게 이동해 봤습니다!이런 기사.

배경.


갑자기 정편을 읽고 싶다!여기.부터 시작하십시오.

바둑판을 살 때까지.


최근 10년 동안 RTOS를 접할 기회가 많아서 조예에 깊이 들어가고 싶습니다.
"평가용 마이크로컴퓨터로 다양한 RTOS를 이동해 보세요!"
그렇게 생각하게 된 계기가
그리고 Amazon FreeRTOS 자꾸 트렌드인 것 같아!그래서 대응하는 판자STM32L4 Discovery kit IoT node(7000엔 거스름돈 가능)를 샀어요.

고성능 패널입니다.


사고 나서 눈치 챈 것도 아쉬웠지만 이미 여러 가지 기능이 가득한 널빤지였다.
구름이 뭐예요?AWS?이른바 IoT?명랑한 성격인 저로서는 상당히 당혹스러웠지만
어쨌든 일단 움직여주세요.
목표로 삼다.

아무튼 Amazon FreeRTOS를 먼저 이동하도록 하겠습니다.


판은 완전히 같기 때문에 아래Yutaka Kato의 사이트를 참고하게 해 주세요(감사합니다!)
고릴라와 Hello World가 AWS IoT 화면에 도착합니다.
확인했습니다.

뒤로(뒤로) 배열


보아하니 아마존 프리토스는 바둑판에서 운행하는 것 같다
RTOS 다이얼 LED 사용
이 정도로 시작하고 싶었던 저한테는 정말 놀랐어요.흐느껴 울다
그래서 저는 초심으로 돌아가 이 보드를 가져오는 RTOS(및 개발 환경)를 선택하기로 했습니다.

역시 프리토스.


TOPPERS와 T-Kernel 등도 조사를 진행했습니다.
STMicroelectronics IDE에서 아주 간단한 FreeRTOS를 시작할 수 있을 것 같아요.
이 점을 알고 나는 비로소 이 보도를 썼다.

정편


1. 환경

  • IDE: STM32CubeIDE
    @usashirou 아래 글의 앞부분에 설치 방법이 기재되어 있다.고맙습니다.
    https://qiita.com/usashirou/items/65be086c28f7a6feac7d
  • 평가판: STM32L4 Discovery kit IoT node - 모델 B-L475E-IOT01A
    STMicroelectronics에서 제작한 다른 보드에서도 가능합니다.
  • 2.해보자!


    2-1. STM32 프로젝트 만들기


    다음과 같이 STM32 CubeIDE를 시작합니다.

    Target Selection 화면을 표시하고 Board Selector에서 자신의 보드를 선택하고 Next를 누릅니다.
    (내 경우는 위의 "B-L475 E-IOT01A")

    Project Name에서 FreeRTOS를 입력한 다음 Finish를 누릅니다.

    대화 연발(잡)때문에 "Yes"연타, 완성!

    2-2. FreeRTOS 가져오기~추가 작업 등


    Device Configuration Tool(ioc 파일이 열린 상태) 왼쪽에서 Categories에서 Middleware - FREERTOS를 클릭합니다.

    오른쪽 Mode 가 나오기 때문에 아래에서 CMSYS 1 을 클릭합니다.

    지금까지 FreeRTOS 가져오기가 완료되었습니다.

    2-2-1. 작업 추가


    '콘피그레이션'에는 볏짚과 시계 문자가 있는데 귀찮아서 일단'피넛'을 숨겨야 한다(화면 생략).
    그런 다음 Mode에서 Configuration의 Tasks and Quees를 선택하고 Add를 클릭합니다.

    미션 추가 화면이지만, 특히'OK'를 누르는 것은 고려하지 않는다.

    myTask02를 무사히 추가했습니다.

    2-2-2. 뒷처리


    이렇게 하면 구축할 때 욕을 먹기 때문에 Timebase Tick을 변경해야 한다.
    (창 최대화)
    Categories에서 System Core의 SYS를 클릭합니다.

    SysTick에서 Timebase Source를 변경합니다.TIM17을 결정했습니다.

    2-2-3. 코드 생성


    Ctrl+S를 사용하여 변경 내용을 저장합니다.
    그래서 아래 화면이 나와서'예'를 누르면 코드를 생성합니다.

    2-3. 작업 중 LED 깜박임 시도


    위에서 말한 바와 같이 제작한 경우,main.c에서 작업 함수 StartTask02()를 생성합니다.
    이 순환에 다음 코드를 추가합니다(B-L475E-IOT01A 시).
    보시다시피 500밀리초 간격으로 LED로 둘러싸여 있습니다.
        HAL_GPIO_TogglePin(LED2_GPIO_Port, LED2_Pin);
        osDelay(500);
    
    그림부터 붙여.

    2-4. 자, 구축!


    Project - Build All 또는 Ctrl+B를 사용하여 구성합니다.화면이 생략되다.
    오류와 오류가 없음을 확인하십시오.HH:MM:SS Build Finished. 0 errors, 0 warnings. (took 8s.485ms)

    2-5. 자, 실행!


    (우선, PC와 타겟보드를 연결한 후)
    STM32 MCU C/C++ Application으로 실행됩니다.사진 참조.

    1회에서는 다음 화면이 나오기 때문에 아무 생각 없이'OK'를 했다.

    처음에 멈춰야 하기 때문에 F8을 누르거나 화면 버튼을 눌러라.

    이렇게 하면 LED가 켜져요!

    끝말


    도구의 사용법이 90% 를 차지하지만 Freertos를 간단하게 가져올 수 있다는 것은 정말 대단하다.
    그리고 나는 어느 공장이든 자동으로 생성된다고 생각한다.구식 기질을 지닌 엔지니어에게 저촉되는 것 같다.
    다음에도 RTOS 주변에 글을 쓸 예정입니다.

    좋은 웹페이지 즐겨찾기