펌웨어 업데이트 기능은 고객 사이트에 초기 설치하는 동안뿐만 아니라 제품을 설치 한 후에도 새로운 기능을 현장에 추가 할 수 있으며 사용 중에 펌웨어 문제를 수정할 수 있습니다. 휘발성 메모리 구성 요소는 재현 할 수있는 기록 기능을 가지고 있으며 매우 신뢰할 수 있으며 펌웨어 프로그램 코드 저장 매체로 자주 사용됩니다.
구성 요소의 펌웨어를 다시 작성하고 프로그램의 일부를 변경하면 (구성 요소가 비 휘발성 메모리를 사용함) 제조업체는 장치의 기능이나 업그레이드를 쉽게 업데이트 할 수 있습니다. 펌웨어를 업데이트 할 때는 세 가지 사항, 즉 업데이트를 고려해야합니다. 업데이트를 수행하는 데 필요한 프로그램 코드, 업데이트 빈도 및 시간 (분)
먼저 펌웨어 프로그램 코드 업데이트 수를 고려하십시오.
업데이트되지 않은 부분 / 펌웨어 업데이트 번호 대하여 고려되어야 초기 설계시의 IoT 장치에서, 갱신 부 펌웨어가 별도의 지역 NOR 플래시 조립체에 저장 될 수있다. 임의의 단편 NOR 플래쉬 업데이트가 필요 메모리의 소거 부분은 다음 연소 부에 새로운 정보를 프로그램. 노어 플래시 메모리 세그먼트 블록으로 불리는 다수의 부분들로 분할되고, 그 크기가 다양하다.
NOR (이러한 기술 성분 SST SuperFlash의 사용 등), 플래시 메모리 구성 요소는 4 킬로바이트 복수의 블록으로 분할하고, 각 블럭을 개별적으로 소거 할 수 있고, 그때 기록 재 (4킬로바이트 = 4 × 1024 × 8 비트 = 32,762 비트). 이것은로 분할 될 수있다 더 큰 8KB, 32KB 및 64KB 섹션의 경우이 섹션을 개별적으로 지울 수도 있습니다.
따라서 8KB 크기는 2 블록, 32KB 크기는 8 블록, 64KB 크기는 16 블록입니다. 그림 1에서 SST26VF064B는 8KB / 32KB / 64KB 영역 메모리 구성을 사용하며 각 영역은 개별 보호 : 플래시 메모리의 어떤 부분에 대한 업데이트를 수행하기 전에 해당 부분의 영역을 지우고 레코딩 할 수 있도록 보호를 해제해야합니다.
그림 1에서 SST26VF064B의 메모리 구성 (이미지)은 8 개의 8KB 세그먼트, 2 개의 32KB 세그먼트 및 126 개의 64KB 세그먼트로 구성됩니다.
업데이트가 완료된 후,이 섹션은 신중하게 다시 보호되어 이러한 영역의 실수로 쓰거나 지워지지 않도록합니다. 펌웨어의 업데이트 가능한 부분은 제한된 수의 섹션을 동시에 지원할 수 있도록 충분히 유연한 방식으로 섹션과 블록으로 분할되어야합니다. 그리고 기능 / 기능 업데이트의 최대 개수.
실행 속도는 지우고 다시 작성해야하는 섹터와 블록의 수에 의해 결정되므로 업데이트 할 수있는 펌웨어 부분을 구성 할 때 속도와 유연성을 모두 고려하는 것이 가장 좋습니다.
그림 2는 메모리를 업데이트 가능하고 업데이트 할 수없는 부분으로 구성하는 예를 보여줍니다. 부트 스트랩 코드와 같이 업데이트 할 수없는 부분은 보호 영역에 저장됩니다.
그림 2는 메모리 조직을 업데이트 할 수없는 여러 부분 (예 : 로더 코드)과 업데이트 할 수있는 부분 (기능 / 특성 프로그램 코드, 이미지 프로그램 코드 및 매개 변수 변수 프로그램 코드)으로 나눕니다.
특징 / 특징 등과 같은 펌웨어의 업데이트 가능한 부분은 유연성 요구 사항에 따라 더 작은 섹션 또는 더 큰 섹션으로 나누어집니다 업데이트 가능한 이미지는 업데이트 가능한 변수 / 매개 변수는 더 작은 섹션에 저장됩니다.
펌웨어 업데이트 빈도의 주요 제한 사항은 응용 프로그램에서 사용되는 메모리 쓰기 수입니다 .SSA26VF064B와 같은 SuperFlash 기술 메모리는 100,000 번 쓰기를 견딜 수 있습니다. 이는 각 섹터가 10 만 번 굽고 지울 수 있음을 의미합니다. 시간.
계산 펌웨어 쓰기 저항 검사 업데이트 빈도
펌웨어는 10 만 번 업데이트 될 수 있지만 많은 소리가 들리지만 많은 IoT 장치는 사용 중에 데이터를 수집하고 NOR 플래시에 정보를 저장하므로 최대 쓰기 허용 한계를 계산할 때이를 고려해야합니다.
기록 횟수를 고려할 때, 충분한 수의 세그먼트가 메모리에 할당되어야한다 .IoT 장치가 16 바이트의 정보를 수집하고 저장하고 있고, 정보가 제품의 수명 기간 동안 수집되고 저장 될 것으로 예상되는 것으로 가정한다. 1 억 번.
이러한 방식으로, 할당되어야하는 섹션의 수는 다음 방식으로 계산 될 수 있습니다.
1 섹션 = 4KB
세그먼트의 모든 주소 단위가 정보를 저장하고 (한 번에 16 바이트의 데이터) 세그먼트의 끝에 도달 할 때까지 새 주소 위치에 쓰는 데 사용됩니다 (예 : 0x0000-0x000F). , 0x0010-0x001F, 0x0020-0x002F 등).
4KB / 16 바이트 = 256이므로 섹션 용량에 도달하고 섹션의 데이터를 지우기 전에 용량을 저장 매체에 쓸 수있는 횟수입니다.
1 구역의 닦아내 기 저항 한도 = 100,000 번.
따라서 1 세그먼트를 256 회 쓰고 긁힘 내성을 100,000 배로하면 2560 만 개의 데이터를 수집하여 저장할 수 있습니다.
응용 프로그램에서 1 억 번 데이터를 수집하고 저장해야하는 경우 할당 할 세그먼트 수는 100,000,000 / 25,600,000 = 3.9이므로이 예제에서는 4 개의 세그먼트를 할당하여 1 억 수명주기를 처리해야합니다. 바이트 데이터.
IoT 장비 엔지니어는 NOR 플래시 구성 요소의 쓰기 허용 한계를 초과하지 않도록 데이터 로깅 매개 변수에 충분한 섹션과 블록을 할당하기 위해 유사한 계산을 수행해야합니다.
업데이트 시간 단축 및 장비 다운 타임 감소
프로그램 코드 / 데이터가 상기 번호 지우고 부 여러 가정 타일 갱신 레이트 1MB의 2MB의 또는 4 메가 펌웨어 프로그램 코드 / 데이터에 저장된 SST26VF064B 64킬로바이트 세그먼트를 재 작성할 필요가 재기록 할 필요성에 따라 계산 될 수있다 펌웨어 코드, 이미지 또는 업데이트해야하는 다른 프로그램 코드로 구성 될 수 있습니다.
업데이트 프로세스는 플래시 메모리에 일련의 명령 인스트럭션을 실행하는 작업으로, 메모리 세그먼트를 보호 해제 한 다음 삭제하고, 업데이트 된 데이터 / 프로그램 코드로 레코딩 한 다음 마지막으로 재 보호함으로써 시퀀스를 시작합니다.
SST26VF064B 업데이트 시간을 단축하는 것이 유용 바람직한 기술에 의해 제공되는 성능 SuperFlash 소거, 종래의 플래시 메모리에 비하여 더 소거 성능 SuperFlash 기술을 제공 할 수있는 사용.
페이지 1.5ms의 최대 녹화 시간에 상당 104MHz SST26VF064B 지지체의 최대 주파수, 최대 정도의 소거 시간은 25ms가있다. 또한, 플래시 메모리로부터 발행 각 명령 지시 104MHz의 주파수에서 동작하도록 상기 중간 욕구 12ns 지연 (CE 높은 시간).
구체적인 방법은 표 1 및 표 1에 나타내었다. 이러한 계산이 업데이트 레이트도 만약 IoT 2 중단에 도시 한 업데이트 장치 중에 최대 범위 단축의 목적을 수행하기 위해 만약 IoT 디바이스 엔지니어를 추정하기 위해 수행되어야한다.
여잔의 유연성을 향상시키기 위해 적절한 휘발성 메모리 장치를 선택
만약 IoT 장비 설계 엔지니어는 응용 프로그램 코드와의 IoT 장비를 설계의 문제를 해결 할 필요가 얼마나 많은 프로그램 코드 업데이트, 업데이트 빈도 및 업데이트 속도입니다 / 유연성의 데이터를 업데이트 할 때 제공해야하는 비 휘발성 메모리의 선택이 영향을 미치는 문제를 파악하고 프로그램 코드 업데이트의 시간과 속도를 계산하는 데 중요한 역할을합니다.