안녕하세요.

 

https://make.e4ds.com/main/main.asp 에서 "완전 정복 퀘스트 챌린지" 라는 이벤트를 진행하더라고요

 

퀘스트 1(개발환경 구현)을 통과하면 STM32MP1을 무상으로 제공합니다.

 

퀘스트 파이널까지 통과한 참가자에는 겔럭시 S20, 겔럭시 시계, 버즈 의 경품도 제공하더라고요

 

저는 퀘스트 1을 하고 연휴동안 개인 사정으로 외부에 있어 더이상 참여하지 못합니다 ㅠ

 

그래도 퀘스트는 개인적으로 따라가려고 합니다.

 

무튼 퀘스트 1을 깨고 STM32MP157C-DK2를 수령했고, 개봉기록을 남깁니다.

 

 

STM32MP157C-DK2 박스

 

박스를 열면 제일 처음 나오는게 보드에 대한 설명!

보드 스펙 설명 종이

위 종이 아래에는 USB-C타입 케이블 ! 양쪽이 동일한 타입이에요.. 이건 어디에 쓰는걸까? 디바이스간에 USB 통신을 이런식으로 하나??

양쪽이 USB-C타입인 케이블

케이블과 정전기 방지 스폰지를 제거하면 LCD가 반겨줍니다 ! 

STM32MP157C-DK2 보드에 달린 LCD

 

 

LCD를 통채로 들어올리면 파란색 보드와 같이 올라옵니다!

 

아랫면을 보니 16G micro-sd 카드도 하나 달려오네요. 아두이노와 결합해서 쓸 수 있는 커넥터도 보이네요

 

 

옆면에는 라즈베리파이와 같은 40핀짜리 헤더핀도 보이네요

 

 

 

 

처음에 전원을 마이크로 5핀 커넥터로 전원을 인가하나? 싶어서 꽃아봤는데 빨간불은 들어오는데

켜지지는 않더라고요 !! 알고보니까 이 보드의 전원 커넥터는 USB-C타입 커넥터!!

 

 

아래 사진처럼 랜포트 달려있는 쪽에 커넥터에 전원 커넥터를 연결해야지 LCD에 뭔가가 나타납니다!!

반대쪽에 연결하면 동작 안하더라고요

 

약간의 부팅 시간이 지나면 짠 !  화면이 나타납니다

 

아래는 구동 영상입니다

기본으로 카메라, 비디오 재생, 3D GPU, 블루투스, WIFI, 손글씨 인식과 같은 예제들이 들어있어요.

엄청난 성능인거 같습니다.

 

 

 

과연 이 보드로 무엇을 할 수 있을지 기대되네요 

반응형

'MCU > STM32MP1' 카테고리의 다른 글

[STM32MP157C-DK2] 환경개발 구축  (0) 2020.04.20
STM32MP157C-DK2 소개  (1) 2020.04.20

 

STM32MP157C-DK2는 우분투 환경에서 개발을 진행합니다.

 

그래서 Window 10 Hyper-V 가상환경에서 Ubuntu18.04.4를 설치하여 진행합니다.

아래 링크를 참조하여 개발환경 구축을 참고합니다.

* Starter Package

https://wiki.st.com/stm32mpu/index.php/STM32MP15_Discovery_kits_-_Starter_Package

 

* Developer Package

https://wiki.st.com/stm32mpu/index.php/STM32MP1_Developer_Package

 

* STM32 MPU Wiki

https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP157C-DK2/Develop_on_Arm%C2%AE_Cortex%C2%AE-A7/Modify,_rebuild_and_reload_the_Linux%C2%AE_kernel

 

 

STM32CubeProgrammer tool 설치

 

1. (없는 사람만 진행) JAVA JRE 설치

$ sudo apt-get install openjdk-8-jre

 

2.  https://www.st.com/en/development-tools/stm32cubeprog.html에서 STM32CubeProgrammer 다운로드

 

3. 압축을 풀고 다음을 입력하여 설치

$ ./SetupSTM32CubeProgrammer-2.4.0.linux

 

