I'm free

[nRF] 2. 셋팅확인 BLE400/core51822 본문

Firmware/nRF

[nRF] 2. 셋팅확인 BLE400/core51822

freerevival 2019. 8. 27. 01:01

환경셋팅이 끝났으니

[nRF] 1. 환경셋팅 BLE400/core51822

셋팅이 잘 됬는지 확인해봅시다.

운영체제 : Windows 10 pro x64

직접 해보면서 글을 쓰는것이기 때문에 틀린부분이 있을수 있습니다.

잘못된점은 언제든 삭제되거나 수정될수 있습니다.

1. 예제코드 다운로드

> BLE400 예제코드

설명 : BLE400 WiKi에 보면 Resources 항목에 code링크가 있다. 이를 다운로드 받는다,.

https://www.waveshare.com/wiki/File:NRF51822-Code.7z

 

File:NRF51822-Code.7z - Waveshare Wiki

Click on a date/time to view the file as it appeared at that time. Date/TimeDimensionsUserComment current03:44, 3 April 2015 (17.29 MB)Wiki Editorial Team (Talk | contribs)MsUpload There are no pages that link to this file.

www.waveshare.com

 

2. 예제코드 컴파일

> blinky 예제파일 

설명 : blinky - 펌웨어의 "Hello World"격인 기본 동작 소스

NRF51822-code\BLE4.0\nrf51822\Board\pca10001\01 blinky_example\arm

폴더 안에 blinky.uvproj 프로젝트 파일을 실행.

 

 

그러면 짜잔.  너무나도 당연하게 반겨주는 삼각형"!" ㅆ@!@$!%#$&@&$@*

 

기대도 안했습니다만, 다운로드도 컴파일도 모두 에러가 발생합니다,

이럴땐 매뉴얼을 찾아봅시다. (애초에 매뉴얼을 볼생각은 안하나?)

 


/* 매뉴얼 내용 */

PC development environment deployments

  • WindowsXP or Windows 7
  • nRFgo Studio v1.14 or higher versions
  • Keil MDK-ARM Lite v4.54 or higher versions
  • J-Link Software v4.52b or higher versions

Notice:

Sometimes, Jlink firmware may fail to cooperate with Nordic SDK, causing KEIL cannot download programs.

In this case, please select nRF51 Programming at the bottom left of nRFgo Studio, and click the option Program Application to start programming.


어디보자. 

  • WindowsXP or Windows 7 // "or" 로 표기되어있네요. XP,7 둘중 하나쓰라는것이죠. 저는 Windows 10입니다만.
  • Keil MDK-ARM Lite v4.54 or higher versions //이때당시 MDK v4버전때이군요. 저는 MDK v5버전입니다.

 

Notice:

Sometimes, Jlink 펌웨어를 KEIL 프로그램으로 다운로드 할 수 없습니다.

이 경우 nRFgo Studio를 사용해라........... 이게뭔 설명서여... 해결방안을 줘야지.


 

3. 예제코드 수정 및 컴파일

> blinky 예제파일 MDK v5버전으로 변경

설명 : blinky - 예전 버전의 코드를 살려봅시다.

참고 : 저는 새로 프로젝트를 생성해서 프로그램을 진행할것이라 필요없는 작업이지만, 예제코드가 때로는 도움이 될수도 있을것이니 살려봅니다.

 

먼저 프로젝트 열때 발생하는 에러 잡기.

에러코드를 보면 디바이스를 못찾아서 발생하는 에러입니다.

 

 

타겟마법사 아이콘을 클릭해서 Device항목을 보면 디바이스가 하나도없네요..

 

분명히 환경셋팅 할 때에 Nordic Semiconductor::nRF_DeviceFamilyPack을 설치했는데 말이죠.

[nRF] 1. 환경셋팅 BLE400/core51822

이는 MDK v4와 MDK v5의 Pack 설치위치 차이일것으로 예상됩니다.

MDK v5버전으로 올라가면서 Pack설치위치가 

MDK v4 //C:\Keil_v5\ARM\PACK 에서

