⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 partitioning.h

📁 在BOOTLOADR中增加当今最好AES加密技术,可用于客户远程更新应用程式
💻 H
字号:
//------------------------------------------------------------------------------
// File:          partitioning.h
// Function:      Memory partitioning
// Supported chip(s):
//    - AT91SAM7XC128
//    - AT91SAM7XC256
// Supported toolchain(s):
//    - IAR Embedded Workbench
// Date created:  05 July 2006
// Created by:    JJo
//------------------------------------------------------------------------------

#ifndef BOOTLOADER_PARTITIONING_H
#define BOOTLOADER_PARTITIONING_H

//------------------------------------------------------------------------------
// Includes
//------------------------------------------------------------------------------

#include "common.h"
#include "board.h"
#include "memory.h"

#ifdef USE_MEMORY_PARTITIONING

//------------------------------------------------------------------------------
// Definitions
//------------------------------------------------------------------------------

#define REGION_A_START      ((void *) ((unsigned int) APP_START_ADDRESS))
#define REGION_B_START      ((void *) ((unsigned int) REGION_A_START + REGION_SIZE))
#define REGION_INFO_START   ((void *) ((unsigned int) REGION_B_START + REGION_SIZE))

//------------------------------------------------------------------------------
// Types
//------------------------------------------------------------------------------

typedef struct {

  // Signatures
  unsigned int signatureA;
  unsigned int signatureB;

  // Length fields
  unsigned int lengthA;
  unsigned int lengthB;

  // Padding
  unsigned int padding[MEMORY_PAGE_SIZE-16];

} regionInfo_t, * pRegionInfo_t;

//------------------------------------------------------------------------------
// Prototypes
//------------------------------------------------------------------------------

unsigned int partitioning_sign(void * vAddress, unsigned int length);
unsigned int partitioning_check(unsigned int signatureA, unsigned int signatureB);
void partitioning_writeInfo(void * vAddress, pRegionInfo_t pRegionInfo);
void partitioning_readInfo(void * vAddress, pRegionInfo_t pRegionInfo);
unsigned int partitioning_isRegionValid(void * vAddress,
                                        unsigned int signature,
                                        unsigned int length);

#endif // USE_MEMORY_PARTITIONING
#endif // BOOTLOADER_PARTITIONING_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -