Commit 9c4f7904 authored by 李延凯's avatar 李延凯

Merge branch 'LYK' into 'dev'

增加CAN升级功能,上传Boot程序,诊断工具,合成Boot和CAN升级操作说明

See merge request !14
parents e238db9b 26e6b266
/Firmware/Project/Cmsemicon/BAT32A239/MDK_ARM/Objects
/Firmware/Project/Cmsemicon/BAT32A239/MDK_ARM/Listings
/Firmware/Project/Cmsemicon/BAT32A239/MDK_ARM/JLinkLog.txt
/Firmware/Project/Cmsemicon/BAT32A279/MDK_ARM/Objects
/Firmware/Project/Cmsemicon/BAT32A279/MDK_ARM/Listings
/Firmware/Project/Cmsemicon/BAT32A279/MDK_ARM/JLinkLog.txt
/Firmware/Project/Cmsemicon/BAT32A279/MDK_ARM/*.tyw05
/Firmware/Project/Cmsemicon/BAT32A279/MDK_ARM/*.uvoptx
/Firmware/Project/Cmsemicon/BAT32A279/MDK_ARM/*.VMW10
/.vscode
*.zip
*.7z
/Firmware/Project/Cmsemicon/BAT32A239/MDK_ARM/*.tyw05
/Firmware/Project/Cmsemicon/BAT32A239/MDK_ARM/*.tyw05
/Firmware/Project/Cmsemicon/BAT32A239/MDK_ARM/*.tyw05
Firmware/Project/Cmsemicon/BAT32A239/MDK_ARM/RunTong.uvoptx
/Firmware/Project/Cmsemicon/BAT32A239/MDK_ARM/*.uvoptx
/Firmware/Project/Cmsemicon/BAT32A239/MDK_ARM/*.VMW10
Firmware/Project/Cmsemicon/BAT32A279/MDK_ARM/Listings/HaoJin.map
/Firmware/Project/Cmsemicon/BAT32A279/MDK_ARM/Objects
Firmware/Project/Cmsemicon/BAT32A279/MDK_ARM/HaoJin750TFT.uvguix.tyw05
Firmware/Project/Cmsemicon/BAT32A279/MDK_ARM/HaoJin750TFT.uvguix.tyw05
Firmware/Project/Cmsemicon/BAT32A279/MDK_ARM/HaoJin750TFT.uvoptx
Firmware/Project/Cmsemicon/BAT32A279/MDK_ARM/Listings/HaoJin750TFT.map
/Firmware/Project/Cmsemicon/BAT32A279/MDK_ARM/HaoJin750TFT.uvguix.tyw05
/Firmware/Project/Cmsemicon/BAT32A279/MDK_ARM/Listings/HaoJin750TFT.map
/Firmware/Project/Cmsemicon/BAT32A279/MDK_ARM/*.uvoptx
/Firmware/Project/Cmsemicon/BAT32A279/MDK_ARM/JLinkLog.txt
/Firmware/Project/Cmsemicon/BAT32A279/MDK_ARM/JLinkLog.txt
......@@ -211,7 +211,7 @@
<Ra2Chk>0</Ra2Chk>
<Ra3Chk>0</Ra3Chk>
<Im1Chk>1</Im1Chk>
<Im2Chk>0</Im2Chk>
<Im2Chk>1</Im2Chk>
<OnChipMemories>
<Ocm1>
<Type>0</Type>
......@@ -275,8 +275,8 @@
</OCR_RVCT3>
<OCR_RVCT4>
<Type>1</Type>
<StartAddress>0x0</StartAddress>
<Size>0x80000</Size>
<StartAddress>0xc400</StartAddress>
<Size>0x73c00</Size>
</OCR_RVCT4>
<OCR_RVCT5>
<Type>1</Type>
......@@ -301,12 +301,12 @@
<OCR_RVCT9>
<Type>0</Type>
<StartAddress>0x20000000</StartAddress>
<Size>0x10000</Size>
<Size>0xff00</Size>
</OCR_RVCT9>
<OCR_RVCT10>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
<StartAddress>0x2000ff00</StartAddress>
<Size>0x100</Size>
</OCR_RVCT10>
</OnChipMemories>
<RvctStartVector></RvctStartVector>
......@@ -339,7 +339,7 @@
<MiscControls></MiscControls>
<Define>USE_STDPERIPH_DRIVER,BAT32A2X9_64PIN</Define>
<Undefine></Undefine>
<IncludePath>..\..\..\..\Source\Device\Cmsemicon\BAT32A279\RTE;..\..\..\..\Source\Component;..\..\..\..\Source\Device\Cmsemicon\BAT32A279\Library\Driver\include;..\..\..\..\Source\Device\Cmsemicon\BAT32A279\Library\Device\Include;..\..\..\..\Source\Application;..\..\..\..\Source;..\..\..\..\Source\Device\Cmsemicon\BAT32A279\RTE</IncludePath>
<IncludePath>..\..\..\..\Source\Device\Cmsemicon\BAT32A279\RTE;..\..\..\..\Source\Component;..\..\..\..\Source\Device\Cmsemicon\BAT32A279\Library\Driver\include;..\..\..\..\Source\Device\Cmsemicon\BAT32A279\Library\Device\Include;..\..\..\..\Source\Application;..\..\..\..\Source;..\..\..\..\Source\Device\Cmsemicon\BAT32A279\RTE;..\..\..\..\Source\UDS</IncludePath>
</VariousControls>
</Cads>
<Aads>
......@@ -361,7 +361,7 @@
</VariousControls>
</Aads>
<LDads>
<umfTarg>1</umfTarg>
<umfTarg>0</umfTarg>
<Ropi>0</Ropi>
<Rwpi>0</Rwpi>
<noStLib>0</noStLib>
......@@ -370,7 +370,7 @@
<TextAddressRange>0x00000000</TextAddressRange>
<DataAddressRange>0x20000000</DataAddressRange>
<pXoBase></pXoBase>
<ScatterFile></ScatterFile>
<ScatterFile>.\Objects\HaoJin750TFT.sct</ScatterFile>
<IncludeLibs></IncludeLibs>
<IncludeLibsPath></IncludeLibsPath>
<Misc></Misc>
......@@ -1000,6 +1000,56 @@
</File>
</Files>
</Group>
<Group>
<GroupName>UDS</GroupName>
<Files>
<File>
<FileName>Diag_ID_Def.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\UDS\Diag_ID_Def.h</FilePath>
</File>
<File>
<FileName>DoCAN_ISO15765.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Source\UDS\DoCAN_ISO15765.c</FilePath>
</File>
<File>
<FileName>DoCAN_ISO15765.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\UDS\DoCAN_ISO15765.h</FilePath>
</File>
<File>
<FileName>DoCAN_ISO15765_Config.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\UDS\DoCAN_ISO15765_Config.h</FilePath>
</File>
<File>
<FileName>UDS_ISO14229_Server.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Source\UDS\UDS_ISO14229_Server.c</FilePath>
</File>
<File>
<FileName>UDS_ISO14229_Server.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\UDS\UDS_ISO14229_Server.h</FilePath>
</File>
<File>
<FileName>UDS_ISO14229_Server_Config.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\UDS\UDS_ISO14229_Server_Config.h</FilePath>
</File>
<File>
<FileName>UDS_ISO14229_Services.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Source\UDS\UDS_ISO14229_Services.c</FilePath>
</File>
<File>
<FileName>UDS_ISO14229_Services.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\UDS\UDS_ISO14229_Services.h</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>::CMSIS</GroupName>
</Group>
......
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x0000C400 0x00073C00 { ; load region size_region
ER_IROM1 0x0000C400 0x00073C00 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+XO)
}
RW_IRAM1 0x20000000 0x0000FF00 { ; RW data
.ANY (+RW +ZI)
}
RW_IRAM2 0x2000FF00 0x00000100 { ; RW data
.ANY (RW_FUNC_PLL)
}
}
......@@ -25,7 +25,7 @@
#include <stdint.h>
#include "BAT32A279.h"
#include "userdefine.h"
/*----------------------------------------------------------------------------
Define clocks
......@@ -64,7 +64,11 @@ typedef enum {
following is an example for different system frequencies */
//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
#if (HAS_BOOTLOADER == 1U)
const uint8_t user_opt_data[4] __attribute__((used)) __attribute__((section(".ARM.__AT_0x0000C4C0"))) =
#else
const uint8_t user_opt_data[4] __attribute__((used)) __attribute__((section(".ARM.__AT_0x000000C0"))) =
#endif
{
/**
......
......@@ -19,6 +19,10 @@ User definitions
#ifndef __TYPEDEF__
typedef unsigned short MD_STATUS;
#define HAS_BOOTLOADER (1u) // 仅仿真App时设置为0
#define APP_BASE (0x0000C400ul)
/* Status list definition */
#define MD_STATUSBASE (0x00U)
#define MD_OK (MD_STATUSBASE + 0x00U) /* register setting OK */
......
/*
* Auto generated Run-Time-Environment Configuration File
* *** Do not modify ! ***
*
* Project: 'HaoJin'
* Target: 'HaoJin232'
*/
#ifndef RTE_COMPONENTS_H
#define RTE_COMPONENTS_H
/*
* Define the Device Header File:
*/
#define CMSIS_device_header "BAT32A279.h"
#endif /* RTE_COMPONENTS_H */
/*
* Auto generated Run-Time-Environment Configuration File
* *** Do not modify ! ***
*
* Project: 'HaoJin750TFT'
* Target: 'HaoJin750'
*/
#ifndef RTE_COMPONENTS_H
#define RTE_COMPONENTS_H
/*
* Define the Device Header File:
*/
#define CMSIS_device_header "BAT32A279.h"
#endif /* RTE_COMPONENTS_H */
This diff is collapsed.
......@@ -465,7 +465,7 @@ void CGC_PLL_Setting(PLL_Src_t src, PLL_Div_t div, PLL_Mul_t mul)
* @note
* @retval None
*/
void CGC_PLL_CFG_AS_FCLK(void)
__attribute__((section("RW_FUNC_PLL"))) void CGC_PLL_CFG_AS_FCLK(void)
{
CGC->MCKC = 0x01;
while((CGC->MCKC & CGC_MCKC_CKSTR_Msk) == 0);
......
......@@ -3,10 +3,13 @@
#include "Components.h"
//#include "CommonInterface.h"
#include "RTE.h"
#include "UDS_ISO14229_Server.h"
void Sys_Pseudo_Real_Time_Tasks(void)
{
Power_Management_Service();
DoCAN_Communication_Service();
UDS_Server_Application_Service();
}
void Sys_2ms_Tasks(void)
......@@ -15,6 +18,7 @@ void Sys_2ms_Tasks(void)
Sys_Status_Update_Service();
Analog_Signal_Conv_Service();
AMT630H_Main();
DoCAN_Timer_Update(2000u);
//Can_Write_Fun(&CAN_CH0_CanMsgTxOp, 2000u);无外发
CanMSg_XMS_Analysis(&CAN_CH0_CanMsgOp, 2u);
}
......@@ -51,6 +55,7 @@ void Sys_50ms_Tasks(void)
void Sys_100ms_Tasks(void)
{
S3_ServerCNTT();
Get_DisTime_Service();
Fuel_Cal_Sevice(100u);
Coolant_Cal_Sevice(100u);
......
......@@ -38,9 +38,16 @@
#include "Sys_Scheduler.h"
#include "RTE.h"
#include "Components.h"
#include "userdefine.h"
void Sys_Startup_Pre_Init(void)
{
#if (HAS_BOOTLOADER == 1u)
__disable_irq();
SCB->VTOR = APP_BASE;
__DMB();
__enable_irq();
#endif
__disable_irq();
/* soft delay, for power to stabilize */
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment