Cortex-M/EFM322012. 12. 31. 21:00

[EMF32] GPIO 테스트

[EMF32] GPIO 테스트

EFM32는 Cortex-M3이므로 GPIO도 특별할것은 없지만 레지스터명은 EnergyMicro사에서 제공하는 이름을 사용하는것이 편리하다. 



기존 코드와 호환을 위해 랩핑함수를 만들어 보았다.

#define GPIOA                           (pGPIO->P[0])
#define GPIOB                           (pGPIO->P[1])
#define GPIOC                           (pGPIO->P[2])
#define GPIOD                           (pGPIO->P[3])
#define GPIOE                           (pGPIO->P[4])


#define sbi(Port, Bit)     (Port.DOUTSET = Bit)
#define cbi(Port, Bit)     (Port.DOUTCLR = Bit)
#define tbi(Port, Bit)     (Port.DOUTTGL = Bit)

 

 


EFM32 LED 드라이버 코드

//-----------------------------------------------------------------------------
//LED Driver
#define LED1_BIT      BIT0
#define LED1_PORT      GPIOC
#define Led1Init()      
#define Led1Off()      sbi(LED1_PORT, LED1_BIT)
#define Led1On()      cbi(LED1_PORT, LED1_BIT)
#define Led1Toggle()     tbi(LED1_PORT, LED1_BIT)

#define Led1Init()       CMU->HFPERCLKEN0 |= CMU_HFPERCLKEN0_GPIO;\
                                        Sbi(GPIOC.MODEL, GPIO_P_MODEL_MODE0_PUSHPULL);

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


Posted by nexp

댓글을 달아 주세요

Cortex-M/EFM322012. 12. 31. 18:00

[EFM32] 개발환경설정 - IAR 컴파일러 사용

[EFM32] 개발환경설정 - IAR 컴파일러 사용

EMF32는 Cortex-M3코어 이므로 기존 Cortex-M3코어 사용하듯 설정하면 쉽게 개발환경을 구성할 수 있다.

 

 

EMF32 프로젝트파일의 기본 구조는 CMSIS, EFM32사에서 제공하는 LIB, 사용자 파일로 구성된다.

 

 

 

IAR 프로젝트 옵션 탭에서 DEVICE를 설정한다.

 

 

 

디렉토리 설정

 

$PROJ_DIR$\..\..\CMSIS\CM3\CoreSupport
$PROJ_DIR$\..\..\CMSIS\CM3\DeviceSupport\EnergyMicro\EFM32
$PROJ_DIR$\..\..\efm32lib\inc
$PROJ_DIR$\
$PROJ_DIR$\..\01_drv\
$PROJ_DIR$\..\01_drv\drivers

 

 

 

 LINK Config 파일 설정

 

 

$TOOLKIT_DIR$\config\linker\EnergyMicro\EFM32G210F128.icf

 

 

 

EMF32 JTAG 설정

STK 보드에는 J-LINK가 실장되어 있다. 설정하면 펌웨어 다운로드 및 디버깅이 가능하다.

 

 

 

EFM32-SK JTAG핀맵

 

Posted by nexp

댓글을 달아 주세요

Cortex-M/EFM322011. 5. 10. 12:54

EFM32 - Energy Micro사의 저전력 MCU(Cortex-M3)소개

EFM32 - Energy Micro사의 저전력 MCU(Cortex-M3)소개



저전력 MCU하면 아무래도 MSP430을 떠올리는데... Cortex-M3코어를 탑제한 Energy Micro사의 EFM32를 소개 받았다.
아무래도  Cortex-M3 개열이라 호환성및 풍부한 자료가 있어 사용해 보는것도 나쁘지 않을것 같다.

칩콘사의 사장이 칩콘을 TI에 넘기고 새롭게 시작 했다고 하는데... 아무래도 후발주자라 아직은 그렇게 많이 사용하고 있지는 않은것 같다.

MSP430보다 저전력이라고 광고하고 있지만 실무자들의 예기로는 측정방법에 따라 다르다고 한다. 아무래도 사용해 봐야 정확하게 파악될듯 하다.
아무튼 코어자체는 별차이가 없는것 같고 후발의 단점을 보완하기 위한 옵션들을 제공하고 있다. 그중하나로 칩의 레지스터 설정및 초기화 코드를 자동으로 생성해 주는 GUI툴을 제공한다.
새로운 MCU사용할때 항상 레지스터 및 초기화를 위한 압박감이 있는데 그부분의 부담은 많이 줄어들듯 보인다.
그리고 저전력이니 만큼 실시간 전력 모니터링 툴도 제공해서 편리한것 같다.




한가지 아쉬운점은 ST의 STM32나 NXP의 LPC1K에서 제공하는 시리얼 부트로더가 없어 프로그래밍 툴이 필요하고 한다.
물론 Energy Micro사에서 제공하는 10만원 상당의 EVM키트를 이용하면 JTAG 및 전력측정도 가능하다고 하니 나쁘지 않은것 같다.

 


http://www.energymicro.com/

Posted by nexp

댓글을 달아 주세요