KR20210061099A - 플래시 부트로더 검증 방법, 플래시 메모리, 및 이를 포함하는 배터리 시스템 - Google Patents

플래시 부트로더 검증 방법, 플래시 메모리, 및 이를 포함하는 배터리 시스템 Download PDF

Info

Publication number
KR20210061099A
KR20210061099A KR1020190148908A KR20190148908A KR20210061099A KR 20210061099 A KR20210061099 A KR 20210061099A KR 1020190148908 A KR1020190148908 A KR 1020190148908A KR 20190148908 A KR20190148908 A KR 20190148908A KR 20210061099 A KR20210061099 A KR 20210061099A
Authority
KR
South Korea
Prior art keywords
checksum
flash
boot loader
bootloader
current
Prior art date
Application number
KR1020190148908A
Other languages
English (en)
Inventor
신현주
Original Assignee
주식회사 엘지에너지솔루션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엘지에너지솔루션 filed Critical 주식회사 엘지에너지솔루션
Priority to KR1020190148908A priority Critical patent/KR20210061099A/ko
Publication of KR20210061099A publication Critical patent/KR20210061099A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44589Program code verification, e.g. Java bytecode verification, proof-carrying code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

플래시 부트로더 검증 방법은, 어플리케이션 실행 중, 재프로그래밍 요청이 있는지 판단하는 단계, 상기 판단 결과, 재프로그래밍 요청이 있을 때, 플래시 부트로더가 상기 플래시 부트로더의 바이너리에 대한 현재 체크섬을 계산하는 단계, 상기 플래시 부트로더가 상기 현재 체크섬과 기준 체크섬을 비교하는 단계, 및 상기 비교 결과, 상기 현재 체크섬과 상기 기준 체크섬이 일치하지 않으면, 상기 플래시 부트로더가 진단 코드를 발생시키는 단계를 포함한다. 상기 기준 체크섬은 상기 플래시 부트로더가 생성될 때의 체크섬일 수 있다.

Description

