SDK
23.9.2
For IoT System Software Development
|
Nol.A-SDK는 IoT용 embedded systems 개발을 위한 Atom 기반 개발환경입니다. 그리고 Nol.A-SDK Library는 다양한 하드웨어, 통신 프로토콜, 라이브러리 등을 지원하기 위한 C++ 라이브러리, Makefile, 링커 스크립트, 플래싱 스크립트 등의 모음입니다.
Nol.A-SDK에서는 C++를 기본 언어로 사용합니다. 물론 C 파일도 컴파일 및 링킹을 지원합니다. 저희가 지원하는 보드들은 다양하지만 모두 GCC를 사용합니다. 자세한 보드별 컴파일러 종류 및 버전 정보는 를 참고해주세요. 문법 표준은 C++14 with GNU extensions (gnu++14), 및 C99를 지원합니다.
사용자 애플리케이션의 시작 지점은 Arduino 처럼 setup()
입니다. setup()
에서는 각종 초기화를 수행합니다.
Arduino와 달리 loop()
같은 함수는 지원하지 않습니다. 그 대신 postTask() 와 Timer 를 지원합니다.
[TBD]
NOLA_VER_MAJOR
: Library version (major number)NOLA_VER_MINOR
: Library version (minor number)NOLA_VER_PATCH
: Library version (patch number)Nol.A-SDK에서 프로젝트 별로 생성되는 Nol.A-project.json
파일에 다음과 같은 옵션을 추가하면 추가적인 기능을 사용할 수 있습니다.
일부 option 들은 보드별로 지원 가능 여부가 다릅니다. 자세한 정보는 보드별 정보를 참고해주세요.
NOLA_HEAP_SIZE
: Heap 크기를 지정(단위: byte)NOLA_STACK_SIZE
: Stack 크기를 지정(단위: byte)위 옵션들은 생략시 보드별 기본 heap 및 stack 크기를 사용합니다. 자세한 정보는 보드별 정보를 참고해주세요.
NOLA_DEBUG_AT86RF233
: 1이면 AT86RF233Chip 드라이버의 디버깅 메시지를 출력NOLA_DEBUG_CC1200
: 1이면 CC1200Chip 드라이버의 디버깅 메시지를 출력NOLA_DEBUG_DW1000
: 1이면 DW1000Chip 드라이버의 디버깅 메시지를 출력NOLA_DEBUG_6LORAWAN
: 1이면 IPv6LoRaWAN 프로토콜의 디버깅 메시지를 출력NOLA_DEBUG_SX126X
: 1이면 SX126xChip 드라이버의 디버깅 메시지를 출력NOLA_DEBUG_SX127X
: 1이면 SX127xChip 드라이버의 디버깅 메시지를 출력NOLA_DEBUG_SX1301
: 1이면 SX1301Chip 드라이버의 디버깅 메시지를 출력NOLA_DEBUG_HTTP
: 1이면 HTTP 프로토콜의 디버깅 메시지를 출력NOLA_DEBUG_IPV6
: 1이면 IPv6 프로토콜의 디버깅 메시지를 출력NOLA_DEBUG_IEEE802_15_4FRAME
: 1이면 IEEE802.15.4 프로토콜의 디버깅 메시지를 출력NOLA_DEBUG_LORAWAN
: 1이면 LoRaWAN 프로토콜의 디버깅 메시지를 출력NOLA_DEBUG_LPPMAC
: 1이면 LPPMac 프로토콜의 디버깅 메시지를 출력NOLA_DEBUG_DSTWRANGING
: 1이면 DSTWRanging 프로토콜의 디버깅 메시지를 출력NOLA_DEBUG_TSCHMAC
" 1이면 TSCHMac 프로토콜의 디버깅 메시지를 출력예를 들어, SX127xChip 드라이버와 LoRaWAN 프로토콜의 디버깅 메시지를 출력하기 위해서는 다음과 같이 옵션을 지정하면 됩니다.
프로젝트에서 초기화되지 않는 변수를 사용하고 싶으면 다음과 같이 변수명에 attribute를 지정할 수 있습니다.
MSP430, ESP32 계열 MCU 에서는 .noinit section에 별도의 제약이 없습니다. 다만, 너무 많이 지정하면 힙 또는 스택 영역이 줄어들어 애플리케이션이 정상 동작하지 않을 수 있습니다. 그 외 MCU 들은 각 보드별 크기 제한이 있으며, 자세한 정보는 보드별 정보를 참고해주세요.