STM32. nRF52. ESP32. EFM8. EFM32. PSoC 총정리

제조사 | 칩 | 주요특징 |
실리콘랩 |
|
EFM8 싸다. |
STM |
|
최고 항상 만족. |
Cypress |
|
pSoC6 은 기대해볼만. |
NORDIC |
|
블투 무선솔루션. |
espressif |
|
WiFi,BT,Dual CPU |
MCU 중요도
1순위 : STM32
2순위 : nRF52
실리콘 랩과 Cypress 것은 "개인"적으로는 별루 안중요한 곳에 사용되었음. 반면 STM32 는 고신뢰도 확고한 동작에서 만족감, 성취도 최대. nRF52 는 무선통신기능이 핵심임. STM사가 무선솔루션에서는 아직은 약함(개인적 주관적 평가). 노르딕사는 무선솔루션에 목숨건 업체. nRF24 같은 무선통신 칩으로 크게 성장했고, 무선솔루션에 MCU 솔루션까지 같이 제공하는 중. 환경변화에 대응하는 능력을 보면 오래 갈 업체로 보이고 계속 시장 장악력 높을듯.
응용 개발자로써 가장 중요한 덕목은 특정 칩에 종속되지 않고 상황에 맞게 MCU 골라서 활용하면 됨. 개인 취미로 장난감 만들 때는 아두이노 같은거 이용하고, 고품질 원하면 그에 맞는 고품질 MCU 로 개발할것. 이게 분간이 안되면 죽도 밥도 안되니 개발자로써의 업은 그만 둘것을 고려하고 그래도 하고 싶다면 개인 취미생활만 하면됨.
MCU 개발시 사용되는 언어 - 무조건 기본은 C
- 간혹 C++ 로도 개발하지만 MCU 코딩은 무조건 C 언어 기반으로 개발된다. 이런걸 루 쓰짤데기 없는 고민 좀 하지 마라... . 그냥 C 는 임베디드 개발자의 필수 스킬이다. 전산 언어는 1개 만으로 못먹고 산다. 임베디드 분야 개발자면 C언어는 무조건 익숙해지면 되고 . 그리고 추가로 능력 되면 다른 언어들도 익숙해지면 됨. 임베디드 어셈블리로 코딩하지 않아도 됨을 감사하게 생각하자.
EFM8
8051 core
1.How to
전용 개발툴 Simplicity Studio 설치하기. -> http://igotit.tistory.com/131 - Simplicity studio는 무료로 기능제한없이 사용가능한 통합개발환경을 제공한다. - 실리콘 랩사의 C8051, EFM8, EFM32 시리즈 모두 개발가능. Simplicity Studio에서 EFM8 프로젝트 만들기. -> http://igotit.tistory.com/230 SYSCLK 을 포트핀으로 출력하기. -> http://igotit.tistory.com/228 SYSCLK 클럭소스 선택, Divider설정, 클럭별소비전류 -> http://igotit.tistory.com/250 GPIO출력, 출력속도, 소비전류 -> http://igotit.tistory.com/233 EFM8 RTC 클럭소스를 외부크리스탈로 설정하기. -> http://igotit.tistory.com/249 PCA 이용 RTC클럭 핀 출력하기. -> http://igotit.tistory.com/299 터치센서 구현하기. -> http://igotit.tistory.com/232 터치센서 센서파형 보는 방법. -> http://igotit.tistory.com/298 EFM8 I2C(SMBus) 구현하기. -> http://igotit.tistory.com/292 EFM8 인트럽트 코드 생성방법. -> http://igotit.tistory.com/323 ADC 활용법 -> http://igotit.tistory.com/338 EFM8 UB1 USB 설정하기 -> http://igotit.tistory.com/457 |
2. info.
EFM8 SB1 시리즈 개요. -> http://igotit.tistory.com/227 EFM8 UB1 시리즈 개요. -> http://igotit.tistory.com/455 EFM8 SB1, 스타터 키트 -> http://igotit.tistory.com/231 EFM8 SB1 개발보드 -> http://igotit.tistory.com/322 EFM8 UB1, 스타트 키트 -> http://igotit.tistory.com/456 EFM8 SB1, 클럭. -> http://igotit.tistory.com/226 EFM8 SB1, RTC -> http://igotit.tistory.com/253 EFM8 SB1, Timer -> http://igotit.tistory.com/290 EFM8 SB1, PCA, WDT -> http://igotit.tistory.com/296 EFM8 SB1, I2C(SMBus) -> http://igotit.tistory.com/291 EFM8 SB1, Power Mode -> http://igotit.tistory.com/252 - normal, idle, suspend, sleep 모드가 있다. EFM8 Port I/O, Crossbar, External Interrupts, and Port Match -> http://igotit.tistory.com/254 EFM8 ADC -> http://igotit.tistory.com/332 EFM8 부트로더 -> http://igotit.tistory.com/459 EFM8 플래시 프로그래밍 수단 -> http://igotit.tistory.com/2898 |
3.기타
|
4.
|
EFM32
ARM Cortex core
1.How to
전용 개발툴 Simplicity Studio 설치하기. -> http://igotit.tistory.com/131 - Simplicity studio는 무료로 기능제한없이 사용가능한 통합개발환경을 제공한다. - 실리콘 랩사의 C8051, EFM8, EFM32 시리즈 모두 개발가능. EFM32 프로젝트 생성법 -> http://igotit.tistory.com/245 EFM32 UART(USART) 활용법 -> http://igotit.tistory.com/247 |
2. info.
EFM32 시리즈 개요. -> http://igotit.tistory.com/132
EFM32 Zero Gecko 시리즈 -> http://igotit.tistory.com/234 - Cortex M0+ EFM32 Wonder Gecko 시리즈 -> http://igotit.tistory.com/235 - Cortex M4, FPU EFM32 Wonder Gecko 의 클럭 -> http://igotit.tistory.com/248 EFM32 Wonder Gecko 개발보드 -> http://igotit.tistory.com/246 EFM32 Zero Gecko 개발보드 ->http://igotit.tistory.com/262 EFM32 플래시 프로그래밍 수단 -> http://igotit.tistory.com/2898 |
3.
|
4.
|
STM32
ARM Cortex core
1.
|
3.버그/하자
STM32CubeMX 버전 4.3.0 의 USB 관련 버그 및 해결책 - http://igotit.tistory.com/289
STM32CubeMX 버전 4.25.0 의 클럭 설정 버그 및 해결책 - https://igotit.tistory.com/1978 SPI 첫 통신 데이터 비트 시프트 버그 및 해결책 . https://igotit.tistory.com/2446 STM32L4R5VG 부트로더 버전 9.2 부트로더 작동안됨. . https://igotit.tistory.com/2278 |
4.
|
PSoC
PSoC3 : 8051, PSoC4 Cortex M0, PSoC5 : Cortex M3, PSoC6 : Cortex M4 + M0 Dual
1.How to
PSoC Creator 설치.(버전 2.1 SP1 구버전임) : http://igotit.tistory.com/1568 PSoC 의 자류로운 핀맵 지정 : http://igotit.tistory.com/1569 Watch Dog Timer 인트럽트 구현. : http://igotit.tistory.com/261 I2C Master 설정 I2C API 함수 사용법 : http://igotit.tistory.com/327 pSoC, pRoC BLE 셋팅방법 골격 : http://igotit.tistory.com/510 |
2. info.
PSoC 프로그래머 (윈도우 PC 프로그램) : http://igotit.tistory.com/1571 miniProg3 (PSoC 펌웨어 기록기) : http://igotit.tistory.com/306 pSoC4 BLE / pRoC BLE 개발보드 : http://igotit.tistory.com/260 CapSense 기본정보들 : http://igotit.tistory.com/259 pSoC4 BLE 칩개요 : http://igotit.tistory.com/207 pSoC4 전력모드 : http://igotit.tistory.com/222 Bluetooth Low Energy Subsystem의 전력모드 : http://igotit.tistory.com/225 UART to BLE 브릿지 : http://igotit.tistory.com/257 ( code example ) WDT기반 RTC & BLE GATT Current Time Service : http://igotit.tistory.com/256 ( code example ) PSoC 6 개요. M4+M0 Dual , 초저전력 : http://igotit.tistory.com/1621 |
3.
|
4.
|
nRF52
Bluetooth 5.0 Radio with ARM Cortex M4F
1.
nRF5 LED 점멸 샘플 프로젝트 예제 : https://igotit.tistory.com/1684 nRF52840 USB Dongle LED 점멸 예제 : https://igotit.tistory.com/2019 nRF52840 GPIO 출력. 출력속도 : https://igotit.tistory.com/2029 SysTick 코드 구현 : https://igotit.tistory.com/2043 Clock Control 코드 구현 : https://igotit.tistory.com/2046 nRF52840 USB CDC 코드 구현 : https://igotit.tistory.com/2037 nRF52840 USB CDC 드라이버 설치 방법 : https://igotit.tistory.com/2038 Radio Tx 구현 : https://igotit.tistory.com/2053 Radio Rx 구현 : https://igotit.tistory.com/2055 nRF5 Enhanced ShockBurst 작동시험 : https://igotit.tistory.com/1704 블루투스 5.0 BLE Maximum Throughput Test : https://igotit.tistory.com/1689 BLE NUS Server-Client 통신 시험 : https://igotit.tistory.com/1694 nRF52840 동글에 j-link 커넥터 달기 : https://igotit.tistory.com/2295 nRF52840 DK 를 j-link 디버거로 활용하기 : https://igotit.tistory.com/2296 |
3. 버그 등
nRF5 SDK 버그 __putchar 관련 및 해결책 : https://igotit.tistory.com/1691 SES 디버깅 모드에서 NRF_LOG_INFO 출력 Debug Terminal 에 안보이는 문제 및 해결. https://igotit.tistory.com/2328 - 오락가락 하는 오류 증상에 일관된 해결책이 있는것도 아님. 어덯게든 보이게 해야 개발 속도 빨라짐. nRF5 SDK 16.0.0 의 오류 들 : https://igotit.tistory.com/2353 |
4.
|
ESP32
WiFi, Bluetooth, Dual CPU
1
|
2
|
3
|
4
|
첫글등록 : 2015년 4월 5일.
최종수정 : 2019년 10월 24일.
본글단축주소 : https://igotit.tistory.com/244
'임베디드.일렉트로닉스 > EFM8' 카테고리의 다른 글
SILabs. MCU Production Programmer . 8bit MCU. EFM8 (0) | 2021.07.20 |
---|---|
SILabs. MCU 플래시 프로그래밍 수단 . EFM8 EFM32 (0) | 2021.07.20 |
STM32. nRF52. ESP32. EFM8. EFM32. PSoC 활용 정리. (9) | 2019.10.24 |
EFM8 UB1, USB 설정하기. (0) | 2019.09.04 |
Simplicity Studio에서 EFM8 프로젝트 만들기. (0) | 2019.09.04 |
EFM32,EFM8, C8051F 개발 IDE Simplicity Studio (0) | 2019.09.04 |
비밀댓글입니다
답글
안녕하세요~ 제가 비밀댓글로 하면 글 남긴분도 답글을 못보는 경우가 많아 공개글로 댓글 남깁니다.
제가 CC3100 을 STM32 로 제어하기 위하여 SimpleLink 포팅작업했던 시점이 5년전 2014년 말 2015년 초 까지 잠시 작업하다가 완료하지 않고 다른 프로젝트 작업 진행했었네요.
그 당시 개발중에 구현해야할 핵심 작업사항이 SimpleLink 를 STM32 개발환경으로 옮기는 것이었고, 이를 개발중에 기록 남겨뒀던 것을 블로그에 새글 작성하여 올려 뒀습니다. 주소 : https://igotit.tistory.com/2377
저도 한참이 지난 상황이라 기억은 가물가물 하지만 위 내용 보면 포팅과정에 별 다른 특이사항은 없었던것 같아요. 단지 TI사의 관련 개발 문서가 부실해서 명시적인 이해가 안되는 문제가 좀 있었고 이런 문제는 TI사 포럼에서 질문과 답변들 보면 도움이 되었던것 같네요.
아 그리고 CC3100 의 경우 좀 특이한 특성이 있었는데 SPI 통신시 SPI CS 를 반드시 동적제어 해줘야 정상 통신이 되었습니다.
안녕하세요! 확인하시고 답변 주셔서 감사드립니다! 올려주신 포스팅을 참고로 수정중에 있습니다.
특히 최근 SDK에서는 STM32f4 Discovery board에 대한 platform 예제도 있어서,
이를 바탕으로 CubeMX에서 잡아주는 peripheral 함수와 중복된 것을 지우고, 필요한 spi 함수를 바꾸는 중에 있습니다.
빌드 ㅇ에선 아직까진 별다른 error 없이 동작하는데, 칩이랑 물려서 확인해봐야겠죠 이제.
무튼, 아두이노를 제외한 임베디드 시스템을 제대로는 처음 해보는 터라 아예 막막하던 일이었는데, 선생님 덕분에 길이 보이는 것 같습니다! 감사드립니다 :)
답글
아두이노 에서 STM32 로 넘어왔다길래 ... 노파심에서 추가 합니다. SPI 통신에서는 반드시 슬레이브측 의 SPI 모드와 동일하게 SPI master 에서 모드를 설정해줘야 합니다. 슬레이브 측의 SPI mode 는 해당 칩의 데이터 시트에서 반드시 명시하고 있습니다. SPI 모드 상세 : https://igotit.tistory.com/2088
또한, SPI slave 의 가능한 최대 SPI CLK 가 명시되어 있구요. SPI master ( STM32 측) 에서는 지정된 최대 주파수이하의 SPI 클럭을 설정해야 합니다.
SPI 통신에서는 위 2가지 무조건 처음부터 확실하게 설정하고 진행해야 합니다.
안녕하세요! 오랜만에 덧글 남겨드리네요.
시작하고 1주일 정도 머리 싸맨지 1주일 정도만에 성공했네요.
포스팅해주신 내용 덕에 기본적인 세팅은 다 마무리 했었는데, 명령어가 계속 제대로된 값을 리턴하지 않아서 한참 고생했네요... 하나하나 debug해서 알아본 결과로는, SPI로 들어오는 명령어들 중 header 부분 이후 4바이트가 이상하게 들어오는 바람에 계속 밀린 데이터를 받고 있었네요... 이게 원래는 Status를 포함하는 부분이었는데, 예전 버전과 신규 버전의 차이인진 모르겠네요. Header 부분 이후에 강제로 4byte를 한 번 읽어들이는 코드를 추가해주니, 다른 예제 소스들도 다 정상 작동합니다.
아무쪼록, 많은 도움 얻고 갑니다!! 감사드립니다 =)
답글
이 많은 글들을 혼자서 이렇게 체계적으로 관리한다고요?? 정말 충격적이네요.
답글
임베이드 개발자가 되려면 어느학과에 진학하는 것이 좋을까요??
답글
임베이드 개발자가 되려면 어느학과에 진학하는 것이 좋을까요??
답글
임베디드 시스템 개발시 요구되는 지식은 아래 3가지 요소들이 모두 요구됩니다.
1. 코딩. 비중 60%
- 사용되는 언어 : C언어 , 간혹 C++
2. 페리페랄들 이해. 비중 : 30%
- GPIO, SPI, I2C, UART, ADC, DAC 등
3. 전기회로 이해. 비중 : 10%
- 저항 분압, 전력, 전압, 전류, 스위칭 회로 등 기본적인것. 고등학교 물리과목의 전자기 수준의 지식 + 추가 필요한 것 구글링 정도만 해도 충분합니다.
위 3가지 요소 중 코딩이 60% 이상의 비중이므로 학부의 학과는 전산언어 계통을 많이 다루는 학과가 유리합니다.
한편, 요즘 구글링으로 필요한 거의 모든 정보를 찾아낼 수 있고, 모르는 내용들은 검색하여 개념 정리하고 실전 적용하고 이런 과정을 지속 반복 가능한 분들이 발전속도가 빠른것 같습니다.~