플래시 부트로더 검증 방법, 플래시 메모리, 및 이를 포함하는 배터리 시스템{FLASH BOOTLOADER VERIFICATION METHOD, FLASH MEMORY, AND BATTERY SYSTEM}
본 발명은 플래시 부트로더 검증 방법, 플래시 메모리, 및 이를 포함하는 배터리 시스템에 관한 것이다.
플래시 부트로더(flash bootloader)에 잘못된 바이너리가 올라간 상태이거나 플래시 부트로더의 일부가 깨진 상태에서 어플리케이션 소프트웨어를 다운로드할 수 있다. 이런 상태에서 시스템이 어플리케이션 소프트웨어를 다운로드 받아 어플리케이션을 수행하면, 시스템이 오동작하거나, 동작하지 않을 수 있다. 이 때, 어플리케이션 소프트웨어의 어는 부분에서 시스템이 오동작하거나 동작하지 않는지 분석하기 어려울 뿐만 아니라, 분석에 소요되는 시간이 길어지는 문제가 발생한다.
플래시 부트로더에 문제가 발생했을 경우, 이로 인한 더 큰 문제 발생을 방지하고, 플래시 부트로더의 이상 동작을 차단하여 문제 분석을 용이하게 할 수 있도록 하고자 한다.
본 발명의 한 특징에 따른 플래시 부트로더 검증 방법은, 어플리케이션 실행 중, 재프로그래밍 요청이 있는지 판단하는 단계, 상기 판단 결과, 재프로그래밍 요청이 있을 때, 플래시 부트로더가 상기 플래시 부트로더의 바이너리에 대한 현재 체크섬을 계산하는 단계, 상기 플래시 부트로더가 상기 현재 체크섬과 기준 체크섬을 비교하는 단계, 및 상기 비교 결과, 상기 현재 체크섬과 상기 기준 체크섬이 일치하지 않으면, 상기 플래시 부트로더가 진단 코드를 발생시키는 단계를 포함한다. 상기 기준 체크섬은 상기 플래시 부트로더가 생성될 때의 체크섬일 수 있다.
상기 플래시 부트로더 검증 방법은, 상기 비교 결과, 상기 현재 체크섬과 상기 기준 체크섬이 일치하면, 재프로그래밍이 시작되는 단계를 더 포함할 수 있다.
상기 비교 결과, 상기 현재 체크섬과 상기 기준 체크섬이 일치하지 않으면, 상기 플래시 부트로더 검증 방법은 프로그래밍 세션을 종료한다.
본 발명의 다른 특징에 따른 플래시 메모리는, 어플리케이션 소프트웨어를 저장하고, 명령에 따라 어플리케이션을 실행하는 어플리케이션 블록, 및 플래시 부트로더를 포함하고, 상기 플래시 부트로더는, 재프로그래밍 요청을 수신하면, 상기 플래시 부트로더의 바이너리에 대한 체크섬을 계산하고, 상기 플래시 부트로더에 기입되어 있는 기준 체크섬과 계산된 현재 체크섬을 비교하여, 상기 기준 체크섬과 상기 현재 체크섬이 일치하지 않으면 진단 코드를 발생시키고, 상기 기준 체크섬은 상기 플래시 부트로더가 생성될 때의 체크섬일 수 있다.
상기 플래시 부트로더는, 상기 기준 체크섬과 상기 현재 체크섬이 일치하면 재프로그램밍을 시작하거나, 상기 현재 체크섬과 상기 기준 체크섬이 일치하지 않으면, 프로그래밍 세션을 종료할 수 있다.
본 발명의 또 다른 특징에 따른 배터리 시스템은, 전기적으로 연결된 복수의 배터리 셀을 포함하는 배터리 셀 조립체 및 배터리 관리를 위한 어플리케이션을 저장한 플래시 메모리를 포함하는 메인 제어 회로를 포함하고, 상기 메인 제어 회로에서 수행되는 어플리케이션에 따라 배터리 관리를 수행하는 배터리 관리 시스템을 포함하며, 상기 플래시 메모리는, 어플리케이션 소프트웨어를 저장하고, 명령에 따라 어플리케이션을 실행하는 어플리케이션 블록, 및 플래시 부트로더를 포함한다. 상기 플래시 부트로더는, 재프로그래밍 요청을 수신하면, 상기 플래시 부트로더의 바이너리에 대한 체크섬을 계산하고, 상기 플래시 부트로더에 기입되어 있는 기준 체크섬과 계산된 현재 체크섬을 비교하여, 상기 기준 체크섬과 상기 현재 체크섬이 일치하지 않으면 진단 코드를 발생시키고, 상기 기준 체크섬은 상기 플래시 부트로더가 생성될 때의 체크섬일 수 있다.
상기 배터리 시스템의 상기 플래시 부트로더는, 상기 기준 체크섬과 상기 현재 체크섬이 일치하면 재프로그램밍을 시작하거나, 상기 현재 체크섬과 상기 기준 체크섬이 일치하지 않으면, 프로그래밍 세션을 종료할 수 있다.
플래시 부트로더에 문제가 발생했을 경우, 이로 인한 더 큰 문제 발생을 방지하고, 플래시 부트로더의 이상 동작을 차단하여 문제 분석을 용이하게 할 수 있는 플래시 부트로더 검증 방법, 플래시 메모리, 및 이를 포함하는 배터리 시스템을 제공한다
도 1은 일 실시예에 따른 메인 제어 회로를 나타낸 블록도이다.
도 2는 일 실시예에 따른 플래시 메모리의 구성을 나타낸 도면이다.
도 3은 일 실시예에 따른 부트로더의 구조를 나타낸 도면이다.
도 4는 일 실시예에 따른 부트로더의 진단 방법을 나타낸 순서도이다.
도 5는 일 실시예에 따른 배터리 시스템을 나타낸 도면이다.
본 발명은 어플리케이션 소프트웨어를 다운로드하기 전에 플래시 부트로더(flash boot loader)의 바이너리 상태를 체크한다. 예를 들어, 본 발명은 부트로더 생성시 ROM에서 부트로더 영역의 체크섬을 ROM 영역에 기입하고, 재프로그래밍 요청시 ROM의 부트로더 영역에서 체크섬을 계산하고, 기입된 체크섬과 비교한다. 비교 결과가 일치하지 않을 경우, 본 발명은 프로그래밍 세션을 멈추고 진단 코드를 띄워 알린다. 비교 결과가 일치할 경우, 본 발명은 재프로그래밍을 시작한다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 동일하거나 유사한 구성요소에는 동일, 유사한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및/또는 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1은 일 실시예에 따른 메인 제어 회로를 나타낸 블록도이다.
도 1에 도시된 바와 같이, 메인 제어 회로(Micro Controller Unit, MCU)(1)은 플래시 메모리(2), 프로세서(3), 및 주변 장치(4)를 포함한다.
플래시 메모리(2)는 MCU(1)가 적용되는 장치에 필요한 어플리케이션을 저장하고, 어플리케이션의 소프트웨어를 실행시키며, 요청이 있는 경우 플래시 부트로더의 이상 여부를 진단하고, 부트로더에 이상이 없을 경우 소프트웨어를 재프로그래밍(reprogramming)한다.
프로세서(3)는 플래시 메모리(2) 및 주변 장치(4)와 인터페이스를 통해 네트워킹하며 주변 장치(4)를 통해 입력된 정보를 플래시 메모리(2)에 전송할 수 있고, 플래시 메모리(2) 및 주변 장치(4)의 동작을 제어하는 명령(command)을 전송할 수 있다. MCU(1)가 파워-온 되면, 프로세서(3)에 파워-온 신호(P_ON)가 입력되고, 프로세서(3)는 플래시 메모리(2)에 어플리케이션 실행을 위한 명령을 전달할 수 있다.
주변장치(4)는 CAN 통신, UART 통신 등을 위한 통신 모듈을 포함하고, 프로세서(3)에 재프로그래밍 요청 및 재프로그래밍을 위한 소프트웨어 코드를 전 송할 수 있다.
이하, 도 2를 참조하여 일 실시예에 따른 플래시 메모리를 설명한다.
도 2는 일 실시예에 따른 플래시 메모리의 구성을 나타낸 도면이다.
도 2에 도시된 바와 같이, 플래시 메모리(2)는 플래시 부트로더(Flash Boot Loader)(21) 및 어플리케이션 블록(22)을 포함한다. 플래시 부트로더는 이하 간략히 부트로더로 지칭한다.
어플리케이션 블록(22)은 어플리케이션 소프트웨어를 저장하고, 명령에 따라 어플리케이션을 실행한다.
부트로더(21)은 재프로그래밍 요청을 수신하면, 부트로더(21) 바이너리에 대한 현재 체크섬(checksum)을 계산하고, 부트로더(21)에 기입되어 있는 기준 체크섬과 비교하여, 비교 결과에 따라 진단 코드를 띄워 알리거나, 재프로그램밍을 시작할 수 있다. 현재 체크섬과 기준 체크섬이 일치하는 경우, 부트로더(21)는 재프로그래밍을 위해서, 프로그래밍 세션(programming session)을 통해 소프트웨어를 어플리케이션 블록(22)에 다운로드 한다. 현재 체크섬과 기준 체크섬이 일치하지 않는 경우, 부트로더(21)는 프로그래밍 세션을 종료하고, 진단 코드(Diagnosis Trouble Code)를 발생시킨다. 그러면, 다운로드 없이 어플리케이션이 실행된다.
도 3은 일 실시예에 따른 부트로더의 구조를 나타낸 도면이다.
도 3에 도시된 바와 같이, 부트로더(21)의 전체 영역 중 0x00000000~0x00010010 영역만 사용되고, 복수의 블록 중 블록 0, 블록 1, 및 블록 2에 바이너리가 기입된 것으로 설명한다.
부트로더(21)가 생성될 때, 블록 0-2에 기입된 바이너리에 대한 체크섬이 계산되고, 0x0001001E에 계산된 체크섬 즉, 기준 체크섬 값 "12 34"가 기입된다.
도 4는 일 실시예에 따른 부트로더의 진단 방법을 나타낸 순서도이다.
어플리케이션 블록(22)이 명령에 따른 어플리케이션을 수행한다(S1). 명령은, 프로세서(3)로부터 전송된 어플리케이션 실행 명령일 수 있다.
어플리케이션 실행 중, 부트로더(21)는 재프로그램밍 요청이 있는지 판단한다(S2).
단계 S2의 판단 결과, 재프로그래밍 요청이 없으면, 어플리케이션이 실행된다.
단계 S2의 판단 결과, 재프로그래밍 요청이 있으면, 부트로더(21)는 부트로더에 저장된 바이너리에 대해서 체크섬을 계산한다(S3). 구체적으로, 부트로더(21)는 부트로더에 저장된 바이너리 적어도 일부에 대해서 체크섬을 계산할 수 있다. 체크섬 대상이 되는 바이너리에 대한 어드레스가 미리 설정되어 있어, 해당 어드레스에 속하는 바이너리에 대한 체크섬이 계산될 수 있다. 또는, 부트로더(21)는 부트로더에 저장된 바이너리 전체에 대해서 체크섬을 계산할 수 있다. 체크섬은 해당 바이너리를 더한 결과에서 최상위 비트를 버린 결과에 대해서 2의 보수를 생성하여 산출될 수 있다. 또는, 체크섬은 해당 바이너리를 더한 결과에서 최상위 비트를 순환 자리 올림한 결과에 대해서 1의 보수를 생성하여 산출될 수 있다. 이외에도 다양한 체크섬 방법인 본 발명에 적용될 수 있다.
단계 S3에 이어서, 부트로더(21)는 단계 S3에 의해 계산된 체크섬(이하, 현재 체크섬)과 기준 체크섬을 비교한다(S4). 기준 체크섬은, 부트로더(21)가 생성될 때의 체크섬으로, 부트로더(21)에 저장되어 있다.
단계 S4의 비교 결과, 현재 체크섬과 기준 체크섬이 일치할 경우, 부트로더(21)는 재프로그래밍을 시작한다(S5). 부트로더(21)는 재프로그래밍을 위해서, 프로그래밍 세션(programming session)을 통해 소프트웨어를 어플리케이션 블록(22)에 다운로드 한다.
단계 S4의 비교 결과, 현재 체크섬과 기준 체크섬이 일치하지 않을 경우, 부트로더(21)는 프로그래밍 세션을 종료하고, 진단 코드(Diagnosis Trouble Code)를 발생시킨다(S6). 그러면, 다운로드 없이 어플리케이션이 수행된다.
이하, 앞서 설명한 일 실시예에 따른 MCU가 적용된 배터리 시스템에 관한 실시예를 설명한다.
도 5는 일 실시예에 따른 배터리 시스템을 나타낸 도면이다.
도 5에 도시된 바와 같이, 배터리 시스템(100)은 배터리 관리 시스템(Battery Management System, BMS)(200)를 포함하고, BMS(200)는 ASIC(110)과 메인 제어 회로(Main Control Unit, MCU)(120)를 포함하며, MCU(120)는 배터리 모니터링 및 관리에 필요한 다수의 어플리케이션을 저장할 수 있다. MCU(120)에서 실행되는 어플리케이션에 따라, 배터리 시스템(100)이 구동될 수 있다. 예를 들어, MCU(120)는 배터리 팩의 충전 상태 및 수명을 추정하기 위한 어플리케이션, 배터리 팩 및 배터리 셀의 전류, 전압, 온도 등 상태 정보를 감지하기 위한 어플리케이션 등을 포함할 수 있다. 일 예로, MCU(120)에서 배터리 팩의 충전 상태(State of Charge, SOC)를 추정하기 위한 어플리케이션이 실행되고, 배터리 팩의 충전 상태 추정을 위한 배터리 상태 정보를 감지하기 위한 어플리케이션이 실행될 수 있다.
도 5에 도시된 바와 같이, 배터리 시스템(100)은 배터리 관리 시스템(Battery Management System, BMS)(110), MCU(120), 배터리 셀 조립체(130), 및 연결부(140)를 포함한다.
배터리 셀 조립체(130)는 전기적으로 연결되어 있는 복수의 배터리 셀을 포함한다. 소정 개수의 배터리 셀이 직렬 연결되어 배터리 모듈을 구성하고, 소정 개수의 배터리 모듈이 직렬 및 병렬 연결되어 원하는 전력을 공급할 수 있다.
배터리 셀 조립체(130)를 구성하는 복수의 배터리 셀 각각은 ASIC(110)와 복수의 배선을 통해 전기적으로 연결되어 있다.
ASIC(110)은 복수의 배터리 셀에 대한 정보를 포함한 배터리 시스템에 관한 다양한 정보를 감지하여 배터리 시스템(100)에 대한 정보를 생성하고, MCU(120)로 전송하며, MCU(120)로부터 수신되는 제어 신호에 따라 배터리 시스템의 충방전, 배터리 셀 밸런싱, 보호 동작 등을 수행할 수 있다.
연결부(140)는 릴레이나 MOSFET 트랜지스터 등으로 구현될 수 있고, 배터리 셀 조립체(130)와 외부 장치 사이에 직렬 연결되어 있다. 연결부(140)는 ASIC(110)로부터 공급되는 신호에 의해 동작할 수 있다. 외부 장치는 배터리 시스템(100)로부터 전력을 공급받는 전장 부하이거나, 배터리 시스템(100)를 충전하기 위한 충전 장치일 수 있다.
MCU(120)는 앞서 설명한 실시예에 따라 구현될 수 있다. MCU(120)에서 어플리케이션이 수행되고, ASIC(110)로 어플리케이션에 따른 제어 신호가 전송될 수 있다. 그러면, ASIC(110)는 MCU(120)에서 수행되는 어플리케이션에 따라 동작할 수 있다. MCU(120)는 외부 제어 회로와 CAN 통신을 통해 배터리 시스템(100)에 대한 정보를 전송하거나, 배터리 시스템(100)의 운용에 관한 명령을 수신할 수 있다.
예를 들어, MCU(120)에 저장된 복수의 어플리케이션 중 SOC 추정 어플리케이션이 수행되면, ASIC(110)는 어플리케이션에 따라 SOC를 추정한다. SOC의 추정 방식은 어플리케이션에 따라 결정된다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였으나, 본 발명의 권리범위가 이에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상의 지식을 가진 자가 여러 가지로 변형 및 개량한 형태 또한 본 발명의 권리범위에 속한다.
1: 메인 제어 회로(Micro Controller Unit, MCU)
2: 플래시 메모리
3: 프로세서
4: 주변 장치
21: 플래시 부트로더(Flash Boot Loader)
22: 어플리케이션 블록

