ARM Embedded Cortex-M4 읽어두기 :
“Cortex-M4 RTOS-T17” 이라고 하는 전자보드는 저자가 설계한 PCB입니다.
내하출판사에서 출간한 “ARM 임베디드 RTOS 소스코드” 기술서에서 사용한 보드는 “Cortex-M0 NUC130 RTOS” 인데 대만 Nuvoton사 NUC130의 MCU 수급이 어려워 이참에 M0에서 M4로 변경한 보드입니다.
그때 쓴 책의 소스코드 내용을 토대로 배우기 쉽도록 각색하여 기술자와 대학에서 익힘 목적으로 설계했으니 아무쪼록 하드웨어를 이용하여 보다 효율적인 프로그램을 만들어 자신의 입지를 높여 고액 연봉을 받으심이 어떠한지요!
책이름 : “ARM 임베디드 RTOS 소스코드” 이지만 MDK 컴파일러와 RTOS 부분은 소프트웨어가 업데이트 되어 구현 방법이 다릅니다.
보드이름 : Cortex-M4 RTOS-T17
사용된 MCU : Nuvoton M453RD3AE
네이버 카페 : cafe.naver.com/fws, FWS(Firmware Study, 펌웨어스터디)
M4 소스코드 카페 메뉴 : cafe.naver.com/fws 오른쪽 메뉴 Cortex-M4/Nuvoton-M453
Cortex-M4(M453) RTOS EVB(Evaluation Board) 목적 :
– “ARM 임베디드 RTOS 소스코드/내하출판사”, 실습용보드
– 이때 설계한 타겟보드 Cortex-M0 에서 Cortex-M4로 변경
– 32Bit ARM Core로 Embedded 개발 고액연봉 받기
– 교수와 학생을 위한 EVB
– 메이커 개발자를 위한 특화된 보드
– 간편한 디바이스 연결과 실무 프로젝트 적용
– ARM 컴파일러 버전에 맞추기 위해

Cortex-M4(M453RD3AE) RTOS-T17 EVB 하드웨어(왼쪽 상단부터 시계방향) :
USB1 : USB로부터 5V 전원을 공급 받거나 USB 인터페이스를 위해 구성.
JDY1 : 블루투스 모듈(JDY3x)로 안드로이드 폰과 인터페이스.
JTAG1 : 5핀 JTAG 연결하는 전용핀, 왼쪽(VCC, ICE-DAT, ICE-CLK, RESET, GND)이 1번핀이므로 JTAG Flat Cable의 1번핀끼리 연결
SMOT1, SMOT2 : PWM 출력과 연결되어 서보 모터3핀과 연결한다. 왼쪽(Signal, VCC, GND)
ST3 : GPIO PC7, PC6
U5 : CAN 통신 디바이스
U4 : RS-485 통신 디바이스
Co4, Co44 : 1번부터(RS485 HIGH, RS485 LOW, CAN-H, CAN-L)
ST4 : GPIO PF4, PF3
U2 : DC 모터 드라이버 S8082
Co6 : 1번부터(DC모터+, DC모터-)
ST5 : GPIO PD13, PD12
SW1/SW2 : 2개의 Tack 버튼으로 입력 장치 구현, 풀업 저항연결
BUZ1 : 5V 부저 부논리 동작. 삡소리(2KHz)고정 출력 사운드 재생 부품.
Co8 : GPIO(SPI, INT, ADC, DAC)와 5V, GND
ST1 : GPIO PB1, PB2
D1 : 녹색, 적색 2색이 한 몸에 있는 LED 모듈, 전부 ON이면 주황색 표현 가능, 부논리 동작
ST2 : GPIO PB3, PB4
U1 : Cortex-M4, Nuvoton(대만) M453RD3AE LQFP64Pin, ROM72K/RAM16KB/CAN/USB
PCB 크기[mm] : 78 x 66