MDK v5 //\AppData\Local\Arm\Packs 으로 변경됬다는 업데이트 노트를 본거 같아요.

그러면 PACK 설치 위치만 바꿔주면 되나? 네. 안됩니다.

걍 버전이 달라져서 안됩니다,

 

예전버전 호환하는 서포트 팩이라는것이 있는데

지원이 끊긴 디바이스를 지원하기위함이고 MDK v5.25 이후버전은 지원을 안하므로 패쓰.

http://www2.keil.com/mdk5/legacy

 

MDK v4 Legacy Support

MDK Version 5 uses Software Packs to support a microcontroller device and to use middleware. To maintain backward compatibility with MDK Version 4 you may install Legacy Support. This might be necessary for two reasons: To maintain projects created with MD

www2.keil.com

 

 

현제 기준으로 최신의 (윈도우10 / MDK 5.27) 프로그램에서 예제를 사용하는 방법,

제가 찾아낸 방법이며 정상적인 방법도 아닌거 같습니다.

손대야하는 곳이 많고, 복잡하므로.

결론 : 새 프로젝트 생성해서 코드 짜는게 좋습니다.!!!!!

다음엔 새 프로젝트 생성해서 LED 동작하는것을 하겠습니다.

혹시라도 어설픈 방법이지만 예제를 실행하고자 하시는분을 위해 

방법은 아래에 남겨두겠습니다,

 

1) 기본셋팅(건너뛰어도됨)

Manage project items 선택

-> 항목 1개만 남기고 삭제(삭제안해도되나 복잡해서)

-> 남은 항목 이름 변경 현제 core51822 사용되는 칩은 nRF51822AC (이름도 안바꿔도 됨)

-> OK -> 저장 -> 프로그램종료

 

 

 

 

2) 프로젝트 파일 버전 uVision5 변경

-> 프로젝트파일 메모장으로 열기(프로젝트 종료 필수)

   <PackID>NordicSemiconductor.nRF_DeviceFamilyPack.8.24.1</PackID>

-> 항목 추가 (단, 환경셋팅시 설치한 DeviceFamilyPack의 버전을 써주셔야 합니다,)

버전 보는 법

-> 항목 추가된 프로젝트 메모장 파일 저장

-> 프로젝트실행

 

-> 에러없이 실행됨. 왠지 기분좋음.

-> 하지만 여전히 Taget Device는 없음.

-> 저장 및 종료

-> uVision5로 저장하겠느냐고 질문이 나옴, 

-> 내가 원하던 바임. SAVE

 

 

3) Taget Setting

-> uVision5로 변환된 프로젝트 실행

-> Taget Device 확인 

-> 위에서도 언급했듯이 core51822 사용되는 칩은 nRF51822AC 선택

-> OK -> 저장

 

4) 프로젝트 컴파일

-> Rebuild 실행 

-> Error 확인

..\..\..\..\Include\nrf51.h(119): error:  #5: cannot open source input file "core_cm0.h": No such file or directory

-> 해석 : ..\..\..\..\Include\nrf51.h 이경로에 "core_cm0.h"이 없음.

-> Manage Run-Time Environment 실행

-> CMSIS -> CORE 항목 체크 -> OK

-> Rebuild 실행 

-> 정상 컴파일 확인

 

5) 프로그램 다운로드

-> Target Setting 

-> Debug : J-Link 선택

-> Settings 선택

->Flash Download 

-> RAM Size 0x2000

-> Programming Algorithm nRF51xxx 추가

-> OK ->OK-> 저장

-> 다운로드 실행

-> 정상 다운로드 확인

-> 장치 동작 확인

 

** 다시한번 말씀드리지만 **

제가 찾아낸 방법이며 정상적인 방법도 아니고 손대야하는 곳이 많고, 복잡하므로.

결론 : 새 프로젝트 생성해서 코드 짜는게 좋습니다.!!!!!

다음엔 새 프로젝트 생성해서 LED 동작하는것을 하겠습니다.

Comments