A27R版本修改

This commit is contained in:
2025-05-17 14:22:08 +08:00
parent 0fd28aa974
commit 3b3c63f1f3
388 changed files with 319982 additions and 30872 deletions

51
A58-AMTLDR/Src/sysinfo.c Normal file
View File

@ -0,0 +1,51 @@
#include "amt630h.h"
#include "sysinfo.h"
#include "crc32.h"
extern int SpiReadSysInfo(SysInfo *info);
extern void SpiWriteSysInfo(SysInfo *info);
extern int EmmcReadSysInfo(SysInfo *info);
extern void EmmcWriteSysInfo(SysInfo *info);
static SysInfo sysinfo = {0};
SysInfo *GetSysInfo(void)
{
return &sysinfo;
}
void SetDefaultSysInfo(void)
{
#if DEVICE_TYPE_SELECT != EMMC_FLASH
sysinfo.update_media_type = UPDATE_MEDIA_SD;
#else
sysinfo.update_media_type = UPDATE_MEDIA_USB;
sysinfo.loader_offset = LOADER_OFFSET;
sysinfo.loader_size = LOADER_MAX_SIZE;
#endif
sysinfo.image_offset = IMAGE_OFFSET;
sysinfo.update_status = UPDATE_STATUS_START;
sysinfo.stepldr_offset = STEPLDRB_OFFSET;
sysinfo.stepldr_size = STEPLDR_MAX_SIZE;
}
int ReadSysInfo(void)
{
#if DEVICE_TYPE_SELECT != EMMC_FLASH
return SpiReadSysInfo(&sysinfo);
#else
return EmmcReadSysInfo(&sysinfo);
#endif
}
void SaveSysInfo(SysInfo *info)
{
if (!info)
info = &sysinfo;
info->checksum = xcrc32((unsigned char*)info, sizeof(SysInfo) - 4, 0xffffffff);
#if DEVICE_TYPE_SELECT != EMMC_FLASH
SpiWriteSysInfo(info);
#else
EmmcWriteSysInfo(info);
#endif
}