Cortex-M4(M453RD3AE) RTOS-T17 EVB 회로도 :
첨부파일
https://cafe.naver.com/fws/411
Cortex-M4(M453RD3AE)RTOS-T17_1
Cortex-M4(M453RD3AE)RTOS-T17_2
Cortex-M4(M453) 실습을 위한 기본 준비 :
1. MDK ARM 컴파일러 설치
==> www.keil.com/download/product, “MDK-Arm” 최신 버전 다운로드
==> https://cafe.naver.com/fws/406, 집필 당시의 버전 MDK-ARM V5.41
2. JTAG USB 드라이버 설치 : 반드시 컴파일러를 먼저 설치 한 뒤 진행한다.
==> 대만 www.Nuvoton.com, Nu_Link_Keil_Driver
==> https://cafe.naver.com/fws/407, 집필 당시의 버전 Nu_Link_Keil_Driver : V3.18.7724r
3. 타겟보드 + 개발장비 : ARM임베디드RTOS EVB 메인보드 준비
==> Cortex-M4(M453RD3AE) RTOS-T17
==> 디바이스마트/브랜드존/펌웨어뱅크, https://www.devicemart.co.kr
4. 개발장비 : “ARM USB 디버거 JTAG 장비” Nu-Link-Me 또는 ULINK2 준비
==> ARM 임베디드 Cortex-M4(M453RD3AE) RTOS-T17 구매 박스에 “Nu-Link-Me” 들어 있음
6. 소스코드 다운로드 :
==> 카페(www.cafe.naver.com/fws)에서 “Cortex-M4/Nuvoton-M453“에 있음
==> 일부공개, 기본코드(AE3_M453_Main_Board_xxxx), https://cafe.naver.com/fws/410
==> 압축암호, 응용코드(AE5_M453_Project_xxxx)
==> 압축암호, RTOS코드(AE7_M453_RTOS_Project_xxxx)
7. 타겟보드와 소스코드 컴파일 그리고 MDK-ARM 라이센스 취득방법
==> 지금 읽고 있는 설명서 : ARM임베디드CortexM453RTOS소스코드_EVB_QuickStart_Vxx
==> 사용설명 : ARM임베디드CortexM453RTOS소스코드_EVB_QuickStart_Vxx
EVB와 JTAG 연결 :
– 위의 “실습을 위한 기본 준비”에서 언급한 소프트웨어를 설치하고 소스코드를 다운 받은 다음 타겟보드와 장비를 연결해보는 순서이다.
– ‘Cortex-M4 RTOS-T17’ 또는 PCB에 흰색 실크로 인쇄된 ‘Cortex-M4 M453RD3AE RTOS-T17’ 타겟보드와 JTAG 디버그 장비 ‘Nu-Link-Me’를 연결한다.
– JTAG의 10핀 얇은 케이블 끝단 소켓에는 요철 부분이 있는데 바로 밑의 핀[그림 : JTAG 10핀중 앞쪽 5핀만 사용]으로 확인한 다음 [그림 : 타겟보드 5핀 JTAG 연결]처럼 1번핀(적색 케이블)을 맞추어 연결하자.

- PC에 USB 케이블을 연결하면 JTAG과 타겟 보드에 전원이 공급되고 블루투스 모듈에 적색 LED가 점멸된다. QC 프로그램이 포팅되어 있을 경우 적색/녹색 LED가 1초 간격으로 점멸되고 SW1, SW2 버튼 누를때만 Buzzer 동작된다.

