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

EFM8 플레시 프로그램 안될 때 최후의 조치법.

by i.got.it 2015. 4. 19.


 

개요

   

EFM8 SB1 Start Kit 와 Simplicity Studio 를 이용하여, sleep 모드나 suspend 모드 진입하는 기능이 있는 펌웨어를 기록하고나면 이후 새로운 펌웨어를 기록하지 못하는 상태가 되는 경우가 있다. Simplicity Studio 에서 제공되는 플레시 프로그래밍 툴로는 칩에 접근 자체가 불가능하여 프로그램 재기록이 안된다.   


본 글에서는 위 문제를 해결하기 위하여, SILab 의 USB Debugger 와 Flash Programming Utility 를 이용하여 플레시 메모리를 삭제처리하여 이후 정상적으로 Simplicity Studio 에서 새로운 펌웨어 기록가능한 상태를 달성하는 방법 정리한다. 


관련요소들 

1. EFM8 SB1 Start kit : http://igotit.tistory.com/231

2. Simplicity Studio : http://igotit.tistory.com/131

3. USB DEBUG ADAPTER : http://igotit.tistory.com/263

4. Flash Programming Utilities : http://igotit.tistory.com/264


 


 

 

오류 증상

 

EFM8 에 기록한 코드가 아래와 같이  Suspend mode  로 진입하는 코드가 있는 경우 한번 기록하고 나면 더이상 Simplicity Studio 에서 추가의 새로운 펌웨어를 기록할 수 없다는 에러 발생함. 

오류를 일으키는 코드예.

 

//------------------------------------------------​-----------------------------
// Includes
//------------------------------------------------​-----------------------------
#include <SI_EFM8SB1_Register_Enums.h>                  // SFR declarations
#include "InitDevice.h"
#include "pwr.h"
// $[Generated Includes]
// [Generated Includes]$

//------------------------------------------------​-----------------------------
// main() Routine
// --------------------------------------------------​--------------------------
int main (void)
{
// Call hardware initialization routine
enter_DefaultMode_from_RESET
();

while (1)
  
{
// $[Generated Run-time code]
// [Generated Run-time code]$

 PWR_enterSuspend
(PWR_RTCA_WF);

  
}

} 


위 처럼 작성된 코드를 기록하고 난 이후 다른 펌웨어를 기록하지 못하는 상태. Simplicity Studio에서 기록하려고 하면 보이는 오류창.


 

 


 



 

해결방법.

 

위 오류증상은 Simplicity Studio 로는 해결되지 못한다. 

처리1. PC 와 USB로 연결된 USB DEBUG ADAPTER : http://igotit.tistory.com/263 를 EFM8 SB1 Start kit 와 결선하고 (아래 사진보임)

처리2. PC 에서 Flash Programming Utilities : http://igotit.tistory.com/264 를 실행하여 Flash Erase를 실행하면 기존 기록된 펌웨어가 플레시에서 삭제된다.


위와 같이 플레시 삭제 처리가 이뤄진 보드는  Simplicity Studio에서 정상적으로 새로운 프로그램 기록 가능해진다.



USB Debug Adapter와 EFM8 SB1 Start Kit 결선

- 이때 보드에 전원공급은 전지로 해야함. (사진에서 아래 왼쪽에 코인셀 넣고 슬라이드 스위치로 전지를 선택해야함)



 EFM8 SB1 Start Kit board pin  --    USB Debug Adapter (아래 그림의 핀배치도) 

 1 : C2TCK                     --- 7

 2 : C2D                        --- 4

 3 : GND                        --- 3 



Flash Programming Utility  상세.

실행후, Connect 한다.


Flash Erase 탭에서 Erase 버튼 클릭한다.



 

 


 

 

///265.



댓글



 

비트코인




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