A27系列优化I2C/RTC处理,新增版本A270Y

This commit is contained in:
2025-06-07 10:24:51 +08:00
parent 413dd88f3b
commit 73e1c7dafa
372 changed files with 60642 additions and 60661 deletions

52
A27-STEPLDR/Src/sysinfo.c Normal file
View File

@ -0,0 +1,52 @@
#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 = LOADERB_OFFSET;
sysinfo.loader_size = LOADER_MAX_SIZE;
sysinfo.image_offset = IMAGEB_OFFSET;
#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
}