4. binary PATH 등록

$ export PATH=<my STM32CubeProgrammer install directory>/bin:$PATH

 

Developer Package 설치    

 

1. STM32MP1 Developer Package SDK 설치
     en.SDK-x86_64-stm32mp1-openstlinux-20-02-19.tar.xz에서 SDK를 다운로드

 

2. 압축 해제

$ tar xvf en.SDK-x86_64-stm32mp1-openstlinux-20-02-19.tar.xz

 

3. 파일 권한 변경

$ sudo chmod +x stm32mp1-openstlinux-20-02-19/sdk/st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-2.6-openstlinux-20-02-19.sh

 

4. 설치 스크립트 실행 

$ ./stm32mp1-openstlinux-20-02-19/sdk/st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-2.6-openstlinux-20-02-19.sh -d <working directory absolute path>/Developer-Package/SDK

필자의 <working directory absolute path>는 /home/jeon/STM 이다.

 

SDK 설치가 성공적으로 완료된 화면

 

5. SDK 환경 설정 스크립트 - SDK 시작

      ** SDK 환경 설정 스크립트는 크로스 컴파일 하는 터미널마다 한번씩 실행되어야 합니다.

$ source <SDK installation directory>/environment-setup-cortexa7hf-neon-vfpv4-ostl-linux-gnueabi

위 스크립트가 성공적으로 적용되었으면 아래와 같은 커맨드를 입력하였을 경우 아래 그림처럼 나타난다.

$ echo $ARCH

$ echo $CROSS_COMPILE

$ $CC --version

$ echo $OECORE_SDK_VERSION

성공적으로 SDK가 실행된 화면

 

Linux Kernel 설치

1. Developer-package 폴더에 Kernel source 다운로드

            en.SOURCES-kernel-stm32mp1-openstlinux-20-02-19.tar.xz    

 

2. 압축 해제

$ tar xvf en.SOURCES-kernel-stm32mp1-openstlinux-20-02-19.tar.xz

$ cd stm32mp1-openstlinux-20-02-19/sources/arm-ostl-linux-gnueabi/linux-stm32mp-4.19-r0/

$ tar xvf linux-4.19.94.tar.xz

 

3. ST 패치 적용

$ cd linux-4.19.94/

$ for p in `ls -1 ../*.patch`; do patch -p1 < $p; done

 

4. fragment 적용

$ make ARCH=arm multi_v7_defconfig "fragment*.config"

$ for f in `ls -1 ../fragment*.config`; do scripts/kconfig/merge_config.sh -m -r .config $f; done

$ yes '' | make ARCH=arm oldconfig

* 이때 각종 프로그램이 설치되어있지 않다고 메세지가 나타날 수 있다. apt-get install로 설치해주자.

 

* make가 없다고 메시지가 나타날 수 있다. sudo apt-get install make를 입력하여 설치하자.

make가 설치되어있지 않아 나타나는 메세지

* gcc가 없다고 메세지가 나타날 수 있다. sudo apt-get install gcc를 입력하여 설치.

gcc가 설치되어있지 않아 나타나는 메세지

 

* bison이 없다고 메세지가 나타날 수 있다. sudo apt-get install bison을 입력하여 설치하자.

bison이 설치되어있지 않아 나타나는 메세지

* flex가 없다고 메세지가 나타날 수 있다. sudo apt-get install flex를 입력하여 설치하자.

flex가 설치되어있지 않아 나타나는 메세지

 

 

yes '' make ARCH=arm oldconfig 를 입력 후 화면 / 리눅스 커널 소스 코드 준비 완료

5. 커널 이미지 빌드 (10분이상 소요)

$ make ARCH=arm uImage vmlinux dtbs LOADADDR=0xC2000040

 

* 아래 gcc unrecognized argument와 같은 에러를 만나면 source 커맨드를 다시 진행한다.

$ source <SDK installation directory>/environment-setup-cortexa7hf-neon-vfpv4-ostl-linux-gnueabi

make할 때 다음과 같은 에러를 만날 수 있다.

