본문 바로가기

MCU

(18)
FreeRTOS 와 Zephyr 비교 특징과 장단점 비교FreeRTOS와 Zephyr는 둘 다 실시간 운영체제(RTOS)로, IoT, 임베디드 시스템 및 다양한 저전력 장치에서 사용됩니다.두 시스템은 서로 다른 설계 철학과 기능 세트를 제공하며, 사용 사례에 따라 장단점이 있습니다.1. FreeRTOS특징경량성: 코드 크기가 작고, 자원이 제한된 시스템에서 적합.모듈성: 필요한 기능만 선택적으로 포함하여 시스템 크기를 최적화할 수 있음.포팅 가능성: 다양한 마이크로컨트롤러와 프로세서를 지원하며, 포팅이 쉽도록 설계됨.라이선스: MIT 라이선스 기반으로, 상업적 사용이 자유로움.커뮤니티 및 생태계: AWS IoT와의 통합 및 지원, 그리고 강력한 커뮤니티 제공.장점코드 크기와 메모리 사용이 작아 자원이 제한된 시스템에 최적.API가 간단하고 ..
STM32CubeIDE 에서 FreeRTOS 선택 시 차이 STM32 Project를 FreeRTOS로 선택하여 생성했을 때 프로젝트 파일 차이.. 1. 기본  2. FreeRTOS
FreeRTOS Task priority https://www.freertos.org/Documentation/02-Kernel/02-Kernel-features/01-Tasks-and-co-routines/03-Task-priorities Tasks - FreeRTOS™The concept of task statesfreertos.org Task의 priority를 확인해 보았습니다.CMSIS V2 환경입니다. 아래의 3개의 task들을 정의했습니다.osThreadId_t defaultTaskHandle;const osThreadAttr_t defaultTask_attributes = { .name = "defaultTask", .stack_size = 128 * 4, .priority = (osPriority_t) osPriorityN..
STM32CubeIDE 업그레이드 함부로 한 댓가... 업그레이드하라는 팝업 메시지 그대로 진행했더니...st-link 연결 안 되는 증상이 발생했습니다.firmware는 업데이트가 되는데 정작 debug 가 안 되는 증상입니다.이리저리 검색해도 현재는 답이 안 보여서 1.51.1로 재 설치 후 프로젝트를 불러오니 버전의 문제로 import가 안 되는 문제가 발생했습니다.현재보다 최신 버전의 ioc를 처리하지 못하는 에러 메시지였습니다.구글링 해보니 "MxCube.Version" 값을 변경하면 된다는 글이 있었지만 해결되지 않았습니다.결국 ioc 파일 내용을 하나씩 비교해서 적용하고 ide에서 변경한 설정의 적용여부를 확인하는삽질을 한 후에야 최종 동작이 확인되었습니다.함부로 업데이트를 하면 안 된다는 것을 배웠습니다...😭
현재 Mac 15.0.1 에서 ST-Link server 연결 문제 현재 저의 환경인 Mac 15.0.1에서 STM32 CubeIDE를 실행하면 아래의 메세지와 함께 ST-Link 연결이 되지 않고 있습니다. 터미널에서 직접 실행하면 정상 동작 되고 있습니다. 아래의 사이트에서는 sudo를 함께 사용한 것을 해결책으로 알려주는데 저는 sudo 없이도 정상 동작하고 있습니다. https://community.st.com/t5/stm32cubeide-mcus/stlink-server-with-macos-15/td-p/705089 STLink Server with MacOS 15  Hello, I updated to Mac15 (MacOS Sonoma Public Beta), which was probably a mistake. Now I get an error from ST..
printf UART로 출력 c 함수 printf()를 UART로 출력하게 해서 디버깅을 할 수 있습니다. 아래의 링크를 참고하면 간단히 해결됩니다.The ST-LINKs embedded on ST Nucleo boards have a virtual com port feature, and we can easily get debugging information on a terminal using printf redirected to the UART of the STM32 connected to the ST-LINK pins used for the virtual COM port. https://community.st.com/t5/stm32-mcus/how-to-redirect-the-printf-function-to-a-uart-for..
CAN bus 환경 테스트 STM32 board와 Raspiberry Pi 3을 이용해 CAN 통신 한경을 구성했습니다.  STM32 보드는 NUCLEO-F446RE 입니다.CAN transceiver는 SN65HVD230 Board 를 연결하였습니다. Raspberry Pi 3는 RS485 CAN HAT를 사용했습니다.동일하게 CAN transceiver는 SN65HVD230 이기 때문에 환경 구성이 수월합니다. STM32 보드는 1초 단위로 메시지를 전송하고 수신된 메세지를 출력하도록 했습니다.Rpi3 보드는 can-utils을 사용하여 메시지를 전송하고 수신하였습니다. Rpi3 메세지 전송 STM32 메세지 수신 STM32에서 전송한 메세지 Rpi3에서 수신 캡처를 이상하게 해서 좀 안 맞지만 일단 기록해 둡니다.
NUCLEO-F446RE 보드 NUCLEO-F446RE NUCLEO-F446RE - STM32 Nucleo-64 development board with STM32F446RE MCU, supports Arduino and ST morpho connectivity - STMicroelectronics NUCLEO-F446RE - STMicroelectronicsNUCLEO-F446RE - STM32 Nucleo-64 development board with STM32F446RE MCU, supports Arduino and ST morpho connectivity, NUCLEO-F446RE, STMicroelectronicswww.st.com On-board ST-LINK/V2-1 debugger/programmer on USB Min..