feat: add M95M02-only GAS and EEPROM profiles

Expose the existing registers through Modbus and service CAN using one GAS provider only in M95M02 builds.
Include the EEPROM layout/driver, LOAD protection and calibration, firmware identity and shared CCS build workflow.
Add transport/profile and SCI8 validation tests, documentation and the checked M95M02 firmware image.
This commit is contained in:
2026-10-09 16:17:37 +03:00
parent c6c9128238
commit 5d9818291b
63 changed files with 2307 additions and 365 deletions
@@ -0,0 +1,22 @@
#ifndef EEPROM_TEST_DEVICE_H
#define EEPROM_TEST_DEVICE_H
#include <stdint.h>
#define interrupt
#define EALLOW
#define EDIS
#define CLKMULT 2
#define SYSCLKOUT 60000000UL
#define M_INT14 0x2000
static unsigned IER;
struct bits { unsigned GPIO16,GPIO17,GPIO18,GPIO19,SPISWRESET,BUFFULL_FLAG,INT_FLAG; };
struct reg { unsigned all; struct bits bit; };
static struct { struct reg GPAMUX2,GPADIR; } GpioCtrlRegs;
static struct { struct reg GPADAT; } GpioDataRegs;
static struct { void (*TINT2)(void); } PieVectTable;
static struct { unsigned InterruptCount; } CpuTimer2;
static struct { struct reg TCR; } CpuTimer2Regs;
static struct { struct reg SPICCR,SPICTL,SPISTS,SPIFFTX,SPIFFRX,SPIFFCT,SPIPRI;
unsigned SPIBRR; uint16_t SPITXBUF,SPIRXBUF; } SpiaRegs;
static void InitCpuTimers(void) {}
static void ConfigCpuTimer(void *p, unsigned long f, unsigned t) {(void)p;(void)f;(void)t;}
#endif