Setting Up the Development Environment on Linux
Setting Up the Development Environment on Linux 리눅스에 개발 환경 설정하기
다음은 우분투 22.04 LTS 64비트 버전에 유비노스 개발 환경을 설정하는 과정을 설명한다. 사용된 설치 패키지는 2024년 1월 20일의 최신 안정 버전이다.
1. 터미널을 연 후, 다음 명령을 입력해 개발용 기본 도구들을 설치한다.
sudo apt install git make gcc g++ ccache python3 python3-tk python3-pip python3-virtualenv python-is-python3 python3-pil python3-pil.imagetk bzip2 libncurses5 xterm -y pip3 install ttkwidgets
2. 다음 명령을 입력해 씨메이크를 설치한다.
sudo apt install cmake cmake-curses-gui cmake-qt-gui -y
3. 다음 웹사이트에서 그누 암 임베디드 툴체인 설치 패키지를 받는다.
- https://developer.arm.com
- Tools and Software → Open Source Software → GNU Toolchain → GNU-RM → Downloads
- GNU toolchain releases for Embedded processors (discontinued) (https://developer.arm.com/downloads/-/gnu-rm)
gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2
- GNU toolchain releases for Embedded processors (discontinued) (https://developer.arm.com/downloads/-/gnu-rm)
- Tools and Software → Open Source Software → GNU Toolchain → GNU-RM → Downloads
4. 다음 명령을 입력해 그누 암 임베디드 툴체인을 설치한다.
sudo mkdir -p /opt/toolchain cd /opt/toolchain sudo tar xfj ~/Downloads/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 sudo ln -s gcc-arm-none-eabi-10.3-2021.10 gcc-arm-none-eabi
5. 환경 변수 "PATH"에 그누 암 임베디드 툴체인 실행 파일 경로를 추가한다.
- 파일 "~/.bashrc"에 다음 내용을 추가한다.
export PATH="/opt/toolchain/gcc-arm-none-eabi/bin:$PATH"
6. 다음 명령을 입력해 QEMU를 설치한다. (버전 6.2 이상 필요)
sudo apt install qemu qemu-system-arm -y
7. 다음 웹사이트에서 브이에스코드를 받아서 설치한다.
- https://code.visualstudio.com
- Download
- ...
- Download
8. 브이에스코드에서 다음 Extension들을 설치한다.
- C/C++ (by Microsoft)
- C/C++ Themes (by Microsoft)
- Python (by Microsoft)
- CodeLLDB (by Vadim Chugunov)
- CMake (by twxs)
- MemoryView (by mcu-debug)
- ARM Assembly (by dan-c-underwood)
9. 다음 명령을 입력해 미니컴을 설치한다.
미니컴은 유아트 통신을 위해 설치한다. 사용중인 다른 유아트 통신 터미널 소프트웨어가 있다면 이 과정은 생략한다.
sudo apt install minicom -y
10. 내 계정에 유아트 포트 접근 권한을 부여한다
- 파일 "/etc/group"의 다음과 같이 수정해 그룹 "dialout"에 내 계정을 추가한다.
- dialout:x:20:<my user name>
11. 다음 웹사이트에서 제이링크 소프트웨어 설치 패키지를 받는다.
제이텍 인터페이스로 제이링크를 사용하지 않을 경우 이 과정은 생략한다.
- https://www.segger.com
- Downloads → J-Link / J-Trace → J-Link Software and Documentation Pack → Click for downloads
- JLink_Linux_V756d_x86_64.deb
- Downloads → J-Link / J-Trace → J-Link Software and Documentation Pack → Click for downloads
12. 다음 명령을 제이링크 소프트웨어를 설치한다.
제이텍 인터페이스로 제이링크를 사용하지 않을 경우 이 과정은 생략한다.
sudo dpkg -i ~/Downloads/JLink_Linux_V756d_x86_64.deb
13. 환경 변수 "PATH"에 제이링크 소프트웨어 실행 파일 경로를 추가한다.
제이텍 인터페이스로 제이링크를 사용하지 않을 경우 이 과정은 생략한다.
- 파일 "~/.bashrc"에 다음 내용을 추가한다.
export PATH="/opt/SEGGER/JLink:$PATH"
14. 다음 웹사이트를 참조해 에스티링크 소프트웨어를 설치한다.
제이텍 인터페이스로 에스티링크를 사용하지 않을 경우 이 과정은 생략한다.
15. 다음 명령을 입력해 오픈오씨디를 설치한다.
제이텍 인터페이스로 에스티링크를 사용하지 않을 경우 이 과정은 생략한다.
sudo apt install openocd -y
16. 다음 웹사이트에서 이클립스 설치 패키지를 받아서 설치한다.
통합개발 환경으로 이클립스를 사용하지 않는다면 이 과정은 생략한다.
- https://www.eclipse.org
- Download
- Get Eclipse ...
- Installation options 설치 옵션
- Eclipse IDE for C/C++ Developers
- Download
17. 재부팅한다.
Notes 참고 사항
제이링크 GDB 서버는 터미널에서 다음 명령을 입력해 실행할 수도 있다.
JLinkGDBServerExe &
또는 다음 명령을 입력해 CLI로 실행할 수도 있다.
JLinkGDBServer -select USB -device nRF52832_xxAA -endian little -if SWD -speed auto -noir -LocalhostOnly
USB로 다수의 제이링크가 연결되어 있는 경우, 다음과 같이 일련 번호를 명시해 연결할 제이링크를 선택할 수 있다.
JLinkGDBServer -select USB=<J-Link serial number> -device nRF52832_xxAA -endian little -if SWD -speed auto -noir -LocalhostOnly
제이링크 일련 번호는 "dmesg" 명령으로 확인할 수 있다.
- "dmesg" 실행 → "Product: J-Link ... Serial Number: "
에스티링크를 통한 GDB 서버는 터미널에서 다음 명령을 입력해 실행할 수도 있다.
openocd -f <OpenOCD configuration file name>
오픈오씨디 configuration file은 유비노스 빌드 시 다음 위치에 생성된다.
- <project directory>/output/<config name>/openocd.cfg
USB로 다수의 에스티링크가 연결되어 있는 경우, 다음과 같이 일련 번호를 명시해 연결할 에스티링크를 선택할 수 있다.
openocd -f <OpenOCD configuration file name> -c "hla_serial <ST-Link serial number>"
제이링크 일련 번호는 "dmesg" 명령으로 확인할 수 있다.
- "dmesg" 실행 → "Product: STM32 STLink ... SerialNumber: "
미니컴은 터미널에서 다음 명령을 입력해 실행한다.
minicom -D /dev/<JLink CDC UART Port Name>
미니컴의 유아트 설정을 수정하려면 "Control-A"와 "P"를 차례로 입력한다.