From 448d6c050697a6bb7f4b7b02f08ef8fc8e5cd027 Mon Sep 17 00:00:00 2001
From: QuakeGod <QuakeGod@sina.com>
Date: 星期一, 17 十月 2022 03:20:54 +0800
Subject: [PATCH] Merge branch 'dev1' of file://hasee-k680e/GitBase/F030C8xx_KLink into dev1

---
 Src/KMachine.c |   73 ++++++++++++++++++++----------------
 1 files changed, 40 insertions(+), 33 deletions(-)

diff --git a/Src/KMachine.c b/Src/KMachine.c
index bf456ee..cad2702 100644
--- a/Src/KMachine.c
+++ b/Src/KMachine.c
@@ -15,7 +15,7 @@
 //#define UID_BASE              ((uint32_t)0x1FFFF7ACU)       /*!< Unique device ID register base address */
 
 
-stKMSysCfg KMSysCfg ;
+stStoredKMSysCfg storedKMSysCfg ;
 stKMem KMem;
 stRunStat KMRunStat;
 
@@ -28,45 +28,53 @@
 //uint32_t * pUID = (uint32_t *)(UID_BASE);
 const stKMInfoBlock KMInfoBlock =
 {
-	0x0008,
-	0x0100,
-	0x0100,
-	0x0100,
-	16,
-	16,
-	0,
-	0,
-	0,
-	0,
-	0,
-	0,
+	BOARD_TYPE,			//nDeviceType
+	0x0100,			//ProgVer
+	0x0100,			//KLinkVer
+	0x0100,			//nCapacity
+	16,					//nDInput;
+	16,					//nDOutput
+	0,					//nAInput
+	0,					//nAOutput
+	0,					//nHInput
+	0,					//nHOutput
+	0,					//nExt1;
+	0,					//nExt2;
 };
 const char VersionStr[] __attribute__((at(FLASH_BASE + 0X1000))) //__attribute__((at(0X8001000)))
 	= "3.00";
 
-const stKMSysCfg KMStoreSysCfg /*__attribute__((at(STORECFGBASE)))*/ =
+const stStoredKMSysCfg KMDefaultSysCfg /*__attribute__((at(STORECFGBASE)))*/ =
 {
-	0x55aa,
+	START_SIGN,
 	0x0000,
-	0x00000000,
+	
+	CFG_VER,
+	0x0000,
+	0x0000,
+	{0,0,0,0,0,0},
 	{
 		{
+			1,
+			0,
+			2304,						//Buadrate * 100;
 			PortType_KLink,	//PorttType
 			1,							//ByteSize
 			0,							//Parity
 			0,							//StopBits
 			0,							//EofChar
 			0,							//SofChar
-			2304,						//Buadrate * 100;
 		},
 		{
+			1,
+			0,
+			2304,						//Buadrate * 100;
 			PortType_KBus,	//PorttType
 			1,							//ByteSize
 			0,							//Parity
 			0,							//StopBits
 			0,							//EofChar
 			0,							//SofChar
-			2304,						//Buadrate * 100;
 		}
 	},
 	{{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
@@ -87,10 +95,10 @@
 		0x0010,
 	{0},
 	0x0011,
-	0x5aa5,
+	END_SIGN,
 };
 
-const stKMSysCfg KMStoreSysCfg2[7] /*__attribute__((at(STORECFGBASE+sizeof(stKMSysCfg))))*/;
+const stKMSysCfg KMDefaultSysCfg2[7] /*__attribute__((at(STORECFGBASE+sizeof(stKMSysCfg))))*/;
 	
 int ReadFlashMem(void * pBuf, void * pAddrFlash, int nByteSize)
 {
@@ -221,20 +229,20 @@
 	return 0;
 }
 
-int LoadDefaultSysCfg(pKMSysCfg theKMSysCfg)
+int LoadDefaultSysCfg(pStoredKMSysCfg theStoredKMSysCfg)
 {
-	memcpy(theKMSysCfg,&KMStoreSysCfg,sizeof(stKMSysCfg));
+	memcpy(theStoredKMSysCfg,&KMDefaultSysCfg,sizeof(stKMSysCfg));
 	return 0;
 }
-int ReadSysCfgFromFlash(pKMSysCfg theKMSysCfg)
+int ReadSysCfgFromFlash(pStoredKMSysCfg theStoredKMSysCfg)
 {
-	pKMSysCfg pStoreKMSysCfg = (pKMSysCfg)(STORE_SYSREG_BASE);
+	pStoredKMSysCfg pStoreKMSysCfg = (pStoredKMSysCfg)(STORE_SYSREG_BASE);
 	// find latest Store Cfg
 	int nIndex=-1;
 	int nMaxSeq=-1;
 	for (int i=0;i<8;i++)
 	{
-		if (pStoreKMSysCfg->Sign1 == 0x55aa && pStoreKMSysCfg->EndSign1 == 0x5aa5)
+		if (pStoreKMSysCfg->Sign1 == START_SIGN && pStoreKMSysCfg->EndSign1 == END_SIGN)
 		{
 			if (pStoreKMSysCfg->Seq1 > nMaxSeq) 
 			{
@@ -244,18 +252,18 @@
 	}
 	if (nIndex>=0 && nIndex <8)
 	{
-			ReadFlashMem(theKMSysCfg,(void *)(pStoreKMSysCfg+nIndex),sizeof(stKMSysCfg));
+			ReadFlashMem(theStoredKMSysCfg,(void *)(&pStoreKMSysCfg[nIndex]),sizeof(stStoredKMSysCfg));
 	}else {
-		LoadDefaultSysCfg(theKMSysCfg);
+		LoadDefaultSysCfg(theStoredKMSysCfg);
 	}
 	//memcpy(theKMSysCfg,(void* )STORECFGBASE,sizeof(KMSysCfg));
 	return 0;
 }
 
-int WriteSysCfgToFlash(pKMSysCfg theKMSysCfg)
+int WriteSysCfgToFlash(pStoredKMSysCfg theStoredKMSysCfg)
 {
-	theKMSysCfg->Seq1++;
-	theKMSysCfg->cfgvar16++;
+	theStoredKMSysCfg->Seq1++;
+//	theKMSysCfg->cfgvar16++;
 	// find the next empty space to write
 	int nIndex=-1;
 	int s2=128;
@@ -272,10 +280,10 @@
 		break;
 	}
 	if (nIndex >=0 && nIndex <8)	{	
-		WriteToFlashMemNoErase(theKMSysCfg,(void *)(STORE_SYSREG_BASE + nIndex*s2),sizeof(KMSysCfg));
+		WriteToFlashMemNoErase(theStoredKMSysCfg,(void *)(STORE_SYSREG_BASE + nIndex*s2),sizeof(theStoredKMSysCfg));
 	}
 	else 	{
-		EraseAndWriteToFlashMem(theKMSysCfg,(void *)STORE_SYSREG_BASE,sizeof(KMSysCfg));
+		EraseAndWriteToFlashMem(theStoredKMSysCfg,(void *)STORE_SYSREG_BASE,sizeof(theStoredKMSysCfg));
 	}
 	return 0;
 }
@@ -475,7 +483,6 @@
 volatile int PowerDownEvent=0;
 volatile int OldPowerDownEvent=0;
 volatile int OldPowerDownEventTime=0;
-
 
 int CheckEventLog()
 {

--
Gitblit v1.9.1