본문 바로가기
임베디드.일렉트로닉스/nRF52

nRF5 SDK . sdk_config.h 엉망 체계. 해결 방법

by i.got.it 2023. 8. 5.

 

 

nRF5 SDK 의 sdk_config.h 역할 및 엉망 품질 .. 

 

본 설명의 nRF5 SDK 버전 : 17.1.0 (정확한 버전 : 17.1.0_ddde560  2023 년 8월 가장 최신 버전의 SDK

 

예 . SPIS 를 예로 설명하나 다른 페리페랄들 모두 동일하게 적용됨. 

 

SDK 로 제공되는 SPIS 관련 파일 중에서  nrfx_spis.c 파일을 보면 NRFX_SPIS_ENABLED 가 1이면 이후 코드 활성화 시키고 0이면 비활성화 하는 식으로 sdk 소스 파일들 관리 체계 구현되어있고 그 설정을 sdk_config.h 에서 기록하게 되어있다. sdk_config.h 는 nRF5 SDK 사용자가 가장 많이 사용하게 되는 중요한 파일이며 그 관리체계에 자체 모순이 있으면 안되는 지점이다. 

 

 

 

위와 같이 SPI slave 관련 함수를 활성하기 위하여 sdk_config.h 파일에 아래처럼 설정 하면 될것이라고 당연히 누구나 그렇게 생각할 것이다 

 

#define NRFX_SPIS_ENABLED 1 

 

그러나,  위 구문으로는 정상적인 설정 안된다. NRFX_ 없이 SPIS_ENABLED 를 1로 설정해야 정상 작동한다. 

 

#define SPIS_ENABLED 1

 

심지어는 SPIS_ENABLED 를 1로 설정하면  NRFX_SPIS_NABLED 를 0으로 설정해도 위 그림코드 처럼 NRFX_SPIS_NABLED 가 1인 것처럼 처리됨. SDK 설계자가 미쳤나 싶다. 코드에다가  뭔 짓 을 한거냐 !!  코딩을 해야지 왜 똥을 싸질러? 초보 개발자  습작 수준의 것을 회사공식 sdk 로 배포하고 있음..  최소한의 기준은 지키자... 사람보다 AI 가 SDK 만들어 배포하는게 더 좋을거 같구나...이건 실수도 아니고 그냥 너네들이 이 정도는 문제없겠지? 라는 빡대가리 발상임을 알 수 있게 해주는 품질이다.  분명 깔끔한 해결이 가능한 부분임.    칩 하드웨어 설계는 최소한  이 따위 저품질이  아니길 희망한다.      현재까지 NORDIC 사 에서 제공하는 솔루션들을 관찰한 결과 - 칩 하드웨어 설계 쪽은 최고 인텔리한 계층 & 책임감 & 무결성 검토조직 등이 있는 것 같고(NORDIC 사가 원래 칩 하드웨어에서 경쟁력 좋았음.),   softdevice 도 제법 무결성달성된 것 같아서 이 쪽도 최상위 인텔리 & 책임감 있는 사람이 작업 한것 같음.  최종 말단 사용자 에게  제공하는 sdk 류는 개발자가 직접 해결 가능한 지점이다 보니 좀 부실한 애들이 담당하나 보다 이렇게 받아들이고 있긴함. 5년 전부터 sdk 에 있던 버그 해결안하고 계속 동일한것 배포하는것 보다가 빡쳤음. 말해도 개선안됨. 능력이 부족한건 이해 해준다.  그러나 무책임 무성의한 태도는  이해도 안되고 용서도 안됨.  

 

해결책 

아래처럼 NRFX_ 부착되지 않은 것으로 설정하면 오동작 없고 혼선 없고, 항상 의도한 대로 코드 작동함. 

다른 페리페랄들 모두 동일. 



// NRFX_xxx 설정 무관하게 실제 코드에서의 처리는 이 설정으로 결정됨. 
#define SPIS_ENABLED 1 
#define SPIS1_ENABLED 1


// NRFX_xxx 설정 . 항상 위의  설정이 우선권을 가짐. 이 설정은 하나 마나. 하나 마나인걸 sdk 로 배포하는 니네들 하...  
//#define NRFX_SPIS_ENABLED 1
//#define NRFX_SPIS1_ENABLED 1

 

 

연관 

 

 

nRF5 SDK. 개요. 다운로드.

nRF5 SDK 개요. Nordic 사 nRF5xx 계열 펌웨어 개발시 필수 요구되는 SDK. nRF5 SDK 지원 IDE - SEGGER Embedded Studio (SES. 설치방법 상세보기 ) - KEIL MDK-ARM - 기타 이클립스나 IAR 도 지원되나 SES 면 충분. 관리대상.

igotit.tistory.com

 

 

 

상위정리

https://igotit.tistory.com/244 의 nRF52

 

STM32. nRF52. ESP32. EFM8. EFM32. PSoC 활용 정리.

STM32. nRF52. ESP32. EFM8. EFM32. PSoC 총정리 제조사 칩 주요특징 실리콘랩 8bit MCU EFM8 시리즈 32bit EFM32 시리즈 EFM8 싸다. STM STM32 . 최고 항상 만족. Cypress pSoC pSoC6 은 기대해볼만. NORDIC nRF52 블투 무선솔루

igotit.tistory.com

 

 


첫 등록 : 2023.08.05

최종 수정 : 

단축 주소 : https://igotit.tistory.com/4772


 

댓글



 

비트코인




암호화폐       외환/나스닥/골드         암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)         프랍 트레이더 온라인 지원가능. MT4,MT5