- MDK-ARM 컴파일러 실행 또는 아이콘을 클릭하여 프로그램 실행
– 실행 후 상단 풀다운 메뉴에서 “Project”, “Open Project…” 메뉴실행
– 소스코드 파일경로에서 AE3_Main_Board_319_BUT_LED_QC 프로젝트 파일 오픈(M4_M453_RTOS.uvproj)
– 크게 3개의 윈도우 중에서 왼쪽을 ‘프로젝트’ 윈도우라고 하는데 ‘Source/M451_main.C’를 더블클릭하여 Source Code를 살펴보고 아무것도 수정하지 않은 상태에서 [그림 : MDK-ARM 컴파일과 다운로드 메뉴]처럼 가운데 화살표가 하나 있는 아이콘 ‘Build(F7)’를 눌러 컴파일을 진행하고 하단 ‘결과’ 윈도우에서 에러가 없음을 확인한 다음 ’Download(F8)‘ 하면 타겟보드의 플래시 메모리에 기계어 코드가 이식된다. JTAG 드라이버가 최신 버전이 아니라면 팝업 참조.

– 처음 사용자라면 JTAG USB 드라이버를 최신으로 설치하고 처음 기계어 코드를 다운로드할 때 JTAG의 드라이버 버전과 소프트웨어의 드라이버 버전이 다를 경우 [그림 : USB 드라이버 업데이트] 왼쪽 안내 팝업이 뜨면 ‘예’를 눌러 최초 한번은 업데이트를 진행하자. 완료가 다 된 뒤에는 [그림 : USB 드라이버 업데이트] 오른쪽 처럼 팝업이 나오는데 이때 JTAG의 USB를 빼고 다시 연결하여 장비를 Reset 하면 완료된다.

– 타겟보드에 다운로드가 성공적으로 되었다면 메인보드 하단 버튼 2개 ‘SW1’과 ‘SW2’를 번갈아 눌러 보자. 부저가 정상적으로 동작되어야한다. LED 점멸과 함께 잘 동작 된다면 시작이 절반이다.
Cortex-M4(M453) RTOS 소스코드 EVB 종류 :
| Cortex-M4(M453) RTOS EVB – Freshman 1학년 |
| ARM Embedded 메인보드 Nu-Link-Me JTAG 확장보드 GEN-EMB 메인보드 케이스 실습용 Box |
| Cortex-M4(M453) RTOS EVB – Sophomore 2학년 |
| ARM Embedded 메인보드 Nu-Link-Me JTAG 확장보드 GEN-EMB 메인보드 케이스 실습용 Box 아날로그 조이스틱 온도습도 센서 7-segment(4개) TM |
| Cortex-M4(M453) RTOS EVB – Junior 3학년 |
| ARM Embedded 메인보드 Nu-Link-Me JTAG 확장보드 GEN-EMB 메인보드 케이스 실습용 Box 캡스톤디자인 경험을 위한 디바이스와 센서, 모터 통신과 프로젝트 위한 디바이스와 센서, Protocol |
보드제작사 정보 :
– 펌웨어뱅크(주)는 Embedded ROBOT 제어기를 설계하는 기술 집약적 벤처기업입니다.
– 기술 개발 전문 회사로 Microprocessor 응용 핵심 특허를 가지고 있습니다.
서울사무소 : 서울시 강동구 천호대로 1139, 강동그린타워
서울연구소 : 서울시 강동구 천호대로 1186, 원경빌딩 두배연구소
기술카페 : http://cafe.naver.com/fws
블로그 : https://blog.naver.com/firmwarebank
유튜브 : https://www.youtube.com/conan3208
대리점 : www.devicemart.co.kr
Facebook : www.facebook.com/firmwarebank
기술지원 및 A/S :
– 본 제품은 특수 용도로 개발되었습니다. 바로 고장이나 파손되지는 않지만 핸드메이드 조립되어 장기적인 사용에는 신뢰성을 보장 할 수 없습니다. 기능을 추가 하거나 프로그램을 수정, 업그레이드 하실 때는 처음 개발자와 상의 하십시오. 제품의 운송 수단은 택배를 이용합니다.
– 기술지원 : 펌웨어뱅크(주), www.FirmwareBank.com
– 메일 : firmware@FirmwareBank.com
– 연락 : 전화(070-8801-1968), 팩스(02-475-3012)