[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

댓글을 달아 주세요

[NXP]/LPC1k2015. 8. 9. 22:00

LPC13xx IAR 개발 환경 설정

LPC13xx IAR 개발 환경 설정




기존 LPC1K EVM에서는 IAR5.4 버전을 이용하고 있었는데 LPC1313 IAR 6.x 버전을 이용해야 한다. 무엇보다 기존 IAR 5.4 버전 예제는 IAR 6.x대에서컴파일이 되지 않는 문제를 해결해기 위해 새롭게 테스트 해보았다.


IAR 6.x 버전에서는 LPC1313 을 지원한다.




개발환경 설정은 상당히 간단하다.  NXP사에서 제공하는 startup_LPC13xx.s, system_LPC13xx.c 파일을 추가 하고 필요에 따라 Drivers 폴더에 있는 파일을 Lib 파일을 추가 해 주면 된다.



헤더파일 패스 설정





IAR 6.x 버전을 사용하면 무엇보다 JTAG를 이용하여 디버깅 가능하다.




LPC1313 을 IAR개발 환경으로 셋업 완료후 기존 LPC11xx 에 테스트 하던 코드로 테스트 해보니 대부분 코드 수정없이 사용가능한것 같다.






Posted by nexp

댓글을 달아 주세요

[TI]/TM4C2014. 7. 20. 21:30

TM4C123 - IAR 컴파일러 개발환경 설정

TM4C123 - IAR 컴파일러 개발환경 설정

TM4C123 개발 환경 설정을 위해 IAR 컴파일러를 이용하였고 개발 환경을 구축할 수 있다.


Tiva-C 시리즈는 하드웨어 자체의 ROM 영역에 기본적인 라이버러리가 포함되어 있기 때문에 개발 환경 자체는 상당히 간단하게 구성할 수 있다. 함수의 정의 파일이 있는 inc 폴더만 있으면 끝난다.



IAR 실해하고 Device를 [TM4C123 EVM]에 적용된 TM4C123FH6PM으로 선택한다.



내부 ROM 코드를 이용하기 위해서는 TARGET_IS_BLIZZARD_RB1 를 정의 해 주면된다.




그리고 ROM코드를 사용하기 위해서는 접두사로 ROM_으로 시작 하는 함수를 사용하면 된다.

#define _SET_SYSTEM_CLK()               ROM_SysCtlClockSet(SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ)


//-----------------------------------------------------------------------------

//LED Driver

#define LED1_BIT BIT2

#define LED1_PORT PORTB


#define Led1Off() GPIOPinWrite(GPIO_PORTB_BASE, LED1_BIT, LED1_BIT);

#define Led1On() GPIOPinWrite(GPIO_PORTB_BASE, LED1_BIT, 0);



#define Led1Init()   ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);\

                                             ROM_GPIOPinTypeGPIOOutput(GPIO_PORTB_BASE, LED1_BIT);

//-----------------------------------------------------------------------------





코드 사이즈

실제 ROM코드를 이용하여 컴파일 해보면 코드사이즈가 272byte로 아주 작다.

[1] = D:\WORK\ARM\TM4C\tm4c123_evm\ex01_led\ewarm66\Debug\Obj

[2] = command line

[3] = dl7M_tln.a

[4] = driverlib.a

[5] = m7M_tlv.a

[6] = rt7M_tl.a

[7] = shb_l.a


  272 bytes of readonly  code memory

  620 bytes of readonly  data memory

  512 bytes of readwrite data memory




시리얼 포트 및 printf 코드를 이용해도 1.3kbyte 밖에 되지 않아 코드 사이즈 측면에서 보면 상당히 좋을것 같다.

  1 376 bytes of readonly  code memory

    636 bytes of readonly  data memory

    520 bytes of readwrite data memory


Posted by nexp
TAG iar, TM4C123

댓글을 달아 주세요

Cortex-M/NUVOTON2014. 7. 6. 21:30

NUVOTON 개발환경 설정 - IAR 컴파일러

NUVOTON 개발환경 설정 - IAR 컴파일러


NVOTON의 M052LBN은 저렴한 Cortex-M0 코어의 MCU이기 때문에 IAR컴파일러에서 개발 가능하다.

8K Flash, 4K Ram 으로 플래시 메모리 크기가 작기때문에 IAR무료 버전에서 컴파일 할수 있다. 


M052LBN 예제소스 파일


 M051_Series_BSP_CMSIS_Rev3.00.001_test.zip



먼저 IAR 컴파일러를 실행하고 새로운 프로젝트를 생성한다.





최소 필요한 파일들을 포함 시킨다.



옵션에서 패스를 지정한다.




링크 스크립트 파일 추가



JTAG 설정



Posted by nexp
TAG iar, M051LBN

댓글을 달아 주세요

[AnalogDevice]/ADucM3602014. 6. 8. 22:30

ADucM360 - 개발환경설정 (IAR컴파일러)

ADucM360 - 개발환경설정 (IAR컴파일러)


ADucM360은 Cortex-M3코어이기 때문에 IAR의 EWARM으로 개발 할 수 있다.


예전 버전 IAR은 예제를 제공하지 않기 때문에 AnalogDevice사에서 제공하는 예제를 다운 받아서 테스트 가능하다.

ADuCM360_361_Code_Examples_Function_Libraries.zip







ADucM360 디바이스를 선택해서 프로젝트 생성할 수 있다.



AnalogDevice 사에서 제공하는 라이버러리를 이용하면 페리 관련된 다양한 설정들을 편하게 사용할 수 있다.



제공되는 예제의 헤더파일은 IAR 컴파일러가 설치된폴더에서 찾을 수 있다.

C:\Program Files\IAR Systems\Embedded Workbench 6.5\arm\inc\AnalogDevices


Posted by nexp

댓글을 달아 주세요