Claims (9)

  1. 어플리케이션 실행 중, 재프로그래밍 요청이 있는지 판단하는 단계;
    상기 판단 결과, 재프로그래밍 요청이 있을 때, 플래시 부트로더가 상기 플래시 부트로더의 바이너리에 대한 현재 체크섬을 계산하는 단계;
    상기 플래시 부트로더가 상기 현재 체크섬과 기준 체크섬을 비교하는 단계; 및
    상기 비교 결과, 상기 현재 체크섬과 상기 기준 체크섬이 일치하지 않으면, 상기 플래시 부트로더가 진단 코드를 발생시키는 단계를 포함하고,
    상기 기준 체크섬은 상기 플래시 부트로더가 생성될 때의 체크섬인 것을 특징으로 하는, 플래시 부트로더 검증 방법.
  2. 제1항에 있어서,
    상기 비교 결과, 상기 현재 체크섬과 상기 기준 체크섬이 일치하면, 재프로그래밍이 시작되는 단계를 더 포함하는, 플래시 부트로더 검증 방법.
  3. 제1항에 있어서,
    상기 비교 결과, 상기 현재 체크섬과 상기 기준 체크섬이 일치하지 않으면, 프로그래밍 세션을 종료하는, 플래시 부트로더 검증 방법.
  4. 어플리케이션 소프트웨어를 저장하고, 명령에 따라 어플리케이션을 실행하는 어플리케이션 블록; 및
    플래시 부트로더를 포함하고,
    상기 플래시 부트로더는,
    재프로그래밍 요청을 수신하면, 상기 플래시 부트로더의 바이너리에 대한 체크섬을 계산하고, 상기 플래시 부트로더에 기입되어 있는 기준 체크섬과 계산된 현재 체크섬을 비교하여, 상기 기준 체크섬과 상기 현재 체크섬이 일치하지 않으면 진단 코드를 발생시키고,
    상기 기준 체크섬은 상기 플래시 부트로더가 생성될 때의 체크섬인 것을 특징으로 하는, 플래시 메모리.
  5. 제4항에 있어서,
    상기 플래시 부트로더는,
    상기 기준 체크섬과 상기 현재 체크섬이 일치하면 재프로그램밍을 시작하는, 플래시 메모리.
  6. 제5항에 있어서,
    상기 플래시 부트로더는,
    상기 현재 체크섬과 상기 기준 체크섬이 일치하지 않으면, 프로그래밍 세션을 종료하는, 플래시 메모리.
  7. 전기적으로 연결된 복수의 배터리 셀을 포함하는 배터리 셀 조립체; 및
    배터리 관리를 위한 어플리케이션을 저장한 플래시 메모리를 포함하는 메인 제어 회로를 포함하고, 상기 메인 제어 회로에서 수행되는 어플리케이션에 따라 배터리 관리를 수행하는 배터리 관리 시스템을 포함하며,
    상기 플래시 메모리는,
    어플리케이션 소프트웨어를 저장하고, 명령에 따라 어플리케이션을 실행하는 어플리케이션 블록; 및
    플래시 부트로더를 포함하고,
    상기 플래시 부트로더는,
    재프로그래밍 요청을 수신하면, 상기 플래시 부트로더의 바이너리에 대한 체크섬을 계산하고, 상기 플래시 부트로더에 기입되어 있는 기준 체크섬과 계산된 현재 체크섬을 비교하여, 상기 기준 체크섬과 상기 현재 체크섬이 일치하지 않으면 진단 코드를 발생시키고,
    상기 기준 체크섬은 상기 플래시 부트로더가 생성될 때의 체크섬인 것을 특징으로 하는, 배터리 시스템.
  8. 제7항에 있어서,
    상기 플래시 부트로더는,
    상기 기준 체크섬과 상기 현재 체크섬이 일치하면 재프로그램밍을 시작하는, 배터리 시스템.
  9. 제7항에 있어서,
    상기 플래시 부트로더는,
    상기 현재 체크섬과 상기 기준 체크섬이 일치하지 않으면, 프로그래밍 세션을 종료하는, 배터리 시스템.
KR1020190148908A 2019-11-19 2019-11-19 플래시 부트로더 검증 방법, 플래시 메모리, 및 이를 포함하는 배터리 시스템 KR20210061099A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190148908A KR20210061099A (ko) 2019-11-19 2019-11-19 플래시 부트로더 검증 방법, 플래시 메모리, 및 이를 포함하는 배터리 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190148908A KR20210061099A (ko) 2019-11-19 2019-11-19 플래시 부트로더 검증 방법, 플래시 메모리, 및 이를 포함하는 배터리 시스템

Publications (1)

Publication Number Publication Date
KR20210061099A true KR20210061099A (ko) 2021-05-27

Family

ID=76135977

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190148908A KR20210061099A (ko) 2019-11-19 2019-11-19 플래시 부트로더 검증 방법, 플래시 메모리, 및 이를 포함하는 배터리 시스템

Country Status (1)

Country Link
KR (1) KR20210061099A (ko)

Similar Documents

Publication Publication Date Title
US9505396B2 (en) Method for starting a battery management system
US20180278066A1 (en) Battery monitoring system and battery monitoring apparatus
CN102736031B (zh) 用于确定电池的充电状态的方法和装置
US8880913B2 (en) Battery management and protection system using a controller to load safety and configuration parameters into dedicated registers during startup and performing battery protection scans during startup independently of a CPU
US9987943B2 (en) Method for transmitting data in a battery management system
KR20160138562A (ko) 충전 상태 밸런싱 시스템을 포함하는 배터리의 배터리 관리 방법, 그리고 배터리 관리 시스템
US20140346982A1 (en) Method and Apparatuses for Authenticating Measurement Data for a Battery
US20210039519A1 (en) Apparatus and application for predicting discharge of battery
KR20200027778A (ko) 차량의 업데이트 제공 장치 및 방법
CN112651030A (zh) 一种面向bmc固件系统安全的可信启动方法
KR102530221B1 (ko) 배터리 관리 방법 및 장치
KR20200087494A (ko) 배터리 관리 방법 및 장치
KR20120079674A (ko) 차등적 soc 추정의 배터리 관리 장치와 방법 및 배터리 팩
US20230018662A1 (en) Method for Operating a Battery
KR20210061099A (ko) 플래시 부트로더 검증 방법, 플래시 메모리, 및 이를 포함하는 배터리 시스템
KR102171102B1 (ko) 안전 플러그의 상태를 검출하는 방법 및 장치
KR102273703B1 (ko) 전기자동차 충전 제어 시스템
JP2024513371A (ja) 電池管理装置および方法
JP2013207902A (ja) 電池制御装置
CN114184992A (zh) 用于验证电源监测的方法、装置和计算机程序
CN113383331A (zh) 看门狗系统、看门狗方法以及包括看门狗系统的电池管理系统
JP5557671B2 (ja) 車両用電装部品の制御装置
KR101259644B1 (ko) 다중 배터리드라이버 제어방법 및 장치
US11815970B2 (en) Enabling system boot-up in low temperature environments
CN113742141B (zh) 一种服务器度量方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
N231 Notification of change of applicant