* 아래 openssl/bio.h와 같은 에러를 만나면 libssl-dev를 설치한다.

$ sudo apt-get install libssl-dev

make할 때 다음과 같은 에러도 만날 수 있다.

 

Build가 완료된 화면

6. 커널 모듈 빌드

$ make ARCH=arm modules

커널 모듈 빌드가 완료된 화면

 

7. output build artifacts 생성

$ mkdir -p $PWD/install_artifact/

$ make ARCH=arm INSTALL_MOD_PATH="$PWD/install_artifact" modules_install

output build artifacts 완료

 

U-Boot 설치

1. Developer-package 폴더에 U-boot source 다운로드

     en.SOURCES-u-boot-stm32mp1-openstlinux-20-02-19.tar.xz 

 

2. 압축 해제 및 패치

$ tar xvf en.SOURCES-u-boot-stm32mp1-openstlinux-20-02-19.tar.xz

$ cd stm32mp1-openstlinux-20-02-19/sources/arm-ostl-linux-gnueabi/u-boot-stm32mp-2018.11-r0/

$ tar xvf v2018.11.tar.gz   

$ cd u-boot-2018.11

$ for p in `ls -1 ../*.patch`; do patch -p1 < $p; done

 

3. 컴파일 환경 설정

$ make stm32mp15_basic_defconfig

정상적으로 컴파일 환경이 설정된 화면

 

4. 빌드

$ make DEVICE_TREE=stm32mp157c-dk2 all

u-boot build 완료된 화면

반응형

'MCU > STM32MP1' 카테고리의 다른 글

[STM32MP1]STM32MP157C-DK2 개봉기  (0) 2020.05.09
STM32MP157C-DK2 소개  (1) 2020.04.20

https://make.e4ds.com/ 에서 STM32MP1 완전 정복 퀘스트 챌린지를 진행한다.

 

임베디드 보드에 리눅스를 올려서 사용하는것은 처음이라 퀘스트를 수행하면서 블로그에 기록을 남기려한다.

 

퀘스트를 진행하는데 사용되는 STM32MP157C-DK1 보드에 대해 소개하자면

STM32MP157C-DK2  보드

 

  • Common features
    • STM32MP157 Arm®-based dual Cortex®-A7 32 bits + Cortex®-M4 32 bits MPU in TFBGA361 package
    • ST PMIC STPMIC1
    • 4-Gbit DDR3L, 16 bits, 533 MHz
    • 1-Gbps Ethernet (RGMII) compliant with IEEE-802.3ab
    • USB OTG HS
    • Audio codec
    • 4 user LEDs
    • 2 user and reset push-buttons, 1 wake-up button
    • 5 V / 3 A USB Type-CTM power supply input (not provided)
    • Board connectors:Ethernet RJ454 × USB Host Type-AUSB Type-CTM DRPMIPI DSISMHDMI®Stereo headset jack including analog microphone inputmicroSDTM cardGPIO expansion connector (Raspberry Pi® shields capability)ARDUINO® Uno V3 expansion connectors
    • On-board ST-LINK/V2-1 debugger/programmer with USB re-enumeration capability: Virtual COM port and debug port
    • STM32CubeMP1 and full mainline open-source Linux® STM32 MPU OpenSTLinux Distribution (such as STM32MP1Starter) software and examples
    • Support of a wide choice of Integrated Development Environments (IDEs) including IARTM, Keil®, GCC-based IDEs
  • Board-specific features
    • 4" TFT 480×800 pixels with LED backlight, MIPI DSISM interface, and capacitive touch panel
    • Wi-Fi® 802.11b/g/n
    • Bluetooth® Low Energy 4.1

 

 

스펙만 봐도 어마어마한 녀석인거 같다. 

이것으로 무엇을 할 수 있을지는 퀘스트를 진행하면서 알아가 보도록 하자.

반응형

'MCU > STM32MP1' 카테고리의 다른 글

[STM32MP1]STM32MP157C-DK2 개봉기  (0) 2020.05.09
[STM32MP157C-DK2] 환경개발 구축  (0) 2020.04.20

+ Recent posts