[nRF52] 1. PJT generation & porting

Dongsik·2022년 3월 23일
0

목적

BLE 개발을 위해 nRF52 의 SDK 를 활용하여 초기 설정

Git

https://github.com/tlaehdtlr/nrf52_ble_base

  • 1 commit : Make readme
  • 2 commit : Copy BLE template
  • 3 commit : Adjust configuration

1. Architecture

1-1. 개발 환경

  • Git readme 에 업데이트 완료

1-2. 코드 관리, 재사용성

  • SDK 자체를 수정하지 않고 직접 작성한 소스만 Git 푸쉬
  • 동일한 SDK 버전을 유지하고, segger IDE 의 절대경로 설정
  • SDK 수정이 필요한 경우, 해당 모듈 복사 및 링커 설정 활용

2. BLE template porting

nRF5_SDK_17.0.0_9d13099\examples\ble_peripheral\ble_app_template 에 원하는 모델이 없으므로 pca10056 을 포팅 시작

2-1. 파일 복사

  • emProject, emSession, flash_placement
  • sdk_config.h
  • main.c

2-2. 프로젝트 설정 변경

.emproject

  • projtect name
  • path
  • board
  • Preprocessor Definition
  • memory (현재는 softdevice 만 고려, 추후 bootloader, service 에 따라 조정 필요)
    • softdevice 의 release note 참고
      • 분명 ram size 가 0x1678 이라고 되어 있지만 막상 저렇게 하면 에러가 나온다
        (ram start location 을 0x2260 으로 옮겨라는 에러 메시지)
      • 왜 그런지 정확히 설명은 못 하겠다.(.xml을 봤는데 관련 없는거 같다 linker랑은 별개인 것 같음), ToDo 로 남기겠다
      • 다만 다른 s140 예제(pca10100, pca10056)를 봐도 다들 2260으로 하고 있다...)
      • 예외적으로 ble_app_uart 의 경우 2ae8을 쓰고 있다. (점점 미궁 속으로...)
      • 정확한 값을 디버깅하기 위해 참고 3-1 링크의 9번을 확인해보자.

3. 참고

3-1) 메모리 설정 가이드

3-2) Memory resource requirements

profile
There is a plenty of room at the bottom.

0개의 댓글