[ATMEL]/SAMD212016. 2. 7. 20:30

[SAMD21 EVM] 개발환경 설정 - IAR 을 이용한 환견 설정

[SAMD21 EVM] 개발환경 설정 - IAR 을 이용한 환견 설정


SAMD21 시리즈를 위한 개발환경은 여러가지가 있지만  익숙하고 간단히 사용할 수 있는 IAR 컴파일러를 이용하면 편리하다. 무엇보다 JLINK를 지원하기 때문에 좋은것 같다.

IAR 7.2 이상 필요하다.


ATMEL에서 제공하는 소프트웨어로 AVRSOFTWAREFRAMEWORK를 이용하면 쉽게 개발 환경을 구축 할 수 있다.


http://www.atmel.com/tools/AVRSOFTWAREFRAMEWORK.aspx


다만 ATMEL에서 제공하는 다양한 MCU를 지원하다보니 복잡하고 불필요 한 것들이 너무 많은것 같다.



IAR 7.2버전을 이용하여 프로젝트를 생성하고 칩셋을 선택 한다. ATSAMD21J18A 를 잉용하여 보드를 제작했기 때문에 아래와 같이 설정한다.





ATMEL 제공 예제는 여러가지 복잡한것들이 포함되어 있는데 실제로 필요한 부분은 아래와 같다. 일단 가장 간단하게해서 테스트 해 보자





다음으로 preprocessor를 설정한다. 복잡해 보이지만 sam0, common 폴더만 잡아주면 된다.


$PROJ_DIR$/../../../sam0/utils/cmsis/samd21/source
$PROJ_DIR$/../../../sam0/drivers/system/interrupt
$PROJ_DIR$/../../../sam0/drivers/system/power
$PROJ_DIR$/../../../sam0/drivers/system/reset
$PROJ_DIR$/../../../sam0/utils/preprocessor
$PROJ_DIR$/..
$PROJ_DIR$/../../../sam0/utils
$PROJ_DIR$/../../../sam0/drivers/port
$PROJ_DIR$/../../../sam0/boards
$PROJ_DIR$/../..
$PROJ_DIR$/../../../sam0/common/utils
$PROJ_DIR$/../../../sam0/drivers/system/interrupt/system_interrupt_samd21
$PROJ_DIR$/../../../sam0/utils/cmsis/samd21/include
$PROJ_DIR$/../../../sam0/drivers/system/power/power_sam_d_r
$PROJ_DIR$/../../../sam0/boards/samd21_xplained_pro
$PROJ_DIR$/../../../sam0./drivers/system/reset/reset_sam_d_r
$PROJ_DIR$/../../../common/boards
$PROJ_DIR$/../../../sam0/drivers/system/pinmux
$PROJ_DIR$/../../../sam0/drivers/system
$PROJ_DIR$/../../../sam0/utils/header_files
$PROJ_DIR$/../../../sam0/drivers/system/clock
$PROJ_DIR$/../../../sam0/drivers/system/clock/clock_samd21_r21_da
$PROJ_DIR$/.
$PROJ_DIR$/../../../common/utils



 

ARM_MATH_CM0PLUS=true
__SAMD21J18A__
BOARD=SAMD21_XPLAINED_PRO



이렇게 해서 컴파일 해보면 문제 없이 동작하는것을 확인 할 수 있다.

무료 버전은 사이즈 제한이 있지만 기존 IAR환경에서 쉽게 테스트 해 볼 수 있는 장점이 있는것 같다.







Posted by nexp

댓글을 달아 주세요

[ATMEL]/SAMD212016. 2. 7. 01:34

[SAMD21 EVM] - ATSAMD21J18 테스트 보드 제작

[SAMD21 EVM] - ATSAMD21J18 테스트 보드 제작




SMART SAM D 시리즈는 Cortex®-M0+ 코어의 ATMEL사의 MCU로  저전력, 저가격의 목적으로 출시되 었다. 특히 아두이노 (Arduino ZERO) 보드에 적용되면서 핫 이슈가 되고 있어 테스트용 보드로 제작해 보았다.


최대 48Mhz로 동작하고 Mhz당 70μA전력이하 전력 소모로 저전력 이다.

AVR Studio를 이용하면 개발 환경이 무료 이다. 또는 Arduino Software (IDE)를 이용할 수도 있다.

그리고 Real Time Clock (RTC) 와 Calendar (leap year correction and 1ppm calibration)가 있어 편리한것 같다.




SM-Type EVM 형태로 핀맵을 통일화 해서 기존 확장 테스트 보드에서 쉽게 테스트 가능하도록 했다






참고로 SAMD 시리즈 부터는 기존 SAM시리즈에 있던 내장 부트로더가 빠졌다.

JTAG없이 시리얼 또는 USB로 펌웨어를 다운로드 할 수 있어서 좋았는데... 


가격 때문인지 몰라도 하드웨어 부트로드가 빠져서 불편한 점이 있는것 같다.

ST사나 NXP사에서 제공하고도 저렴하게 판매 하는데 왜 그럴까?


물론 SAM-BA 부트 펌웨어를 제공하므로 다운로드 해서 사용할 수 있지만 초기에는 JATG르로 펌웨어를 다운로드 해 주어야 한다.





SAMD21 회로도 핀맵






SM-Type EVM 형태로 기존에 제작해 둔 다양한 확장 보드에서 테스트 가능하다.





SAM D 시리즈 기능도














Posted by nexp

댓글을 달아 주세요