Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
haoJin750TFT
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
时昊
haoJin750TFT
Commits
46017036
Commit
46017036
authored
Aug 16, 2024
by
郑萍
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://tyw-server.synology.me:12345/shihao/haojin750tft
into zhengping
parents
9a5930b0
e4e01dc8
Changes
14
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
2478 additions
and
984 deletions
+2478
-984
BackLight.h
Firmware/Source/Application/BackLight.h
+1
-1
AMT630H.c
Firmware/Source/Component/AMT630H/AMT630H.c
+5
-0
AMT630H.h
Firmware/Source/Component/AMT630H/AMT630H.h
+1
-1
GraphicsFunc.c
Firmware/Source/Component/AMT630H/GraphicsFunc.c
+92
-146
Key_user.c
Firmware/Source/Component/Key/Key_user.c
+3
-1
Menu.h
Firmware/Source/Component/Menu/Menu.h
+1
-1
flash.h
...Device/Cmsemicon/BAT32A279/Library/Driver/include/flash.h
+5
-5
flash.c
...rce/Device/Cmsemicon/BAT32A279/Library/Driver/src/flash.c
+2
-3
Sys_Task_List.c
Firmware/Source/System/Sys_Task_List.c
+1
-0
UDS_ISO14229_Services.c
Firmware/Source/UDS/UDS_ISO14229_Services.c
+31
-773
UDS_ISO14229_Services.h
Firmware/Source/UDS/UDS_ISO14229_Services.h
+18
-53
Boot程序版本更新说明.txt
Firmware/utility/Boot_Release/Boot程序版本更新说明.txt
+9
-0
HaoJin_750TFT_HJYB-7500TFT_BV1.02_20240816.hex
...ot_Release/HaoJin_750TFT_HJYB-7500TFT_BV1.02_20240816.hex
+1153
-0
HaoJin_750TFT_HJYB-7500TFT_BV1.03_20240816.hex
...ot_Release/HaoJin_750TFT_HJYB-7500TFT_BV1.03_20240816.hex
+1156
-0
No files found.
Firmware/Source/Application/BackLight.h
View file @
46017036
...
...
@@ -27,4 +27,4 @@ void BackLight_Process(void);
#endif
\ No newline at end of file
#endif
Firmware/Source/Component/AMT630H/AMT630H.c
View file @
46017036
...
...
@@ -37,6 +37,9 @@ s_AMT630H_FlashCheck_t AMT630H_FlashCheck;
unsigned
long
Delay_Time
=
0
;
unsigned
long
Delay_Time_Set
=
0
;
extern
uint32_t
Check_Upgrade
;
extern
uint32_t
Check_Upgrade_Cnt
;
/* Refresh Time */
unsigned
long
AMT630H_RefreshTime
=
0
;
static
uint8_t
AMT630H_Animation_Start
=
0
;
...
...
@@ -306,6 +309,8 @@ void Amt630hInit(void)
AMT630H_FlashCheck
.
InquireTime
=
0
;
AMT630H_FlashCheck
.
CheckStateTime
=
0
;
AMT630H_FlashCheck
.
Result
=
0
;
Check_Upgrade
=
0
;
Check_Upgrade_Cnt
=
0
;
}
void
AMT630H_Sleep
(
void
)
{
...
...
Firmware/Source/Component/AMT630H/AMT630H.h
View file @
46017036
...
...
@@ -39,4 +39,4 @@ void AMT630H_Main(void);
unsigned
char
AMT630H_isInitFinish
(
void
);
extern
uint32_t
Amt630hInitTimerCnts
;
#endif
\ No newline at end of file
#endif
Firmware/Source/Component/AMT630H/GraphicsFunc.c
View file @
46017036
#include <string.h>
#include "UartProtocol.h"
#include "PicBin.h"
#include <stdint.h>
#include "UDS_ISO14229_Services.h"
#include "flash.h"
#define NULL 0
extern
uint8_t
UartRevBuff
[
0x1000
];
extern
uint32_t
UartRevCnts
;
uint8_t
*
GetUartRecvData
(
uint32_t
*
UartRecvBufLen
,
uint32_t
*
UartRecvPos
)
{
*
UartRecvBufLen
=
0x1000
;
...
...
@@ -72,7 +77,7 @@ void DisplayNum(uint8_t page, DISPLAY_NUM_ST *pNumData, int32_t NumVal)
}
/***************** Read 630 ************************/
#define READ_MCU_DATA_MAX 0x
80
0
#define READ_MCU_DATA_MAX 0x
4
0
enum
{
READ630_IDLE
,
READ630_WAITING_RESP
,
...
...
@@ -82,6 +87,13 @@ enum {
READ630_RECV_BACKUP_DATA_CRC
,
};
uint8_t
ReadDataBuf
[
READ_MCU_DATA_MAX
];
/* 读取缓存 */
uint32_t
NeedWriteSize
;
/* 需要写入文件的长度 */
uint32_t
FactOffset
;
/* 绝对地址 */
uint32_t
AppOffset
;
uint32_t
Check_Upgrade
;
uint32_t
Check_Upgrade_Cnt
;
static
uint8_t
Read630State
=
READ630_IDLE
;
static
uint32_t
ReqDataBufAddr
=
0
;
static
uint32_t
ReqDataLen
=
0
;
...
...
@@ -171,177 +183,111 @@ void SetRecvDataSt(RECV_MCU_DATA_TYPE type, uint32_t addr, uint32_t len, uint32_
}
/***************** Read 630 end ************************/
/* Test */
static
uint8_t
TestReadBuf
[
READ_MCU_DATA_MAX
];
static
uint32_t
TestDataLen
=
0
;
static
uint32_t
TestDataCrC
=
0
;
static
uint32_t
ReadOffset
=
0
;
static
uint32_t
CalcCrcVal
=
0xffffffff
;
static
uint32_t
TestCycleNum
=
0
;
static
uint32_t
CalcCrc32
(
uint8_t
*
buf
,
int
Len
,
uint32_t
InitVal
)
void
GetReadInfo
(
READ_ARK630_CMD
type
)
{
int
i
;
int
n
=
0
;
uint32_t
crc
=
InitVal
;
// Initial value
for
(
n
=
0
;
n
<
Len
;
n
++
)
{
crc
^=
(
uint32_t
)
buf
[
n
]
<<
24
;
// crc ^= *data; data++;
for
(
i
=
0
;
i
<
8
;
++
i
)
{
if
(
crc
&
0x80000000
)
{
crc
=
(
crc
<<
1
)
^
0x04C11DB7
;
// 0xEDB88320= reverse 0x04C11DB7
}
else
{
crc
=
(
crc
<<
1
);
}
}
}
return
crc
;
}
void
TestRead630Update
(
void
)
{
uint32_t
tmpLen
;
static
uint8_t
readSt
=
0
;
static
uint16_t
getStRetryCnts
=
0
;
if
(
TestDataLen
==
0
)
{
if
(
readSt
==
0
)
{
uint32_t
tmpRet
;
if
(
NeedWriteSize
==
0
)
{
if
(
readSt
==
0
)
{
readSt
=
1
;
ProcMcuOrBackupData
(
GET_APP_DATA_OFFSET
,
0
,
0
,
0
);
ProcMcuOrBackupData
(
type
,
0
,
0
,
0
);
/* 获取偏移地址 */
getStRetryCnts
=
500
;
}
else
{
TestDataLen
=
ProcMcuOrBackupData
(
GET_STATUS
,
0
,
0
,
0
);
if
((
TestDataLen
!=
0
)
||
(
--
getStRetryCnts
==
0
))
{
if
(
TestDataLen
!=
0
)
{
TestDataLen
=
RespDataLen
;
TestDataCrC
=
RespDataCrc
;
ReadOffset
=
0
;
CalcCrcVal
=
0xffffffff
;
}
readSt
=
0
;
}
}
}
else
{
if
(
readSt
==
0
)
{
readSt
=
1
;
ProcMcuOrBackupData
(
REQ_DATA
,
ReadOffset
,
READ_MCU_DATA_MAX
,
TestReadBuf
);
getStRetryCnts
=
500
;
ReadOffset
+=
READ_MCU_DATA_MAX
;
}
else
{
tmpLen
=
ProcMcuOrBackupData
(
GET_STATUS
,
0
,
0
,
0
);
if
(
ReadOffset
==
tmpLen
)
{
if
(
ReadOffset
<
TestDataLen
)
{
CalcCrcVal
=
CalcCrc32
(
TestReadBuf
,
READ_MCU_DATA_MAX
,
CalcCrcVal
);
readSt
=
0
;
}
else
{
CalcCrcVal
=
CalcCrc32
(
TestReadBuf
,
TestDataLen
-
(
ReadOffset
-
READ_MCU_DATA_MAX
),
CalcCrcVal
);
if
(
CalcCrcVal
!=
TestDataCrC
)
{
while
(
1
)
{
RTE_WDT_Clear
();
}
}
else
{
TestCycleNum
++
;
else
{
tmpRet
=
ProcMcuOrBackupData
(
GET_STATUS
,
0
,
0
,
0
);
if
((
tmpRet
!=
2
)
||
(
--
getStRetryCnts
==
0
))
/* 非零值为获得的程序地址 */
{
if
(
tmpRet
!=
2
)
{
NeedWriteSize
=
32
;
/* 此时的NeedWriteSize不重要, 只要跳出循环就行 */
if
(
type
==
GET_APP_DATA_OFFSET
)
{
FactOffset
=
0
;
/* USB按相对地址获取数据 */
}
getStRetryCnts
=
500
;
TestDataLen
=
0
;
TestDataCrC
=
0
;
readSt
=
0
;
AppOffset
=
0x00
;
}
}
if
(
--
getStRetryCnts
==
0
)
{
ReadOffset
-=
READ_MCU_DATA_MAX
;
readSt
=
0
;
}
}
}
}
/* Test end */
/* Test */
static
uint32_t
TestBackupDataLen
=
0
;
static
uint32_t
TestBackupDataOffset
=
0
;
static
uint32_t
TestBackupDataOffsetEnd
=
0
;
static
uint32_t
TestBackupDataCrc
=
0
;
static
uint8_t
*
pData
=
(
uint8_t
*
)
0x40400
;
void
TestWrite630Backup
(
void
)
/**
* @brief 检查Flash中的MCU程序信息, 是否与当前运行的MCU_APP信息相同, 若不同, 则进入升级模式
*/
void
Check_MCU_in_Flash
(
READ_ARK630_CMD
type
)
{
static
int
readstep
=
0
;
uint32_t
tmpRet
;
static
uint8_t
readSt
=
0
;
static
uint16_t
getStRetryCnts
=
0
;
TestBackupDataLen
=
0x100000
;
if
(
TestBackupDataOffset
==
0
)
{
if
(
readSt
==
0
)
{
readSt
=
1
;
ProcMcuOrBackupData
(
GET_BACKUP_DATA_OFFSET
,
0
,
0
,
NULL
);
getStRetryCnts
=
500
;
}
else
{
tmpRet
=
ProcMcuOrBackupData
(
GET_STATUS
,
0
,
0
,
NULL
);
if
((
tmpRet
!=
2
)
||
(
--
getStRetryCnts
==
0
))
{
if
(
tmpRet
!=
2
)
{
TestBackupDataOffset
=
tmpRet
;
TestBackupDataOffsetEnd
=
TestBackupDataOffset
+
TestBackupDataLen
;
}
readSt
=
0
;
}
}
}
else
if
(
TestBackupDataCrc
==
0
)
{
if
(
readSt
==
0
)
{
uint32_t
tmpLen
;
uint8_t
saveVersion
[
16
];
uint8_t
readVersion
[
16
];
if
(
NeedWriteSize
!=
0
)
{
if
(
readSt
==
0
)
{
readSt
=
1
;
ProcMcuOrBackupData
(
GET_BACKUP_DATA_CRC
,
TestBackupDataOffset
,
TestBackupDataLen
,
NULL
);
(
void
)
memset
(
ReadDataBuf
,
0xFFU
,
sizeof
(
ReadDataBuf
));
/* 初始化buffer */
ProcMcuOrBackupData
(
REQ_DATA
,
FactOffset
,
READ_MCU_DATA_MAX
,
ReadDataBuf
);
// 按地址获取程序数据
getStRetryCnts
=
500
;
}
else
{
tmpRet
=
ProcMcuOrBackupData
(
GET_STATUS
,
0
,
0
,
NULL
);
if
((
tmpRet
!=
2
)
||
(
--
getStRetryCnts
==
0
))
{
if
(
tmpRet
!=
2
)
{
TestBackupDataCrc
=
tmpRet
;
}
readSt
=
0
;
}
}
}
else
{
#if 1
if
(
readSt
==
0
)
{
readSt
=
1
;
ProcMcuOrBackupData
(
REQ_DATA
,
TestBackupDataOffset
,
READ_MCU_DATA_MAX
,
TestReadBuf
);
getStRetryCnts
=
500
;
TestBackupDataOffset
+=
READ_MCU_DATA_MAX
;
}
else
{
tmpRet
=
ProcMcuOrBackupData
(
GET_STATUS
,
0
,
0
,
0
);
if
(
TestBackupDataOffset
==
tmpRet
)
{
if
(
TestBackupDataOffset
<
TestBackupDataOffsetEnd
)
{
readSt
=
0
;
}
else
{
readSt
=
0
;
else
{
tmpLen
=
ProcMcuOrBackupData
(
GET_STATUS
,
0
,
0
,
0
);
/* 获取读取状态 */
if
(
FactOffset
+
READ_MCU_DATA_MAX
==
tmpLen
)
/* 当返回值为目标位置时为数据获取成功 */
{
if
(
AppOffset
==
0
)
/* 首个数据块内解析文件信息 */
{
if
(
type
==
GET_APP_DATA_OFFSET
)
/* 从 MCU_APP 升级文件 */
{
flash_read
(
FLASH_630H_UPDATE_INFO
,
sizeof
(
saveVersion
),
saveVersion
);
/* 读取630H升级记录 */
memcpy
(
readVersion
,
&
ReadDataBuf
[
16
],
16
);
/* 630中读出的版本信息 */
if
(
memcmp
(
readVersion
,
saveVersion
,
16
)
!=
0
)
/* 对比版本不同才更新 */
{
Get_Into_630H_Update_MCU_Mode
();
}
else
{
/* 信息相同, 重置状态 */
NeedWriteSize
=
0
;
Check_Upgrade
=
0
;
readSt
=
0
;
}
}
}
}
if
(
--
getStRetryCnts
==
0
)
{
TestBackupDataOffset
-=
READ_MCU_DATA_MAX
;
if
(
--
getStRetryCnts
==
0
)
{
/* 读信息超时, 重置状态 */
readSt
=
0
;
}
}
#else
if
(
readSt
==
0
)
{
readSt
=
1
;
ProcMcuOrBackupData
(
WRITE_BACKUP_DATA
,
TestBackupDataOffset
,
READ_MCU_DATA_MAX
,
pData
);
getStRetryCnts
=
1500
;
TestBackupDataOffset
+=
READ_MCU_DATA_MAX
;
pData
+=
READ_MCU_DATA_MAX
;
}
else
{
tmpRet
=
ProcMcuOrBackupData
(
GET_STATUS
,
0
,
0
,
0
);
if
(
TestBackupDataOffset
==
tmpRet
)
{
if
(
TestBackupDataOffset
<
TestBackupDataOffsetEnd
)
{
readSt
=
0
;
}
else
{
readSt
=
0
;
}
}
if
(
--
getStRetryCnts
==
0
)
{
TestBackupDataOffset
-=
READ_MCU_DATA_MAX
;
pData
-=
READ_MCU_DATA_MAX
;
readSt
=
0
;
}
}
}
void
Check_MCU_Info_in_630H
(
void
)
{
if
(
Check_Upgrade
==
1U
)
{
GetReadInfo
(
GET_APP_DATA_OFFSET
);
Check_MCU_in_Flash
(
GET_APP_DATA_OFFSET
);
}
else
{
Check_Upgrade_Cnt
++
;
if
(
Check_Upgrade_Cnt
>=
2500U
)
/* 放在2ms任务中, 2500 = 5000ms */
{
Check_Upgrade_Cnt
=
0
;
Check_Upgrade
=
1U
;
}
#endif
}
}
/* Test end */
Firmware/Source/Component/Key/Key_user.c
View file @
46017036
#include "Key_user.h"
#include "Components.h"
#include "UDS_ISO14229_Services.h"
__align
(
4
)
...
...
@@ -27,6 +27,8 @@ void Key_Operation_Left(Key_Event_en_t enKeyEvent)//选择
case
KEY_EVENT_LONG_PRESS_3
:
//5s
break
;
case
KEY_EVENT_LONG_PRESS_4
:
//10s
/* 进入630H升级MCU模式 */
Get_Into_630H_Update_MCU_Mode
();
break
;
case
KEY_EVENT_OFF_TO_ON
:
break
;
...
...
Firmware/Source/Component/Menu/Menu.h
View file @
46017036
...
...
@@ -426,4 +426,4 @@ void Menu_User_WAKEUP(void);
/*-----------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------*/
#endif
\ No newline at end of file
#endif
Firmware/Source/Device/Cmsemicon/BAT32A279/Library/Driver/include/flash.h
View file @
46017036
...
...
@@ -15,10 +15,10 @@ typedef enum
extern
uint32_t
flash_protect_flag
;
int
EraseChip
(
uint32_t
adr
);
int
EraseSector
(
uint32_t
adr
);
int
ProgramPage
(
uint32_t
adr
,
uint32_t
sz
,
uint8_t
*
buf
);
FLASH_STATUS
flash_write
(
uint32_t
adr
,
uint32_t
sz
,
uint8_t
*
buf
);
void
flashRead
(
uint8_t
*
read_address
,
uint16_t
size
,
uint8_t
*
readbuf
);
extern
int
EraseChip
(
uint32_t
adr
);
extern
int
EraseSector
(
uint32_t
adr
);
extern
int
ProgramPage
(
uint32_t
adr
,
uint32_t
sz
,
uint8_t
*
buf
);
extern
FLASH_STATUS
flash_write
(
uint32_t
adr
,
uint32_t
sz
,
uint8_t
*
buf
);
extern
void
flash_read
(
uint32_t
read_address
,
uint16_t
size
,
uint8_t
*
readbuf
);
#endif
Firmware/Source/Device/Cmsemicon/BAT32A279/Library/Driver/src/flash.c
View file @
46017036
...
...
@@ -255,16 +255,15 @@ FLASH_STATUS flash_write(uint32_t adr, uint32_t sz, uint8_t *buf)
return
(
status
);
}
void
flash
Read
(
uint8_t
*
read_address
,
uint16_t
size
,
uint8_t
*
readbuf
)
void
flash
_read
(
uint32_t
read_address
,
uint16_t
size
,
uint8_t
*
readbuf
)
{
uint8_t
*
w_ptr
;
uint32_t
i
;
w_ptr
=
(
uint8_t
*
)
read_address
;
for
(
i
=
0
;
i
<
size
;
i
++
)
{
*
readbuf
=
*
w_ptr
++
;
readbuf
++
;
readbuf
++
;
}
}
...
...
Firmware/Source/System/Sys_Task_List.c
View file @
46017036
...
...
@@ -20,6 +20,7 @@ void Sys_2ms_Tasks(void)
Sys_Status_Update_Service
();
Analog_Signal_Conv_Service
();
AMT630H_Main
();
/* Check_MCU_Info_in_630H(); */
DoCAN_Timer_Update
(
2000u
);
//Can_Write_Fun(&CAN_CH0_CanMsgTxOp, 2000u);无外发
CanMSg_XMS_Analysis
(
&
CAN_CH0_CanMsgOp
,
2u
);
...
...
Firmware/Source/UDS/UDS_ISO14229_Services.c
View file @
46017036
This diff is collapsed.
Click to expand it.
Firmware/Source/UDS/UDS_ISO14229_Services.h
View file @
46017036
...
...
@@ -26,15 +26,26 @@
#include "UDS_ISO14229_Server_Config.h"
/******************************************************************************
program version
*******************************************************************************/
#define SWV 0x100 // 0x100 = 1.00 software version 软件版本号
#define HWV 0x100 // 0x100 = 1.00 hardware version 硬件版本号
#define BTV 0x100 // 0x100 = 1.00 bootloader version boot程序版本号
#define internal_version (105UL)
/* 内部版本号 105 -> 1.05 */
#define internal_date (20240805UL)
/* 内部版本日期 20240805 -> 2024.08.05 */
/**
*DFlash
*/
#define NoNeedWait 0x00u
#define NeedWait 0x01u
#define APP_STATUS_ADDR (0x501000)
#define APP_DATA_INFO (0x501400)
#define APP_DATA_WRITE (0x501800)
#define FLASH_APP_STATUS_INFO (0x00501000UL)
/* APP 程序有效性标识地址 */
#define FLASH_SECOND_BOOT_INFO (0x00501400UL)
/* 二级Boot程序状态地址 */
#define FLASH_630H_UPDATE_INFO (0x00501800UL)
/* 630H升级信息 */
#define FLASH_APP_RODATA_INFO (0x00501C00UL)
/* 存储只读DID信息 */
#define FLASH_APP_RWDATA_INFO (0x00502000UL)
/* 存储可写的DID信息 */
#define Data_Flash_Addr_BootValid_OFFSET 0x00000000
#define Data_Flash_Addr_DiagReceive_OFFSET 0x00002000
...
...
@@ -313,41 +324,6 @@
#define CheckSumErr 7 // Checksum Error
#define UnknownPartID 8 // Unknown Part ID
#define SWV 0x100 // 0x100 = 1.00 software version 软件版本号
#define HWV 0x100 // 0x100 = 1.00 hardware version 硬件版本号
#define BTV 0x100 // 0x100 = 1.00 bootloader version boot程序版本号
#define INTLV 0x100 // 0x100 = 1.00 internal version 内部版本号
#define PROG_Y 0x24 // 0x24 = 2024年, program year
#define PROG_M 0x07 // 0x03 = 3月, program month
#define PROG_D 0x16 // 0x19 = 19日, program day
typedef
struct
{
uint32_t
Flag
;
uint8_t
Attemptcnt
;
uint8_t
RequestSeedCnt
;
uint8_t
AttemptIIcnt
;
uint8_t
RequestSeedIICnt
;
}
Ser27_FlowCtrlCntUnion
;
typedef
struct
{
uint32_t
Flag
;
uint8_t
DID_F180
[
6
];
uint8_t
DID_F187
[
16
];
uint8_t
DID_F193
[
6
];
uint8_t
DID_F195
[
6
];
uint8_t
Filldata
[
2
];
}
DiagDFlashData
;
extern
DiagDFlashData
DiagDataForDFlash
;
typedef
struct
{
uint32_t
Flag
;
uint8_t
DID_F184
[
32
];
}
Ser2EDFlashData
;
extern
Ser2EDFlashData
Ser2EDataForDFlash
;
typedef
struct
{
uint32_t
Flag
;
...
...
@@ -365,19 +341,10 @@ typedef struct
void
UDS_Service_10_Indication
(
uint16_t
A_TA_type
,
uint16_t
A_Length
,
uint8_t
*
A_Data
);
void
UDS_Service_11_Indication
(
uint16_t
A_TA_type
,
uint16_t
A_Length
,
uint8_t
*
A_Data
);
void
UDS_Service_22_Indication
(
uint16_t
A_TA_type
,
uint16_t
A_Length
,
uint8_t
*
A_Data
);
void
UDS_Service_2E_Indication
(
uint16_t
A_TA_type
,
uint16_t
A_Length
,
uint8_t
*
A_Data
);
void
UDS_Service_27_Indication
(
uint16_t
A_TA_type
,
uint16_t
A_Length
,
uint8_t
*
A_Data
);
void
UDS_Service_28_Indication
(
uint16_t
A_TA_type
,
uint16_t
A_Length
,
uint8_t
*
A_Data
);
void
UDS_Service_3E_Indication
(
uint16_t
A_TA_type
,
uint16_t
A_Length
,
uint8_t
*
A_Data
);
void
UDS_Service_85_Indication
(
uint16_t
A_TA_type
,
uint16_t
A_Length
,
uint8_t
*
A_Data
);
void
S3_ServerCNTT
(
void
);
void
Randomcnt
(
void
);
extern
void
DIAG_InitParameter
(
void
);
void
GetSeed
(
void
);
void
CalculateKey
(
void
);
void
CalculateKeyLv11
(
void
);
typedef
void
(
*
InitFunction
)(
void
);
/***********Local Functin*************/
...
...
@@ -386,13 +353,11 @@ uint8_t SerXXNRC12Filter(uint8_t insub, const uint8_t *supportsub, uint8_t size,
uint8_t
SerXXNRC13Filter
(
uint8_t
type
,
uint8_t
serlength
,
const
uint8_t
*
length
,
uint8_t
index
);
uint8_t
SerXXNRC22Filter
(
void
);
uint8_t
SerXXNRC31DIDFilter
(
uint16_t
inDID
,
const
uint16_t
*
DIDList
,
uint8_t
size
,
uint8_t
*
index
);
uint8_t
SerXXNRC33Filter
(
const
uint8_t
*
levelList
,
uint8_t
index
);
uint8_t
SerXXNRC7EFilter
(
const
uint8_t
*
SubSupportSession
,
uint8_t
index
);
uint8_t
SerXXNRC7FFilter
(
uint8_t
SupportSession
);
extern
void
Data_Set_DiagPara
(
void
);
void
Write_App_InValid
(
uint32_t
m32
);
void
Data_Read_DiagPara
(
void
);
void
DFlash_init
(
void
);
void
Data_Read_DiagPara
(
void
);
extern
void
Get_Into_630H_Update_MCU_Mode
(
void
);
extern
void
Check_MCU_Info_in_630H
(
void
);
#endif
Firmware/utility/Boot_Release/Boot程序版本更新说明.txt
View file @
46017036
# 2024.08.16 (2)
中微厂家提供了新的cgc.c文件
内部版本信息更新(1.03_20240816)
# 2024.08.16
修复一级Boot计算Flash Block错误的问题
添加630H升级MCU APP的能力
内部版本号更新(1.02_20240816)
# 2024.08.08
修复一级Boot失效的问题
项目信息统一
...
...
Firmware/utility/Boot_Release/HaoJin_750TFT_HJYB-7500TFT_BV1.02_20240816.hex
0 → 100644
View file @
46017036
This diff is collapsed.
Click to expand it.
Firmware/utility/Boot_Release/HaoJin_750TFT_HJYB-7500TFT_BV1.03_20240816.hex
0 → 100644
View file @
46017036
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment