STM32F4 CAN 필터 설정을 정리한 포스트가 있는데, 이 글에서는 FDCAN 필터 설정이 기존 CAN과 약간 차이가 있어 정리해둔다. STM32 CAN 32비트 멀티 필터 설정 J1939 프로토콜의 CAN 데이터를 수신하여 처리하려면 CAN 통신속도 250kbps, 샘플포인트 87%로 설정해야 한다. 내부클럭(HSI)을 사용할 경우 MCU의 상태에 따라 클럭이 틀어져서 CAN 데이터를 수신 못하는 memories.tistory.com CAN FD 설명은 아래 포스트를 참고하면 기존 CAN과 차이점을 자세히 알 수 있다. 간단히 설명하면 CAN 버스 네트워크에 높은 부하을 줄이기 위해 Bosch에서 새롭게 발표한 CAN 프로토콜이며, 데이터 길이를 8바이트에서 64바이트로 확장하고, 최대 전송 속도를..
STM32 개발보드로 디버그문은 항상 UART 포트를 할당하여 USB2Serail을 연결하여 사용하였는데, 몇일전 자료를 찾다가 개발보드의 ST-Link USB 포트로 UART 출력이 가능하다는 글을 보게 되어 바로 테스트 해보았다. [STM32] USB를 통한 printf 사용법 USB를 사용하여 printf를 사용하는 법입니다. velog.io ST-Link USB 포트로 UART 출력하기 위해 아래 이미지와 같은 설정이 필요하다. System Core의 Sys 항목에서 Debug 모드를 Trace Asynchronous SW로 설정하고 STM32L432KC 개발보드의 Virtual COM Port가 설정되며, 이것은 UART2으로 연결된 것을 확인할 수 있다. UART2 기본 핀(PA2:Tx, PA..
우분투를 오랜 시간 사용하다 보니 터미널을 실행하는 단축키(⌃ + ⌥ + T)가 몸에 베어 습관적으로 누르는 버릇이 있어, 단축키를 등록하는 방법을 찾다 꽤 괜찮은 앱을 무료로 받을 수 있어 설치하여 사용해보니 대만족하여 블로그에 정리해 둔다. 앱스토어를 통해 무료로 설치가 가능하며, 자주 사용하는 터미널 프로그램인 iTerm2와 헥사 변환 도구 및 계산기인 SpeedCrunch를 일단 등록하여 사용하였는데, 매번 독을 통해 실행했던 불편함이 말끔이 사라졌다. 자주 사용하는 앱은 단축키로 등록하면 아주 편하게 사용할 수 있다. 요즘은 맥북을 주로 사용하다보니 집에서 우분투를 사용할 때 마다 macOS 단축키로 입력하는 경우가 발생하는 거 보면, 정말 사람은 적응에 동물이라는 새삼 느끼며 집에서도 맥북을 ..
GitHub을 혼자 사용할 때는 기본만 알아도 큰 불편함이 없었지만, 여러 사람들과 함께 사용하다 보니, 익숙치 않은 명령어를 사용할 때마다 검색해서 하는 것이 귀찮아서 블로그에 간단히 정리해둔다. GitHub에 여러 계정의 ssh key 사용 (Host 키워드를 사용하여 alias 방법) $ vi ~/.ssh/config Host HOSTA HostName github.com User git IdentityFile ~/.ssh/HOSTA_rsa Host HOSTB HostName github.com User git IdentityFile ~/.ssh/HOSTB_rsa $ git clone git@HOSTA:/xxx.git . Branch 관리 생성 $ git branch $ git checkout -b..
Tiny Serial은 매우 심플한 터미널 프로그램이다. Tiny Serial은 미니컴이 불편해서 우분투(리눅스)에서 단순히 터미널 확인 용도로 심플한 터미널 프로그램을 찾다 발견하여 2012년부터 계속 사용했던 프로그램이며, 미니컴 같이 여러 기능을 포함한 것이 아니라 시리얼 Rx/Tx 확인 용도 만들어진 소스이다. 이직한 회사의 개발환경이 macOS로 구성되어 있어, Tiny Serial이 동작하지 않아 구글링하여 급하게 수정하여 사용하였으나, macOS가 업데이트 되면서 Rx는 문제가 없으나 Tx가 동작하지 않아 이것을 수정하여 블로그에 정리해둔다. 기존에 코드 이해없이 구글링하여 급하게 수정한 것이라, 이번에 발생한 문제를 수정하기 위해 termios를 살펴보고 기존 코드의 불필요한 내용은 삭제하..
우분투를 사용할 때는 그냥저냥 기본 계산기를 사용하여도 불편함이 없었는데, 맥북을 사용하면서 기본 계산기는 불편해서 사용할 수 없었다. 인터페이스를 떠나서 Hex / Binary 값을 확인하는데 너무 너무 불편해서 대안할 수 있는 계산기를 찾아도 썩 맘에 들지 않았는데, 동료가 SpeedCrunch라는 공학용 계산기(?)를 사용하는 것을 보고 바로 설치하였다. 진짜 내가 원하는 기능뿐만 아니라 가독성도 좋고 쓰기도 너무 편해서 블로그에 정리해 둔다. F2 ~ F8 키를 이용하여 변환되는 값을 설정할 수 있으며, 이전 계산된 내용도 기록되어 너무 편하다. 더욱이 macOS 뿐만 아니라 우분투, 윈도우 버전도 제공하고 있어, 어떤 플랫폼에서도 사용이 가능하다. SpeedCrunch를 사용해보니, 그동안 우분..
우분투에서 사용한 시리얼 프로그램인 Tiny Serial이 macOS에선 동작하지 않는 문제가 있었다. 컴파일할 때 Baud Rate 말고는 큰 문제가 없는데, 왜 안되는지 확인을 하려고 하였으나 macOS의 screen 커맨드로 당장 시리얼을 사용 못하는 것이 아니여서 그냥저냥 쓰고 있었다. 하지만, screen 명령어로 시리얼을 확인할 경우 몇몇 캐랙터가 이빨 빠지는 현상이 은근히 신경이 쓰여, TinySerial을 macOS에서 동작시키는 것이 정신 건강에 좋을 것 같아 오늘 잠깐 짬을 내어 수정하였다. GitHub - highgon2/TinySerial: Tiny Serial on Ubuntu Tiny Serial on Ubuntu. Contribute to highgon2/TinySerial d..
nRF 이미지의 무결성 검사를 sha256sum 커맨드를 사용하여 digest를 생성하는데 macOS는 sha256sum 커맨드가 xcode 개발도구에 포함되어 있지 않다. coreutils 패키지를 따로 설치해야 한다. % brew install coreutils 위 패키지를 설치하고 sha256sum 같은 필요한 커맨드를 실행하기 위해 아래와 같이 .zshrc 파일에 실행경로를 PATH 환경변수로 등록해야 한다. % vi ~/.zshrc ... export PATH="/opt/homebrew/opt/coreutils/libexec/gnubin:$PATH" ... 하지만, 위와 같이 gnubin 디렉토리를 환경변수로 등록할 경우 iterm2 color schema와 충돌이 발생하여 iterm2 colo..
arm-developer에서 arm-none-eabi 컴파일러를 다운받아 실행할 경우 아래와 같은 메시지가 출력되며 실행이 불가하다. 아무 생각없이 클릭하여 휴지통으로 이동시키는 불상사가 발생하는 경우가 생긴다. 어쨌든 이것을 해결하려면 시스템 설정 -> 개인정보 보호 및 보안 하목에서 특정 터미널 커맨드를 실행할 수 있도록 허용해야 한다. 실행 불가한 터미널 커맨드가 실행때 최소 한번은 위와 같이 설정해줘야 하는 불편함 때문에 아래 명령어로 보안에는 다소 취약하지만 이런 메시지 없이 바로 실행시킬 수 있다. % sudo spctl --master-disable 시스템 설정 -> 개인정보 보호 및 보안 메뉴에서 다운로드한 응용 프로그램 허용이 모든곳이 추가된 것을 확인할 수 있다. 다시 원래대로 복구하려..
OCPP 인증 과정에서 Diagnostic 데이터를 서버에 전송하는 테스트가 있어, FTP 서버를 구성하여 ftpclient 소스받아 테스트 과정 중, 아래와 같이 접속 에러가 발생하는 서버가 있어 정리해 두도록 한다. 모든 서버가 문제가 있는 것이 아니라 특정 FTP 서버에서 발생한 문제하여, 구글링으로 찾아보니 vsftpd 버그라고 하며 이것을 해결하려면 ipv6를 비활성화 시키면 된다고 한다. 227 Entering Passive Mode (0,0,0,0,...) when connecting to vsftpd FTP server As said in the title, I don't manage to connect my Windows 10 host to my FTP server on the Virtu..
연휴동안 맥북만 사용하면서 어느정도 macOS에 익숙해졌지만, 윈도우 계열의 키보드 단축키가 달라서 여전히 불편하다. 집에서는 우분투 & 윈도우를 쓰고 있고, 회사에선 맥북을 쓰고 있으니 여전히 헷갈리수 밖에... 어쨌든 회사에선 레오폴드를 연결하여 사용중에 있는데, 맥북 자판 배열과 동일하게 사용하는 것이 정신 건강에 좋기 때문에 왼쪽 하단의 윈도우 키와 ALT 키를 스왑하여 ALT키를 Command 키로 변경하여 사용하려고 한다. karabiner를 이용할 수 있지만, 인터넷의 숨은 고수가 아주 잘 정리한 것이 있어, 이것을 그대로 적용하였다. 이 블로거는 같이 레오폴드 FC750R 키맵핑을 아래 이미지와 같이 변경하여 사용하고 있다. 이렇게 배치되면 거의 맥북의 키보드 배열과 유사하여 맥을 사용할 ..
빌드 환경을 구성하기 위해 cmake, ninja, dfu-util을 설치하도록 한다. % brew install cmake ninja M1 / M2 사용하는 macOS에서 Intel PC에서 빌드한 바이너리를 실행하기 위해 Rosetta를 설치해야 한다. Rosetta를 설치하지 않는다면 arm cross 컴파일러 실행시 아래 이미지와 같은 에러가 발생한다. % /usr/sbin/softwareupdate --install-rosetta --agree-to-license ESP 빌드 환경을 구성하기 위해 esp-idf를 설치해야 하며, 아래 GitHub에서 다운받아 설치가 가능하지만, 의존성 문제로 파이썬 3.10 버전이 설치되어 있어야 한다. % brew install python@3.10 % vi ..
다크 모드가 눈에 피로도를 줄이기 하지만, 웹페이지 경우는 완벽하게 지원하지 못하기 때문에 라이트 모드를 선호한다. 라이트 모드를 선택할 경우 노치 부분이 거슬린다면 아래 TopNotch를 설치하여 깔끔하게 해결이 가능하다. TopNotch를 설치하면 아래 이미지와 같이 설치 시스템 트레이 아이콘 생성되며, 부팅시 자동 실행된다. 설정할 것은 특별히 없고, 엣지 부분을 라운딩하여 자연스럽게 표시 할 수 있다. 시스템 트레이 아이콘에 음량과 배터리 잔량 표시를 직관적으로 확인할 수 있게 시스템 설정 -> 제어센터에서 아래 이미지와 같이 수정하도록 한다. 그리고 음량 조절시 음량 크기를 확인할 수 있게 시스템 설정 -> 사운드에서 피드백 재생을 활성화 시킨다. TopNotch 설치하면 화면모드를 다크로 설정..
macOS에서 가장 마음에 들지 않는 앱이 윈도우의 탐색기, 우분투의 노틸러스 또는 네모격인 바로 Finder이다. 이건 뭐 사용자 커스텀마이징은 거의 불가하고 애플에서 약간 강제성을 띄는 앱처럼 느껴진 파일 관리자이다. 이건 정말 못쓸 것 같았지만, 한달 정도 사용해보니 불편하지만 하나씩 적응 중에 있다. 하지만 여전히 다른 앱이 있다면 설치하고 싶은 욕망은 있지만 어차피 애플에서 강제적으로 쓰도록 한다면 내가 적응하는 것이 앞으로도 정신 건강에 좋을 것 같아, 그냥저냥 쓰고 있다. 최근항목은 우분투를 사용할 때부터 절대 사용하지 않았다. 그 이유는 문서 작업을 위주로 컴퓨터를 사용하는 것이 아니고 개인정보 관련 문서가 최근항목 탭에 남아 있는 것이 상당히 거슬렸기 때문에 최근항목을 사용하지 않는 것을..
대부분의 사람들이 macOS에서 제공하는 기본 터미널 앱을 사용하기 보다는 iterm2 사용하는 것 같다. 그래서 iterm2 다운받아 설치하도록 한다. 그리고 macOS 패키지 매니저인 HomeBrew도 설치해야 하며, 패키지 매니저를 설치하면 CLI환경에서 brew 명령어를 사용하여 앱 또는 패키지 설치가 가능하다. % /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" HomeBrew를 설치하기 위해 Command Line for xcode가 함께 설치되며, 설치가 완료되면 아래의 스크립트를 실행하여 brew 실행 파일을 생성해야 한다. % (echo; echo 'eval "$(/..