Target
Board
STM32MP157F-EV1(ST)
Host
PC - Ubuntu 22.04
목표
STM32MP1 개발 환경 구축 - STM32CubeMPU Package
 

STM32MP1 Cortex-M을 실행하는 소프트웨어를 개발하기 위한 STM32CubeMPU Package 설치 순서는 아래와 같다.

1. STM32CubeIDE 설치

2. STM32CubeMP1 패키지 설치

3. STM32CubeProgrammer 설치

 

지금 단계에서는 STM32CubeProgrammer만 필요하지만, 나중에 다 필요하므로 지금 설치 한다.

 

설치 과정은 아래 링크를 참고 하였다.

 

 

$ unzip en.st-stm32cubeide_1.11.2_14494_20230119_0724.unsigned_amd64.sh.zip
 

1-3. 압축 푼 폴더로 이동

$ cd en.st-stm32cubeide_1.11.2_14494_20230119_0724.unsigned_amd64.sh/
 

1-4. 스크립트를 실행 가능하게 하기 위해 권한 변경

$ chmod +x st-stm32cubeide_1.11.2_14494_20230119_0724.unsigned_amd64.sh
 

1-5. st-stm32cubeide_1.11.2_14494_20230119_0724.unsigned_amd64.sh

스트립트를 실행 하여 설치

$ ./st-stm32cubeide_1.11.2_14494_20230119_0724.unsigned_amd64.sh
 

1-6. License를 확인 하며 설치

1-7. 설치 확인

 

2-2. 위 다운로드 받은 파일은 아래 경로로 복사

/home/본인PC이름/STM/Developer-package

 

2-3. 다운로드 받은 파일 unzip 풀기

$ unzip en.STM32Cube_FW_MP1_V1.6.0.zip
 

2-4. 파일 확인

 

3. STM32CubeProgrammer 설치

3-1. 아래 링크에서 'STM32CubeMP1'다운로드

3-2. 다운로드 받은 파일 unzip 풀기

$ unzip en.stm32cubeprg-lin-v2-12-0.zip
 

3-3. 압축 푼 폴더로 이동

$ cd en.stm32cubeprg-lin-v2-12-0/
 

3-4. SetupSTM32CubeProgrammer-2.12.0.linux

실행 하여 설치

$ ./SetupSTM32CubeProgrammer-2.12.0.linux
 

3-5. License를 확인 하며 설치

3-6. 설치 확인

 
Target
Board
STM32MP157F-EV1(ST)
Host
PC - Ubuntu 22.04
목표
STM32MP1 개발 환경 구축 - ubuntu(우분투) 설치

 


STM32MP157F-EV1(ST) Board 개발을 위해 아래 링크를 참고 하여 개발 환경을 구축한다.

대표사진 삭제

사진 설명을 입력하세요.

STM32MP157F-EV1 - STMicroelectronics

STM32MP157F-EV1 - Evaluation board with STM32MP157F MPU, STM32MP157F-EV1, STMicroelectronics

www.st.com


STM32MPU Embedded Software Developer Package는 크게 다음과 같이 나뉜다.

출처 :  STM32MP1 Developer Package - stm32mpu

 

1. Starter Package

 

2. Software Developmen Kit

2-1. Arm Cortex-A에서 실행되는 소프트웨어를 개발하기 위한 구성 요소 설치(OpenSTLinux 배포)

- SDK 설치(Arm Cortex-A의 모든 개발에 사용 가능)

- OpenSTLinux BSP packages 설치(리눅스 커널을 수정하려는 경우, 외부 트리 외 리눅스 커널 모듈을 추가하려는 경우, U-Boot, TF-A, OP-TEOS를 수정하려는 경우에만 필수)

- debug symbol files 설치(GDB를 사용하여 Linux® 커널, U-Boot, OP-TEE 또는 TF-A를 디버그하려는 경우에만 실행)

 

2-2. Arm Cortex-M(STM32CubeMPU Package)을 실행하는 소프트웨어 개발을 위한 설치

- STM32CubeIDE 설치(Arm Cortex-M에서 모든 개발에 사용 가능)

- STM32CubeMPU 패키지 설치(STM32Cube 펌웨어를 수정하려는 경우에만 필수)


가장 먼저 Linux - ubuntu를 설치한다.

Linux를 사용하는 방법에는

1. Linux 단일

2. Multi booting

3. 가상 머신(VMware, VirtualBox등)

의 방법이 있는데 1, 2번 사용을 권장한다.

3번으로 사용할 경우 하드웨어 연결이 잘 되지 않는다.

 

여기서는 1. Linux 단일로 사용하며 ubuntu 설치 디스크를 만들어 설치 한다. 멀티 부팅은 Window, Linux 동시에 사용할 수 없고 껐다 켜기 번거롭다.

 

1. ubuntu 다운로드

2. 설치 디스크 만들기(USB 사용)

2-1. Rufus 다운로드(*.iso 파일로 부팅 디스크 만드는 프로그램)

 

2-2. 2번에서 다운로드 받은 *.iso 파일 선택

 

* 부팅 디스크 만들때 모든 데이터가 삭제된다는 메시지가 나오므로 중요한 데이터는 미리 옮겨 놓을 것

 

3. ubuntu 설치

3-1. 3번에서 만든 USB를 꽂고 BIOS에서 USB를 먼저 인식하게 부팅 순서를 바꾸고 재시작

(BIOS 진입하는 key는 제조사 마다 다르므로 확인 필요)

 

3-2. ubuntu 설치

 

3-3. ubuntu 설치 완료

 

 

 

Linux?

오픈소스 운영 체제(OS). 운영 체제(Operating System, OS)는 CPU, 메모리, 스토리지처럼 시스템의 하드웨어와 리소스를 직접 관리하는 소프트웨어. OS는 애플리케이션과 하드웨어 사이에서 모든 소프트웨어와 작업을 수행하는 물리적 리소스를 연결

 

Linux는 크게 아래 3가지로 구성 됨

1. 부트로더(Boot loader)

2. 커널(Kernel)

3. 파일 시스템(File system)


 

1. 부트로더(Boot loader)

OS가 시작되기 전 실행되어 커널을 메모리에 올려 OS를 실행 시켜 줌

 

1-1. 부트로더의 기능

- 메모리 초기와

- 하드웨어 초기와

- 네트워크 초기와

- 사용자 인터페이스 기능

 

1-2. 부트로더의 동작

- 압축 되어 있는 커널 이미지를 메모리에 복사

- 커널 이미지의 압축을 품

- 커널을 실행

- 루트 파일시스템을 마운트

- OS 운영에 필요한 프로그램을 실행

 

1-3. 부트로더의 종류

- U-Boot(Universal Bootloadcer)

- LILO(Linux Loader)

- GRUB(GRand Unified Bootloader)

- RedBoot

- BLOB(Boot Loader Object)

 

1-4. U-Boot의 구조

- uboot는 여러개의 디렉토리로 구성 되어 있음

 

 

2. 커널(Kernel)

- 시스템의 자원을 관리해주는 OS의 핵심부

- 컴퓨터 하드웨어솨 소프트웨어를 이어주는 핵심 인터페이스

- 두 가지 관리 리소스 사이에서 최대한 효율적으로 통신

 

2-1. 커널의 기능

OS의 핵심. 메모리에 상주하며 CPU에 명령을 내리는 소프트웨어

커널은 다음과 같은 4가지 기능을 수행

 

- 메모리 관리

: 메모리가 어디에서 무엇을 저장하는데 얼마나 사용되는지 추적

 

- 프로세스 관리

: 어느 프로세스가 CPU를 얼마나 사용할지 결정(스케쥴링)

 

- 장치 드라이버

: 하드웨어와 프로세스 사이에서 중재자/인터프리터 역할을 수행

 

- 시스템 호출 및 보안

: 프로세스의 서비스 요청을 수신

 

2-2. 커널의 종류

- 단일형 커널(Monolithic Kernel)

- 마이크로 커널(Micro Kernel)

- 하이브리드 커널(Hybrid Kernel)

등이 있다.

 

2-3. 시스템 콜(System Call)

- 사용자가 접근할 수 없는 커널 메모리, 커널 데이터 등을 대신해서 접근해 주는 인터페이스

- Application Program은 user mode에서 수행 되며 하드웨어 직접 접근과 메모리에 대한 허용되지 않는 접근이 제한됨

- open(), read(), write(), close() 등이 있음

 

 

3. 파일 시스템(File system)

파일 시스템은 OS에서 파일 또는 자료에 쉽게 접근할 수 있도록 보관하거나 조직하는 체계

저장장치의 많은 파일을 관리하는 방법이 파일 시스템

 

- ex4

: ex4는 1EB까지 지원. ex3은 16TB까지 지원(TB(테라) < PB(페타) < EB(엑사)

 

- swap

: swap 공간으로 사용되는 파일 시스템

 

- xfs

: 64bit 고성능 저널링 파일 시스템

 

- iso9660

: DVD/CD-ROM을 위한 표준 파일 시스템으로 읽기만 가능

 

- nfs(network file system)

: 원격 서버에서 파일 시스템을 마운트 할 때 사용

 

 

'리눅스(Linux) > 기본 지식' 카테고리의 다른 글

QEMU(Quick Emulator)  (0) 2025.04.18
MachineWare  (0) 2025.04.18
리눅스(Linux) 기본 명령어(2) - cd  (0) 2025.03.18
리눅스(Linux) 기본 명령어(1)  (0) 2025.03.18

+ Recent posts