mirror of
https://gitee.com/seekfree/TC264_Library.git
synced 2026-06-03 19:32:55 +00:00
V3.2.1
flash新增写入时的是否擦除当前页的判断 防止用户因使用不规范导致flash使用报错
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
V3.2.1
|
||||||
|
flash<73><68><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰҳ<C7B0><D2B3><EFBFBD>ж<EFBFBD> <20><>ֹ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><C3B2>淶<EFBFBD><E6B7B6><EFBFBD><EFBFBD>flashʹ<68>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
V3.2.0
|
V3.2.0
|
||||||
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* 2023-07-15 pudding д<><D0B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ֹ<EFBFBD>û<EFBFBD>ʹ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#include "IfxScuWdt.h"
|
#include "IfxScuWdt.h"
|
||||||
@@ -41,6 +43,7 @@
|
|||||||
|
|
||||||
|
|
||||||
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
static uint8 flash_erase_page_flag; // FLASH <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>־λ <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4> <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -86,6 +89,8 @@ void flash_erase_page (uint32 sector_num, uint32 page_num)
|
|||||||
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
||||||
|
|
||||||
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
||||||
|
|
||||||
|
flash_erase_page_flag = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -131,6 +136,11 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
uint32 data_cont = 0;
|
uint32 data_cont = 0;
|
||||||
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
||||||
|
|
||||||
|
if(flash_erase_page_flag == 0 && flash_check(sector_num, page_num))
|
||||||
|
{
|
||||||
|
flash_erase_page(sector_num, page_num);
|
||||||
|
}
|
||||||
|
|
||||||
for(data_cont = 0; data_cont < len; data_cont ++)
|
for(data_cont = 0; data_cont < len; data_cont ++)
|
||||||
{
|
{
|
||||||
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
||||||
@@ -147,6 +157,8 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
|
|
||||||
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flash_erase_page_flag = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -182,8 +194,6 @@ uint8 flash_write_page_from_buffer (uint32 sector_num, uint32 page_num)
|
|||||||
{
|
{
|
||||||
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
||||||
|
|
||||||
zf_assert(EEPROM_PAGE_NUM > page_num);
|
|
||||||
|
|
||||||
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#ifndef _zf_driver_flash_h_
|
#ifndef _zf_driver_flash_h_
|
||||||
|
|||||||
@@ -36,15 +36,6 @@
|
|||||||
#pragma section all "cpu0_dsram"
|
#pragma section all "cpu0_dsram"
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
||||||
|
|
||||||
|
|
||||||
// <20><><EFBFBD>̵<EFBFBD><CCB5>뵽<EFBFBD><EBB5BD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ѡ<EFBFBD>й<EFBFBD><D0B9><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>refreshˢ<68><CBA2>һ<EFBFBD><D2BB>֮<EFBFBD><D6AE><EFBFBD>ٱ<EFBFBD><D9B1><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ر<EFBFBD><D8B1>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>properties->C/C++ Build->Setting
|
|
||||||
// Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>C/C++ Compiler->Optimization->Optimization level<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>ȼ<EFBFBD>
|
|
||||||
// һ<><D2BB>Ĭ<EFBFBD><C4AC><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>̶<EFBFBD><CCB6><EFBFBD>Ĭ<EFBFBD>Ͽ<EFBFBD>2<EFBFBD><32><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ2<CEAA><32><EFBFBD>Ż<EFBFBD>
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
|
||||||
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
||||||
|
|
||||||
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***************************
|
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***************************
|
||||||
// <20><><EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>缴<EFBFBD><E7BCB4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>缴<EFBFBD><E7BCB4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>õ<EFBFBD><C3B5>ع<EFBFBD><D8B9><EFBFBD>
|
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>õ<EFBFBD><C3B5>ع<EFBFBD><D8B9><EFBFBD>
|
||||||
|
|||||||
@@ -36,6 +36,9 @@
|
|||||||
#include "isr_config.h"
|
#include "isr_config.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
||||||
|
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
||||||
|
|
||||||
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
||||||
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V3.2.1
|
||||||
|
flash<73><68><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰҳ<C7B0><D2B3><EFBFBD>ж<EFBFBD> <20><>ֹ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><C3B2>淶<EFBFBD><E6B7B6><EFBFBD><EFBFBD>flashʹ<68>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
V3.2.0
|
V3.2.0
|
||||||
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* 2023-07-15 pudding д<><D0B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ֹ<EFBFBD>û<EFBFBD>ʹ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#include "IfxScuWdt.h"
|
#include "IfxScuWdt.h"
|
||||||
@@ -41,6 +43,7 @@
|
|||||||
|
|
||||||
|
|
||||||
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
static uint8 flash_erase_page_flag; // FLASH <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>־λ <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4> <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -86,6 +89,8 @@ void flash_erase_page (uint32 sector_num, uint32 page_num)
|
|||||||
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
||||||
|
|
||||||
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
||||||
|
|
||||||
|
flash_erase_page_flag = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -131,6 +136,11 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
uint32 data_cont = 0;
|
uint32 data_cont = 0;
|
||||||
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
||||||
|
|
||||||
|
if(flash_erase_page_flag == 0 && flash_check(sector_num, page_num))
|
||||||
|
{
|
||||||
|
flash_erase_page(sector_num, page_num);
|
||||||
|
}
|
||||||
|
|
||||||
for(data_cont = 0; data_cont < len; data_cont ++)
|
for(data_cont = 0; data_cont < len; data_cont ++)
|
||||||
{
|
{
|
||||||
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
||||||
@@ -147,6 +157,8 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
|
|
||||||
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flash_erase_page_flag = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -182,8 +194,6 @@ uint8 flash_write_page_from_buffer (uint32 sector_num, uint32 page_num)
|
|||||||
{
|
{
|
||||||
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
||||||
|
|
||||||
zf_assert(EEPROM_PAGE_NUM > page_num);
|
|
||||||
|
|
||||||
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#ifndef _zf_driver_flash_h_
|
#ifndef _zf_driver_flash_h_
|
||||||
|
|||||||
@@ -38,15 +38,6 @@
|
|||||||
#pragma section all "cpu0_dsram"
|
#pragma section all "cpu0_dsram"
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
||||||
|
|
||||||
|
|
||||||
// <20><><EFBFBD>̵<EFBFBD><CCB5>뵽<EFBFBD><EBB5BD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ѡ<EFBFBD>й<EFBFBD><D0B9><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>refreshˢ<68><CBA2>һ<EFBFBD><D2BB>֮<EFBFBD><D6AE><EFBFBD>ٱ<EFBFBD><D9B1><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ر<EFBFBD><D8B1>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>properties->C/C++ Build->Setting
|
|
||||||
// Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>C/C++ Compiler->Optimization->Optimization level<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>ȼ<EFBFBD>
|
|
||||||
// һ<><D2BB>Ĭ<EFBFBD><C4AC><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>̶<EFBFBD><CCB6><EFBFBD>Ĭ<EFBFBD>Ͽ<EFBFBD>2<EFBFBD><32><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ2<CEAA><32><EFBFBD>Ż<EFBFBD>
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
|
||||||
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
||||||
|
|
||||||
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***************************
|
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***************************
|
||||||
// ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF> Ӣ<><D3A2><EFBFBD><EFBFBD>TriCore <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF> Ӣ<><D3A2><EFBFBD><EFBFBD>TriCore <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
// ֱ<>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><DABA>İ<EFBFBD><C4B0>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽӿڼ<D3BF><DABC><EFBFBD>
|
// ֱ<>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><DABA>İ<EFBFBD><C4B0>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽӿڼ<D3BF><DABC><EFBFBD>
|
||||||
@@ -57,7 +48,17 @@
|
|||||||
// USB-TTL-GND <20><><EFBFBD>İ<EFBFBD><C4B0><EFBFBD>Դ<EFBFBD><D4B4> GND
|
// USB-TTL-GND <20><><EFBFBD>İ<EFBFBD><C4B0><EFBFBD>Դ<EFBFBD><D4B4> GND
|
||||||
// USB-TTL-3V3 <20><><EFBFBD>İ<EFBFBD> 3V3 <20><>Դ
|
// USB-TTL-3V3 <20><><EFBFBD>İ<EFBFBD> 3V3 <20><>Դ
|
||||||
|
|
||||||
// *************************** <20><><EFBFBD>̲<EFBFBD><CCB2><EFBFBD>˵<EFBFBD><CBB5> ***************************
|
//================================<3D>ر<EFBFBD>ע<EFBFBD><D7A2>================================
|
||||||
|
// <20><><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD>ʱһ<CAB1><D2BB>Ҫ<EFBFBD><D2AA>GND <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>ͨѶ
|
||||||
|
//================================<3D>ر<EFBFBD>ע<EFBFBD><D7A2>================================
|
||||||
|
//================================<3D>ر<EFBFBD>ע<EFBFBD><D7A2>================================
|
||||||
|
// <20><><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD>ʱһ<CAB1><D2BB>Ҫ<EFBFBD><D2AA>GND <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>ͨѶ
|
||||||
|
//================================<3D>ر<EFBFBD>ע<EFBFBD><D7A2>================================
|
||||||
|
//================================<3D>ر<EFBFBD>ע<EFBFBD><D7A2>================================
|
||||||
|
// <20><><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD>ʱһ<CAB1><D2BB>Ҫ<EFBFBD><D2AA>GND <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>ͨѶ
|
||||||
|
//================================<3D>ر<EFBFBD>ע<EFBFBD><D7A2>================================
|
||||||
|
|
||||||
|
// ***************************** <20><><EFBFBD>̲<EFBFBD><CCB2><EFBFBD>˵<EFBFBD><CBB5> *****************************
|
||||||
// 1.<2E><><EFBFBD>İ<EFBFBD><C4B0><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD>̣<EFBFBD><CCA3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ú<EFBFBD><C3BA>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> USB-TTL ģ<>飬<EFBFBD>ڶϵ<DAB6><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// 1.<2E><><EFBFBD>İ<EFBFBD><C4B0><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD>̣<EFBFBD><CCA3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ú<EFBFBD><C3BA>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> USB-TTL ģ<>飬<EFBFBD>ڶϵ<DAB6><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
// 2.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> USB-TTL ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>
|
// 2.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> USB-TTL ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>
|
||||||
// 3.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<D6B4>Ӧ<EFBFBD>Ĵ<EFBFBD><C4B4>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>Ϊ DEBUG_UART_BAUDRATE <20>궨<EFBFBD><EAB6A8> Ĭ<><C4AC> 115200<30><30><EFBFBD><EFBFBD><EFBFBD>İ尴<C4B0>¸<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
// 3.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<D6B4>Ӧ<EFBFBD>Ĵ<EFBFBD><C4B4>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>Ϊ DEBUG_UART_BAUDRATE <20>궨<EFBFBD><EAB6A8> Ĭ<><C4AC> 115200<30><30><EFBFBD><EFBFBD><EFBFBD>İ尴<C4B0>¸<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
||||||
@@ -67,7 +68,7 @@
|
|||||||
// UART get data:.......
|
// UART get data:.......
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ձ<EFBFBD><D5B1>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>·<EFBFBD> <20><><EFBFBD>̳<EFBFBD><CCB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> <20><><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ձ<EFBFBD><D5B1>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>·<EFBFBD> <20><><EFBFBD>̳<EFBFBD><CCB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> <20><><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD>
|
||||||
|
|
||||||
// **************************** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ****************************
|
// ******************************* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *******************************
|
||||||
#define UART_INDEX (DEBUG_UART_INDEX ) // Ĭ<><C4AC> UART_0
|
#define UART_INDEX (DEBUG_UART_INDEX ) // Ĭ<><C4AC> UART_0
|
||||||
#define UART_BAUDRATE (DEBUG_UART_BAUDRATE) // Ĭ<><C4AC> 115200
|
#define UART_BAUDRATE (DEBUG_UART_BAUDRATE) // Ĭ<><C4AC> 115200
|
||||||
#define UART_TX_PIN (DEBUG_UART_TX_PIN ) // Ĭ<><C4AC> UART0_TX_P14_0
|
#define UART_TX_PIN (DEBUG_UART_TX_PIN ) // Ĭ<><C4AC> UART0_TX_P14_0
|
||||||
@@ -140,9 +141,9 @@ IFX_INTERRUPT(uart0_rx_isr, 0, UART0_RX_INT_PRIO)
|
|||||||
|
|
||||||
|
|
||||||
#pragma section all restore
|
#pragma section all restore
|
||||||
// **************************** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ****************************
|
// ******************************* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *******************************
|
||||||
|
|
||||||
// *************************** <20><><EFBFBD>̳<EFBFBD><CCB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***************************
|
// **************************** <20><><EFBFBD>̳<EFBFBD><CCB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ****************************
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>밴<EFBFBD><EBB0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>밴<EFBFBD><EBB0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>
|
||||||
// <20><><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
// <20>鿴<EFBFBD><E9BFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<D6B4><F2BFAAB5>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>Ĵ<EFBFBD><C4B4>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> COM <20><><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> USB-TTL ģ<><C4A3><EFBFBD><EFBFBD> COM <20><>
|
// <20>鿴<EFBFBD><E9BFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<D6B4><F2BFAAB5>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>Ĵ<EFBFBD><C4B4>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> COM <20><><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> USB-TTL ģ<><C4A3><EFBFBD><EFBFBD> COM <20><>
|
||||||
|
|||||||
@@ -36,6 +36,12 @@
|
|||||||
#include "isr_config.h"
|
#include "isr_config.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
||||||
|
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
||||||
|
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
||||||
|
|
||||||
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
||||||
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V3.2.1
|
||||||
|
flash<73><68><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰҳ<C7B0><D2B3><EFBFBD>ж<EFBFBD> <20><>ֹ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><C3B2>淶<EFBFBD><E6B7B6><EFBFBD><EFBFBD>flashʹ<68>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
V3.2.0
|
V3.2.0
|
||||||
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* 2023-07-15 pudding д<><D0B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ֹ<EFBFBD>û<EFBFBD>ʹ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#include "IfxScuWdt.h"
|
#include "IfxScuWdt.h"
|
||||||
@@ -41,6 +43,7 @@
|
|||||||
|
|
||||||
|
|
||||||
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
static uint8 flash_erase_page_flag; // FLASH <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>־λ <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4> <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -86,6 +89,8 @@ void flash_erase_page (uint32 sector_num, uint32 page_num)
|
|||||||
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
||||||
|
|
||||||
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
||||||
|
|
||||||
|
flash_erase_page_flag = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -131,6 +136,11 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
uint32 data_cont = 0;
|
uint32 data_cont = 0;
|
||||||
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
||||||
|
|
||||||
|
if(flash_erase_page_flag == 0 && flash_check(sector_num, page_num))
|
||||||
|
{
|
||||||
|
flash_erase_page(sector_num, page_num);
|
||||||
|
}
|
||||||
|
|
||||||
for(data_cont = 0; data_cont < len; data_cont ++)
|
for(data_cont = 0; data_cont < len; data_cont ++)
|
||||||
{
|
{
|
||||||
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
||||||
@@ -147,6 +157,8 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
|
|
||||||
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flash_erase_page_flag = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -182,8 +194,6 @@ uint8 flash_write_page_from_buffer (uint32 sector_num, uint32 page_num)
|
|||||||
{
|
{
|
||||||
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
||||||
|
|
||||||
zf_assert(EEPROM_PAGE_NUM > page_num);
|
|
||||||
|
|
||||||
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#ifndef _zf_driver_flash_h_
|
#ifndef _zf_driver_flash_h_
|
||||||
|
|||||||
@@ -36,15 +36,6 @@
|
|||||||
#pragma section all "cpu0_dsram"
|
#pragma section all "cpu0_dsram"
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
||||||
|
|
||||||
|
|
||||||
// <20><><EFBFBD>̵<EFBFBD><CCB5>뵽<EFBFBD><EBB5BD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ѡ<EFBFBD>й<EFBFBD><D0B9><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>refreshˢ<68><CBA2>һ<EFBFBD><D2BB>֮<EFBFBD><D6AE><EFBFBD>ٱ<EFBFBD><D9B1><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ر<EFBFBD><D8B1>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>properties->C/C++ Build->Setting
|
|
||||||
// Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>C/C++ Compiler->Optimization->Optimization level<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>ȼ<EFBFBD>
|
|
||||||
// һ<><D2BB>Ĭ<EFBFBD><C4AC><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>̶<EFBFBD><CCB6><EFBFBD>Ĭ<EFBFBD>Ͽ<EFBFBD>2<EFBFBD><32><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ2<CEAA><32><EFBFBD>Ż<EFBFBD>
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
|
||||||
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
||||||
|
|
||||||
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***************************
|
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***************************
|
||||||
// ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF> Ӣ<><D3A2><EFBFBD><EFBFBD>TriCore <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF> Ӣ<><D3A2><EFBFBD><EFBFBD>TriCore <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
// ֱ<>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><DABA>İ<EFBFBD><C4B0>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽӿڼ<D3BF><DABC><EFBFBD>
|
// ֱ<>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><DABA>İ<EFBFBD><C4B0>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽӿڼ<D3BF><DABC><EFBFBD>
|
||||||
|
|||||||
@@ -36,6 +36,9 @@
|
|||||||
#include "isr_config.h"
|
#include "isr_config.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
||||||
|
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
||||||
|
|
||||||
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
||||||
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V3.2.1
|
||||||
|
flash<73><68><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰҳ<C7B0><D2B3><EFBFBD>ж<EFBFBD> <20><>ֹ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><C3B2>淶<EFBFBD><E6B7B6><EFBFBD><EFBFBD>flashʹ<68>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
V3.2.0
|
V3.2.0
|
||||||
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* 2023-07-15 pudding д<><D0B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ֹ<EFBFBD>û<EFBFBD>ʹ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#include "IfxScuWdt.h"
|
#include "IfxScuWdt.h"
|
||||||
@@ -41,6 +43,7 @@
|
|||||||
|
|
||||||
|
|
||||||
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
static uint8 flash_erase_page_flag; // FLASH <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>־λ <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4> <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -86,6 +89,8 @@ void flash_erase_page (uint32 sector_num, uint32 page_num)
|
|||||||
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
||||||
|
|
||||||
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
||||||
|
|
||||||
|
flash_erase_page_flag = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -131,6 +136,11 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
uint32 data_cont = 0;
|
uint32 data_cont = 0;
|
||||||
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
||||||
|
|
||||||
|
if(flash_erase_page_flag == 0 && flash_check(sector_num, page_num))
|
||||||
|
{
|
||||||
|
flash_erase_page(sector_num, page_num);
|
||||||
|
}
|
||||||
|
|
||||||
for(data_cont = 0; data_cont < len; data_cont ++)
|
for(data_cont = 0; data_cont < len; data_cont ++)
|
||||||
{
|
{
|
||||||
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
||||||
@@ -147,6 +157,8 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
|
|
||||||
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flash_erase_page_flag = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -182,8 +194,6 @@ uint8 flash_write_page_from_buffer (uint32 sector_num, uint32 page_num)
|
|||||||
{
|
{
|
||||||
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
||||||
|
|
||||||
zf_assert(EEPROM_PAGE_NUM > page_num);
|
|
||||||
|
|
||||||
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#ifndef _zf_driver_flash_h_
|
#ifndef _zf_driver_flash_h_
|
||||||
|
|||||||
@@ -36,16 +36,6 @@
|
|||||||
#pragma section all "cpu0_dsram"
|
#pragma section all "cpu0_dsram"
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
||||||
|
|
||||||
|
|
||||||
// <20><><EFBFBD>̵<EFBFBD><CCB5>뵽<EFBFBD><EBB5BD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ѡ<EFBFBD>й<EFBFBD><D0B9><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>refreshˢ<68><CBA2>һ<EFBFBD><D2BB>֮<EFBFBD><D6AE><EFBFBD>ٱ<EFBFBD><D9B1><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ر<EFBFBD><D8B1>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>properties->C/C++ Build->Setting
|
|
||||||
// Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>C/C++ Compiler->Optimization->Optimization level<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>ȼ<EFBFBD>
|
|
||||||
// һ<><D2BB>Ĭ<EFBFBD><C4AC><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>̶<EFBFBD><CCB6><EFBFBD>Ĭ<EFBFBD>Ͽ<EFBFBD>2<EFBFBD><32><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ2<CEAA><32><EFBFBD>Ż<EFBFBD>
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
|
||||||
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
||||||
|
|
||||||
|
|
||||||
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***************************
|
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***************************
|
||||||
// <20><><EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>缴<EFBFBD><E7BCB4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>缴<EFBFBD><E7BCB4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|||||||
@@ -36,6 +36,9 @@
|
|||||||
#include "isr_config.h"
|
#include "isr_config.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
||||||
|
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
||||||
|
|
||||||
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
||||||
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V3.2.1
|
||||||
|
flash<73><68><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰҳ<C7B0><D2B3><EFBFBD>ж<EFBFBD> <20><>ֹ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><C3B2>淶<EFBFBD><E6B7B6><EFBFBD><EFBFBD>flashʹ<68>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
V3.2.0
|
V3.2.0
|
||||||
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* 2023-07-15 pudding д<><D0B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ֹ<EFBFBD>û<EFBFBD>ʹ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#include "IfxScuWdt.h"
|
#include "IfxScuWdt.h"
|
||||||
@@ -41,6 +43,7 @@
|
|||||||
|
|
||||||
|
|
||||||
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
static uint8 flash_erase_page_flag; // FLASH <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>־λ <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4> <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -86,6 +89,8 @@ void flash_erase_page (uint32 sector_num, uint32 page_num)
|
|||||||
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
||||||
|
|
||||||
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
||||||
|
|
||||||
|
flash_erase_page_flag = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -131,6 +136,11 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
uint32 data_cont = 0;
|
uint32 data_cont = 0;
|
||||||
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
||||||
|
|
||||||
|
if(flash_erase_page_flag == 0 && flash_check(sector_num, page_num))
|
||||||
|
{
|
||||||
|
flash_erase_page(sector_num, page_num);
|
||||||
|
}
|
||||||
|
|
||||||
for(data_cont = 0; data_cont < len; data_cont ++)
|
for(data_cont = 0; data_cont < len; data_cont ++)
|
||||||
{
|
{
|
||||||
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
||||||
@@ -147,6 +157,8 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
|
|
||||||
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flash_erase_page_flag = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -182,8 +194,6 @@ uint8 flash_write_page_from_buffer (uint32 sector_num, uint32 page_num)
|
|||||||
{
|
{
|
||||||
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
||||||
|
|
||||||
zf_assert(EEPROM_PAGE_NUM > page_num);
|
|
||||||
|
|
||||||
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#ifndef _zf_driver_flash_h_
|
#ifndef _zf_driver_flash_h_
|
||||||
|
|||||||
@@ -37,15 +37,6 @@
|
|||||||
#pragma section all "cpu0_dsram"
|
#pragma section all "cpu0_dsram"
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
||||||
|
|
||||||
|
|
||||||
// <20><><EFBFBD>̵<EFBFBD><CCB5>뵽<EFBFBD><EBB5BD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ѡ<EFBFBD>й<EFBFBD><D0B9><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>refreshˢ<68><CBA2>һ<EFBFBD><D2BB>֮<EFBFBD><D6AE><EFBFBD>ٱ<EFBFBD><D9B1><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ر<EFBFBD><D8B1>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>properties->C/C++ Build->Setting
|
|
||||||
// Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>C/C++ Compiler->Optimization->Optimization level<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>ȼ<EFBFBD>
|
|
||||||
// һ<><D2BB>Ĭ<EFBFBD><C4AC><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>̶<EFBFBD><CCB6><EFBFBD>Ĭ<EFBFBD>Ͽ<EFBFBD>2<EFBFBD><32><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ2<CEAA><32><EFBFBD>Ż<EFBFBD>
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
|
||||||
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
||||||
|
|
||||||
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***********************
|
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***********************
|
||||||
// <20><><EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>缴<EFBFBD><E7BCB4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>缴<EFBFBD><E7BCB4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|||||||
@@ -36,6 +36,9 @@
|
|||||||
#include "isr_config.h"
|
#include "isr_config.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
||||||
|
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
||||||
|
|
||||||
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
||||||
//IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
//IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
||||||
//{
|
//{
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V3.2.1
|
||||||
|
flash<73><68><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰҳ<C7B0><D2B3><EFBFBD>ж<EFBFBD> <20><>ֹ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><C3B2>淶<EFBFBD><E6B7B6><EFBFBD><EFBFBD>flashʹ<68>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
V3.2.0
|
V3.2.0
|
||||||
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* 2023-07-15 pudding д<><D0B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ֹ<EFBFBD>û<EFBFBD>ʹ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#include "IfxScuWdt.h"
|
#include "IfxScuWdt.h"
|
||||||
@@ -41,6 +43,7 @@
|
|||||||
|
|
||||||
|
|
||||||
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
static uint8 flash_erase_page_flag; // FLASH <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>־λ <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4> <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -86,6 +89,8 @@ void flash_erase_page (uint32 sector_num, uint32 page_num)
|
|||||||
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
||||||
|
|
||||||
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
||||||
|
|
||||||
|
flash_erase_page_flag = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -131,6 +136,11 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
uint32 data_cont = 0;
|
uint32 data_cont = 0;
|
||||||
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
||||||
|
|
||||||
|
if(flash_erase_page_flag == 0 && flash_check(sector_num, page_num))
|
||||||
|
{
|
||||||
|
flash_erase_page(sector_num, page_num);
|
||||||
|
}
|
||||||
|
|
||||||
for(data_cont = 0; data_cont < len; data_cont ++)
|
for(data_cont = 0; data_cont < len; data_cont ++)
|
||||||
{
|
{
|
||||||
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
||||||
@@ -147,6 +157,8 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
|
|
||||||
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flash_erase_page_flag = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -182,8 +194,6 @@ uint8 flash_write_page_from_buffer (uint32 sector_num, uint32 page_num)
|
|||||||
{
|
{
|
||||||
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
||||||
|
|
||||||
zf_assert(EEPROM_PAGE_NUM > page_num);
|
|
||||||
|
|
||||||
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#ifndef _zf_driver_flash_h_
|
#ifndef _zf_driver_flash_h_
|
||||||
|
|||||||
@@ -38,15 +38,6 @@
|
|||||||
#pragma section all "cpu0_dsram"
|
#pragma section all "cpu0_dsram"
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
||||||
|
|
||||||
|
|
||||||
// <20><><EFBFBD>̵<EFBFBD><CCB5>뵽<EFBFBD><EBB5BD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ѡ<EFBFBD>й<EFBFBD><D0B9><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>refreshˢ<68><CBA2>һ<EFBFBD><D2BB>֮<EFBFBD><D6AE><EFBFBD>ٱ<EFBFBD><D9B1><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ر<EFBFBD><D8B1>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>properties->C/C++ Build->Setting
|
|
||||||
// Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>C/C++ Compiler->Optimization->Optimization level<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>ȼ<EFBFBD>
|
|
||||||
// һ<><D2BB>Ĭ<EFBFBD><C4AC><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>̶<EFBFBD><CCB6><EFBFBD>Ĭ<EFBFBD>Ͽ<EFBFBD>2<EFBFBD><32><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ2<CEAA><32><EFBFBD>Ż<EFBFBD>
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
|
||||||
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
||||||
|
|
||||||
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***************************
|
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***************************
|
||||||
// <20><><EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>缴<EFBFBD><E7BCB4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>缴<EFBFBD><E7BCB4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|||||||
@@ -36,6 +36,9 @@
|
|||||||
#include "isr_config.h"
|
#include "isr_config.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
||||||
|
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
||||||
|
|
||||||
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
||||||
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V3.2.1
|
||||||
|
flash<73><68><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰҳ<C7B0><D2B3><EFBFBD>ж<EFBFBD> <20><>ֹ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><C3B2>淶<EFBFBD><E6B7B6><EFBFBD><EFBFBD>flashʹ<68>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
V3.2.0
|
V3.2.0
|
||||||
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* 2023-07-15 pudding д<><D0B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ֹ<EFBFBD>û<EFBFBD>ʹ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#include "IfxScuWdt.h"
|
#include "IfxScuWdt.h"
|
||||||
@@ -41,6 +43,7 @@
|
|||||||
|
|
||||||
|
|
||||||
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
static uint8 flash_erase_page_flag; // FLASH <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>־λ <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4> <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -86,6 +89,8 @@ void flash_erase_page (uint32 sector_num, uint32 page_num)
|
|||||||
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
||||||
|
|
||||||
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
||||||
|
|
||||||
|
flash_erase_page_flag = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -131,6 +136,11 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
uint32 data_cont = 0;
|
uint32 data_cont = 0;
|
||||||
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
||||||
|
|
||||||
|
if(flash_erase_page_flag == 0 && flash_check(sector_num, page_num))
|
||||||
|
{
|
||||||
|
flash_erase_page(sector_num, page_num);
|
||||||
|
}
|
||||||
|
|
||||||
for(data_cont = 0; data_cont < len; data_cont ++)
|
for(data_cont = 0; data_cont < len; data_cont ++)
|
||||||
{
|
{
|
||||||
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
||||||
@@ -147,6 +157,8 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
|
|
||||||
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flash_erase_page_flag = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -182,8 +194,6 @@ uint8 flash_write_page_from_buffer (uint32 sector_num, uint32 page_num)
|
|||||||
{
|
{
|
||||||
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
||||||
|
|
||||||
zf_assert(EEPROM_PAGE_NUM > page_num);
|
|
||||||
|
|
||||||
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#ifndef _zf_driver_flash_h_
|
#ifndef _zf_driver_flash_h_
|
||||||
|
|||||||
@@ -38,15 +38,6 @@
|
|||||||
#pragma section all "cpu0_dsram"
|
#pragma section all "cpu0_dsram"
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
||||||
|
|
||||||
|
|
||||||
// <20><><EFBFBD>̵<EFBFBD><CCB5>뵽<EFBFBD><EBB5BD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ѡ<EFBFBD>й<EFBFBD><D0B9><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>refreshˢ<68><CBA2>һ<EFBFBD><D2BB>֮<EFBFBD><D6AE><EFBFBD>ٱ<EFBFBD><D9B1><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ر<EFBFBD><D8B1>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>properties->C/C++ Build->Setting
|
|
||||||
// Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>C/C++ Compiler->Optimization->Optimization level<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>ȼ<EFBFBD>
|
|
||||||
// һ<><D2BB>Ĭ<EFBFBD><C4AC><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>̶<EFBFBD><CCB6><EFBFBD>Ĭ<EFBFBD>Ͽ<EFBFBD>2<EFBFBD><32><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ2<CEAA><32><EFBFBD>Ż<EFBFBD>
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
|
||||||
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
||||||
|
|
||||||
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***************************
|
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***************************
|
||||||
// ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF> Ӣ<><D3A2><EFBFBD><EFBFBD>TriCore <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF> Ӣ<><D3A2><EFBFBD><EFBFBD>TriCore <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
// ֱ<>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><DABA>İ<EFBFBD><C4B0>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽӿڼ<D3BF><DABC><EFBFBD>
|
// ֱ<>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><DABA>İ<EFBFBD><C4B0>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽӿڼ<D3BF><DABC><EFBFBD>
|
||||||
|
|||||||
@@ -36,6 +36,9 @@
|
|||||||
#include "isr_config.h"
|
#include "isr_config.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
||||||
|
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
||||||
|
|
||||||
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
||||||
//IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
//IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
||||||
//{
|
//{
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V3.2.1
|
||||||
|
flash<73><68><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰҳ<C7B0><D2B3><EFBFBD>ж<EFBFBD> <20><>ֹ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><C3B2>淶<EFBFBD><E6B7B6><EFBFBD><EFBFBD>flashʹ<68>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
V3.2.0
|
V3.2.0
|
||||||
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* 2023-07-15 pudding д<><D0B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ֹ<EFBFBD>û<EFBFBD>ʹ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#include "IfxScuWdt.h"
|
#include "IfxScuWdt.h"
|
||||||
@@ -41,6 +43,7 @@
|
|||||||
|
|
||||||
|
|
||||||
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
static uint8 flash_erase_page_flag; // FLASH <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>־λ <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4> <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -86,6 +89,8 @@ void flash_erase_page (uint32 sector_num, uint32 page_num)
|
|||||||
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
||||||
|
|
||||||
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
||||||
|
|
||||||
|
flash_erase_page_flag = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -131,6 +136,11 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
uint32 data_cont = 0;
|
uint32 data_cont = 0;
|
||||||
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
||||||
|
|
||||||
|
if(flash_erase_page_flag == 0 && flash_check(sector_num, page_num))
|
||||||
|
{
|
||||||
|
flash_erase_page(sector_num, page_num);
|
||||||
|
}
|
||||||
|
|
||||||
for(data_cont = 0; data_cont < len; data_cont ++)
|
for(data_cont = 0; data_cont < len; data_cont ++)
|
||||||
{
|
{
|
||||||
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
||||||
@@ -147,6 +157,8 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
|
|
||||||
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flash_erase_page_flag = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -182,8 +194,6 @@ uint8 flash_write_page_from_buffer (uint32 sector_num, uint32 page_num)
|
|||||||
{
|
{
|
||||||
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
||||||
|
|
||||||
zf_assert(EEPROM_PAGE_NUM > page_num);
|
|
||||||
|
|
||||||
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#ifndef _zf_driver_flash_h_
|
#ifndef _zf_driver_flash_h_
|
||||||
|
|||||||
@@ -36,16 +36,6 @@
|
|||||||
#pragma section all "cpu0_dsram"
|
#pragma section all "cpu0_dsram"
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
||||||
|
|
||||||
|
|
||||||
// <20><><EFBFBD>̵<EFBFBD><CCB5>뵽<EFBFBD><EBB5BD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ѡ<EFBFBD>й<EFBFBD><D0B9><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>refreshˢ<68><CBA2>һ<EFBFBD><D2BB>֮<EFBFBD><D6AE><EFBFBD>ٱ<EFBFBD><D9B1><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ر<EFBFBD><D8B1>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>properties->C/C++ Build->Setting
|
|
||||||
// Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>C/C++ Compiler->Optimization->Optimization level<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>ȼ<EFBFBD>
|
|
||||||
// һ<><D2BB>Ĭ<EFBFBD><C4AC><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>̶<EFBFBD><CCB6><EFBFBD>Ĭ<EFBFBD>Ͽ<EFBFBD>2<EFBFBD><32><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ2<CEAA><32><EFBFBD>Ż<EFBFBD>
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
|
||||||
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
||||||
|
|
||||||
|
|
||||||
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***************************
|
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***************************
|
||||||
// ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF> Ӣ<><D3A2><EFBFBD><EFBFBD>TriCore <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF> Ӣ<><D3A2><EFBFBD><EFBFBD>TriCore <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
// ֱ<>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><DABA>İ<EFBFBD><C4B0>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽӿڼ<D3BF><DABC><EFBFBD>
|
// ֱ<>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><DABA>İ<EFBFBD><C4B0>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽӿڼ<D3BF><DABC><EFBFBD>
|
||||||
|
|||||||
@@ -36,6 +36,9 @@
|
|||||||
#include "isr_config.h"
|
#include "isr_config.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
||||||
|
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
||||||
|
|
||||||
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
||||||
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V3.2.1
|
||||||
|
flash<73><68><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰҳ<C7B0><D2B3><EFBFBD>ж<EFBFBD> <20><>ֹ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><C3B2>淶<EFBFBD><E6B7B6><EFBFBD><EFBFBD>flashʹ<68>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
V3.2.0
|
V3.2.0
|
||||||
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* 2023-07-15 pudding д<><D0B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ֹ<EFBFBD>û<EFBFBD>ʹ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#include "IfxScuWdt.h"
|
#include "IfxScuWdt.h"
|
||||||
@@ -41,6 +43,7 @@
|
|||||||
|
|
||||||
|
|
||||||
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
static uint8 flash_erase_page_flag; // FLASH <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>־λ <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4> <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -86,6 +89,8 @@ void flash_erase_page (uint32 sector_num, uint32 page_num)
|
|||||||
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
||||||
|
|
||||||
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
||||||
|
|
||||||
|
flash_erase_page_flag = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -131,6 +136,11 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
uint32 data_cont = 0;
|
uint32 data_cont = 0;
|
||||||
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
||||||
|
|
||||||
|
if(flash_erase_page_flag == 0 && flash_check(sector_num, page_num))
|
||||||
|
{
|
||||||
|
flash_erase_page(sector_num, page_num);
|
||||||
|
}
|
||||||
|
|
||||||
for(data_cont = 0; data_cont < len; data_cont ++)
|
for(data_cont = 0; data_cont < len; data_cont ++)
|
||||||
{
|
{
|
||||||
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
||||||
@@ -147,6 +157,8 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
|
|
||||||
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flash_erase_page_flag = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -182,8 +194,6 @@ uint8 flash_write_page_from_buffer (uint32 sector_num, uint32 page_num)
|
|||||||
{
|
{
|
||||||
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
||||||
|
|
||||||
zf_assert(EEPROM_PAGE_NUM > page_num);
|
|
||||||
|
|
||||||
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#ifndef _zf_driver_flash_h_
|
#ifndef _zf_driver_flash_h_
|
||||||
|
|||||||
@@ -36,15 +36,6 @@
|
|||||||
#pragma section all "cpu0_dsram"
|
#pragma section all "cpu0_dsram"
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
||||||
|
|
||||||
|
|
||||||
// <20><><EFBFBD>̵<EFBFBD><CCB5>뵽<EFBFBD><EBB5BD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ѡ<EFBFBD>й<EFBFBD><D0B9><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>refreshˢ<68><CBA2>һ<EFBFBD><D2BB>֮<EFBFBD><D6AE><EFBFBD>ٱ<EFBFBD><D9B1><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ر<EFBFBD><D8B1>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>properties->C/C++ Build->Setting
|
|
||||||
// Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>C/C++ Compiler->Optimization->Optimization level<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>ȼ<EFBFBD>
|
|
||||||
// һ<><D2BB>Ĭ<EFBFBD><C4AC><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>̶<EFBFBD><CCB6><EFBFBD>Ĭ<EFBFBD>Ͽ<EFBFBD>2<EFBFBD><32><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ2<CEAA><32><EFBFBD>Ż<EFBFBD>
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
|
||||||
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
||||||
|
|
||||||
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***************************
|
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***************************
|
||||||
// ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF> Ӣ<><D3A2><EFBFBD><EFBFBD>TriCore <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF> Ӣ<><D3A2><EFBFBD><EFBFBD>TriCore <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
// ֱ<>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><DABA>İ<EFBFBD><C4B0>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽӿڼ<D3BF><DABC><EFBFBD>
|
// ֱ<>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><DABA>İ<EFBFBD><C4B0>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽӿڼ<D3BF><DABC><EFBFBD>
|
||||||
|
|||||||
@@ -36,6 +36,9 @@
|
|||||||
#include "isr_config.h"
|
#include "isr_config.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
||||||
|
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
||||||
|
|
||||||
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
||||||
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V3.2.1
|
||||||
|
flash<73><68><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰҳ<C7B0><D2B3><EFBFBD>ж<EFBFBD> <20><>ֹ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><C3B2>淶<EFBFBD><E6B7B6><EFBFBD><EFBFBD>flashʹ<68>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
V3.2.0
|
V3.2.0
|
||||||
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* 2023-07-15 pudding д<><D0B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ֹ<EFBFBD>û<EFBFBD>ʹ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#include "IfxScuWdt.h"
|
#include "IfxScuWdt.h"
|
||||||
@@ -41,6 +43,7 @@
|
|||||||
|
|
||||||
|
|
||||||
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
static uint8 flash_erase_page_flag; // FLASH <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>־λ <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4> <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -86,6 +89,8 @@ void flash_erase_page (uint32 sector_num, uint32 page_num)
|
|||||||
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
||||||
|
|
||||||
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
||||||
|
|
||||||
|
flash_erase_page_flag = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -131,6 +136,11 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
uint32 data_cont = 0;
|
uint32 data_cont = 0;
|
||||||
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
||||||
|
|
||||||
|
if(flash_erase_page_flag == 0 && flash_check(sector_num, page_num))
|
||||||
|
{
|
||||||
|
flash_erase_page(sector_num, page_num);
|
||||||
|
}
|
||||||
|
|
||||||
for(data_cont = 0; data_cont < len; data_cont ++)
|
for(data_cont = 0; data_cont < len; data_cont ++)
|
||||||
{
|
{
|
||||||
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
||||||
@@ -147,6 +157,8 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
|
|
||||||
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flash_erase_page_flag = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -182,8 +194,6 @@ uint8 flash_write_page_from_buffer (uint32 sector_num, uint32 page_num)
|
|||||||
{
|
{
|
||||||
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
||||||
|
|
||||||
zf_assert(EEPROM_PAGE_NUM > page_num);
|
|
||||||
|
|
||||||
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#ifndef _zf_driver_flash_h_
|
#ifndef _zf_driver_flash_h_
|
||||||
|
|||||||
@@ -36,15 +36,6 @@
|
|||||||
#pragma section all "cpu0_dsram"
|
#pragma section all "cpu0_dsram"
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
||||||
|
|
||||||
|
|
||||||
// <20><><EFBFBD>̵<EFBFBD><CCB5>뵽<EFBFBD><EBB5BD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ѡ<EFBFBD>й<EFBFBD><D0B9><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>refreshˢ<68><CBA2>һ<EFBFBD><D2BB>֮<EFBFBD><D6AE><EFBFBD>ٱ<EFBFBD><D9B1><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ر<EFBFBD><D8B1>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>properties->C/C++ Build->Setting
|
|
||||||
// Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>C/C++ Compiler->Optimization->Optimization level<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>ȼ<EFBFBD>
|
|
||||||
// һ<><D2BB>Ĭ<EFBFBD><C4AC><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>̶<EFBFBD><CCB6><EFBFBD>Ĭ<EFBFBD>Ͽ<EFBFBD>2<EFBFBD><32><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ2<CEAA><32><EFBFBD>Ż<EFBFBD>
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
|
||||||
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
||||||
|
|
||||||
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***************************
|
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***************************
|
||||||
// ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF> Ӣ<><D3A2><EFBFBD><EFBFBD>TriCore <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF> Ӣ<><D3A2><EFBFBD><EFBFBD>TriCore <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
// ֱ<>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><DABA>İ<EFBFBD><C4B0>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽӿڼ<D3BF><DABC><EFBFBD>
|
// ֱ<>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><DABA>İ<EFBFBD><C4B0>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽӿڼ<D3BF><DABC><EFBFBD>
|
||||||
|
|||||||
@@ -36,6 +36,9 @@
|
|||||||
#include "isr_config.h"
|
#include "isr_config.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
||||||
|
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
||||||
|
|
||||||
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
||||||
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V3.2.1
|
||||||
|
flash<73><68><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰҳ<C7B0><D2B3><EFBFBD>ж<EFBFBD> <20><>ֹ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><C3B2>淶<EFBFBD><E6B7B6><EFBFBD><EFBFBD>flashʹ<68>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
V3.2.0
|
V3.2.0
|
||||||
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* 2023-07-15 pudding д<><D0B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ֹ<EFBFBD>û<EFBFBD>ʹ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#include "IfxScuWdt.h"
|
#include "IfxScuWdt.h"
|
||||||
@@ -41,6 +43,7 @@
|
|||||||
|
|
||||||
|
|
||||||
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
static uint8 flash_erase_page_flag; // FLASH <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>־λ <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4> <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -86,6 +89,8 @@ void flash_erase_page (uint32 sector_num, uint32 page_num)
|
|||||||
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
||||||
|
|
||||||
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
||||||
|
|
||||||
|
flash_erase_page_flag = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -131,6 +136,11 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
uint32 data_cont = 0;
|
uint32 data_cont = 0;
|
||||||
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
||||||
|
|
||||||
|
if(flash_erase_page_flag == 0 && flash_check(sector_num, page_num))
|
||||||
|
{
|
||||||
|
flash_erase_page(sector_num, page_num);
|
||||||
|
}
|
||||||
|
|
||||||
for(data_cont = 0; data_cont < len; data_cont ++)
|
for(data_cont = 0; data_cont < len; data_cont ++)
|
||||||
{
|
{
|
||||||
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
||||||
@@ -147,6 +157,8 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
|
|
||||||
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flash_erase_page_flag = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -182,8 +194,6 @@ uint8 flash_write_page_from_buffer (uint32 sector_num, uint32 page_num)
|
|||||||
{
|
{
|
||||||
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
||||||
|
|
||||||
zf_assert(EEPROM_PAGE_NUM > page_num);
|
|
||||||
|
|
||||||
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#ifndef _zf_driver_flash_h_
|
#ifndef _zf_driver_flash_h_
|
||||||
|
|||||||
@@ -36,15 +36,6 @@
|
|||||||
#pragma section all "cpu0_dsram"
|
#pragma section all "cpu0_dsram"
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
||||||
|
|
||||||
|
|
||||||
// <20><><EFBFBD>̵<EFBFBD><CCB5>뵽<EFBFBD><EBB5BD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ѡ<EFBFBD>й<EFBFBD><D0B9><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>refreshˢ<68><CBA2>һ<EFBFBD><D2BB>֮<EFBFBD><D6AE><EFBFBD>ٱ<EFBFBD><D9B1><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ر<EFBFBD><D8B1>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>properties->C/C++ Build->Setting
|
|
||||||
// Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>C/C++ Compiler->Optimization->Optimization level<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>ȼ<EFBFBD>
|
|
||||||
// һ<><D2BB>Ĭ<EFBFBD><C4AC><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>̶<EFBFBD><CCB6><EFBFBD>Ĭ<EFBFBD>Ͽ<EFBFBD>2<EFBFBD><32><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ2<CEAA><32><EFBFBD>Ż<EFBFBD>
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
|
||||||
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
||||||
|
|
||||||
// **************************** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ****************************
|
// **************************** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ****************************
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -36,6 +36,9 @@
|
|||||||
#include "isr_config.h"
|
#include "isr_config.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
||||||
|
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
||||||
|
|
||||||
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
||||||
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V3.2.1
|
||||||
|
flash<73><68><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰҳ<C7B0><D2B3><EFBFBD>ж<EFBFBD> <20><>ֹ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><C3B2>淶<EFBFBD><E6B7B6><EFBFBD><EFBFBD>flashʹ<68>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
V3.2.0
|
V3.2.0
|
||||||
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* 2023-07-15 pudding д<><D0B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ֹ<EFBFBD>û<EFBFBD>ʹ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#include "IfxScuWdt.h"
|
#include "IfxScuWdt.h"
|
||||||
@@ -41,6 +43,7 @@
|
|||||||
|
|
||||||
|
|
||||||
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
static uint8 flash_erase_page_flag; // FLASH <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>־λ <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4> <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -86,6 +89,8 @@ void flash_erase_page (uint32 sector_num, uint32 page_num)
|
|||||||
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
||||||
|
|
||||||
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
||||||
|
|
||||||
|
flash_erase_page_flag = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -131,6 +136,11 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
uint32 data_cont = 0;
|
uint32 data_cont = 0;
|
||||||
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
||||||
|
|
||||||
|
if(flash_erase_page_flag == 0 && flash_check(sector_num, page_num))
|
||||||
|
{
|
||||||
|
flash_erase_page(sector_num, page_num);
|
||||||
|
}
|
||||||
|
|
||||||
for(data_cont = 0; data_cont < len; data_cont ++)
|
for(data_cont = 0; data_cont < len; data_cont ++)
|
||||||
{
|
{
|
||||||
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
||||||
@@ -147,6 +157,8 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
|
|
||||||
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flash_erase_page_flag = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -182,8 +194,6 @@ uint8 flash_write_page_from_buffer (uint32 sector_num, uint32 page_num)
|
|||||||
{
|
{
|
||||||
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
||||||
|
|
||||||
zf_assert(EEPROM_PAGE_NUM > page_num);
|
|
||||||
|
|
||||||
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#ifndef _zf_driver_flash_h_
|
#ifndef _zf_driver_flash_h_
|
||||||
|
|||||||
@@ -37,15 +37,6 @@
|
|||||||
#pragma section all "cpu0_dsram"
|
#pragma section all "cpu0_dsram"
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
||||||
|
|
||||||
|
|
||||||
// <20><><EFBFBD>̵<EFBFBD><CCB5>뵽<EFBFBD><EBB5BD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ѡ<EFBFBD>й<EFBFBD><D0B9><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>refreshˢ<68><CBA2>һ<EFBFBD><D2BB>֮<EFBFBD><D6AE><EFBFBD>ٱ<EFBFBD><D9B1><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ر<EFBFBD><D8B1>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>properties->C/C++ Build->Setting
|
|
||||||
// Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>C/C++ Compiler->Optimization->Optimization level<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>ȼ<EFBFBD>
|
|
||||||
// һ<><D2BB>Ĭ<EFBFBD><C4AC><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>̶<EFBFBD><CCB6><EFBFBD>Ĭ<EFBFBD>Ͽ<EFBFBD>2<EFBFBD><32><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ2<CEAA><32><EFBFBD>Ż<EFBFBD>
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
|
||||||
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
||||||
|
|
||||||
// **************************** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ****************************
|
// **************************** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ****************************
|
||||||
int core0_main(void)
|
int core0_main(void)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -36,6 +36,9 @@
|
|||||||
#include "isr_config.h"
|
#include "isr_config.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
||||||
|
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
||||||
|
|
||||||
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
||||||
//IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
//IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
||||||
//{
|
//{
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V3.2.1
|
||||||
|
flash<73><68><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰҳ<C7B0><D2B3><EFBFBD>ж<EFBFBD> <20><>ֹ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><C3B2>淶<EFBFBD><E6B7B6><EFBFBD><EFBFBD>flashʹ<68>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
V3.2.0
|
V3.2.0
|
||||||
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* 2023-07-15 pudding д<><D0B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ֹ<EFBFBD>û<EFBFBD>ʹ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#include "IfxScuWdt.h"
|
#include "IfxScuWdt.h"
|
||||||
@@ -41,6 +43,7 @@
|
|||||||
|
|
||||||
|
|
||||||
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
static uint8 flash_erase_page_flag; // FLASH <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>־λ <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4> <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -86,6 +89,8 @@ void flash_erase_page (uint32 sector_num, uint32 page_num)
|
|||||||
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
||||||
|
|
||||||
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
||||||
|
|
||||||
|
flash_erase_page_flag = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -131,6 +136,11 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
uint32 data_cont = 0;
|
uint32 data_cont = 0;
|
||||||
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
||||||
|
|
||||||
|
if(flash_erase_page_flag == 0 && flash_check(sector_num, page_num))
|
||||||
|
{
|
||||||
|
flash_erase_page(sector_num, page_num);
|
||||||
|
}
|
||||||
|
|
||||||
for(data_cont = 0; data_cont < len; data_cont ++)
|
for(data_cont = 0; data_cont < len; data_cont ++)
|
||||||
{
|
{
|
||||||
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
||||||
@@ -147,6 +157,8 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
|
|
||||||
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flash_erase_page_flag = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -182,8 +194,6 @@ uint8 flash_write_page_from_buffer (uint32 sector_num, uint32 page_num)
|
|||||||
{
|
{
|
||||||
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
||||||
|
|
||||||
zf_assert(EEPROM_PAGE_NUM > page_num);
|
|
||||||
|
|
||||||
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#ifndef _zf_driver_flash_h_
|
#ifndef _zf_driver_flash_h_
|
||||||
|
|||||||
@@ -36,15 +36,6 @@
|
|||||||
#pragma section all "cpu0_dsram"
|
#pragma section all "cpu0_dsram"
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
||||||
|
|
||||||
|
|
||||||
// <20><><EFBFBD>̵<EFBFBD><CCB5>뵽<EFBFBD><EBB5BD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ѡ<EFBFBD>й<EFBFBD><D0B9><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>refreshˢ<68><CBA2>һ<EFBFBD><D2BB>֮<EFBFBD><D6AE><EFBFBD>ٱ<EFBFBD><D9B1><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ر<EFBFBD><D8B1>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>properties->C/C++ Build->Setting
|
|
||||||
// Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>C/C++ Compiler->Optimization->Optimization level<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>ȼ<EFBFBD>
|
|
||||||
// һ<><D2BB>Ĭ<EFBFBD><C4AC><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>̶<EFBFBD><CCB6><EFBFBD>Ĭ<EFBFBD>Ͽ<EFBFBD>2<EFBFBD><32><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ2<CEAA><32><EFBFBD>Ż<EFBFBD>
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
|
||||||
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
||||||
|
|
||||||
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***********************
|
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***********************
|
||||||
// <20><><EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>缴<EFBFBD><E7BCB4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>缴<EFBFBD><E7BCB4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|||||||
@@ -36,6 +36,9 @@
|
|||||||
#include "isr_config.h"
|
#include "isr_config.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
||||||
|
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
||||||
|
|
||||||
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
||||||
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V3.2.1
|
||||||
|
flash<73><68><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰҳ<C7B0><D2B3><EFBFBD>ж<EFBFBD> <20><>ֹ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><C3B2>淶<EFBFBD><E6B7B6><EFBFBD><EFBFBD>flashʹ<68>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
V3.2.0
|
V3.2.0
|
||||||
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* 2023-07-15 pudding д<><D0B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ֹ<EFBFBD>û<EFBFBD>ʹ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#include "IfxScuWdt.h"
|
#include "IfxScuWdt.h"
|
||||||
@@ -41,6 +43,7 @@
|
|||||||
|
|
||||||
|
|
||||||
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
static uint8 flash_erase_page_flag; // FLASH <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>־λ <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4> <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -86,6 +89,8 @@ void flash_erase_page (uint32 sector_num, uint32 page_num)
|
|||||||
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
||||||
|
|
||||||
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
||||||
|
|
||||||
|
flash_erase_page_flag = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -131,6 +136,11 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
uint32 data_cont = 0;
|
uint32 data_cont = 0;
|
||||||
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
||||||
|
|
||||||
|
if(flash_erase_page_flag == 0 && flash_check(sector_num, page_num))
|
||||||
|
{
|
||||||
|
flash_erase_page(sector_num, page_num);
|
||||||
|
}
|
||||||
|
|
||||||
for(data_cont = 0; data_cont < len; data_cont ++)
|
for(data_cont = 0; data_cont < len; data_cont ++)
|
||||||
{
|
{
|
||||||
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
||||||
@@ -147,6 +157,8 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
|
|
||||||
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flash_erase_page_flag = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -182,8 +194,6 @@ uint8 flash_write_page_from_buffer (uint32 sector_num, uint32 page_num)
|
|||||||
{
|
{
|
||||||
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
||||||
|
|
||||||
zf_assert(EEPROM_PAGE_NUM > page_num);
|
|
||||||
|
|
||||||
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#ifndef _zf_driver_flash_h_
|
#ifndef _zf_driver_flash_h_
|
||||||
|
|||||||
@@ -34,14 +34,6 @@
|
|||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
#include "zf_common_headfile.h"
|
#include "zf_common_headfile.h"
|
||||||
|
|
||||||
// <20><><EFBFBD>̵<EFBFBD><CCB5>뵽<EFBFBD><EBB5BD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ѡ<EFBFBD>й<EFBFBD><D0B9><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>refreshˢ<68><CBA2>һ<EFBFBD><D2BB>֮<EFBFBD><D6AE><EFBFBD>ٱ<EFBFBD><D9B1><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ر<EFBFBD><D8B1>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>properties->C/C++ Build->Setting
|
|
||||||
// Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>C/C++ Compiler->Optimization->Optimization level<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>ȼ<EFBFBD>
|
|
||||||
// һ<><D2BB>Ĭ<EFBFBD><C4AC><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>̶<EFBFBD><CCB6><EFBFBD>Ĭ<EFBFBD>Ͽ<EFBFBD>2<EFBFBD><32><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ2<CEAA><32><EFBFBD>Ż<EFBFBD>
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
|
||||||
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
||||||
|
|
||||||
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***********************
|
// *************************** <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ***********************
|
||||||
// <20><><EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>缴<EFBFBD><E7BCB4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>缴<EFBFBD><E7BCB4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|||||||
@@ -36,6 +36,9 @@
|
|||||||
#include "isr_config.h"
|
#include "isr_config.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
||||||
|
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
||||||
|
|
||||||
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
||||||
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V3.2.1
|
||||||
|
flash<73><68><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰҳ<C7B0><D2B3><EFBFBD>ж<EFBFBD> <20><>ֹ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><C3B2>淶<EFBFBD><E6B7B6><EFBFBD><EFBFBD>flashʹ<68>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
V3.2.0
|
V3.2.0
|
||||||
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* 2023-07-15 pudding д<><D0B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ֹ<EFBFBD>û<EFBFBD>ʹ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#include "IfxScuWdt.h"
|
#include "IfxScuWdt.h"
|
||||||
@@ -41,6 +43,7 @@
|
|||||||
|
|
||||||
|
|
||||||
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
static uint8 flash_erase_page_flag; // FLASH <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>־λ <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4> <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -86,6 +89,8 @@ void flash_erase_page (uint32 sector_num, uint32 page_num)
|
|||||||
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
||||||
|
|
||||||
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
||||||
|
|
||||||
|
flash_erase_page_flag = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -131,6 +136,11 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
uint32 data_cont = 0;
|
uint32 data_cont = 0;
|
||||||
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
||||||
|
|
||||||
|
if(flash_erase_page_flag == 0 && flash_check(sector_num, page_num))
|
||||||
|
{
|
||||||
|
flash_erase_page(sector_num, page_num);
|
||||||
|
}
|
||||||
|
|
||||||
for(data_cont = 0; data_cont < len; data_cont ++)
|
for(data_cont = 0; data_cont < len; data_cont ++)
|
||||||
{
|
{
|
||||||
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
||||||
@@ -147,6 +157,8 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
|
|
||||||
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flash_erase_page_flag = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -182,8 +194,6 @@ uint8 flash_write_page_from_buffer (uint32 sector_num, uint32 page_num)
|
|||||||
{
|
{
|
||||||
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
||||||
|
|
||||||
zf_assert(EEPROM_PAGE_NUM > page_num);
|
|
||||||
|
|
||||||
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#ifndef _zf_driver_flash_h_
|
#ifndef _zf_driver_flash_h_
|
||||||
|
|||||||
@@ -46,13 +46,9 @@ cfloat32 fft_in [SIZE_N];
|
|||||||
cfloat32 fft_out[SIZE_N];
|
cfloat32 fft_out[SIZE_N];
|
||||||
uint32 use_time;
|
uint32 use_time;
|
||||||
|
|
||||||
// <20><><EFBFBD>̵<EFBFBD><CCB5>뵽<EFBFBD><EBB5BD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ѡ<EFBFBD>й<EFBFBD><D0B9><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>refreshˢ<68><CBA2>һ<EFBFBD><D2BB>֮<EFBFBD><D6AE><EFBFBD>ٱ<EFBFBD><D9B1><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ر<EFBFBD><D8B1>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>properties->C/C++ Build->Setting
|
|
||||||
// Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>C/C++ Compiler->Optimization->Optimization level<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>ȼ<EFBFBD>
|
|
||||||
// һ<><D2BB>Ĭ<EFBFBD><C4AC><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>̶<EFBFBD><CCB6><EFBFBD>Ĭ<EFBFBD>Ͽ<EFBFBD>2<EFBFBD><32><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ2<CEAA><32><EFBFBD>Ż<EFBFBD>
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
|
||||||
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
||||||
|
|
||||||
float x1, x2;
|
float x1, x2;
|
||||||
|
|
||||||
|
|||||||
@@ -36,6 +36,9 @@
|
|||||||
#include "isr_config.h"
|
#include "isr_config.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
||||||
|
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
||||||
|
|
||||||
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
||||||
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V3.2.1
|
||||||
|
flash<73><68><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰҳ<C7B0><D2B3><EFBFBD>ж<EFBFBD> <20><>ֹ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><C3B2>淶<EFBFBD><E6B7B6><EFBFBD><EFBFBD>flashʹ<68>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
V3.2.0
|
V3.2.0
|
||||||
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>wifi spiģ<69><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
<20><><EFBFBD><EFBFBD>detector<6F><72>λ<EFBFBD><CEBB>API<50>ӿ<EFBFBD>
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* 2023-07-15 pudding д<><D0B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ֹ<EFBFBD>û<EFBFBD>ʹ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#include "IfxScuWdt.h"
|
#include "IfxScuWdt.h"
|
||||||
@@ -41,6 +43,7 @@
|
|||||||
|
|
||||||
|
|
||||||
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
flash_data_union flash_union_buffer[EEPROM_PAGE_LENGTH]; // FLASH <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
static uint8 flash_erase_page_flag; // FLASH <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>־λ <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4> <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> У<><D0A3>FLASHҳ<48>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -86,6 +89,8 @@ void flash_erase_page (uint32 sector_num, uint32 page_num)
|
|||||||
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
IfxScuWdt_setSafetyEndinit (end_init_sfty_pw);
|
||||||
|
|
||||||
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(flash, IfxFlash_FlashType_D0);
|
||||||
|
|
||||||
|
flash_erase_page_flag = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -131,6 +136,11 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
uint32 data_cont = 0;
|
uint32 data_cont = 0;
|
||||||
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
end_init_sfty_pw = IfxScuWdt_getSafetyWatchdogPassword();
|
||||||
|
|
||||||
|
if(flash_erase_page_flag == 0 && flash_check(sector_num, page_num))
|
||||||
|
{
|
||||||
|
flash_erase_page(sector_num, page_num);
|
||||||
|
}
|
||||||
|
|
||||||
for(data_cont = 0; data_cont < len; data_cont ++)
|
for(data_cont = 0; data_cont < len; data_cont ++)
|
||||||
{
|
{
|
||||||
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
data_addr = flash_addr + data_cont * FLASH_DATA_SIZE;
|
||||||
@@ -147,6 +157,8 @@ void flash_write_page (uint32 sector_num, uint32 page_num, const uint32 *buf, ui
|
|||||||
|
|
||||||
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
IfxFlash_waitUnbusy(0, IfxFlash_FlashType_D0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flash_erase_page_flag = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -182,8 +194,6 @@ uint8 flash_write_page_from_buffer (uint32 sector_num, uint32 page_num)
|
|||||||
{
|
{
|
||||||
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
uint32 *data_pointer = (uint32 *)flash_union_buffer;
|
||||||
|
|
||||||
zf_assert(EEPROM_PAGE_NUM > page_num);
|
|
||||||
|
|
||||||
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
flash_write_page(0, page_num, data_pointer, EEPROM_PAGE_LENGTH);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
* <20>ļ<DEB8>¼
|
* <20>ļ<DEB8>¼
|
||||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
|
||||||
* 2022-09-15 pudding first version
|
* 2022-09-15 pudding first version
|
||||||
|
* 2023-07-14 pudding <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#ifndef _zf_driver_flash_h_
|
#ifndef _zf_driver_flash_h_
|
||||||
|
|||||||
@@ -36,18 +36,9 @@
|
|||||||
#pragma section all "cpu0_dsram"
|
#pragma section all "cpu0_dsram"
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#pragma section all restore<72><65><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU0<55><30>RAM<41><4D>
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>չ<EFBFBD><D5B9><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD>߲<EFBFBD><DFB2>Ը<EFBFBD><D4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
// <20><><EFBFBD>̵<EFBFBD><EFBFBD>뵽<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>ѡ<EFBFBD>й<EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>refreshˢ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD>ٱ<EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD>߲<EFBFBD><EFBFBD>Ը<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
// <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ر<EFBFBD><EFBFBD>Ż<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>properties->C/C++ Build->Setting
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD>߲<EFBFBD><EFBFBD>Ը<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
// Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>C/C++ Compiler->Optimization->Optimization level<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>ȼ<EFBFBD>
|
|
||||||
// һ<><D2BB>Ĭ<EFBFBD><C4AC><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>̶<EFBFBD><CCB6><EFBFBD>Ĭ<EFBFBD>Ͽ<EFBFBD>2<EFBFBD><32><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ2<CEAA><32><EFBFBD>Ż<EFBFBD>
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
|
||||||
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>ֲ<EFBFBD>ÿչ<C3BF><D5B9><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>ֲ<EFBFBD>ÿչ<C3BF><D5B9><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>ֲ<EFBFBD>ÿչ<C3BF><D5B9><EFBFBD>
|
|
||||||
|
|
||||||
// **************************** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ****************************
|
// **************************** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ****************************
|
||||||
|
|
||||||
|
|||||||
@@ -36,6 +36,9 @@
|
|||||||
#include "isr_config.h"
|
#include "isr_config.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>TCϵ<43><CFB5>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD>ģ<D7B5>ϣ<EFBFBD><CFA3>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʹ<EFBFBD><CAB9> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6>
|
||||||
|
// <20><EFBFBD>˵ʵ<CBB5><CAB5><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD>жϺ<D0B6>TCϵ<43>е<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interrupt_global_disable(); <20><><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD>Ӧ<EFBFBD>κε<CEBA><CEB5>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> interrupt_global_enable(0); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
||||||
|
|
||||||
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
// **************************** PIT<49>жϺ<D0B6><CFBA><EFBFBD> ****************************
|
||||||
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user