J-Link 문제증상 1
KEIL MDK 에서 J-Link 이용 하여 디버깅 혹은 프로그램 기록하려고 하는데 J-link 버전이 낮아 해당기기 지원하지 못한다는 메시지 나오는 경우 있다. 아래 화면 처럼 경고창 뜬다.
위 경고창에서 OK 누른 경우 아래 동영상 처럼 타겟 MCU nRF52840 지원하지 못하고 있음을 알 수 있다.
문제증상 해결위한 요점 : 위 동영상을 보면 KEIL 에서 실행된 J-link 관련 프로그램이 버전 v5.12e 이고 이 버전의 프로그램에서는 nRF52840 을 지원하지 않음이 문제 요점이다. 한편, 이미 J-link 버전 6.40 (MCU nRF52840 지원하는 버전임) 이 설치되어있는 상태에서 위와 같이 J-link 과거 버전이 보이면서 오류 상황이 벌어지고 있다.
난해한점 : 통상 J-link 를 설치하면 기본 Program FIles/SEGGER/JLink_V640 식으로 된 곳에 설치된다. 한편, KEIL MDK-ARM 에서 실행되고 있는 Jlink 관련 프로그램이 있는 위치는 Keil설치폴더 하위에 ARM/Segger/ 이며, 이 속에 있는 J-link ( 정확하게는 JLinkARM.dll ) 가 최신버전이 있어야 해결된다.
해결책 - 문제증상1
- 상기 난해한 문제는 간단히 해결된다. J-Link 설치하는 과정중에 사용자가 옵션선택을 반드시 해줘야 하는 곳이 있으며 아래 붉은 박스 부분을 체크한 상태에서 진행하면 설치과정중에 MDK-ARM 의 Segger 영역 부분을 자동으로 찾아서 업데이트 해준다.
위 옵션을 선택한 상태에서 계속 진행하다보면 아래 그림처럼 DLL 들 업데이트 하겠다는 메시지를 보여준다. 뷹은 박스 부분에 KEIL MDK-ARM 의 segger 폴더에 있는것도 업뎃 하겠다는 것이 보인다.
위 조치로 문제증상1은 해결되었다만, 아직 끝이 아니다. 위 조치를 취해도 아래처럼 플래시 다운로드과정에서 fail 발생함.
J-Link 문제증상 2
위 조치를 취하고 프로그램 기록시도하면 아래 동영상 같은 오류 발생한다.
(개인적 경험에서는 J-link 이용해서 머하나 깔끔하게 진행된 적이 없었음 !!! 이게 해결되면 저게 문제터지고)
해결책 - 문제증상2
- 아래 동영상에서 보이듯이 Programming Algorithm 설정에서 SDK 에서 기본 배포된 것들 nRF52xxx SoftDevice Erase 를 추가하면 펌웨어 다운로드 가능하고 펌웨어에서 의도한 기능이 타겟보드에서 정상작동하긴한다.
- 이런 류의 오류는 KEIL 이나 Segger 사의 J-Link 문제는 아니고 NORDIC 사의 nRF5 SDK의 KEIL 예제 프로젝트 완성도 부실로 보임.
첫등록 : 2019년 10월 1일
최종수정 : 2019년 10월 2일.
본 글 단축주소 : https://igotit.tistory.com/2304
'임베디드.일렉트로닉스' 카테고리의 다른 글
SES. Global Macros , Project Macro 추가하기. User Include Directories 쉽게 변경하기 (0) | 2019.10.02 |
---|---|
SES. 프로젝트에 포함된 파일 경로 변경하기 . *.emProject 파일 직접 수정 (0) | 2019.10.02 |
KEIL. Keil MDK 에서 J-Link 사용하기 (0) | 2019.10.01 |
KEIL. nRF_DeviceFamilyPack Install (0) | 2019.10.01 |
SES. 기초 지식들 (0) | 2019.09.30 |
댓글