[ATMEL] (47) 썸네일형 리스트형 ATSAMD21 SSM EVM - Dhrystone, Whetstone, IIR Benchmark 성능 테스트 ATSAMD21은 Cortex-M0+ 코어에 최대 48Mhz로 동작 한다. MCU 성능 측정을 위해 벤치마크 테스트 프로그램을 구동해 보자. Dhrystone, Whetstone 방식으로 테스트 했다. 테스트 코드는 STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. Execution ends : 6.468 Seconds Microseconds for one run through Dhrystone: 21.56 Dhrystones per Second: 46379.04 VAX MIPS rating = 26.40 DMIPS ------------------------------------------------ Whetstone Benchmark, V.. [ATSAMD21 SSM] Arduino 만들기 #SAMD21E-S EVM - ATSAMD21E Arduino Zero Board 만들기 와 같이 부트로더를 다운로 하여 구동해 보면 디바이스까 지 정상적으로 인식이 되는데 다운로드 하면 문제가 발생한다. #SAMD21E-S EVM - ATSAMD21E Arduino Zero Board 만들기 Arduino Code로 테스트 하면 이미 작성되어 있는 라이브러리가 많아서 간단하게 테스트 하기에 좋은것 같다. 그래서 SAMD21E EVM 보드에 아두이노 부트로더를 올려 보았다. #SAMD21E-S EVM 보드에 ATSAMD21 Ard nexp.tistory.com JTAG로 다운로드 하면 동작하고 USB 부트로더로 다운하면 동작을 하지 않는 현상이 발생한다. JTAG로 다운로드 해도 리셋키를 누르면 다시 먹.. ATSAMD21 SSM EVM 보드 제작 ArduinoZero 를 제작 에 사용되는 ATSAMD21 을 테스트 할 수 있는 소형 보드를 SSM Type EVM 형태로 제작 했다. 1$대 로 저렴하게 판매되는 ATSAMD21E17 을 구매 했고 32핀 QFN타입의 소형칩을 실장할 수 있도록 최소한의 핀기능만 남기고 작게 제작해 보았다. 작고 저렴하며 ARDUINO 올려서 간단하게 테스트 해보기는 좋은것 같다. #SAMD21E-S EVM - 5 채널 Serial (UART) 테스트 #SAMD21E-S EVM - 5 채널 Serial (UART) 테스트 ATSAMD21은 하드웨어 적으로 4개의 시리얼 포트를 지원한다. USB를 이용하면 최대 5개의 UART를 사용할 수 있다. 저렴한 32핀 의 소형 페키지에서 5개의 시리얼 포트를 사용할 수 있다니... 상당히 매력적이다. 5개의 시리얼 포트를 테스트 해 보도록 하겠다. Serial1 TX1 - PA10 RX1 - PA11 Serial2 TX2 - PA14 RX2 - PA15 Serial3 TX3 - PA30 RX3 - PA31 Serial4 TX4 - PA16 RX4 - PA17 /*========================= *===== SERCOM DEFINITION *========================= */ ext.. #SAMD21E-S EVM - ATSAMD21 ADC, DAC 테스트(TFT LCD에 그래프 출력 하기) ATSAMD21 TFT LCD에 그래프 출력 하기#SAMD21E-S EVM - ATSAMD21 ADC, DAC 테스트(TFT LCD에 그래프 출력 하기) 기존에 제작 했던 TFT LCD 모듈에 그래프로 출력 해야 할 일이 있어 간단히 테스트 해 볼 보드로 SAMD21 보드를 사용 하려고 한다. 어떻게 하면 간단하게 테스트 해 볼 수 있을까? Arduino 환경에서 하면 간단히 테스트 해볼 수 있을것 같다. ADC 데이터는 전압값을 가변할 수 있는 VR을 이용해서 가변할 수 있는 확장 테스트 보드를 이용하였다. 확장 테스트 보드의 VR을 A3(PA3)에 연결하여 ADC값을 읽고 그값을 TFT LCD에 출력 하도록 했다. ATSAMD21 Arduino 테스트 소스코드 unsigned int gAdcValue.. #SAMD21E-S EVM - Arduino Zero 성능 테스트 ASMD21에 Arduino 를 올렸으니 간단히 성능 테스트를 해 봐야지... GPIO 토글 속도로 수행 속도를 측정해 보았다. 다른 MCU의 Arduino 코드에서 성능 테스트와 비교해 보면 클럭대비 나쁘지는 않은것 같다. 아두이노에서 제공하는 GPIO제어 함수(digitalWrite)로 GPIO 토글 하면 2.3us 정도 측정이 된다. #define PIN_OUT 27 #define Led1Off() PORT->Group[0].OUTCLR.reg = (1 #SAMD21E-S EVM - ATSAMD21E Arduino Zero Board 만들기 Arduino Code로 테스트 하면 이미 작성되어 있는 라이브러리가 많아서 간단하게 테스트 하기에 좋은것 같다. 그래서 SAMD21E EVM 보드에 아두이노 부트로더를 올려 보았다. #SAMD21E-S EVM 보드에 ATSAMD21 Arduino Bootloader 를 넣었더니 USB인식은 하는데 실제 Arduino IDE에서 구동하면 프로그램이 동작을 하지 않는다. ATSAMD21A 기준으로 작성된 bootloader라서 그런가... variant.cpp 파일을 수정 해 주어야 하나? ATSAMD21A 와 ATSAMD21E 용량 차이 때문에 그런것 같다. https://github.com/mattairtech/ArduinoCore-samd 에 SAMD21E를 이용하여 작성한 bootloader가 있다.. [SAMD21E-S EVM] Atmel Studio에서 Delay 함수 사용하기 [SAMD21E-S EVM] Atmel Studio에서 Delay 함수 사용하기 Atemel Strdio에서 딜레이 함수는 delay_ms() 함수 를 사용하면 된다. int main(void){ /* Initializes MCU, drivers and middleware */ atmel_start_init(); /* Replace with your application code */ while (1) { gpio_toggle_pin_level(LED1); delay_ms(500); }} 자동 생성 코드에 아래와 같이 생성되어 있다. us단위의 딜레이 함수 delay_us() 함수도 사용가능하다. void delay_init(void *const hw){ _delay_init(hardware = hw);.. 이전 1 2 3 4 ··· 6 다음