반응형 분류 전체보기401 [STM32] VSCode 에서 STM32 디버깅하기(.vscode) 1. 먼저 elf 파일을 만들어줘야 하는데 아래 링크를 참조 2023.09.03 - [프로그래밍/STM32] - [STM32] cmake build(feat .bin, .elf, .hex 추출) [STM32] cmake build(feat .bin, .elf, .hex 추출) 먼저 나의 작업환경을 tree -L 4로 출력한 Directory 구조이다. . ├── CMakeLists.txt ├── MAIN │ └── board │ └── F4 │ ├── Core │ ├── Drivers │ ├── stm32f411re │ └── ledtest2.ioc ├─ park-duck.tistory.com 2. 프로젝트 루트 디렉토리의 .vscode에서 launch.json 생성 3. Add Configuration.. 프로그래밍/STM32 2023. 9. 3. [STM32] cmake build(feat .bin, .elf, .hex 추출) 먼저 나의 작업환경을 tree -L 4로 출력한 Directory 구조이다. . ├── CMakeLists.txt ├── MAIN │ └── board │ └── F4 │ ├── Core │ ├── Drivers │ ├── stm32f411re │ └── ledtest2.ioc ├── Toolchain │ ├── arm-none-eabi │ ├── bin │ ├── lib │ ├── share │ └── toolchain_arm_9.3.1.cmake ./CMakeLists.txt cmake_minimum_required(VERSION 3.10.2) set(CMAKE_SYSTEM_NAME Generic) set(CMAKE_SYSTEM_VERSION 1) # project settings project(te.. 프로그래밍/STM32 2023. 9. 3. [Renode] 가상머신 실행(Hello world 출력) 이전에 Renode를 설치했었다. 2023.08.15 - [Learning/Renode] - [Renode] 설치 [Renode] 설치 1. 지원 아키텍처 ARMv7 and ARMv8 Cortex-A and Cortex-M x86 RISC-V SPARC POWER Xtensa 2. 설치 아래 링크에서 renode-*.linux-portable.tar.gz를 다운로드 https://github.com/renode/renode/releases/latest renode_portable 폴더를 만든 후 park-duck.tistory.com Renode의 사용 목적이 대부분 가상 시물레이션일텐데, 내가 가지고있는 STM32 NUCLEO-F411RE을 기준으로 가상머신을 돌려보자. * 하드웨어에 대한 지식이 많이.. 프로그래밍/Renode 2023. 8. 22. [Python] 파일명 일괄 변경 .txt 파일을 따로 이름을 정하지 않고 저장하였을 때 "새로운 텍스트 파일 [number].txt" 식으로 저장이 되는데 파일명 format을 한번에 변경하고자 할 때 사용 ex) 새로운 텍스트 파일 2.txt -> 2_test.txt import glob import re import os for name in glob.glob("새로운*[0-9]{1,2}*.txt"): number=re.search("[0-9]{1,2}", name) os.rename(name, "{}_test.txt".format(number.group()) 변경하고자 하는 파일 name의 형식에 따라 정규식 표현 pattern이 변경될 수 있으므로 정규식 표현을 공부해야할 수도 있음. 프로그래밍/Python 2023. 8. 20. [Renode] 설치 1. 지원 아키텍처 ARMv7 and ARMv8 Cortex-A and Cortex-M x86 RISC-V SPARC POWER Xtensa 2. 설치 아래 링크에서 renode-*.linux-portable.tar.gz를 다운로드 https://github.com/renode/renode/releases/latest renode_portable 폴더를 만든 후 그곳에 압축해제 mkdir renode_portable tar xf renode-*.linux-portable.tar.gz -C renode_portable --strip-components=1 - 환경변수 추가 cd renode_portable export PATH="`pwd`:$PATH" 또는 .bashrc 가장 아래에 환경변수 추가 sudo.. 프로그래밍/Renode 2023. 8. 15. [Ubuntu] STM32 VSCode debugger GDB version Error 해결 OS: Ubuntu 20.04 VSCode로 STM32를 돌리려는데 아래와 같은 에러가 발생 GDB could not start as expected. Bad installation or version mismatch. See if you can start gdb from a shell prompt and check its version (Must be >= 9) 시도해 본 것은 gdb 업그레이드 툴체인 버전(7~10) 변경 openocd로 변경 -> openocd에서도 똑같은 에러 발생 st link upgrade 등 조금이라도 의심되는 건 다 해봤으나 안됨 해결방법은 VSCode에서 extends의 Cortex-Debug 버전을 낮추는 것 https://ja.stackoverflow.com/quest.. 프로그래밍/Linux 2023. 8. 14. [Ubuntu] STLink Upgrade 사용하여 STM32 board firmware update하기 sudo java -jar STLinkUpgrade.jar OS : Ubuntu 20.04 1. STLink Upgrade 다운로드 https://www.st.com/en/development-tools/st-link-server.html 2. 압축해제 3. 터미널을 열어 AllPlatforms 폴더로 이동(Linux) 4. Java 설치 # sudo apt install openjdk-[version]-jdk sudo apt install openjdk-11-jdk 4. STLinkdUpgrade 실행 아래 명령어를 수행하면 프로그램이 실행됨 sudo java -jar STLinkUpgrade.jar 5. Device를 선택 후 Open in update mode, Upgrade를 차례대로 클릭 프로그래밍/Linux 2023. 8. 14. [Jenkins] Cmake 사용&버전 변경 1. [Dashboard] - [Jenkins 관리] - [Plugin Manager]에서 Cmake 설치 나는 이미 설치되어 있으므로, 처음인 사람은 Available plugins에서 설치 설치를 하고 cmake 명령어를 사용하면 version이 3.10.2이다. 버전이 너무 낮아 에러가 발생하기 때문에 버전을 바꿔주자. 2. [Dashboard] - [Jenkins 관리] - [Global Tool Configuration]에서 Add CMake 원하는 version을 설치하고 Name을 설정하는데, 앞으로 사용할 때 필요하니 기억해 두자. 3. Jenkins File 작성 installation에 Global Tool Configuration에서 설정한 Name값을 적어주면 된다. stages {.. 프로그래밍/Jenkins 2023. 7. 23. [Jenkins] Git Command CI&CD Git을 공부하면서 Jenkins로 돌린 파일이다. Git 충돌에 관해서는 CUI로 해결하기 힘들어(할 줄 몰라) 제외하였다. 마찬가지로 rebase를 하거나 충돌 관련 try는 CI에서 구현하기 힘들어(할 줄 몰라2) 제외하였다. 그래서 stage, commit, branch, merge, stash 부분만 존재한다. 프로그래밍/Jenkins 2023. 7. 4. [Git] 5. stash Git stash란, 수정중인 파일들을 잠시 임시저장해야할 경우에 주로 사용된다. 예를 들면 Commit을 하기에는 코드 수정이 완료되지 않았는데 branch를 변경 또는 다른 작업을 해야할 때... 임시저장을 하고 나중에 다시 가져와 이어 작업할 수 있다. 1. 임시저장하기 git stash하게 되면 stack에 쌓이게 된다. git stash 2. stash 리스트 확인 git stash list 3. stash 이력 확인 git stash show -p stash@{stash 번호} 4. stash 적용(apply) stash는 stack과 같이 쌓인다 하였는데 적용하는 방법은 2가지이다. C++ 기본 stack 라이브러리에서는stack에서 top을 하게되면 마지막 push의 값을 반환하나 stac.. 프로그래밍/Git 2023. 7. 4. [Jenkins] Shell script 오류나도 계속 진행하는 방법 2가지 경우가 있는데 1. Jenkins에서 Script 에러 발생 시에도 진행하는 방법 2. SCM, 즉 Jenkins에서 .sh파일을 실행하는데 파일 안에 명령어가 여러 개 일 때 오류가 나도 진행하는 방법이다. 1번의 경우아래의 블로그를 확인 https://jojoldu.tistory.com/409 2번의 경우에는 아래 코드를 확인 (feature/A로 checkout을 하는데 오류가 난다고 하였을 때 가정이다) git checkout feature/A || true # or git checkout feature/A || exit [number] 그냥 git checkout feature/A를 수행하면 오류를 뱉고 Jenkins 수행결과도 Fail이다. git checkout feature/A ||.. 프로그래밍/Jenkins 2023. 6. 24. [Linux] 프로그램 없이 Serial 통신하기 연결된 시리얼 확인 ls /dev/ttyUSB* 내가 연결한 시리얼 확인 아래 명령어 입력 후 최근 내역에 연결 로그를 보고 판단 dmesg | grep tty 접근권한 부여&재부팅 sudo usermod -a -G dialout $USER 읽기 cat /dev/ttyUSB0 쓰기 echo "쓸 데이터" > /dev/ttyUSB0 만약 GUI 환경에 프로그램으로 간편하게 하고싶다면 putty를 추천 sudo 권한으로 실행 필요 sudo apt-get install putty sudo putty 프로그래밍/Linux 2023. 6. 24. 이전 1 ··· 3 4 5 6 7 8 9 ··· 34 다음 반응형