전체 글 (2041) 썸네일형 리스트형 [ESP32-C6 SSM] Dhrystone, Whetstone, IIR Benchmark 성능 테스트 MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다.각각의 특징은 아래와 같다.Dhrystone - 정수(ALU)연산성능 측정, MIPS 수치로 표기Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기테스트 코드는 STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. 벤치마크 테스트 결과 부동소수점 연산이 많이 좋지 않은것 같다. ESP32-C3의 RISC-V 코어를 업그레이드 해서 제작 했다고 하는데 약간의 성능 개선은 있는것 같다. ESP32시리즈의 벤치마크 테스트 결과 비교 ESP32ESP32S3ESP32S2ESP32C3ESP32C6Dhr.. [ESP32-C6 SSM] Arduino 개발환경 설정 ESP32C6 개발환경을 설정하기 위해 가장 간단한 방법은 Arduino IDE를 이용하는 것이다.최신 ESP32 Board 설정파일로 업데이트 하면 ESP32C6 Dev Module 가 포함되어 있다. ESP32C6의 Arduino variant 파일 설정은 아래와 같다.#include #include "soc/soc_caps.h"#define PIN_RGB_LED 8// BUILTIN_LED can be used in new Arduino API digitalWrite() like in Blink.inostatic const uint8_t LED_BUILTIN = SOC_GPIO_PIN_COUNT + PIN_RGB_LED;#define BUILTIN_LED LED_BUILTIN // backwar.. [ESP32-C6 SSM] ESP32-C6 테스트 보드 제작 ESP32-C6는 2.4 GHz Wi-Fi 6(802.11 b/g/n/ax), Bluetooth 5 (LE), Thread, Zigbee 를 포함하고 있다. RISC-V 코어로 저렴하면서도 다양한 RF스택을 지원하는 솔루션에 적합한 MCU인것 같다.ESP32-C3 도 처음 나왔을때 작고 저렴해서 매리트 있었는데 이번에 출시된 C6도 다양한 RF를 지원해 테스트 해두면 좋을것 같다. 표준 핀맵인 SSM Type EVM 형태로 제작해 보았다. ESP32-C3를 업그레이드 해서 WiFi 기능과 저전력 기능 더욱 강화 했다고 하는데 아래표와 같이 비교 해 볼 수 있다. [ESP32-C6 SSM] 회로 핀맵 [MSPM0G3107 SSM] PWM 테스트 - RC Servo Motor 제어 MSPM0G3107 PWM 테스트를 해 보자. 확장테스트 보드에는 RC Servo 모터를 연결 할수 있는 커넥터가 3채널이 있기 때문에 PWM을 이용해 서보 모터를 제어 할 수 있다. 서보 보터는 20ms 주기에 0.5ms ~ 2.5ms로 펄스폭을 제어 하면 된다. TIMER-PWM을 추가 하고 PWM 출력 주기를 20ms(50hz) 로 설정하고 invert 설정으로 출력을 반전시켜 출력 할수 있도록 설정해 준다. 인터럽트 입력예제를 이용해 스위치 입력에 따라 서보 모터의 위치를 변경하는 예제를 작성할수 있다.#include "ti/driverlib/m0p/dl_interrupt.h"#include "ti_msp_dl_config.h"extern volatile uint32_t interruptV.. [MSPM0G3107 SSM] GPIO 인터럽트 - INPUT CAPTURE 테스트 테스트진행 중 디버깅을 위해 입력력 스위치를 많이 사용하는데 [MSPM0G3107 SSM] 보드에는 입력 스위치가 있고 이를 이용하여 외부 인터럽트 테스트를 진행 해 보자 [MSPM0G3107 SSM] 보드 부트옵션을 위한 스위치가 PA18에 연결되어 있다. SYSCONFIG를 이용하여 입력 GPIO를 추가하고 인터럽트를 설정해 되면 된다. 인터럽트 핸들러는 GROUP1_IRQHandler() 함수를 재정의해서 처리 할 수 있다.void GROUP1_IRQHandler(void){ switch (DL_Interrupt_getPendingGroup(DL_INTERRUPT_GROUP_1)) { case GPIO_GRP_0_INT_IIDX: /* If SW is h.. [MSPM0G3107 SSM] ADC테스트 - HW평균필터와 DMA를 이용한 14bit ADC 테스트 MSPM0 시리즈는 1$이하의 저렴한 가격이지만 아날로그 기능이 풍부해서 아날로그 기능이 필요하면서 저비용으 시스템에 적합한 MCU인것 같다. 기본적인 ADC기능은 MSPM0L 시리즈에와 동일하지만 MSPM0G시리즈에 몇 가지 추가된 기능이 있다. MSPMG 시리즈는 클럭이 32Mhz에서 80Mhz로 빨라져 ADC 속도가 빨라 졌고 12bit DAC기능이 추가 되었다. 기본 구성은 MSPM0L 시리즈 ADC와 동일한 구조로 테스트 할 수 있다.https://nexp.tistory.com/4069 [MSPM0L1306 SSM] ADC 테스트MSPM0의 특징으로 저렴한 것도 있지만 강력한 아날로그 장치가 내장되어있다. MSPM0L1306 의 ADC를 테스트 해보자.저렴한 가격으로 아날로그 기능을 사용할수.. [MSPM0G3107 SSM] UART 테스트 [MSPM0L1306 SSM] UART 테스트 - printf 사용하기 예제를 참고로 MSPM0G3107 UART를 테스트 해보았다.https://nexp.tistory.com/4068 [MSPM0L1306 SSM] UART 테스트 - printf 사용하기MSPM0 사용하면서 가장 기본이 되는 장치라 할 수 있는 UART 테스트를 해 보자.syscfg를 사용하면 쉽게 UART를 추가 하고 간단하게 설정 할 수 있다.MSPM0의 UART핀맵도 쉽게 설정가능하다.기본 코드를 생nexp.tistory.com [MSPM0G3107 SSM] 보드는 PA11(RX), PA10(TX)에 UART가 할당되어 있다. syscfg를 사용하면 쉽게 UART를 추가 하고 간단하게 설정 할 수 있다. MSPM0G3107.. [MSPM0G1307 SSM] SYSTICK 타이머 인터럽트 테스트 MSPM0 개발하면서 가장 많이 사용하는 기준 클럭 타이머 인터럽트 SYSTICK 타이머 인터럽트를 테스트 해 보자 SYSCONFIG 에서 SYSTICK 추가하고 주기 및 인터럽트를 설정하면 된다. MSPM0 SYSTICK 인터럽트를 이용해 1초에 한번씩 LED를 점등하는 테스트 코드volatile unsigned int gTimeTick_1ms = 0;//타이머 인터럽트 핸들러void SysTick_Handler(void){ gTimeTick_1ms++;}int main(void){ SYSCFG_DL_init(); //DL_SYSTICK_config(32000000); DL_SYSTICK_enable(); while (1) { if(gTimeTick_1ms>.. 이전 1 2 3 4 5 6 7 ··· 256 다음