mirror of
https://gitee.com/seekfree/TC264_Library.git
synced 2026-06-04 03:32:56 +00:00
修改多核心同步函数,取消信号量控制方式
This commit is contained in:
@@ -37,12 +37,14 @@
|
|||||||
#include "Ifxstm.h"
|
#include "Ifxstm.h"
|
||||||
#include "Cpu0_Main.h"
|
#include "Cpu0_Main.h"
|
||||||
#include "Cpu/Std/IfxCpu.h"
|
#include "Cpu/Std/IfxCpu.h"
|
||||||
|
#include "zf_driver_delay.h"
|
||||||
#include "zf_common_interrupt.h"
|
#include "zf_common_interrupt.h"
|
||||||
#include "zf_common_clock.h"
|
#include "zf_common_clock.h"
|
||||||
|
|
||||||
|
|
||||||
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
IFX_ALIGN(4) IfxCpu_syncEvent g_cpuSyncEvent = 0; // <20>¼<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
static uint8 cpu_init_finsh[IfxCpu_Id_none]; // <20><><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
||||||
@@ -106,8 +108,20 @@ void clock_init (void)
|
|||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void cpu_wait_event_ready (void)
|
void cpu_wait_event_ready (void)
|
||||||
{
|
{
|
||||||
while(IfxCpu_waitEvent(&g_cpuSyncEvent, 5))
|
uint8 i;
|
||||||
|
uint8 all_cpu_init_finsh;
|
||||||
|
|
||||||
|
// <20><><EFBFBD>ô˺<C3B4><CBBA><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>־λ<D6BE><CEBB>һ
|
||||||
|
cpu_init_finsh[IfxCpu_getCoreId()] = 1;
|
||||||
|
|
||||||
|
// <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
do
|
||||||
{
|
{
|
||||||
IfxCpu_emitEvent(&g_cpuSyncEvent);
|
all_cpu_init_finsh = 1;
|
||||||
}
|
for(i = 0; i < IfxCpu_Id_none; i++)
|
||||||
|
{
|
||||||
|
all_cpu_init_finsh *= cpu_init_finsh[i];
|
||||||
|
}
|
||||||
|
system_delay_ms(1);
|
||||||
|
}while(0 == all_cpu_init_finsh);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,12 +37,14 @@
|
|||||||
#include "Ifxstm.h"
|
#include "Ifxstm.h"
|
||||||
#include "Cpu0_Main.h"
|
#include "Cpu0_Main.h"
|
||||||
#include "Cpu/Std/IfxCpu.h"
|
#include "Cpu/Std/IfxCpu.h"
|
||||||
|
#include "zf_driver_delay.h"
|
||||||
#include "zf_common_interrupt.h"
|
#include "zf_common_interrupt.h"
|
||||||
#include "zf_common_clock.h"
|
#include "zf_common_clock.h"
|
||||||
|
|
||||||
|
|
||||||
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
IFX_ALIGN(4) IfxCpu_syncEvent g_cpuSyncEvent = 0; // <20>¼<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
static uint8 cpu_init_finsh[IfxCpu_Id_none]; // <20><><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
||||||
@@ -106,8 +108,20 @@ void clock_init (void)
|
|||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void cpu_wait_event_ready (void)
|
void cpu_wait_event_ready (void)
|
||||||
{
|
{
|
||||||
while(IfxCpu_waitEvent(&g_cpuSyncEvent, 5))
|
uint8 i;
|
||||||
|
uint8 all_cpu_init_finsh;
|
||||||
|
|
||||||
|
// <20><><EFBFBD>ô˺<C3B4><CBBA><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>־λ<D6BE><CEBB>һ
|
||||||
|
cpu_init_finsh[IfxCpu_getCoreId()] = 1;
|
||||||
|
|
||||||
|
// <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
do
|
||||||
{
|
{
|
||||||
IfxCpu_emitEvent(&g_cpuSyncEvent);
|
all_cpu_init_finsh = 1;
|
||||||
}
|
for(i = 0; i < IfxCpu_Id_none; i++)
|
||||||
|
{
|
||||||
|
all_cpu_init_finsh *= cpu_init_finsh[i];
|
||||||
|
}
|
||||||
|
system_delay_ms(1);
|
||||||
|
}while(0 == all_cpu_init_finsh);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,12 +37,14 @@
|
|||||||
#include "Ifxstm.h"
|
#include "Ifxstm.h"
|
||||||
#include "Cpu0_Main.h"
|
#include "Cpu0_Main.h"
|
||||||
#include "Cpu/Std/IfxCpu.h"
|
#include "Cpu/Std/IfxCpu.h"
|
||||||
|
#include "zf_driver_delay.h"
|
||||||
#include "zf_common_interrupt.h"
|
#include "zf_common_interrupt.h"
|
||||||
#include "zf_common_clock.h"
|
#include "zf_common_clock.h"
|
||||||
|
|
||||||
|
|
||||||
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
IFX_ALIGN(4) IfxCpu_syncEvent g_cpuSyncEvent = 0; // <20>¼<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
static uint8 cpu_init_finsh[IfxCpu_Id_none]; // <20><><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
||||||
@@ -106,8 +108,20 @@ void clock_init (void)
|
|||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void cpu_wait_event_ready (void)
|
void cpu_wait_event_ready (void)
|
||||||
{
|
{
|
||||||
while(IfxCpu_waitEvent(&g_cpuSyncEvent, 5))
|
uint8 i;
|
||||||
|
uint8 all_cpu_init_finsh;
|
||||||
|
|
||||||
|
// <20><><EFBFBD>ô˺<C3B4><CBBA><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>־λ<D6BE><CEBB>һ
|
||||||
|
cpu_init_finsh[IfxCpu_getCoreId()] = 1;
|
||||||
|
|
||||||
|
// <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
do
|
||||||
{
|
{
|
||||||
IfxCpu_emitEvent(&g_cpuSyncEvent);
|
all_cpu_init_finsh = 1;
|
||||||
}
|
for(i = 0; i < IfxCpu_Id_none; i++)
|
||||||
|
{
|
||||||
|
all_cpu_init_finsh *= cpu_init_finsh[i];
|
||||||
|
}
|
||||||
|
system_delay_ms(1);
|
||||||
|
}while(0 == all_cpu_init_finsh);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,12 +37,14 @@
|
|||||||
#include "Ifxstm.h"
|
#include "Ifxstm.h"
|
||||||
#include "Cpu0_Main.h"
|
#include "Cpu0_Main.h"
|
||||||
#include "Cpu/Std/IfxCpu.h"
|
#include "Cpu/Std/IfxCpu.h"
|
||||||
|
#include "zf_driver_delay.h"
|
||||||
#include "zf_common_interrupt.h"
|
#include "zf_common_interrupt.h"
|
||||||
#include "zf_common_clock.h"
|
#include "zf_common_clock.h"
|
||||||
|
|
||||||
|
|
||||||
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
IFX_ALIGN(4) IfxCpu_syncEvent g_cpuSyncEvent = 0; // <20>¼<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
static uint8 cpu_init_finsh[IfxCpu_Id_none]; // <20><><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
||||||
@@ -106,8 +108,20 @@ void clock_init (void)
|
|||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void cpu_wait_event_ready (void)
|
void cpu_wait_event_ready (void)
|
||||||
{
|
{
|
||||||
while(IfxCpu_waitEvent(&g_cpuSyncEvent, 5))
|
uint8 i;
|
||||||
|
uint8 all_cpu_init_finsh;
|
||||||
|
|
||||||
|
// <20><><EFBFBD>ô˺<C3B4><CBBA><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>־λ<D6BE><CEBB>һ
|
||||||
|
cpu_init_finsh[IfxCpu_getCoreId()] = 1;
|
||||||
|
|
||||||
|
// <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
do
|
||||||
{
|
{
|
||||||
IfxCpu_emitEvent(&g_cpuSyncEvent);
|
all_cpu_init_finsh = 1;
|
||||||
}
|
for(i = 0; i < IfxCpu_Id_none; i++)
|
||||||
|
{
|
||||||
|
all_cpu_init_finsh *= cpu_init_finsh[i];
|
||||||
|
}
|
||||||
|
system_delay_ms(1);
|
||||||
|
}while(0 == all_cpu_init_finsh);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,12 +37,14 @@
|
|||||||
#include "Ifxstm.h"
|
#include "Ifxstm.h"
|
||||||
#include "Cpu0_Main.h"
|
#include "Cpu0_Main.h"
|
||||||
#include "Cpu/Std/IfxCpu.h"
|
#include "Cpu/Std/IfxCpu.h"
|
||||||
|
#include "zf_driver_delay.h"
|
||||||
#include "zf_common_interrupt.h"
|
#include "zf_common_interrupt.h"
|
||||||
#include "zf_common_clock.h"
|
#include "zf_common_clock.h"
|
||||||
|
|
||||||
|
|
||||||
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
IFX_ALIGN(4) IfxCpu_syncEvent g_cpuSyncEvent = 0; // <20>¼<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
static uint8 cpu_init_finsh[IfxCpu_Id_none]; // <20><><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
||||||
@@ -106,8 +108,20 @@ void clock_init (void)
|
|||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void cpu_wait_event_ready (void)
|
void cpu_wait_event_ready (void)
|
||||||
{
|
{
|
||||||
while(IfxCpu_waitEvent(&g_cpuSyncEvent, 5))
|
uint8 i;
|
||||||
|
uint8 all_cpu_init_finsh;
|
||||||
|
|
||||||
|
// <20><><EFBFBD>ô˺<C3B4><CBBA><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>־λ<D6BE><CEBB>һ
|
||||||
|
cpu_init_finsh[IfxCpu_getCoreId()] = 1;
|
||||||
|
|
||||||
|
// <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
do
|
||||||
{
|
{
|
||||||
IfxCpu_emitEvent(&g_cpuSyncEvent);
|
all_cpu_init_finsh = 1;
|
||||||
}
|
for(i = 0; i < IfxCpu_Id_none; i++)
|
||||||
|
{
|
||||||
|
all_cpu_init_finsh *= cpu_init_finsh[i];
|
||||||
|
}
|
||||||
|
system_delay_ms(1);
|
||||||
|
}while(0 == all_cpu_init_finsh);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,12 +37,14 @@
|
|||||||
#include "Ifxstm.h"
|
#include "Ifxstm.h"
|
||||||
#include "Cpu0_Main.h"
|
#include "Cpu0_Main.h"
|
||||||
#include "Cpu/Std/IfxCpu.h"
|
#include "Cpu/Std/IfxCpu.h"
|
||||||
|
#include "zf_driver_delay.h"
|
||||||
#include "zf_common_interrupt.h"
|
#include "zf_common_interrupt.h"
|
||||||
#include "zf_common_clock.h"
|
#include "zf_common_clock.h"
|
||||||
|
|
||||||
|
|
||||||
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
IFX_ALIGN(4) IfxCpu_syncEvent g_cpuSyncEvent = 0; // <20>¼<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
static uint8 cpu_init_finsh[IfxCpu_Id_none]; // <20><><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
||||||
@@ -106,8 +108,20 @@ void clock_init (void)
|
|||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void cpu_wait_event_ready (void)
|
void cpu_wait_event_ready (void)
|
||||||
{
|
{
|
||||||
while(IfxCpu_waitEvent(&g_cpuSyncEvent, 5))
|
uint8 i;
|
||||||
|
uint8 all_cpu_init_finsh;
|
||||||
|
|
||||||
|
// <20><><EFBFBD>ô˺<C3B4><CBBA><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>־λ<D6BE><CEBB>һ
|
||||||
|
cpu_init_finsh[IfxCpu_getCoreId()] = 1;
|
||||||
|
|
||||||
|
// <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
do
|
||||||
{
|
{
|
||||||
IfxCpu_emitEvent(&g_cpuSyncEvent);
|
all_cpu_init_finsh = 1;
|
||||||
}
|
for(i = 0; i < IfxCpu_Id_none; i++)
|
||||||
|
{
|
||||||
|
all_cpu_init_finsh *= cpu_init_finsh[i];
|
||||||
|
}
|
||||||
|
system_delay_ms(1);
|
||||||
|
}while(0 == all_cpu_init_finsh);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,12 +37,14 @@
|
|||||||
#include "Ifxstm.h"
|
#include "Ifxstm.h"
|
||||||
#include "Cpu0_Main.h"
|
#include "Cpu0_Main.h"
|
||||||
#include "Cpu/Std/IfxCpu.h"
|
#include "Cpu/Std/IfxCpu.h"
|
||||||
|
#include "zf_driver_delay.h"
|
||||||
#include "zf_common_interrupt.h"
|
#include "zf_common_interrupt.h"
|
||||||
#include "zf_common_clock.h"
|
#include "zf_common_clock.h"
|
||||||
|
|
||||||
|
|
||||||
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
IFX_ALIGN(4) IfxCpu_syncEvent g_cpuSyncEvent = 0; // <20>¼<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
static uint8 cpu_init_finsh[IfxCpu_Id_none]; // <20><><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
||||||
@@ -106,8 +108,20 @@ void clock_init (void)
|
|||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void cpu_wait_event_ready (void)
|
void cpu_wait_event_ready (void)
|
||||||
{
|
{
|
||||||
while(IfxCpu_waitEvent(&g_cpuSyncEvent, 5))
|
uint8 i;
|
||||||
|
uint8 all_cpu_init_finsh;
|
||||||
|
|
||||||
|
// <20><><EFBFBD>ô˺<C3B4><CBBA><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>־λ<D6BE><CEBB>һ
|
||||||
|
cpu_init_finsh[IfxCpu_getCoreId()] = 1;
|
||||||
|
|
||||||
|
// <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
do
|
||||||
{
|
{
|
||||||
IfxCpu_emitEvent(&g_cpuSyncEvent);
|
all_cpu_init_finsh = 1;
|
||||||
}
|
for(i = 0; i < IfxCpu_Id_none; i++)
|
||||||
|
{
|
||||||
|
all_cpu_init_finsh *= cpu_init_finsh[i];
|
||||||
|
}
|
||||||
|
system_delay_ms(1);
|
||||||
|
}while(0 == all_cpu_init_finsh);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,12 +37,14 @@
|
|||||||
#include "Ifxstm.h"
|
#include "Ifxstm.h"
|
||||||
#include "Cpu0_Main.h"
|
#include "Cpu0_Main.h"
|
||||||
#include "Cpu/Std/IfxCpu.h"
|
#include "Cpu/Std/IfxCpu.h"
|
||||||
|
#include "zf_driver_delay.h"
|
||||||
#include "zf_common_interrupt.h"
|
#include "zf_common_interrupt.h"
|
||||||
#include "zf_common_clock.h"
|
#include "zf_common_clock.h"
|
||||||
|
|
||||||
|
|
||||||
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
IFX_ALIGN(4) IfxCpu_syncEvent g_cpuSyncEvent = 0; // <20>¼<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
static uint8 cpu_init_finsh[IfxCpu_Id_none]; // <20><><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
||||||
@@ -106,8 +108,20 @@ void clock_init (void)
|
|||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void cpu_wait_event_ready (void)
|
void cpu_wait_event_ready (void)
|
||||||
{
|
{
|
||||||
while(IfxCpu_waitEvent(&g_cpuSyncEvent, 5))
|
uint8 i;
|
||||||
|
uint8 all_cpu_init_finsh;
|
||||||
|
|
||||||
|
// <20><><EFBFBD>ô˺<C3B4><CBBA><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>־λ<D6BE><CEBB>һ
|
||||||
|
cpu_init_finsh[IfxCpu_getCoreId()] = 1;
|
||||||
|
|
||||||
|
// <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
do
|
||||||
{
|
{
|
||||||
IfxCpu_emitEvent(&g_cpuSyncEvent);
|
all_cpu_init_finsh = 1;
|
||||||
}
|
for(i = 0; i < IfxCpu_Id_none; i++)
|
||||||
|
{
|
||||||
|
all_cpu_init_finsh *= cpu_init_finsh[i];
|
||||||
|
}
|
||||||
|
system_delay_ms(1);
|
||||||
|
}while(0 == all_cpu_init_finsh);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,12 +37,14 @@
|
|||||||
#include "Ifxstm.h"
|
#include "Ifxstm.h"
|
||||||
#include "Cpu0_Main.h"
|
#include "Cpu0_Main.h"
|
||||||
#include "Cpu/Std/IfxCpu.h"
|
#include "Cpu/Std/IfxCpu.h"
|
||||||
|
#include "zf_driver_delay.h"
|
||||||
#include "zf_common_interrupt.h"
|
#include "zf_common_interrupt.h"
|
||||||
#include "zf_common_clock.h"
|
#include "zf_common_clock.h"
|
||||||
|
|
||||||
|
|
||||||
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
IFX_ALIGN(4) IfxCpu_syncEvent g_cpuSyncEvent = 0; // <20>¼<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
static uint8 cpu_init_finsh[IfxCpu_Id_none]; // <20><><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
||||||
@@ -106,8 +108,20 @@ void clock_init (void)
|
|||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void cpu_wait_event_ready (void)
|
void cpu_wait_event_ready (void)
|
||||||
{
|
{
|
||||||
while(IfxCpu_waitEvent(&g_cpuSyncEvent, 5))
|
uint8 i;
|
||||||
|
uint8 all_cpu_init_finsh;
|
||||||
|
|
||||||
|
// <20><><EFBFBD>ô˺<C3B4><CBBA><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>־λ<D6BE><CEBB>һ
|
||||||
|
cpu_init_finsh[IfxCpu_getCoreId()] = 1;
|
||||||
|
|
||||||
|
// <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
do
|
||||||
{
|
{
|
||||||
IfxCpu_emitEvent(&g_cpuSyncEvent);
|
all_cpu_init_finsh = 1;
|
||||||
}
|
for(i = 0; i < IfxCpu_Id_none; i++)
|
||||||
|
{
|
||||||
|
all_cpu_init_finsh *= cpu_init_finsh[i];
|
||||||
|
}
|
||||||
|
system_delay_ms(1);
|
||||||
|
}while(0 == all_cpu_init_finsh);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,12 +37,14 @@
|
|||||||
#include "Ifxstm.h"
|
#include "Ifxstm.h"
|
||||||
#include "Cpu0_Main.h"
|
#include "Cpu0_Main.h"
|
||||||
#include "Cpu/Std/IfxCpu.h"
|
#include "Cpu/Std/IfxCpu.h"
|
||||||
|
#include "zf_driver_delay.h"
|
||||||
#include "zf_common_interrupt.h"
|
#include "zf_common_interrupt.h"
|
||||||
#include "zf_common_clock.h"
|
#include "zf_common_clock.h"
|
||||||
|
|
||||||
|
|
||||||
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
IFX_ALIGN(4) IfxCpu_syncEvent g_cpuSyncEvent = 0; // <20>¼<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
static uint8 cpu_init_finsh[IfxCpu_Id_none]; // <20><><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
||||||
@@ -106,8 +108,20 @@ void clock_init (void)
|
|||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void cpu_wait_event_ready (void)
|
void cpu_wait_event_ready (void)
|
||||||
{
|
{
|
||||||
while(IfxCpu_waitEvent(&g_cpuSyncEvent, 5))
|
uint8 i;
|
||||||
|
uint8 all_cpu_init_finsh;
|
||||||
|
|
||||||
|
// <20><><EFBFBD>ô˺<C3B4><CBBA><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>־λ<D6BE><CEBB>һ
|
||||||
|
cpu_init_finsh[IfxCpu_getCoreId()] = 1;
|
||||||
|
|
||||||
|
// <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
do
|
||||||
{
|
{
|
||||||
IfxCpu_emitEvent(&g_cpuSyncEvent);
|
all_cpu_init_finsh = 1;
|
||||||
}
|
for(i = 0; i < IfxCpu_Id_none; i++)
|
||||||
|
{
|
||||||
|
all_cpu_init_finsh *= cpu_init_finsh[i];
|
||||||
|
}
|
||||||
|
system_delay_ms(1);
|
||||||
|
}while(0 == all_cpu_init_finsh);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,12 +37,14 @@
|
|||||||
#include "Ifxstm.h"
|
#include "Ifxstm.h"
|
||||||
#include "Cpu0_Main.h"
|
#include "Cpu0_Main.h"
|
||||||
#include "Cpu/Std/IfxCpu.h"
|
#include "Cpu/Std/IfxCpu.h"
|
||||||
|
#include "zf_driver_delay.h"
|
||||||
#include "zf_common_interrupt.h"
|
#include "zf_common_interrupt.h"
|
||||||
#include "zf_common_clock.h"
|
#include "zf_common_clock.h"
|
||||||
|
|
||||||
|
|
||||||
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
IFX_ALIGN(4) IfxCpu_syncEvent g_cpuSyncEvent = 0; // <20>¼<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
static uint8 cpu_init_finsh[IfxCpu_Id_none]; // <20><><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
||||||
@@ -106,8 +108,20 @@ void clock_init (void)
|
|||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void cpu_wait_event_ready (void)
|
void cpu_wait_event_ready (void)
|
||||||
{
|
{
|
||||||
while(IfxCpu_waitEvent(&g_cpuSyncEvent, 5))
|
uint8 i;
|
||||||
|
uint8 all_cpu_init_finsh;
|
||||||
|
|
||||||
|
// <20><><EFBFBD>ô˺<C3B4><CBBA><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>־λ<D6BE><CEBB>һ
|
||||||
|
cpu_init_finsh[IfxCpu_getCoreId()] = 1;
|
||||||
|
|
||||||
|
// <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
do
|
||||||
{
|
{
|
||||||
IfxCpu_emitEvent(&g_cpuSyncEvent);
|
all_cpu_init_finsh = 1;
|
||||||
}
|
for(i = 0; i < IfxCpu_Id_none; i++)
|
||||||
|
{
|
||||||
|
all_cpu_init_finsh *= cpu_init_finsh[i];
|
||||||
|
}
|
||||||
|
system_delay_ms(1);
|
||||||
|
}while(0 == all_cpu_init_finsh);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,12 +37,14 @@
|
|||||||
#include "Ifxstm.h"
|
#include "Ifxstm.h"
|
||||||
#include "Cpu0_Main.h"
|
#include "Cpu0_Main.h"
|
||||||
#include "Cpu/Std/IfxCpu.h"
|
#include "Cpu/Std/IfxCpu.h"
|
||||||
|
#include "zf_driver_delay.h"
|
||||||
#include "zf_common_interrupt.h"
|
#include "zf_common_interrupt.h"
|
||||||
#include "zf_common_clock.h"
|
#include "zf_common_clock.h"
|
||||||
|
|
||||||
|
|
||||||
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
IFX_ALIGN(4) IfxCpu_syncEvent g_cpuSyncEvent = 0; // <20>¼<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
static uint8 cpu_init_finsh[IfxCpu_Id_none]; // <20><><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
||||||
@@ -106,8 +108,20 @@ void clock_init (void)
|
|||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void cpu_wait_event_ready (void)
|
void cpu_wait_event_ready (void)
|
||||||
{
|
{
|
||||||
while(IfxCpu_waitEvent(&g_cpuSyncEvent, 5))
|
uint8 i;
|
||||||
|
uint8 all_cpu_init_finsh;
|
||||||
|
|
||||||
|
// <20><><EFBFBD>ô˺<C3B4><CBBA><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>־λ<D6BE><CEBB>һ
|
||||||
|
cpu_init_finsh[IfxCpu_getCoreId()] = 1;
|
||||||
|
|
||||||
|
// <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
do
|
||||||
{
|
{
|
||||||
IfxCpu_emitEvent(&g_cpuSyncEvent);
|
all_cpu_init_finsh = 1;
|
||||||
}
|
for(i = 0; i < IfxCpu_Id_none; i++)
|
||||||
|
{
|
||||||
|
all_cpu_init_finsh *= cpu_init_finsh[i];
|
||||||
|
}
|
||||||
|
system_delay_ms(1);
|
||||||
|
}while(0 == all_cpu_init_finsh);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,12 +37,14 @@
|
|||||||
#include "Ifxstm.h"
|
#include "Ifxstm.h"
|
||||||
#include "Cpu0_Main.h"
|
#include "Cpu0_Main.h"
|
||||||
#include "Cpu/Std/IfxCpu.h"
|
#include "Cpu/Std/IfxCpu.h"
|
||||||
|
#include "zf_driver_delay.h"
|
||||||
#include "zf_common_interrupt.h"
|
#include "zf_common_interrupt.h"
|
||||||
#include "zf_common_clock.h"
|
#include "zf_common_clock.h"
|
||||||
|
|
||||||
|
|
||||||
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
IFX_ALIGN(4) IfxCpu_syncEvent g_cpuSyncEvent = 0; // <20>¼<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
static uint8 cpu_init_finsh[IfxCpu_Id_none]; // <20><><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
||||||
@@ -106,8 +108,20 @@ void clock_init (void)
|
|||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void cpu_wait_event_ready (void)
|
void cpu_wait_event_ready (void)
|
||||||
{
|
{
|
||||||
while(IfxCpu_waitEvent(&g_cpuSyncEvent, 5))
|
uint8 i;
|
||||||
|
uint8 all_cpu_init_finsh;
|
||||||
|
|
||||||
|
// <20><><EFBFBD>ô˺<C3B4><CBBA><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>־λ<D6BE><CEBB>һ
|
||||||
|
cpu_init_finsh[IfxCpu_getCoreId()] = 1;
|
||||||
|
|
||||||
|
// <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
do
|
||||||
{
|
{
|
||||||
IfxCpu_emitEvent(&g_cpuSyncEvent);
|
all_cpu_init_finsh = 1;
|
||||||
}
|
for(i = 0; i < IfxCpu_Id_none; i++)
|
||||||
|
{
|
||||||
|
all_cpu_init_finsh *= cpu_init_finsh[i];
|
||||||
|
}
|
||||||
|
system_delay_ms(1);
|
||||||
|
}while(0 == all_cpu_init_finsh);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,12 +37,14 @@
|
|||||||
#include "Ifxstm.h"
|
#include "Ifxstm.h"
|
||||||
#include "Cpu0_Main.h"
|
#include "Cpu0_Main.h"
|
||||||
#include "Cpu/Std/IfxCpu.h"
|
#include "Cpu/Std/IfxCpu.h"
|
||||||
|
#include "zf_driver_delay.h"
|
||||||
#include "zf_common_interrupt.h"
|
#include "zf_common_interrupt.h"
|
||||||
#include "zf_common_clock.h"
|
#include "zf_common_clock.h"
|
||||||
|
|
||||||
|
|
||||||
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
IFX_ALIGN(4) IfxCpu_syncEvent g_cpuSyncEvent = 0; // <20>¼<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
static uint8 cpu_init_finsh[IfxCpu_Id_none]; // <20><><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
||||||
@@ -106,8 +108,20 @@ void clock_init (void)
|
|||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void cpu_wait_event_ready (void)
|
void cpu_wait_event_ready (void)
|
||||||
{
|
{
|
||||||
while(IfxCpu_waitEvent(&g_cpuSyncEvent, 5))
|
uint8 i;
|
||||||
|
uint8 all_cpu_init_finsh;
|
||||||
|
|
||||||
|
// <20><><EFBFBD>ô˺<C3B4><CBBA><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>־λ<D6BE><CEBB>һ
|
||||||
|
cpu_init_finsh[IfxCpu_getCoreId()] = 1;
|
||||||
|
|
||||||
|
// <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
do
|
||||||
{
|
{
|
||||||
IfxCpu_emitEvent(&g_cpuSyncEvent);
|
all_cpu_init_finsh = 1;
|
||||||
}
|
for(i = 0; i < IfxCpu_Id_none; i++)
|
||||||
|
{
|
||||||
|
all_cpu_init_finsh *= cpu_init_finsh[i];
|
||||||
|
}
|
||||||
|
system_delay_ms(1);
|
||||||
|
}while(0 == all_cpu_init_finsh);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,6 +106,8 @@ void clock_init (void)
|
|||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void cpu_wait_event_ready (void)
|
void cpu_wait_event_ready (void)
|
||||||
{
|
{
|
||||||
IfxCpu_emitEvent(&g_cpuSyncEvent);
|
while(IfxCpu_waitEvent(&g_cpuSyncEvent, 5))
|
||||||
IfxCpu_waitEvent(&g_cpuSyncEvent, 0xFFFF);
|
{
|
||||||
|
IfxCpu_emitEvent(&g_cpuSyncEvent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,12 +37,14 @@
|
|||||||
#include "Ifxstm.h"
|
#include "Ifxstm.h"
|
||||||
#include "Cpu0_Main.h"
|
#include "Cpu0_Main.h"
|
||||||
#include "Cpu/Std/IfxCpu.h"
|
#include "Cpu/Std/IfxCpu.h"
|
||||||
|
#include "zf_driver_delay.h"
|
||||||
#include "zf_common_interrupt.h"
|
#include "zf_common_interrupt.h"
|
||||||
#include "zf_common_clock.h"
|
#include "zf_common_clock.h"
|
||||||
|
|
||||||
|
|
||||||
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
App_Cpu0 g_AppCpu0; // Ƶ<><C6B5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
IFX_ALIGN(4) IfxCpu_syncEvent g_cpuSyncEvent = 0; // <20>¼<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
static uint8 cpu_init_finsh[IfxCpu_Id_none]; // <20><><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳƵ<CDB3><C6B5>
|
||||||
@@ -106,8 +108,20 @@ void clock_init (void)
|
|||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void cpu_wait_event_ready (void)
|
void cpu_wait_event_ready (void)
|
||||||
{
|
{
|
||||||
while(IfxCpu_waitEvent(&g_cpuSyncEvent, 5))
|
uint8 i;
|
||||||
|
uint8 all_cpu_init_finsh;
|
||||||
|
|
||||||
|
// <20><><EFBFBD>ô˺<C3B4><CBBA><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>־λ<D6BE><CEBB>һ
|
||||||
|
cpu_init_finsh[IfxCpu_getCoreId()] = 1;
|
||||||
|
|
||||||
|
// <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
do
|
||||||
{
|
{
|
||||||
IfxCpu_emitEvent(&g_cpuSyncEvent);
|
all_cpu_init_finsh = 1;
|
||||||
}
|
for(i = 0; i < IfxCpu_Id_none; i++)
|
||||||
|
{
|
||||||
|
all_cpu_init_finsh *= cpu_init_finsh[i];
|
||||||
|
}
|
||||||
|
system_delay_ms(1);
|
||||||
|
}while(0 == all_cpu_init_finsh);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user