1 분 소요

STM32F107VC board

KakaoTalk_20230919_205211497 보드 전체 사진 KakaoTalk_20230919_205211497_01 보드와 J link, 5V 연결 KakaoTalk_20230919_205211497_02

보드와 J link 연결

download microC/OS-iii

Sign up for Weston-Embedded

  1. https://www.weston-embedded.com/ 사이트에 접속한다.

  2. 오른쪽 상단에 LOGIN 버튼을 누르고 좌측 하단의 Don’t have an account를 눌러 회원가입을 진행한다. Log in page

  3. 하단의 폼을 채우고 제출한다. registration form

  4. 제출한 이메일로 account activation 메일이 온다. 만약 안오는 경우 스팸메일함을 확인해보자.

download microC/OS-iii

https://www.weston-embedded.com/micrium-examples/category/238-micrium-uc-eval-stm32f107 에 접속하여 아래 사진과 같이 Micrium_uC-Eval-STM32F107_uCOS-III 파일을 다운 받는다. Micrium uC-Eval-STM32F107 file download

또는 Weston-Embedded 홈페이지 상단에 MICRIUM->Examples->STMicroelectronics->STM32F1->Micrium uC-Eval-STM32F107 를 순서대로 클릭한다.

Keil-MDK 설치

  1. https://www.keil.arm.com/login/ 페이지에 들어가서 sign up 버튼을 누른 후, 8

  2. 이메일 주소를 입력하고 Send verification code를 클릭한다. 그러면 잠시후 이메일로 확인코드가 오는데, 확인코드를 입력하고 Verifiy code를 클릭한다. 9

  3. 아래 정보를 입력하고 create 버튼을 누른다. 10 계정이 승인되는데 시간이 조금 걸린다.
  4. https://www.keil.arm.com/mdk-community/에 접속하여 로그인한다.

  5. https://www.keil.com/demo/eval/arm.htm 에 접속하면(또는 4번 과정 후 Download Keil MDK를 누르면) 아래와 같은 폼이 뜨는데 이 폼을 작성하여 제출하면

download form

아래와 같이 다운로드를 받을 수 있다.

download site

  1. 설치과정은 다음 다음 … 이름과 회사, 이메일 입력 다음… 설치 순으로 진행된다. keil uVision5라는 이름으로 설치된다.
  2. microC/OS-III 예제 프로젝트가 구형이므로 https://developer.arm.com/documentation/101407/0538/Creating-Applications/Tips-and-Tricks/Use-MDK-Version-4-Projects 에서 Legacy pack - arm cortex m을 다운로드 한다. Legacy Pack Download

  3. Keil uVision5를 관리자 권한으로 실행한다.

  4. File-License Management - Single User License 클릭 31
  5. Get LIC via Internet… 클릭

  6. 창에 정보 입력 후 제출. PSN에는 https://www.keil.arm.com/mdk-community/ 창에 있던 PSN 입력

37 그러면 위와 같은 메일을 받는데, 여기에 LIC가 있다.

  1. 이메일로 수신한 LIC를 License Management에 입력후 Add LIC 클릭

  2. Community 라이센스로 변경된다. 38
  3. 중간 상단의 pack installer를 클릭한다. how to find pack installer

  4. 하단의 update가 끝날때 까지 기다린 후, pack-installer stm32f107vc를 검색하여 keil::STM32F1xx_DFP를설치한다. install stm32f107vc

프로젝트 열기

  1. project - open project 클릭

  2. “(uC/OS-3 설치 폴더)\Micrium\Software\EvalBoards\Micrium\uC-Eval-STM32F107\uCOS-III\KeilMDK\uCOS-III.uvproj” 선택

  3. 좌측 FLASH 우클릭하여 Options for Target ‘FLASH’ 클릭 after load project Device 창에서 아래 내용이 맞는지 확인 19 Target 창에서 아래 내용이 맞는지 확인 20 Utilities - Setting에서 아래 내용이 맞는지 확인 21

프로젝트 수정

LED 핀 번호 수정

HAOYU electronics 에서 개발한 보드 등과 같은 보드의 경우 LED 핀번호가 위에서 받은 예제와 다르다. 보드의 LED 핀번호는 아래와 같다. 32

코드의 LED 핀번호는

\micrium_uc-eval-stm32f107_ucos-iii\Micrium\Software\EvalBoards\Micrium\uC-Eval-STM32F107\BSP\bsp.h

에서 볼 수 있으며, 아래와 같다. 33 따라서 핀 번호를 아래와 같이 바꿔주어야 한다. 34

BSP_LED_START_BIT 값 변경

\micrium_uc-eval-stm32f107_ucos-iii\Micrium\Software\EvalBoards\Micrium\uC-Eval-STM32F107\BSP\bsp.c

에서 아래 코드를

35

아래와 같이 바꾼다.

36

프로젝트 빌드

39

프로젝트 보드에 다운로드

41

보드에 다운로드하고 보드를 리셋하면 LED가 100ms 간격으로 깜빡거린다.

참고 코드

//app.c 168~173
while (DEF_TRUE) {                                          /* Task body, always written as an infinite loop.       */
        BSP_LED_Toggle(0);
        OSTimeDlyHMSM(0, 0, 0, 100,
                      OS_OPT_TIME_HMSM_STRICT,
                      &err);
    }

BSP_LED_Toggle은 BSP/bsp.c 에 정의되어있다. OSTimeDlyHMSM은 os.c에 정의되어있다.

//os.h
#if OS_CFG_TIME_DLY_HMSM_EN > 0u
void          OSTimeDlyHMSM             (CPU_INT16U             hours,
                                         CPU_INT16U             minutes,
                                         CPU_INT16U             seconds,
                                         CPU_INT32U             milli,
                                         OS_OPT                 opt,
                                         OS_ERR                *p_err);
#endif

작동 영상

Reference

https://www.weston-embedded.com/micrium-examples/category/238-micrium-uc-eval-stm32f107

https://dailyco.github.io/posts/MDK-install_arm_ide_keil_uvision/

https://m.blog.naver.com/jrady/221544660706

https://www.haoyuelectronics.com/Attachment/HY-GoldBull-V3/HY-GoldBullV3_SCH.pdf

댓글남기기