Merge branch 'dev_ck_v2.1_new_feature_1113' into 'dev_ck_v2.1'
update rtos code New Feature#1113 See merge request ucp/driver/ucp4008_platform_spu!57
This commit is contained in:
commit
7dafcd3d11
@ -1,40 +1,90 @@
|
|||||||
#include "ucps2-intrin.h"
|
#include "ucps2-intrin.h"
|
||||||
#include "hwque.h"
|
#include "hwque.h"
|
||||||
#include "osp_io.h"
|
|
||||||
|
|
||||||
void hwq_debug(void * addr , uint32_t v);
|
void hwq_debug(void * addr , uint32_t v);
|
||||||
#define hwq_do_write(a,v) __ucps2_store_ext_mem((void *)a, (uint32_t)v, f_W)
|
#define hwq_do_write(a,v) __ucps2_store_ext_mem((void *)(a), (uint32_t)v, f_W)
|
||||||
#define hwq_do_read(ptr) __ucps2_load_ext_mem_v((char*)ptr, f_W)
|
#define hwq_do_read(ptr) __ucps2_load_ext_mem_v((char*)(ptr), f_W)
|
||||||
|
|
||||||
|
#define CPSM_QUE_BASE 0x04d50000
|
||||||
|
#define JSSM_QUE_BASE 0x05f70000
|
||||||
|
|
||||||
|
#define CPSM_MEM_BASE 0x09300000ul
|
||||||
|
|
||||||
|
#define JS_MEM_BASE 0x04d80000ul
|
||||||
|
|
||||||
|
#define dire_in 0
|
||||||
|
#define dire_out 1
|
||||||
|
|
||||||
|
int que_map_depth_array[16] = {
|
||||||
|
|
||||||
|
0x04d51014,0x04d51018,0x04d5101c,0x04d51020,
|
||||||
|
0x04d51024,0x04d51028,0x04d5102c,0x04d51030,
|
||||||
|
|
||||||
|
0x05f71014,0x05f71018,0x05f7101c,0x05f71020,
|
||||||
|
0x05f71024,0x05f71028,0x05f7102c,0x05f71030
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
int que_map_start_addr_array[16] ={
|
||||||
|
|
||||||
|
0x09300000,0x09303F00,0x09307E00,0x0930BD00,0x0930FC00,0x09313B00,0x09317A00,0x931B900,
|
||||||
|
|
||||||
|
0x04d80000,0x04d83F00,0x04d87E00,0x04D8BD00,0x04D8FC00,0x04D93B00,0x04D97A00,0x04D9B900
|
||||||
|
};
|
||||||
|
|
||||||
//#define HWQUE_HEADER_ADDR (0x931fc00 - 0x400)
|
//#define HWQUE_HEADER_ADDR (0x931fc00 - 0x400)
|
||||||
|
|
||||||
|
extern int int_default_val;
|
||||||
hwq_debug_t *q_debug_info;
|
hwq_debug_t *q_debug_info;
|
||||||
int q_debug_enable = 0;
|
int q_debug_enable = 0;
|
||||||
uint32_t q_debug_addr = 0;
|
uint32_t q_debug_addr = 0;
|
||||||
|
|
||||||
|
|
||||||
unsigned int out_failed_cnt;
|
unsigned int out_failed_cnt[QUE_MAX_NR] = {0};
|
||||||
unsigned int in_failed_cnt;
|
unsigned int in_failed_cnt[QUE_MAX_NR] = {0};
|
||||||
unsigned int out_success_cnt;
|
unsigned int out_success_cnt[QUE_MAX_NR] = {0};
|
||||||
unsigned int in_success_cnt;
|
unsigned int in_success_cnt[QUE_MAX_NR] = {0};
|
||||||
unsigned int cur_que_depth;
|
//unsigned int cur_que_depth[QUE_MAX_NR] = {0};
|
||||||
unsigned int bind_cpuid;
|
unsigned int bind_cpuid;
|
||||||
|
int g_coreid = 0;
|
||||||
|
|
||||||
|
|
||||||
const uint32_t com_header_addr = (0x931fc00 -0x400);
|
const uint32_t com_header_addr = (0x931fc00 -0x400);
|
||||||
|
|
||||||
mpu_shm_obj *shm_head = NULL;
|
mpu_shm_obj *shm_head = NULL;
|
||||||
|
|
||||||
|
void hw_que_panic(int queid,int addr,int mode)
|
||||||
|
{
|
||||||
|
|
||||||
int g_coreid = 0;
|
if(que_map_depth_array[queid] != addr)
|
||||||
|
{
|
||||||
|
if(mode == dire_in)
|
||||||
|
{
|
||||||
|
hwq_debug(&(q_debug_info->per_hwq[queid].in_que_depth_addr), addr);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
hwq_debug(&(q_debug_info->per_hwq[queid].out_que_depth_addr), addr);
|
||||||
|
}
|
||||||
|
__ucps2_IntEn(f_Disable);
|
||||||
|
while(1);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
int smart_hq_init(int cpuid)
|
int smart_hq_init(int cpuid)
|
||||||
{
|
{
|
||||||
|
shm_head = (mpu_shm_obj*)com_header_addr;
|
||||||
|
|
||||||
shm_head = (mpu_shm_obj*)com_header_addr;
|
if((cpuid > 12)||(cpuid < 0))
|
||||||
g_coreid = cpuid;
|
{
|
||||||
return 0;
|
return -1;
|
||||||
|
}
|
||||||
|
g_coreid = cpuid;
|
||||||
|
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************
|
/************************************
|
||||||
@ -43,41 +93,138 @@ int smart_hq_init(int cpuid)
|
|||||||
|
|
||||||
int smart_get_hq_vector(int cpuid,int queid)
|
int smart_get_hq_vector(int cpuid,int queid)
|
||||||
{
|
{
|
||||||
hw_reg_desc_t * que_ptr = ((hw_reg_desc_t*)shm_head->v_map_queid[queid]);
|
hw_reg_desc_t * que_ptr = ((hw_reg_desc_t*)shm_head->v_map_queid[queid]);
|
||||||
|
|
||||||
if((cpuid >= 0)&&(cpuid < 12))
|
|
||||||
{
|
|
||||||
return que_ptr->ape_vector_id;
|
|
||||||
}
|
|
||||||
else if(cpuid == 12)
|
|
||||||
{
|
|
||||||
return que_ptr->arm_vector_id;
|
|
||||||
}
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if((cpuid >= 0)&&(cpuid < 12))
|
||||||
|
{
|
||||||
|
return que_ptr->ape_vector_id;
|
||||||
|
}
|
||||||
|
else if(cpuid == 12)
|
||||||
|
{
|
||||||
|
return que_ptr->arm_vector_id;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
/***************
|
/***************
|
||||||
|
函数名称:smart_intr_in_que
|
||||||
|
函数参数:queid 队列编号
|
||||||
|
函数参数:val 入队值
|
||||||
|
函数功能:硬件队列入队
|
||||||
|
|
||||||
|
函数使用注意1 : 当前函数只能在中断处理函数中调用
|
||||||
|
函数使用注意2 :当前多生产使用时需要外部加锁
|
||||||
|
|
||||||
******************/
|
******************/
|
||||||
|
int smart_intr_in_que(int queid,uint32_t val)
|
||||||
|
{
|
||||||
|
uint32_t tp_val;
|
||||||
|
int ret;
|
||||||
|
hw_reg_desc_t * que_ptr = ((hw_reg_desc_t*)shm_head->v_map_queid[queid]);
|
||||||
|
hw_que_panic(queid,que_ptr->hw_depth_reg,dire_in);
|
||||||
|
tp_val = hwq_do_read(que_ptr->hw_depth_reg);
|
||||||
|
if(((tp_val >> 16)&0xffff) > B_128_16BLCOKS)
|
||||||
|
{
|
||||||
|
hwq_do_write(que_ptr->hw_start_addr,val);
|
||||||
|
++in_success_cnt[queid];
|
||||||
|
ret = 0;
|
||||||
|
hwq_debug(&(q_debug_info->per_hwq[queid].in_success_cnt), in_success_cnt[queid]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
++in_failed_cnt[queid];
|
||||||
|
ret = -1;
|
||||||
|
hwq_debug(&(q_debug_info->per_hwq[queid].in_failed_cnt), in_failed_cnt[queid]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************
|
||||||
|
函数名称:smart_in_que
|
||||||
|
函数参数:queid 队列编号
|
||||||
|
函数参数:val 入队值
|
||||||
|
函数功能:硬件队列入队
|
||||||
|
函数使用注意 :当前函数不能在中断处理函数中调用
|
||||||
|
函数使用注意 :多核并发使用时需要外部加锁保护
|
||||||
|
******************/
|
||||||
|
|
||||||
int smart_in_que(int queid,uint32_t val)
|
int smart_in_que(int queid,uint32_t val)
|
||||||
{
|
{
|
||||||
uint32_t tp_val;
|
int ret = 0;
|
||||||
hw_reg_desc_t * que_ptr = ((hw_reg_desc_t*)shm_head->v_map_queid[queid]);
|
int int_state = __ucps2_readIntEn();
|
||||||
tp_val = *(volatile uint32_t*)(que_ptr->hw_depth_reg);
|
if(int_state == 1)
|
||||||
if(((tp_val >> 16)&0xffff) > B_128_16BLCOKS)
|
{
|
||||||
{
|
__ucps2_IntEn(f_Disable);
|
||||||
*(volatile uint32_t*)(que_ptr->hw_start_addr) = val;
|
ret = smart_intr_in_que(queid,val);
|
||||||
hwq_debug(&(q_debug_info->per_hwq[queid].in_success_cnt), ++in_success_cnt);
|
__ucps2_IntEn(f_Enable);
|
||||||
hwq_debug(&(q_debug_info->per_hwq[queid].cur_que_depth), *(volatile uint32_t*)que_ptr->hw_depth_reg);
|
}
|
||||||
return 0;
|
else
|
||||||
}
|
{
|
||||||
hwq_debug(&(q_debug_info->per_hwq[queid].in_failed_cnt), ++in_failed_cnt);
|
ret = smart_intr_in_que(queid,val);
|
||||||
|
}
|
||||||
return -1;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*********************************
|
||||||
|
函数名称:smart_intr_out_que
|
||||||
|
函数参数:queid 队列编号
|
||||||
|
函数参数:出队val 值
|
||||||
|
函数功能:硬件队列出队
|
||||||
|
函数使用注意 当前函数只能在中断处理函数中调用
|
||||||
|
|
||||||
|
********************************/
|
||||||
|
int smart_intr_out_que(int queid,uint32_t *val)
|
||||||
|
{
|
||||||
|
uint32_t tp_val;
|
||||||
|
hw_reg_desc_t * que_ptr = ((hw_reg_desc_t*)shm_head->v_map_queid[queid]);
|
||||||
|
if(hwq_do_read(&que_ptr->cpuid) != g_coreid)
|
||||||
|
{
|
||||||
|
return -EMATCH;
|
||||||
|
}
|
||||||
|
hw_que_panic(queid,que_ptr->hw_depth_reg,dire_out);
|
||||||
|
tp_val = hwq_do_read(que_ptr->hw_depth_reg);
|
||||||
|
if((tp_val&0xffff) != 0)
|
||||||
|
{
|
||||||
|
++out_success_cnt[queid];
|
||||||
|
hwq_debug(&(q_debug_info->per_hwq[queid].out_success_cnt), out_success_cnt[queid]);
|
||||||
|
*val = hwq_do_read(que_ptr->hw_start_addr);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
++out_failed_cnt[queid];
|
||||||
|
hwq_debug(&(q_debug_info->per_hwq[queid].out_failed_cnt), out_failed_cnt[queid]);
|
||||||
|
|
||||||
|
return -EQUEEMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**********************
|
||||||
|
函数名称:smart_out_que
|
||||||
|
函数参数:queid 队列编号
|
||||||
|
输出参数:val
|
||||||
|
函数功能:队列出队获取当前出队值
|
||||||
|
函数使用注意 : 当前函数不能在中断处理函数中使用
|
||||||
|
|
||||||
|
*********************/
|
||||||
|
|
||||||
|
int smart_out_que(int queid,uint32_t *val)
|
||||||
|
{
|
||||||
|
int ret = 0;
|
||||||
|
int int_state = __ucps2_readIntEn();
|
||||||
|
if(int_state == 1)
|
||||||
|
{
|
||||||
|
__ucps2_IntEn(f_Disable);
|
||||||
|
ret = smart_intr_out_que(queid,val);
|
||||||
|
__ucps2_IntEn(f_Enable);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ret = smart_intr_out_que(queid,val);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*********************
|
/*********************
|
||||||
函数名称:smart_que_is_full
|
函数名称:smart_que_is_full
|
||||||
函数参数:queid 队列编号
|
函数参数:queid 队列编号
|
||||||
@ -87,144 +234,138 @@ int smart_in_que(int queid,uint32_t val)
|
|||||||
|
|
||||||
int smart_que_is_full(int queid)
|
int smart_que_is_full(int queid)
|
||||||
{
|
{
|
||||||
uint32_t tp_val;
|
uint32_t tp_val;
|
||||||
hw_reg_desc_t * que_ptr = ((hw_reg_desc_t*)shm_head->v_map_queid[queid]);
|
hw_reg_desc_t * que_ptr = ((hw_reg_desc_t*)shm_head->v_map_queid[queid]);
|
||||||
tp_val = *(volatile uint32_t*)(que_ptr->hw_depth_reg);
|
tp_val = hwq_do_read(que_ptr->hw_depth_reg);
|
||||||
if(((tp_val >> 16)&0xffff) <= B_128_16BLCOKS)
|
if(((tp_val >> 16)&0xffff) == B_128_16BLCOKS)
|
||||||
{
|
{
|
||||||
return 1; // que is full
|
return 1; // que is full
|
||||||
}
|
}
|
||||||
return 0; // que is not full
|
|
||||||
}
|
return 0; // que is not full
|
||||||
|
|
||||||
/*********************
|
|
||||||
函数名称:smart_out_que
|
|
||||||
函数参数:queid 队列编号
|
|
||||||
输出参数:idx 获取当前队列的索引值
|
|
||||||
函数功能:队列出队获取当前队列的索引值
|
|
||||||
|
|
||||||
*********************/
|
|
||||||
|
|
||||||
int smart_out_que(int queid,uint32_t *val)
|
|
||||||
{
|
|
||||||
uint32_t tp_val;
|
|
||||||
hw_reg_desc_t * que_ptr = ((hw_reg_desc_t*)shm_head->v_map_queid[queid]);
|
|
||||||
if(que_ptr->cpuid != g_coreid)
|
|
||||||
{
|
|
||||||
return -EMATCH;
|
|
||||||
}
|
|
||||||
tp_val = *(volatile uint32_t*)(que_ptr->hw_depth_reg);
|
|
||||||
hwq_debug(&(q_debug_info->per_hwq[queid].cur_que_depth), tp_val);
|
|
||||||
if((tp_val&0xffff) != 0)
|
|
||||||
{
|
|
||||||
hwq_debug(&(q_debug_info->per_hwq[queid].out_success_cnt), ++out_success_cnt);
|
|
||||||
*val = (*(volatile uint32_t*)(que_ptr->hw_start_addr));
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
hwq_debug(&(q_debug_info->per_hwq[queid].out_failed_cnt), ++out_failed_cnt);
|
|
||||||
return -EQUEEMPTY;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int smart_que_is_empty(int queid)
|
int smart_que_is_empty(int queid)
|
||||||
{
|
{
|
||||||
uint32_t tp_val;
|
uint32_t tp_val;
|
||||||
hw_reg_desc_t * que_ptr = ((hw_reg_desc_t*)shm_head->v_map_queid[queid]);
|
hw_reg_desc_t * que_ptr = ((hw_reg_desc_t*)shm_head->v_map_queid[queid]);
|
||||||
tp_val = *(volatile uint32_t*)(que_ptr->hw_depth_reg);
|
tp_val = hwq_do_read(que_ptr->hw_depth_reg);
|
||||||
if((tp_val&0xffff) == 0)
|
if((tp_val&0xffff) == 0)
|
||||||
{
|
{
|
||||||
return 1; // que is empty true
|
return 1; // que is empty true
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return 0; // que is not empty FALSE
|
return 0; // que is not empty FALSE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int smart_get_que_info(int queid,int *dep,int *width,int *used,int *cpuid)
|
int smart_get_que_info(int queid,int *dep,int *width,int *used,int *cpuid)
|
||||||
{
|
{
|
||||||
uint32_t tmp;
|
uint32_t tmp;
|
||||||
hw_reg_desc_t * que_ptr = ((hw_reg_desc_t*)shm_head->v_map_queid[queid]);
|
hw_reg_desc_t * que_ptr = ((hw_reg_desc_t*)shm_head->v_map_queid[queid]);
|
||||||
if(queid >= 0 && queid < 8)
|
if(queid >= 0 && queid < 8)
|
||||||
{
|
{
|
||||||
*dep = shm_head->shm_type_s[CPSM_SM].que_depths - B_128_16BLCOKS;
|
*dep = shm_head->shm_type_s[CPSM_SM].que_depths - B_128_16BLCOKS;
|
||||||
*width = shm_head->shm_type_s[CPSM_SM].width_bits;
|
*width = shm_head->shm_type_s[CPSM_SM].width_bits;
|
||||||
}else if(queid >=8 && queid < 16)
|
}else if(queid >=8 && queid < 16)
|
||||||
{
|
{
|
||||||
*dep = shm_head->shm_type_s[JSSM_SM].que_depths - B_128_16BLCOKS;
|
*dep = shm_head->shm_type_s[JSSM_SM].que_depths - B_128_16BLCOKS;
|
||||||
*width = shm_head->shm_type_s[JSSM_SM].width_bits;
|
*width = shm_head->shm_type_s[JSSM_SM].width_bits;
|
||||||
}
|
}
|
||||||
*cpuid = que_ptr->cpuid;
|
*cpuid = que_ptr->cpuid;
|
||||||
tmp = *(volatile uint32_t*)(que_ptr->hw_depth_reg);
|
tmp = *(volatile uint32_t*)(que_ptr->hw_depth_reg);
|
||||||
*used = (tmp&0xffff);
|
*used = (tmp&0xffff);
|
||||||
|
|
||||||
|
return 0;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void smart_enable_q_nempty(int queid)
|
static int test_bit(void *s,unsigned int index)
|
||||||
{
|
{
|
||||||
volatile uint32_t *empty_reg;
|
unsigned char *f_bit = s;
|
||||||
hw_reg_desc_t * que_ptr = ((hw_reg_desc_t*)shm_head->v_map_queid[queid]);
|
f_bit += index >>3;
|
||||||
empty_reg = (volatile uint32_t*)(que_ptr->hw_base_reg+0x103c);
|
return ((*f_bit&(1 <<((index%8)))) != 0);
|
||||||
if(queid < 8)
|
}
|
||||||
{
|
|
||||||
*empty_reg |= 1<< (queid+8);
|
|
||||||
}
|
int smart_enable_q_nempty(int queid)
|
||||||
else if((queid >= 8)&&(queid < 16))
|
{
|
||||||
{
|
volatile uint32_t *empty_reg;
|
||||||
*empty_reg |= 1<< ((queid -8)+8);
|
int tmp_val = 0;
|
||||||
}
|
int ret = 0;
|
||||||
else if((queid >= 16)&&(queid < 24))
|
hw_reg_desc_t * que_ptr = ((hw_reg_desc_t*)shm_head->v_map_queid[queid]);
|
||||||
{
|
empty_reg = (volatile uint32_t*)(que_ptr->hw_base_reg+0x103c);
|
||||||
*empty_reg |= 1<< ((queid -16)+8);
|
if(queid < 8)
|
||||||
}
|
{
|
||||||
else if((queid >= 24)&&(queid < 32))
|
*empty_reg |= 1<< (queid+8);
|
||||||
{
|
tmp_val = *empty_reg;
|
||||||
*empty_reg |= 1<< ((queid - 24)+8);
|
__ucps2_synch(0);
|
||||||
}
|
ret = !(test_bit(&tmp_val,(queid+8)) != 0);
|
||||||
|
}
|
||||||
|
else if((queid >= 8)&&(queid < 16))
|
||||||
|
{
|
||||||
|
*empty_reg |= 1<< ((queid -8)+8);
|
||||||
|
tmp_val = *empty_reg;
|
||||||
|
__ucps2_synch(0);
|
||||||
|
ret = !(test_bit(&tmp_val,((queid -8)+8)) != 0);
|
||||||
|
}
|
||||||
|
else if((queid >= 16)&&(queid < 24))
|
||||||
|
{
|
||||||
|
*empty_reg |= 1<< ((queid -16)+8);
|
||||||
|
tmp_val = *empty_reg;
|
||||||
|
__ucps2_synch(0);
|
||||||
|
ret = !(test_bit(&tmp_val,((queid -16)+8)) != 0);
|
||||||
|
}
|
||||||
|
else if((queid >= 24)&&(queid < 32))
|
||||||
|
{
|
||||||
|
*empty_reg |= 1<< ((queid - 24)+8);
|
||||||
|
tmp_val = *empty_reg;
|
||||||
|
__ucps2_synch(0);
|
||||||
|
ret = !(test_bit(&tmp_val,((queid -24)+8)) != 0);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void smart_disable_q_nempty(int queid)
|
void smart_disable_q_nempty(int queid)
|
||||||
{
|
{
|
||||||
volatile uint32_t *empty_reg;
|
volatile uint32_t *empty_reg;
|
||||||
hw_reg_desc_t * que_ptr = ((hw_reg_desc_t*)shm_head->v_map_queid[queid]);
|
hw_reg_desc_t * que_ptr = ((hw_reg_desc_t*)shm_head->v_map_queid[queid]);
|
||||||
empty_reg = (volatile uint32_t*)(que_ptr->hw_base_reg+0x103c);
|
empty_reg = (volatile uint32_t*)(que_ptr->hw_base_reg+0x103c);
|
||||||
if(queid < 8)
|
if(queid < 8)
|
||||||
{
|
{
|
||||||
*empty_reg &= ~(1<< (queid+8));
|
*empty_reg &= ~(1<< (queid+8));
|
||||||
}
|
}
|
||||||
else if((queid >= 8)&&(queid < 16))
|
else if((queid >= 8)&&(queid < 16))
|
||||||
{
|
{
|
||||||
*empty_reg &= ~(1<< ((queid -8)+8));
|
*empty_reg &= ~(1<< ((queid -8)+8));
|
||||||
}else if((queid >= 16)&&(queid < 24))
|
}else if((queid >= 16)&&(queid < 24))
|
||||||
{
|
{
|
||||||
*empty_reg &= ~(1<< ((queid -16)+8));
|
*empty_reg &= ~(1<< ((queid -16)+8));
|
||||||
}else if((queid >= 24)&&(queid < 32))
|
}else if((queid >= 24)&&(queid < 32))
|
||||||
{
|
{
|
||||||
*empty_reg &= ~(1<< ((queid -24)+8));
|
*empty_reg &= ~(1<< ((queid -24)+8));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int smart_que_bind(int cpuid,int queid)
|
int smart_que_bind(int cpuid,int queid)
|
||||||
{
|
{
|
||||||
if((queid >15)||(queid < 0))
|
if((queid >15)||(queid < 0))
|
||||||
{
|
{
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
hw_reg_desc_t * que_ptr = ((hw_reg_desc_t*)shm_head->v_map_queid[queid]);
|
hw_reg_desc_t * que_ptr = ((hw_reg_desc_t*)shm_head->v_map_queid[queid]);
|
||||||
hwq_debug(&(q_debug_info->per_hwq[queid].bind_cpuid), cpuid);
|
if(que_ptr->cpuid == -1)
|
||||||
if(que_ptr->cpuid == -1)
|
{
|
||||||
{
|
que_ptr->cpuid = cpuid;
|
||||||
que_ptr->cpuid = cpuid;
|
return 0;
|
||||||
return 0;
|
}
|
||||||
}
|
else
|
||||||
else
|
{
|
||||||
{
|
return -1;
|
||||||
return -1;
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -232,48 +373,48 @@ int smart_que_bind(int cpuid,int queid)
|
|||||||
*/
|
*/
|
||||||
int smart_hq_debug_init(uint32_t debug_base_addr, uint32_t len_bytes)
|
int smart_hq_debug_init(uint32_t debug_base_addr, uint32_t len_bytes)
|
||||||
{
|
{
|
||||||
if(debug_base_addr <= 0x10000000)
|
if(debug_base_addr <= 0x10000000)
|
||||||
{
|
{
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (len_bytes < 192)
|
if (len_bytes < 384)
|
||||||
{
|
{
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
q_debug_enable = 1;
|
q_debug_enable = 1;
|
||||||
q_debug_addr = debug_base_addr;
|
q_debug_addr = debug_base_addr;
|
||||||
q_debug_info = (hwq_debug_t *)q_debug_addr;
|
q_debug_info = (hwq_debug_t *)q_debug_addr;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int smart_get_inque_ok_cnt(int queid)
|
int smart_get_inque_ok_cnt(int queid)
|
||||||
{
|
{
|
||||||
return q_debug_info->per_hwq[queid].in_success_cnt;
|
return in_success_cnt[queid];
|
||||||
}
|
}
|
||||||
|
|
||||||
int smart_get_inque_failed_cnt(int queid)
|
int smart_get_inque_failed_cnt(int queid)
|
||||||
{
|
{
|
||||||
return q_debug_info->per_hwq[queid].in_failed_cnt;
|
return out_failed_cnt[queid];
|
||||||
}
|
}
|
||||||
|
|
||||||
int smart_get_outque_ok_cnt(int queid)
|
int smart_get_outque_ok_cnt(int queid)
|
||||||
{
|
{
|
||||||
return q_debug_info->per_hwq[queid].out_success_cnt;
|
return out_success_cnt[queid];
|
||||||
}
|
}
|
||||||
|
|
||||||
int smart_get_outque_failed_cnt(int queid)
|
int smart_get_outque_failed_cnt(int queid)
|
||||||
{
|
{
|
||||||
return q_debug_info->per_hwq[queid].out_failed_cnt;
|
return out_failed_cnt[queid];
|
||||||
}
|
}
|
||||||
|
|
||||||
void hwq_debug(void * addr , uint32_t v)
|
void hwq_debug(void * addr , uint32_t v)
|
||||||
{
|
{
|
||||||
if(q_debug_enable == 1)
|
if(q_debug_enable == 1)
|
||||||
{
|
{
|
||||||
hwq_do_write(addr, v);
|
hwq_do_write(addr, v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,12 +28,14 @@ typedef unsigned long long uint64_t;
|
|||||||
|
|
||||||
#define NULL ((void*)0)
|
#define NULL ((void*)0)
|
||||||
|
|
||||||
|
#define QUE_MAX_NR 16
|
||||||
|
|
||||||
#define HW_QUE_NR 8
|
#define HW_QUE_NR 8
|
||||||
|
|
||||||
#define QUE_NR 16
|
#define QUE_NR 16
|
||||||
|
|
||||||
#define B_128_16BLCOKS 8
|
#define B_128_16BLCOKS 8
|
||||||
|
|
||||||
#define B_256_32BLOCKS 32
|
#define B_256_32BLOCKS 32
|
||||||
#define BLOCKS_64 64
|
#define BLOCKS_64 64
|
||||||
|
|
||||||
@ -78,212 +80,214 @@ typedef struct mpu_shm{
|
|||||||
|
|
||||||
|
|
||||||
typedef struct{
|
typedef struct{
|
||||||
unsigned int out_failed_cnt;
|
unsigned int out_failed_cnt;
|
||||||
unsigned int in_failed_cnt;
|
unsigned int in_failed_cnt;
|
||||||
unsigned int out_success_cnt;
|
unsigned int out_success_cnt;
|
||||||
unsigned int in_success_cnt;
|
unsigned int in_success_cnt;
|
||||||
unsigned int cur_que_depth;
|
unsigned int in_que_depth_addr;
|
||||||
unsigned int bind_cpuid;
|
unsigned int out_que_depth_addr;
|
||||||
|
|
||||||
}hwq_db_info ;
|
}hwq_db_info ;
|
||||||
|
|
||||||
typedef struct{
|
typedef struct{
|
||||||
hwq_db_info per_hwq[HW_QUE_NR];
|
hwq_db_info per_hwq[QUE_MAX_NR];
|
||||||
|
|
||||||
}hwq_debug_t;
|
}hwq_debug_t;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
函数名称:smart_hq_init
|
函数名称:smart_hq_init
|
||||||
输入参数: cpuid
|
输入参数: cpuid
|
||||||
返回类型: int
|
返回类型: int
|
||||||
返回值: 小于0 表示失败
|
返回值: 小于0 表示失败
|
||||||
返回值: 0 表示成功
|
返回值:等于0 表示成功
|
||||||
函数功能: 硬件队列初始化
|
函数功能:硬件队列初始化
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
extern int smart_hq_init(int cpuid);
|
extern int smart_hq_init(int cpuid);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
函数名称:smart_get_hq_vector
|
函数名称:smart_get_hq_vector
|
||||||
输入参数: cpuid
|
输入参数: cpuid
|
||||||
输入参数:queid
|
输入参数:queid
|
||||||
返回类型: int
|
返回类型: int
|
||||||
返回值:小于等于0 表示失败
|
返回值:小于等于0 表示失败
|
||||||
函数功能: 获取当前硬件队列中断号
|
函数功能:获取当前硬件队列中断号
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
extern int smart_get_hq_vector(int cpuid,int queid);
|
extern int smart_get_hq_vector(int cpuid,int queid);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/********************
|
||||||
函数名称:smart_in_que
|
|
||||||
输入参数: cpuid
|
函数名称:smart_in_que
|
||||||
输入参数:val
|
函数参数:queid 队列编号
|
||||||
返回类型: int
|
函数参数:val 入队值
|
||||||
返回值: 非0 表示失败
|
函数功能:硬件队列入队
|
||||||
返回值: 0 表示成功
|
函数使用注意点1: 多核生产者入队时需要加锁
|
||||||
函数功能: 硬件队列入队
|
|
||||||
|
******************/
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
extern int smart_in_que(int queid,uint32_t val);
|
extern int smart_in_que(int queid,uint32_t val);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
函数名称:smart_que_is_full
|
函数名称:smart_que_is_full
|
||||||
输入参数: queid
|
输入参数: queid
|
||||||
返回类型:int
|
返回类型:int
|
||||||
返回值: 1 表示 true
|
返回值: 1 表示 true
|
||||||
返回值: 0 表示 false
|
返回值: 0 表示 false
|
||||||
说明:下一版本返回值会更改enum ,
|
|
||||||
enum hwque_status smart_que_is_full(int queid);
|
|
||||||
返回值只能选择 hwque_false 和hwque_true
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
extern int smart_que_is_full(int queid);
|
extern int smart_que_is_full(int queid);
|
||||||
|
|
||||||
/*
|
/*********************
|
||||||
函数名称:smart_out_que
|
函数名称:smart_out_que
|
||||||
输入参数: queid
|
函数参数:queid 队列编号
|
||||||
输出参数: val
|
输出参数:idx 获取当前队列的索引值
|
||||||
返回类型:int
|
函数功能:队列出队获取当前队列的索引值
|
||||||
返回值: 0 表示成功
|
|
||||||
返回值: 非0表示失败
|
*********************/
|
||||||
函数功能:队列出队
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
extern int smart_out_que(int queid,uint32_t *val);
|
extern int smart_out_que(int queid,uint32_t *val);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
函数名称:smart_que_is_empty
|
函数名称:smart_que_is_empty
|
||||||
输入参数: queid
|
输入参数: queid
|
||||||
返回类型: int
|
返回类型: int
|
||||||
返回值: 1 表示true
|
返回值: 1 表示true
|
||||||
返回值: 0 表示false
|
返回值:0 表示false
|
||||||
|
|
||||||
*/
|
*/
|
||||||
extern int smart_que_is_empty(int queid);
|
extern int smart_que_is_empty(int queid);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
函数名称:smart_get_que_info
|
函数名称:smart_get_que_info
|
||||||
输入参数: queid
|
输入参数: queid
|
||||||
输出参数:*dep
|
输出参数 *dep
|
||||||
输出参数: *width
|
输出参数: *width
|
||||||
输出参数: *used
|
输出参数: *used
|
||||||
输出参数:*cpuid
|
输出参数: *cpuid
|
||||||
返回类型: int
|
返回类型: int
|
||||||
返回值: 非0 表示失败
|
返回值:0 表示成功,非0 表示失败
|
||||||
返回值: 0 表示成功
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
extern int smart_get_que_info(int queid,int *dep,int *width,int *used,int *cpuid);
|
extern int smart_get_que_info(int queid,int *dep,int *width,int *used,int *cpuid);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
函数名称:smart_enable_q_nempty
|
// 函数名称:smart_enable_q_nempty
|
||||||
输入参数: queid
|
函数名称:smart_hq_nempty_int_enable
|
||||||
返回值: 无
|
输入参数: queid
|
||||||
|
返回值:int
|
||||||
|
函数功能:使能非空中断
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
extern void smart_enable_q_nempty(int queid);
|
//extern void smart_enable_q_nempty(int queid);
|
||||||
|
//extern void smart_hq_nempty_int_enable(int queid);
|
||||||
|
extern int smart_enable_q_nempty(int queid);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
函数名称:smart_disable_q_nempty
|
// 函数名称:smart_disable_q_nempty
|
||||||
输入参数: queid
|
函数名称:smart_hq_nempty_int_disable
|
||||||
返回值: 无
|
输入参数: queid
|
||||||
函数功能:使能非空中断
|
返回值:int
|
||||||
|
函数功能:去使能非空中断
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
extern void smart_disable_q_nempty(int queid);
|
extern void smart_disable_q_nempty(int queid);
|
||||||
|
//extern void smart_hq_nempty_int_disable(int queid);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
函数名称:smart_que_bind
|
函数名称:smart_que_bind
|
||||||
输入参数: queid
|
输入参数: queid
|
||||||
输入参数;cpuid
|
输入参数;cpuid
|
||||||
返回类型:int
|
返回类型:int
|
||||||
返回值 ; 非0 表示失败
|
返回值 : 0 表示返回成功,非0 表示返回失败
|
||||||
返回值: 0 表示成功
|
|
||||||
函数功能:去使能非空中断
|
函数功能:去使能非空中断
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
extern int smart_que_bind(int cpuid,int queid);
|
extern int smart_que_bind(int cpuid,int queid);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
函数名称:smart_hq_debug_init
|
函数名称:smart_hq_debug_init
|
||||||
输入参数: debug_base_addr
|
输入参数: debug_base_addr
|
||||||
输入参数;len_bytes
|
输入参数;len_bytes
|
||||||
返回类型:int
|
返回类型:int
|
||||||
返回值 ; 非0 表示失败
|
返回值:0 表示成功
|
||||||
返回值:0 表示成功
|
函数功能:调试初始化接口
|
||||||
函数功能:调试初始化接口
|
|
||||||
|
|
||||||
注意:
|
注意:
|
||||||
通过地址与,长度指定相应的buf 数据空间,存放相应的中断调试信息。
|
通过地址与,长度指定相应的buf 数据空间,存放相应的中断调试信息
|
||||||
这些调试信息已经格式化,地址由用户指定,len_bytes 不能小于sizeof(hwq_debug_t)
|
这些调试信息已经格式化,地址由用户指定,len_bytes 不能小于sizeof(hwq_debug_t)
|
||||||
数据格式化内容是 hwq_debug_t
|
数据格式化结构是: hwq_debug_t
|
||||||
|
|
||||||
|
数据格式 example:
|
||||||
|
typedef struct{
|
||||||
|
unsigned int out_failed_cnt;
|
||||||
|
unsigned int in_failed_cnt;
|
||||||
|
unsigned int out_success_cnt;
|
||||||
|
unsigned int in_success_cnt;
|
||||||
|
unsigned int cur_que_depth;
|
||||||
|
unsigned int bind_cpuid;
|
||||||
|
|
||||||
|
}hwq_db_info ;
|
||||||
|
|
||||||
|
typedef struct{
|
||||||
|
hwq_db_info per_hwq[HW_QUE_NR];
|
||||||
|
|
||||||
|
}hwq_debug_t;
|
||||||
|
|
||||||
数据格式 example:
|
|
||||||
typedef struct{
|
|
||||||
unsigned int out_failed_cnt;
|
|
||||||
unsigned int in_failed_cnt;
|
|
||||||
unsigned int out_success_cnt;
|
|
||||||
unsigned int in_success_cnt;
|
|
||||||
unsigned int cur_que_depth;
|
|
||||||
unsigned int bind_cpuid;
|
|
||||||
|
|
||||||
}hwq_db_info ;
|
|
||||||
|
|
||||||
typedef struct{
|
|
||||||
hwq_db_info per_hwq[HW_QUE_NR];
|
|
||||||
|
|
||||||
}hwq_debug_t;
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
extern int smart_hq_debug_init( uint32_t debug_base_addr, uint32_t len_bytes);
|
extern int smart_hq_debug_init( uint32_t debug_base_addr, uint32_t len_bytes);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
函数名称:smart_get_inque_ok_cnt
|
函数名称:smart_get_inque_ok_cnt
|
||||||
输入参数: queid
|
输入参数: queid
|
||||||
返回类型:int
|
返回类型:int
|
||||||
返回值 ; 小于等于0表示失败
|
返回值 : 小于等于0表示失败
|
||||||
函数功能:获取当前入队成功计数
|
函数功能:获取当前入队成功计数
|
||||||
*/
|
*/
|
||||||
|
|
||||||
extern int smart_get_inque_ok_cnt(int queid);
|
extern int smart_get_inque_ok_cnt(int queid);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
函数名称:smart_get_inque_failed_cnt
|
函数名称:smart_get_inque_failed_cnt
|
||||||
输入参数: queid
|
输入参数: queid
|
||||||
返回类型:int
|
返回类型:int
|
||||||
返回值 ; 小于等于0表示失败
|
返回值 : 小于等于0表示失败
|
||||||
函数功能:获取当前入队失败计数
|
函数功能:获取当前入队失败计数
|
||||||
*/
|
*/
|
||||||
|
|
||||||
extern int smart_get_inque_failed_cnt(int queid);
|
extern int smart_get_inque_failed_cnt(int queid);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
函数名称:smart_get_outque_ok_cnt
|
函数名称:smart_get_outque_ok_cnt
|
||||||
输入参数: queid
|
输入参数: queid
|
||||||
返回类型:int
|
返回类型:int
|
||||||
返回值 ; 小于等于0表示失败
|
返回值:小于等于0表示失败
|
||||||
函数功能:获取当前出队成功计数
|
函数功能:获取当前出队成功计数
|
||||||
*/
|
*/
|
||||||
|
|
||||||
extern int smart_get_outque_ok_cnt(int queid);
|
extern int smart_get_outque_ok_cnt(int queid);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
函数名称:smart_get_outque_failed_cnt
|
函数名称:smart_get_outque_failed_cnt
|
||||||
输入参数: queid
|
输入参数: queid
|
||||||
返回类型:int
|
返回类型:int
|
||||||
返回值 ; 小于等于0表示失败
|
返回值: 0表示成功,非0表示失败
|
||||||
函数功能:获取当前出队失败计数
|
函数功能:获取当前出队失败计数
|
||||||
*/
|
*/
|
||||||
|
|
||||||
extern int smart_get_outque_failed_cnt(int queid);
|
extern int smart_get_outque_failed_cnt(int queid);
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
#ifndef __OSP_IO_H__
|
|
||||||
#define __OSP_IO_H__
|
|
||||||
|
|
||||||
extern int osp_atoi(char *str);
|
|
||||||
extern char * osp_strchr(const char *str, int ch);
|
|
||||||
extern int osp_strlen(const char * str);
|
|
||||||
extern int osp_strcmp(const char *source,const char *dest);
|
|
||||||
extern int osp_strncmp(const char *first,const char *last,int count);
|
|
||||||
extern unsigned long my_strnlen(const char *s, int count);
|
|
||||||
extern char * osp_itoa(int n, char * chBuffer);
|
|
||||||
extern char * osp_strcat(char * dest, const char * src);
|
|
||||||
extern char *osp_strcpy(char *strDest, const char *strSrc);
|
|
||||||
extern unsigned long osp_strtoul(const char *cp,char **endp,unsigned int base);
|
|
||||||
extern char * osp_strstr (register char *buf, register char *sub);
|
|
||||||
extern char* osp_strtok(char* string_org,const char* demial);
|
|
||||||
extern void *osp_memcpy(void *dst, const void *src, int len);
|
|
||||||
extern void *osp_memset (void *s,int c,int n);
|
|
||||||
extern int osp_printf(const char *fmt, ...);
|
|
||||||
/*
|
|
||||||
函数名称:print_init
|
|
||||||
函数参数:uart_id
|
|
||||||
函数功能:打印组件初始化
|
|
||||||
*/
|
|
||||||
extern int print_init(int uart_id);
|
|
||||||
|
|
||||||
#endif
|
|
BIN
public/rtos/code/hw_q_code/lib/libhwque.a
Normal file
BIN
public/rtos/code/hw_q_code/lib/libhwque.a
Normal file
Binary file not shown.
@ -17,11 +17,7 @@
|
|||||||
__ucps2_interrupt5:
|
__ucps2_interrupt5:
|
||||||
SEQ: IntEn (Disable);
|
SEQ: IntEn (Disable);
|
||||||
AGU:[ISP + -116] = R1;
|
AGU:[ISP + -116] = R1;
|
||||||
/*
|
|
||||||
SCU: R1 = 0x04a8 (E); //test intcontex
|
|
||||||
SCU: R1 = 0x0008 (L); //test intcontex
|
|
||||||
AGU: R1 =[R1 +0x0]; //test intcontex
|
|
||||||
*/
|
|
||||||
AGU:[ISP + -120] = R2;
|
AGU:[ISP + -120] = R2;
|
||||||
AGU:[ISP + -124] = R3;
|
AGU:[ISP + -124] = R3;
|
||||||
AGU:[ISP + -128] = R4;
|
AGU:[ISP + -128] = R4;
|
||||||
@ -70,20 +66,9 @@ __ucps2_interrupt5:
|
|||||||
|
|
||||||
//------------disable intflags-----------------
|
//------------disable intflags-----------------
|
||||||
|
|
||||||
// SCU: R1 = %ucp_int_disable (L)(E)(U);
|
SCU:R1 = %isr_entry (L)(E)(U);
|
||||||
// SCU: R1 = %ucp_int_disable;
|
SCU:R1 = %isr_entry ;
|
||||||
// SEQ: call R1;
|
SEQ:call R1;
|
||||||
/*
|
|
||||||
SCU:R10 = 0x4000(E); //test intcontex
|
|
||||||
SCU:R10 = 0x0010(L); //test intcontex
|
|
||||||
AGU: [R10 + 0x0] = R1; //test intcontex
|
|
||||||
*/
|
|
||||||
SCU:R1 = %isr_entry (L)(E)(U);
|
|
||||||
SCU:R1 = %isr_entry ;
|
|
||||||
SEQ:call R1;
|
|
||||||
// SCU: R1 = %ucp_int_enble (L)(E)(U);
|
|
||||||
// SCU: R1 = %ucp_int_enble;
|
|
||||||
// SEQ: call R1;
|
|
||||||
|
|
||||||
//---------- user's coding area end ----------------
|
//---------- user's coding area end ----------------
|
||||||
|
|
||||||
@ -99,7 +84,7 @@ __ucps2_reg_restore5:
|
|||||||
AGU:R31 = [IFP + -228];
|
AGU:R31 = [IFP + -228];
|
||||||
AGU:R30 = [IFP + -224];
|
AGU:R30 = [IFP + -224];
|
||||||
// AGU:IFP = [IFP + -220];
|
// AGU:IFP = [IFP + -220];
|
||||||
// AGU:DFP = [IFP + -216];
|
// AGU:DFP = [IFP + -216];
|
||||||
AGU:R25 = [IFP + -212];
|
AGU:R25 = [IFP + -212];
|
||||||
AGU:R24 = [IFP + -208];
|
AGU:R24 = [IFP + -208];
|
||||||
AGU:R23 = [IFP + -204];
|
AGU:R23 = [IFP + -204];
|
49
public/rtos/code/interrupt_code/Src/alg.s.c
Normal file
49
public/rtos/code/interrupt_code/Src/alg.s.c
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
#include "alg.h"
|
||||||
|
|
||||||
|
|
||||||
|
typedef unsigned int uint32_t;
|
||||||
|
typedef unsigned short uint16_t;
|
||||||
|
typedef unsigned char uint8_t;
|
||||||
|
|
||||||
|
static const char lsb_bitmap[] ={
|
||||||
|
0,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
|
||||||
|
5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
|
||||||
|
6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
|
||||||
|
5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
|
||||||
|
7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
|
||||||
|
5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
|
||||||
|
6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
|
||||||
|
5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
|
||||||
|
};
|
||||||
|
|
||||||
|
int find_lsb(uint32_t ui32)
|
||||||
|
{
|
||||||
|
uint16_t usmsw = (uint16_t)(ui32 >> 16);
|
||||||
|
uint16_t uslsw = (uint16_t)(ui32 & 0xffff);
|
||||||
|
uint8_t ubyte;
|
||||||
|
if(uslsw)
|
||||||
|
{
|
||||||
|
ubyte = (uint8_t)(uslsw & 0xff);
|
||||||
|
if(ubyte)
|
||||||
|
{
|
||||||
|
return (lsb_bitmap[ubyte]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return (lsb_bitmap[(uint8_t)(uslsw >> 8)] + 8 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ubyte = (uint8_t)(usmsw & 0xff);
|
||||||
|
if(ubyte)
|
||||||
|
{
|
||||||
|
return (lsb_bitmap[ubyte] + 16 );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return (lsb_bitmap[(uint8_t)(usmsw >> 8)] + 24 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
465
public/rtos/code/interrupt_code/Src/inter_vector.s.c
Normal file
465
public/rtos/code/interrupt_code/Src/inter_vector.s.c
Normal file
@ -0,0 +1,465 @@
|
|||||||
|
#include "ucps2-intrin.h"
|
||||||
|
#include "inter_vector.h"
|
||||||
|
#include "csu.h"
|
||||||
|
#include "pet_ctrl.h"
|
||||||
|
#include "ucp_sfr_c.h"
|
||||||
|
#include "ucp_js_ctrl.h"
|
||||||
|
#include "ucp_param.h"
|
||||||
|
#include "gs_que.h"
|
||||||
|
#include "error.h"
|
||||||
|
|
||||||
|
#include "alg.h"
|
||||||
|
|
||||||
|
#define DEBUG_OFF 0
|
||||||
|
#define bit_32 32
|
||||||
|
#define bit_64 64
|
||||||
|
|
||||||
|
#define APEID_ADDR 0x931FFF0
|
||||||
|
#define NULL ((void*)0)
|
||||||
|
#define INTR_NR 32
|
||||||
|
#define DBG_ON 1
|
||||||
|
#define MAX_IRQ_NUM 512
|
||||||
|
#define do_write(a,v) __ucps2_store_ext_mem((void *)a, (uint32_t)v, f_W)
|
||||||
|
#define do_read(ptr) __ucps2_load_ext_mem_v((char*)ptr, f_W)
|
||||||
|
#define IRQ_TRACPOINT_SIZE 0x92c
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct{
|
||||||
|
int reg_vec_count;
|
||||||
|
int reg_vec_buf[INTR_NR];
|
||||||
|
int irq_count[INTR_NR];
|
||||||
|
irq_handler pfun[INTR_NR];
|
||||||
|
|
||||||
|
}vec_desc;
|
||||||
|
|
||||||
|
|
||||||
|
vec_desc inter_vec_val;
|
||||||
|
int val_cnt;
|
||||||
|
int irq_num_tatal_cnt;
|
||||||
|
uint32_t g_apeid;
|
||||||
|
uint32_t apcid_set[12] = {0,0,1,1,2,2,3,3,4,4,5,5};
|
||||||
|
uint32_t mask_array[16] = {0,4,8,12,16,20,24,28,32,36,40,44,48,52,56,60};
|
||||||
|
uint32_t apcid_ad_val[] = {0,64,128,192};
|
||||||
|
uint32_t debug_enable = 0;
|
||||||
|
uint32_t debug_addr = 0;
|
||||||
|
|
||||||
|
uint32_t reg_cnt = 0;
|
||||||
|
|
||||||
|
uint32_t irq_check_cnt = 0;
|
||||||
|
uint32_t irq_clear_cnt = 0;
|
||||||
|
uint32_t cpuid_limit[12] = {1,0,1,0,1,0,1,0,1,0,1,0};
|
||||||
|
//irq_num_info info;
|
||||||
|
uint32_t g_mask;
|
||||||
|
|
||||||
|
irq_debug_t *debug_info;
|
||||||
|
|
||||||
|
|
||||||
|
uint32_t irq_cnt = 0;
|
||||||
|
uint32_t fun_cnt_s_c = 0;
|
||||||
|
uint32_t fun_cnt_e_c = 0;
|
||||||
|
uint32_t is_irq_context = 0;
|
||||||
|
|
||||||
|
uint32_t cpuid_times = 0;
|
||||||
|
int val_cnt;
|
||||||
|
uint32_t global_int_cnt[512] = {0};
|
||||||
|
|
||||||
|
|
||||||
|
void __ucps2_interrupt5();
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************
|
||||||
|
|
||||||
|
******/
|
||||||
|
|
||||||
|
static int get_apcid()
|
||||||
|
{
|
||||||
|
return apcid_set[g_apeid];
|
||||||
|
}
|
||||||
|
|
||||||
|
vec_desc *get_vec_desc()
|
||||||
|
{
|
||||||
|
return &inter_vec_val;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if DEBUG_OFF
|
||||||
|
#define irq_debug(add,b) (0)
|
||||||
|
#else
|
||||||
|
static void irq_debug(void * addr, uint32_t v)
|
||||||
|
{
|
||||||
|
if(debug_enable == 1)
|
||||||
|
{
|
||||||
|
do_write(addr, v);
|
||||||
|
__ucps2_synch(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static uint32_t get_int_status_reg(uint32_t vector,int apcid)
|
||||||
|
{
|
||||||
|
int mask_val;
|
||||||
|
int bit_val;
|
||||||
|
int load_val;
|
||||||
|
mask_val = vector>>5;
|
||||||
|
bit_val = (vector)&(bit_32 -1);
|
||||||
|
if((apcid >= 0)&&(apcid < 4))
|
||||||
|
{
|
||||||
|
load_val = do_read((SYSCFG_BASE_ADDR + 1248 + mask_array[mask_val] + apcid_ad_val[apcid]));
|
||||||
|
return load_val;
|
||||||
|
}
|
||||||
|
else if(apcid == 4)
|
||||||
|
{
|
||||||
|
load_val = do_read((PET_CTRL_BASE + 100*4 + mask_val*4 ));
|
||||||
|
return load_val;
|
||||||
|
}
|
||||||
|
else if(apcid == 5)
|
||||||
|
{
|
||||||
|
load_val = do_read((JECS_CTRL_BASE + 40*4 + mask_val*4 ));
|
||||||
|
return load_val;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int irq_csu_clear_is_ok(int irq_num)
|
||||||
|
{
|
||||||
|
if (0 ==(APC_CSU_ALLPENDEVENT0 & (1<<(irq_num & 31))))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void isr_entry()
|
||||||
|
{
|
||||||
|
is_irq_context = 1;
|
||||||
|
++irq_cnt;
|
||||||
|
vec_desc *vec_val = &inter_vec_val;
|
||||||
|
unsigned int val;
|
||||||
|
int k;
|
||||||
|
int irq_num_bit;
|
||||||
|
uint32_t sys_status;
|
||||||
|
uint32_t bit_val = 0;
|
||||||
|
g_mask = APC_CSU_INTMASKL;
|
||||||
|
APC_CSU_INTMASKL = 0;
|
||||||
|
__ucps2_synch(0);
|
||||||
|
irq_debug(&(debug_info->irq_cnt), irq_cnt);
|
||||||
|
irq_debug(&(debug_info->apc_csu_allpendevent0), APC_CSU_ALLPENDEVENT0);
|
||||||
|
|
||||||
|
// val = APC_CSU_ALLPENDEVENT0 & APC_CSU_INTMASKL;
|
||||||
|
val = APC_CSU_ALLPENDEVENT0 & g_mask;
|
||||||
|
|
||||||
|
while (val != 0)
|
||||||
|
{
|
||||||
|
bit_val = find_lsb(val);
|
||||||
|
for (k = 0; k < (vec_val->reg_vec_count); k++)
|
||||||
|
{
|
||||||
|
irq_num_bit = (vec_val->reg_vec_buf[k]) & (bit_32 - 1);
|
||||||
|
sys_status = get_int_status_reg(vec_val->reg_vec_buf[k], apcid_set[g_apeid]);
|
||||||
|
irq_debug(&(debug_info->irq_sys_status[vec_val->reg_vec_buf[k] >> 5]), sys_status);
|
||||||
|
if ((bit_val == irq_num_bit) && (sys_status & (1 << irq_num_bit)))
|
||||||
|
{
|
||||||
|
if(vec_val->pfun[k] != NULL)
|
||||||
|
{
|
||||||
|
fun_cnt_s_c++;
|
||||||
|
irq_debug(&(debug_info->fun_start_cnt_all), fun_cnt_s_c);
|
||||||
|
global_int_cnt[vec_val->reg_vec_buf[k]]++;
|
||||||
|
irq_debug(&(debug_info->fun_run_cnt[vec_val->reg_vec_buf[k]]),global_int_cnt[vec_val->reg_vec_buf[k]]);
|
||||||
|
irq_debug(&(debug_info->cur_irq_num),vec_val->reg_vec_buf[k]);
|
||||||
|
vec_val->pfun[k]();
|
||||||
|
__ucps2_synch(0);
|
||||||
|
APC_CSU_EVENTINTCLEAR = ((vec_val->reg_vec_buf[k]) & 31);
|
||||||
|
__ucps2_synch(0);
|
||||||
|
fun_cnt_e_c++;
|
||||||
|
irq_debug(&(debug_info->fun_end_cnt_all),fun_cnt_e_c);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
val &= ~(1 << bit_val);
|
||||||
|
}
|
||||||
|
|
||||||
|
APC_CSU_INTMASKL = g_mask;
|
||||||
|
__ucps2_synch(0);
|
||||||
|
is_irq_context = 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*****************************************************
|
||||||
|
|
||||||
|
***************************************************/
|
||||||
|
|
||||||
|
int smart_irq_init(int cpuid)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
int32_t addr = (int32_t)__ucps2_interrupt5;
|
||||||
|
if((cpuid < 0)||(cpuid > 11))
|
||||||
|
{
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
g_apeid = cpuid;
|
||||||
|
for(i = 0; i < 32;i++)
|
||||||
|
{
|
||||||
|
inter_vec_val.pfun[i] = NULL;
|
||||||
|
}
|
||||||
|
__ucps2_IntAddr(addr);
|
||||||
|
__ucps2_IntEn(f_Enable);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int smart_get_cpuid()
|
||||||
|
{
|
||||||
|
int apeid;
|
||||||
|
if(cpuid_times != 0)
|
||||||
|
{
|
||||||
|
return g_apeid;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_apeid = *(volatile unsigned int*)APEID_ADDR;
|
||||||
|
__ucps2_synch(0);
|
||||||
|
cpuid_times = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return g_apeid;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
*/
|
||||||
|
int smart_irq_request(uint32_t vector, irq_handler func)
|
||||||
|
{
|
||||||
|
int mask_val;
|
||||||
|
int i= 0;
|
||||||
|
int bit_val;
|
||||||
|
int apcid;
|
||||||
|
int load_val;
|
||||||
|
int cpuid = g_apeid;
|
||||||
|
if(vector > FUN_IRQ_MAX_NUM - 1)
|
||||||
|
{
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
if (is_irq_context)
|
||||||
|
{
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
if((cpuid < 0)||(cpuid > 11))
|
||||||
|
{
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
__ucps2_IntEn(f_Disable);
|
||||||
|
for(i = 0; i < inter_vec_val.reg_vec_count;i++)
|
||||||
|
{
|
||||||
|
if(vector == inter_vec_val.reg_vec_buf[i])
|
||||||
|
{
|
||||||
|
return -EREREG;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mask_val = vector>>5;
|
||||||
|
bit_val = (vector)&(bit_32 -1);
|
||||||
|
apcid = apcid_set[cpuid];
|
||||||
|
|
||||||
|
if(apcid ==4)
|
||||||
|
{
|
||||||
|
load_val = do_read((PET_CTRL_BASE + 280 + mask_val*4 ));
|
||||||
|
load_val |= (1<<bit_val);
|
||||||
|
do_write((PET_CTRL_BASE + 280 + mask_val*4 ),load_val);
|
||||||
|
__ucps2_synch(0);
|
||||||
|
}
|
||||||
|
else if(apcid == 5)
|
||||||
|
{
|
||||||
|
load_val = do_read((JECS_CTRL_BASE + 40 + mask_val*4 ));
|
||||||
|
load_val |= (1<<bit_val);
|
||||||
|
do_write((JECS_CTRL_BASE + 40 + mask_val*4 ),load_val);
|
||||||
|
__ucps2_synch(0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
load_val = do_read((SYSCFG_BASE_ADDR + 720 + mask_val*4 + apcid*bit_64));
|
||||||
|
load_val |= (1<<bit_val);
|
||||||
|
do_write((SYSCFG_BASE_ADDR + 720 + mask_val*4 + apcid*bit_64),load_val);
|
||||||
|
__ucps2_synch(0);
|
||||||
|
}
|
||||||
|
__ucps2_synch(0);
|
||||||
|
|
||||||
|
reg_cnt++;
|
||||||
|
irq_debug(&(debug_info->irq_sys_mask[mask_val]), load_val);
|
||||||
|
irq_debug(&(debug_info->reg_irq_val[reg_cnt]), vector);
|
||||||
|
irq_debug(&(debug_info->reg_irq_cnt), reg_cnt);
|
||||||
|
irq_debug(&(debug_info->reg_irq_cpu_id), cpuid);
|
||||||
|
APC_CSU_INTMASKL |= (1 << bit_val);
|
||||||
|
__ucps2_synch(0);
|
||||||
|
inter_vec_val.reg_vec_buf[inter_vec_val.reg_vec_count] = vector;
|
||||||
|
inter_vec_val.pfun[inter_vec_val.reg_vec_count] = func;
|
||||||
|
inter_vec_val.reg_vec_count++;
|
||||||
|
__ucps2_IntEn(f_Enable);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int smart_irq_enable(uint32_t vector)
|
||||||
|
{
|
||||||
|
int mask_val;
|
||||||
|
int bit_val;
|
||||||
|
int apcid;
|
||||||
|
int load_val;
|
||||||
|
int cpuid = g_apeid;
|
||||||
|
|
||||||
|
if(vector > FUN_IRQ_MAX_NUM - 1)
|
||||||
|
{
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
mask_val = vector>>5;
|
||||||
|
bit_val = (vector)&(bit_32 -1);
|
||||||
|
apcid = apcid_set[cpuid];
|
||||||
|
__ucps2_IntEn(f_Disable);
|
||||||
|
if(apcid ==4)
|
||||||
|
{
|
||||||
|
load_val = do_read((PET_CTRL_BASE + 280 + mask_val*4 ));
|
||||||
|
load_val |= (1<<bit_val);
|
||||||
|
do_write((PET_CTRL_BASE + 280 + mask_val*4 ),load_val);
|
||||||
|
__ucps2_synch(0);
|
||||||
|
}
|
||||||
|
else if(apcid == 5)
|
||||||
|
{
|
||||||
|
load_val = do_read((JECS_CTRL_BASE + 40 + mask_val*4 ));
|
||||||
|
load_val |= (1<<bit_val);
|
||||||
|
do_write((JECS_CTRL_BASE + 40 + mask_val*4 ),load_val);
|
||||||
|
__ucps2_synch(0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
load_val = do_read((SYSCFG_BASE_ADDR + 720 + mask_val*4 + apcid*bit_64));
|
||||||
|
load_val |= (1<<bit_val);
|
||||||
|
do_write((SYSCFG_BASE_ADDR + 720 + mask_val*4 + apcid*bit_64),load_val);
|
||||||
|
__ucps2_synch(0);
|
||||||
|
}
|
||||||
|
__ucps2_IntEn(f_Enable);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int smart_irq_disable(uint32_t vector)
|
||||||
|
{
|
||||||
|
int mask_val;
|
||||||
|
int i= 0;
|
||||||
|
int bit_val;
|
||||||
|
int apcid;
|
||||||
|
int load_val;
|
||||||
|
int cpuid = g_apeid;
|
||||||
|
|
||||||
|
if(vector > FUN_IRQ_MAX_NUM - 1)
|
||||||
|
{
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
mask_val = vector>>5;
|
||||||
|
bit_val = (vector)&(bit_32 -1);
|
||||||
|
apcid = apcid_set[cpuid];
|
||||||
|
__ucps2_IntEn(f_Disable);
|
||||||
|
if(apcid ==4)
|
||||||
|
{
|
||||||
|
load_val = do_read((PET_CTRL_BASE + 70*4 + mask_val*4 ));
|
||||||
|
load_val &= ~(1<<bit_val);
|
||||||
|
do_write((PET_CTRL_BASE + 70*4 + mask_val*4 ),load_val);
|
||||||
|
__ucps2_synch(0);
|
||||||
|
}
|
||||||
|
else if(apcid == 5)
|
||||||
|
{
|
||||||
|
load_val = do_read((JECS_CTRL_BASE + 10*4 + mask_val*4 ));
|
||||||
|
load_val &= ~(1<<bit_val);
|
||||||
|
do_write((JECS_CTRL_BASE + 10*4 + mask_val*4),load_val);
|
||||||
|
__ucps2_synch(0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
load_val = do_read((SYSCFG_BASE_ADDR + 180*4 + mask_val*4 + apcid*bit_64));
|
||||||
|
load_val &= ~(1<<bit_val);
|
||||||
|
do_write((SYSCFG_BASE_ADDR + 180*4 + mask_val*4 + apcid*bit_64),load_val);
|
||||||
|
__ucps2_synch(0);
|
||||||
|
}
|
||||||
|
__ucps2_IntEn(f_Enable);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/******************************************************************************
|
||||||
|
******/
|
||||||
|
|
||||||
|
int smart_irq_debug_init(uint32_t debug_base_addr, uint32_t len_bytes)
|
||||||
|
{
|
||||||
|
if (debug_base_addr <= 0x10000000)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (len_bytes < IRQ_TRACPOINT_SIZE)
|
||||||
|
{
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
|
|
||||||
|
debug_enable = 1;
|
||||||
|
debug_addr = debug_base_addr;
|
||||||
|
|
||||||
|
debug_info = (irq_debug_t *)debug_addr;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t smart_irq_get_type_cnt(irq_cnt_type_t num_type)
|
||||||
|
{
|
||||||
|
uint32_t val = 0;
|
||||||
|
switch (num_type)
|
||||||
|
{
|
||||||
|
case all_irq:
|
||||||
|
val = irq_cnt;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case fun_s:
|
||||||
|
val = fun_cnt_s_c;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case fun_e:
|
||||||
|
val = fun_cnt_e_c;
|
||||||
|
break;
|
||||||
|
|
||||||
|
/*case clear_cnt_error:
|
||||||
|
val = irq_clear_cnt;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case irq_check_error:
|
||||||
|
val = irq_check_cnt;
|
||||||
|
break;*/
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
int smart_irq_get_run_cnt(uint32_t irqnum)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
if (irqnum > (MAX_IRQ_NUM-1))
|
||||||
|
{
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return global_int_cnt[irqnum];
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
150
public/rtos/code/interrupt_code/inc/inter_vector.h
Normal file
150
public/rtos/code/interrupt_code/inc/inter_vector.h
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
#ifndef __INTER_MSG_REG_H__
|
||||||
|
#define __INTER_MSG_REG_H__
|
||||||
|
|
||||||
|
|
||||||
|
#define FUN_IRQ_MAX_NUM 512
|
||||||
|
#define IRQ_MAX_NUM 32
|
||||||
|
#define IRQ_SYS_MASK_NUM 16
|
||||||
|
|
||||||
|
|
||||||
|
typedef unsigned int uint32_t;
|
||||||
|
typedef unsigned int UINT32;
|
||||||
|
|
||||||
|
typedef void (*irq_handler)();
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
all_irq,
|
||||||
|
fun_s,
|
||||||
|
fun_e,
|
||||||
|
// clear_cnt_error,
|
||||||
|
// irq_check_error
|
||||||
|
|
||||||
|
}irq_cnt_type_t;
|
||||||
|
|
||||||
|
typedef unsigned int uint32_t;
|
||||||
|
typedef unsigned short uint16_t;
|
||||||
|
typedef unsigned char uint8_t;
|
||||||
|
typedef signed int int32_t;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
|
||||||
|
uint32_t reg_irq_cnt; //0x00
|
||||||
|
uint32_t reg_irq_val[IRQ_MAX_NUM]; //0x04-0x80
|
||||||
|
|
||||||
|
uint32_t reg_irq_cpu_id; //0x84
|
||||||
|
|
||||||
|
uint32_t irq_cnt; //0x88
|
||||||
|
|
||||||
|
uint32_t fun_start_cnt_all; //0x8c
|
||||||
|
uint32_t fun_end_cnt_all; //0x90
|
||||||
|
uint32_t cur_irq_num; //0x94
|
||||||
|
uint32_t fun_run_cnt[FUN_IRQ_MAX_NUM]; //0x98-0x894
|
||||||
|
|
||||||
|
// uint32_t last_irq_num; //0x8a4
|
||||||
|
|
||||||
|
uint32_t irq_sys_mask[IRQ_SYS_MASK_NUM]; //0x898 -0x8d4
|
||||||
|
uint32_t irq_sys_status[IRQ_SYS_MASK_NUM]; //0x8d4 -0x914
|
||||||
|
uint32_t apc_csu_allpendevent0; //0x918
|
||||||
|
uint32_t apc_csu_intmaskl; //0x91c
|
||||||
|
|
||||||
|
|
||||||
|
}irq_debug_t;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
函数名称:smart_irq_request
|
||||||
|
输入参数: vector
|
||||||
|
输入参数:func
|
||||||
|
返回类型: int
|
||||||
|
返回值: 小于0 表示失败
|
||||||
|
返回值: 0 表示成功
|
||||||
|
函数功能: 中断注册接口
|
||||||
|
*/
|
||||||
|
extern int smart_irq_request(uint32_t vector,irq_handler func);
|
||||||
|
|
||||||
|
/*
|
||||||
|
函数名称:smart_irq_enable
|
||||||
|
输入参数: vector
|
||||||
|
返回类型: int
|
||||||
|
返回值: 小于0 表示失败
|
||||||
|
返回值: 0 表示成功
|
||||||
|
函数功能: 中断使能接口
|
||||||
|
*/
|
||||||
|
|
||||||
|
extern int smart_irq_enable(uint32_t vector);
|
||||||
|
|
||||||
|
/*
|
||||||
|
函数名称:smart_irq_disable
|
||||||
|
输入参数: vector
|
||||||
|
返回类型: int
|
||||||
|
返回值: 小于0 表示失败
|
||||||
|
返回值: 0 表示成功
|
||||||
|
函数功能: 中断去使能接口
|
||||||
|
*/
|
||||||
|
|
||||||
|
extern int smart_irq_disable(uint32_t vector);
|
||||||
|
|
||||||
|
/*
|
||||||
|
函数名称:smart_irq_debug_init
|
||||||
|
输入参数: debug_base_addr
|
||||||
|
输入参数:len_bytes
|
||||||
|
返回类型: int
|
||||||
|
返回值: 小于0 表示失败
|
||||||
|
返回值: 0 表示成功
|
||||||
|
函数功能: 中断调试接口,
|
||||||
|
注意:
|
||||||
|
通过地址与,长度指定相应的buf 数据空间,存放相应的中断调试信息。
|
||||||
|
这些调试信息已经格式化,地址由用户指定,len_bytes 不能小于sizeof(irq_debug_t)
|
||||||
|
数据格式化内容是 irq_debug_t
|
||||||
|
*/
|
||||||
|
|
||||||
|
extern int smart_irq_debug_init(uint32_t debug_base_addr, uint32_t len_bytes);
|
||||||
|
|
||||||
|
/*
|
||||||
|
函数名称:smart_irq_get_type_cnt
|
||||||
|
输入参数: num_type
|
||||||
|
返回类型: int
|
||||||
|
返回值: 0 表示当前type 类型计数为0
|
||||||
|
返回值: 非0 表示当前type 类型有计数
|
||||||
|
函数功能: 获取某种中断计数
|
||||||
|
*/
|
||||||
|
|
||||||
|
extern uint32_t smart_irq_get_type_cnt(irq_cnt_type_t num_type);
|
||||||
|
|
||||||
|
/*
|
||||||
|
函数名称:smart_irq_get_run_cnt
|
||||||
|
输入参数: irq_num:中断号
|
||||||
|
返回类型: int
|
||||||
|
返回值: 小于0 表示获取失败。输入参数有问题
|
||||||
|
返回值: 为0 表示相应中断没有触发
|
||||||
|
返回值: 非0 表示中断产生的次数
|
||||||
|
函数功能:获取相应中断号的中断计数
|
||||||
|
*/
|
||||||
|
|
||||||
|
extern int smart_irq_get_run_cnt(uint32_t irqnum);
|
||||||
|
|
||||||
|
/*
|
||||||
|
函数名称:smart_get_cpuid
|
||||||
|
输入参数: 无
|
||||||
|
返回类型: int
|
||||||
|
返回值: 当前的cpuid 号
|
||||||
|
函数功能:获取当前核cpuid 号
|
||||||
|
*/
|
||||||
|
|
||||||
|
extern int smart_get_cpuid();
|
||||||
|
|
||||||
|
/*
|
||||||
|
函数名称:smart_irq_init
|
||||||
|
输入参数: cpuid
|
||||||
|
返回类型: int
|
||||||
|
返回值: 非0 初始化失败
|
||||||
|
函数功能:中断初始化
|
||||||
|
*/
|
||||||
|
|
||||||
|
extern int smart_irq_init(int cpuid);
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
@ -1,126 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
|
||||||
<cconfiguration id="com.smartlogic.mapu.build.ucp2.staticlib.debug.1890016445">
|
|
||||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.smartlogic.mapu.build.ucp2.staticlib.debug.1890016445" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
|
||||||
<externalSettings>
|
|
||||||
<externalSetting>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/interrupt"/>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/interrupt/Debug"/>
|
|
||||||
<entry flags="RESOLVED" kind="libraryFile" name="interrupt" srcPrefixMapping="" srcRootPath=""/>
|
|
||||||
</externalSetting>
|
|
||||||
</externalSettings>
|
|
||||||
<extensions>
|
|
||||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
</extensions>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
|
||||||
<configuration artifactExtension="a" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.staticLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.staticLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" id="com.smartlogic.mapu.build.ucp2.staticlib.debug.1890016445" name="Debug" parent="com.smartlogic.mapu.build.ucp2.staticlib.debug" postbuildStep="">
|
|
||||||
<folderInfo id="com.smartlogic.mapu.build.ucp2.staticlib.debug.1890016445." name="/" resourcePath="">
|
|
||||||
<toolChain id="com.smartlogic.mapu.build.toolChain.ucp2.staticlib.debug.768002337" name="UCP2 static Toolchain" superClass="com.smartlogic.mapu.build.toolChain.ucp2.staticlib.debug">
|
|
||||||
<targetPlatform archList="ucps2,ucpm2" binaryParser="org.eclipse.cdt.core.ELF" id="com.smartlogic.mapu.build.static.targetPlatform.ucp2.487739093" isAbstract="false" name="MaPU UCP2 Platform" osList="all" superClass="com.smartlogic.mapu.build.static.targetPlatform.ucp2"/>
|
|
||||||
<builder buildPath="${workspace_loc:/interrupt}/Debug" id="com.smartlogic.mapu.build.builder.ucp2.staticlib.1912648636" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="com.smartlogic.mapu.build.builder.ucp2.staticlib"/>
|
|
||||||
<tool id="cdt.mapu.managedbuild.tool.llvm.c.compiler.lib.ucp2.1781190333" name="Clang" superClass="cdt.mapu.managedbuild.tool.llvm.c.compiler.lib.ucp2">
|
|
||||||
<option id="mapu.llvm.c_cpp.compiler.option.optimization.level.1941858287" name="Optimization Level" superClass="mapu.llvm.c_cpp.compiler.option.optimization.level" value="mapu.llvm.c_cpp.compiler.optimization.level.none" valueType="enumerated"/>
|
|
||||||
<option id="mapu.llvm.c_cpp.compiler.option.debugging.level.2035733028" name="Debug Level" superClass="mapu.llvm.c_cpp.compiler.option.debugging.level"/>
|
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="mapu.llvm.c_cpp.compiler.option.include.paths.1632606459" name="Include paths (-I)" superClass="mapu.llvm.c_cpp.compiler.option.include.paths" valueType="includePath">
|
|
||||||
<listOptionValue builtIn="false" value="../inc"/>
|
|
||||||
</option>
|
|
||||||
<inputType id="cdt.mapu.managedbuild.tool.llvm.c.compiler.input1.1280869863" superClass="cdt.mapu.managedbuild.tool.llvm.c.compiler.input1"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.smartlogic.mapu.build.static.tool.llvmmc.ucp2.lib.125736835" name="llvm-mc Assembler" superClass="com.smartlogic.mapu.build.static.tool.llvmmc.ucp2.lib">
|
|
||||||
<option id="com.smartlogic.mapu.build.option.llvmmc.debugging.908947022" name="Debug Level" superClass="com.smartlogic.mapu.build.option.llvmmc.debugging"/>
|
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="mapu.llvmmc.compiler.option.include.paths.372783453" name="Include" superClass="mapu.llvmmc.compiler.option.include.paths" valueType="includePath">
|
|
||||||
<listOptionValue builtIn="false" value="../inc"/>
|
|
||||||
</option>
|
|
||||||
<inputType id="com.smartlogic.mapu.build.inputType.llvmmc.input.105874229" superClass="com.smartlogic.mapu.build.inputType.llvmmc.input"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.smartlogic.mapu.build.static.tool.gnu.ucp2.1446205630" name="GNU archiver" superClass="com.smartlogic.mapu.build.static.tool.gnu.ucp2"/>
|
|
||||||
</toolChain>
|
|
||||||
</folderInfo>
|
|
||||||
<fileInfo id="com.smartlogic.mapu.build.ucp2.staticlib.debug.1890016445.Src/__ucps2_interrupt.s.asm" name="__ucps2_interrupt.s.asm" rcbsApplicability="disable" resourcePath="Src/__ucps2_interrupt.s.asm" toolsToInvoke="com.smartlogic.mapu.build.static.tool.llvmmc.ucp2.lib.125736835.1726964261">
|
|
||||||
<tool id="com.smartlogic.mapu.build.static.tool.llvmmc.ucp2.lib.125736835.1726964261" name="llvm-mc Assembler" superClass="com.smartlogic.mapu.build.static.tool.llvmmc.ucp2.lib.125736835">
|
|
||||||
<option id="com.smartlogic.mapu.build.option.llvmmc.arch.2104909691" name="arch (-arch)" superClass="com.smartlogic.mapu.build.option.llvmmc.arch" useByScannerDiscovery="false" value="com.smartlogic.mapu.build.llvmmc.arch.ucps2" valueType="enumerated"/>
|
|
||||||
<inputType id="com.smartlogic.mapu.build.inputType.llvmmc.input.1753484815" superClass="com.smartlogic.mapu.build.inputType.llvmmc.input"/>
|
|
||||||
</tool>
|
|
||||||
</fileInfo>
|
|
||||||
<sourceEntries>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Src"/>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="dmdata"/>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="lib"/>
|
|
||||||
</sourceEntries>
|
|
||||||
</configuration>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
|
||||||
</cconfiguration>
|
|
||||||
<cconfiguration id="com.smartlogic.mapu.build.ucp2.staticlib.release.300765673">
|
|
||||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.smartlogic.mapu.build.ucp2.staticlib.release.300765673" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
|
||||||
<externalSettings>
|
|
||||||
<externalSetting>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/interrupt"/>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/interrupt/Release"/>
|
|
||||||
<entry flags="RESOLVED" kind="libraryFile" name="interrupt" srcPrefixMapping="" srcRootPath=""/>
|
|
||||||
</externalSetting>
|
|
||||||
</externalSettings>
|
|
||||||
<extensions>
|
|
||||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
</extensions>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
|
||||||
<configuration artifactExtension="a" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.staticLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.staticLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" description="" id="com.smartlogic.mapu.build.ucp2.staticlib.release.300765673" name="Release" parent="com.smartlogic.mapu.build.ucp2.staticlib.release" postbuildStep=" cp /home/ds5/ape/IDE_wang/workspace/interrupt/Release/libinterrupt.a /home/ds5/ape/IDE/workspace/ape0_inter_demo2/lib/">
|
|
||||||
<folderInfo id="com.smartlogic.mapu.build.ucp2.staticlib.release.300765673." name="/" resourcePath="">
|
|
||||||
<toolChain id="com.smartlogic.mapu.build.toolChain.ucp2.staticlib.release.736279150" name="UCP2 static Toolchain" superClass="com.smartlogic.mapu.build.toolChain.ucp2.staticlib.release">
|
|
||||||
<targetPlatform archList="ucps2,ucpm2" binaryParser="org.eclipse.cdt.core.ELF" id="com.smartlogic.mapu.build.static.targetPlatform.ucp2.1619298899" isAbstract="false" name="MaPU UCP2 Platform" osList="all" superClass="com.smartlogic.mapu.build.static.targetPlatform.ucp2"/>
|
|
||||||
<builder buildPath="${workspace_loc:/interrupt}/Release" id="com.smartlogic.mapu.build.builder.ucp2.staticlib.376294459" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="com.smartlogic.mapu.build.builder.ucp2.staticlib"/>
|
|
||||||
<tool id="cdt.mapu.managedbuild.tool.llvm.c.compiler.lib.ucp2.1262497861" name="Clang" superClass="cdt.mapu.managedbuild.tool.llvm.c.compiler.lib.ucp2">
|
|
||||||
<option id="mapu.llvm.c_cpp.compiler.option.optimization.level.396841516" name="Optimization Level" superClass="mapu.llvm.c_cpp.compiler.option.optimization.level"/>
|
|
||||||
<option id="mapu.llvm.c_cpp.compiler.option.debugging.level.1587893268" name="Debug Level" superClass="mapu.llvm.c_cpp.compiler.option.debugging.level" value="mapu.llvm.c_cpp.compiler.debugging.level.none" valueType="enumerated"/>
|
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="mapu.llvm.c_cpp.compiler.option.include.paths.221815110" name="Include paths (-I)" superClass="mapu.llvm.c_cpp.compiler.option.include.paths" valueType="includePath">
|
|
||||||
<listOptionValue builtIn="false" value="../inc"/>
|
|
||||||
</option>
|
|
||||||
<inputType id="cdt.mapu.managedbuild.tool.llvm.c.compiler.input1.1620798060" superClass="cdt.mapu.managedbuild.tool.llvm.c.compiler.input1"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.smartlogic.mapu.build.static.tool.llvmmc.ucp2.lib.148512743" name="llvm-mc Assembler" superClass="com.smartlogic.mapu.build.static.tool.llvmmc.ucp2.lib">
|
|
||||||
<option id="com.smartlogic.mapu.build.option.llvmmc.debugging.1682805716" name="Debug Level" superClass="com.smartlogic.mapu.build.option.llvmmc.debugging" value="com.smartlogic.mapu.build.option.llvmmc.debugging.none" valueType="enumerated"/>
|
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="mapu.llvmmc.compiler.option.include.paths.37882860" name="Include" superClass="mapu.llvmmc.compiler.option.include.paths" valueType="includePath">
|
|
||||||
<listOptionValue builtIn="false" value="../inc"/>
|
|
||||||
</option>
|
|
||||||
<inputType id="com.smartlogic.mapu.build.inputType.llvmmc.input.237875386" superClass="com.smartlogic.mapu.build.inputType.llvmmc.input"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.smartlogic.mapu.build.static.tool.gnu.ucp2.1126503581" name="GNU archiver" superClass="com.smartlogic.mapu.build.static.tool.gnu.ucp2"/>
|
|
||||||
</toolChain>
|
|
||||||
</folderInfo>
|
|
||||||
<fileInfo id="com.smartlogic.mapu.build.ucp2.staticlib.release.300765673.Src/__ucps2_interrupt.s.asm" name="__ucps2_interrupt.s.asm" rcbsApplicability="disable" resourcePath="Src/__ucps2_interrupt.s.asm" toolsToInvoke="com.smartlogic.mapu.build.static.tool.llvmmc.ucp2.lib.148512743.680504920">
|
|
||||||
<tool id="com.smartlogic.mapu.build.static.tool.llvmmc.ucp2.lib.148512743.680504920" name="llvm-mc Assembler" superClass="com.smartlogic.mapu.build.static.tool.llvmmc.ucp2.lib.148512743">
|
|
||||||
<option id="com.smartlogic.mapu.build.option.llvmmc.arch.741698174" name="arch (-arch)" superClass="com.smartlogic.mapu.build.option.llvmmc.arch" useByScannerDiscovery="false" value="com.smartlogic.mapu.build.llvmmc.arch.ucps2" valueType="enumerated"/>
|
|
||||||
<inputType id="com.smartlogic.mapu.build.inputType.llvmmc.input.133481656" superClass="com.smartlogic.mapu.build.inputType.llvmmc.input"/>
|
|
||||||
</tool>
|
|
||||||
</fileInfo>
|
|
||||||
<sourceEntries>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Src"/>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="dmdata"/>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="lib"/>
|
|
||||||
</sourceEntries>
|
|
||||||
</configuration>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
|
||||||
</cconfiguration>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
|
||||||
<project id="interrupt.com.smartlogic.mapu.build.projectType.ucp2.staticlib.712958039" name="Static Library" projectType="com.smartlogic.mapu.build.projectType.ucp2.staticlib"/>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="scannerConfiguration">
|
|
||||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
|
||||||
<storageModule moduleId="refreshScope"/>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
|
||||||
</cproject>
|
|
@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"project": {
|
|
||||||
"incList": [
|
|
||||||
"../inc"
|
|
||||||
],
|
|
||||||
"libList": []
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<projectDescription>
|
|
||||||
<name>interrupt</name>
|
|
||||||
<comment></comment>
|
|
||||||
<projects>
|
|
||||||
</projects>
|
|
||||||
<buildSpec>
|
|
||||||
<buildCommand>
|
|
||||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
|
||||||
<triggers>clean,full,incremental,</triggers>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
<buildCommand>
|
|
||||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
|
||||||
<triggers>full,incremental,</triggers>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
</buildSpec>
|
|
||||||
<natures>
|
|
||||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
|
||||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
|
||||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
|
||||||
<nature>com.smartlogic.mapu.build.staticlibrary.libraryNature</nature>
|
|
||||||
</natures>
|
|
||||||
</projectDescription>
|
|
@ -1,5 +0,0 @@
|
|||||||
eclipse.preferences.version=1
|
|
||||||
environment/project/com.smartlogic.mapu.build.ucp2.staticlib.debug.1890016445/append=true
|
|
||||||
environment/project/com.smartlogic.mapu.build.ucp2.staticlib.debug.1890016445/appendContributed=true
|
|
||||||
environment/project/com.smartlogic.mapu.build.ucp2.staticlib.release.300765673/append=true
|
|
||||||
environment/project/com.smartlogic.mapu.build.ucp2.staticlib.release.300765673/appendContributed=true
|
|
@ -1,47 +0,0 @@
|
|||||||
Src/inter_vector.s.o: ../Src/inter_vector.s.c \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h \
|
|
||||||
../inc/inter_vector.h ../inc/csu.h ../inc/pet_ctrl.h \
|
|
||||||
../inc/ucp_sfr_c.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdint.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_intsup.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_stdint.h \
|
|
||||||
../inc/ucp_param.h ../inc/ucp_js_ctrl.h ../inc/dw_apb_timers.h \
|
|
||||||
../inc/gs_que.h ../inc/error.h
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h:
|
|
||||||
|
|
||||||
../inc/inter_vector.h:
|
|
||||||
|
|
||||||
../inc/csu.h:
|
|
||||||
|
|
||||||
../inc/pet_ctrl.h:
|
|
||||||
|
|
||||||
../inc/ucp_sfr_c.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdint.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_intsup.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_stdint.h:
|
|
||||||
|
|
||||||
../inc/ucp_param.h:
|
|
||||||
|
|
||||||
../inc/ucp_js_ctrl.h:
|
|
||||||
|
|
||||||
../inc/dw_apb_timers.h:
|
|
||||||
|
|
||||||
../inc/gs_que.h:
|
|
||||||
|
|
||||||
../inc/error.h:
|
|
@ -1,35 +0,0 @@
|
|||||||
################################################################################
|
|
||||||
# Automatically-generated file. Do not edit!
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# Add inputs and outputs from these tool invocations to the build variables
|
|
||||||
ASM_SRCS += \
|
|
||||||
../Src/__ucps2_interrupt.s.asm
|
|
||||||
|
|
||||||
C_SRCS += \
|
|
||||||
../Src/inter_vector.s.c
|
|
||||||
|
|
||||||
OBJS += \
|
|
||||||
./Src/__ucps2_interrupt.s.o \
|
|
||||||
./Src/inter_vector.s.o
|
|
||||||
|
|
||||||
C_DEPS += \
|
|
||||||
./Src/inter_vector.s.d
|
|
||||||
|
|
||||||
|
|
||||||
# Each subdirectory must supply rules for building sources it contributes
|
|
||||||
Src/__ucps2_interrupt.s.o: ../Src/__ucps2_interrupt.s.asm
|
|
||||||
@echo 'Building file: $<'
|
|
||||||
@echo 'Invoking: llvm-mc Assembler'
|
|
||||||
$(MaPU_TC_HOME)/bin/ucp2/llvm-mc -arch=ucps2 -g -I../inc -filetype=obj -o "$@" "$<"
|
|
||||||
@echo 'Finished building: $<'
|
|
||||||
@echo ' '
|
|
||||||
|
|
||||||
Src/%.o: ../Src/%.c
|
|
||||||
@echo 'Building file: $<'
|
|
||||||
@echo 'Invoking: Clang'
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/bin/ucp2/clang --target=ucps2 -I../inc -I/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib -I/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm -O0 -g -Wno-constant-conversion -nostdlibinc -MMD -MP -o "$@" -c "$<"
|
|
||||||
@echo 'Finished building: $<'
|
|
||||||
@echo ' '
|
|
||||||
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
|||||||
################################################################################
|
|
||||||
# Automatically-generated file. Do not edit!
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
-include ../makefile.init
|
|
||||||
|
|
||||||
RM := find . -path './build' -prune -o -print -a -type f -not -name '*.mk' -a -not -name '*.ld' -a -not -name 'makefile' -a -not -name 'genhex.sh' -delete & rm -rf
|
|
||||||
|
|
||||||
# All of the sources participating in the build are defined here
|
|
||||||
-include sources.mk
|
|
||||||
-include Src/subdir.mk
|
|
||||||
-include subdir.mk
|
|
||||||
-include objects.mk
|
|
||||||
|
|
||||||
ifneq ($(MAKECMDGOALS),clean)
|
|
||||||
ifneq ($(strip $(C_DEPS)),)
|
|
||||||
-include $(C_DEPS)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
-include ../makefile.defs
|
|
||||||
|
|
||||||
# Add inputs and outputs from these tool invocations to the build variables
|
|
||||||
|
|
||||||
# All Target
|
|
||||||
all: libinterrupt_get32.a
|
|
||||||
|
|
||||||
# Tool invocations
|
|
||||||
libinterrupt_get32.a: $(OBJS)
|
|
||||||
@echo 'Building target: $@'
|
|
||||||
@echo 'Invoking: GNU archiver'
|
|
||||||
ar rcs "libinterrupt_get32.a" $(USER_OBJS) $(OBJS) $(LIBS)
|
|
||||||
@echo 'Finished building target: $@'
|
|
||||||
@echo ' '
|
|
||||||
|
|
||||||
# Other Targets
|
|
||||||
clean:
|
|
||||||
-$(RM) $(LIB)$(OBJS)$(C_DEPS) libinterrupt_get32.a
|
|
||||||
-@echo ' '
|
|
||||||
|
|
||||||
.PHONY: all clean dependents
|
|
||||||
|
|
||||||
-include ../makefile.targets
|
|
@ -1,8 +0,0 @@
|
|||||||
################################################################################
|
|
||||||
# Automatically-generated file. Do not edit!
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
USER_OBJS :=
|
|
||||||
|
|
||||||
LIBS :=
|
|
||||||
|
|
@ -1,596 +0,0 @@
|
|||||||
#include "ucps2-intrin.h"
|
|
||||||
#include "inter_vector.h"
|
|
||||||
#include "csu.h"
|
|
||||||
#include "pet_ctrl.h"
|
|
||||||
#include "ucp_sfr_c.h"
|
|
||||||
#include "ucp_js_ctrl.h"
|
|
||||||
#include "ucp_param.h"
|
|
||||||
#include "gs_que.h"
|
|
||||||
#include "error.h"
|
|
||||||
|
|
||||||
#include "alg.h"
|
|
||||||
|
|
||||||
#define DEBUG_OFF 0
|
|
||||||
#define bit_32 32
|
|
||||||
#define bit_64 64
|
|
||||||
|
|
||||||
#define APEID_ADDR 0x931FFF0
|
|
||||||
#define NULL ((void*)0)
|
|
||||||
#define INTR_NR 32
|
|
||||||
#define DBG_ON 1
|
|
||||||
#define MAX_IRQ_NUM 512
|
|
||||||
#define do_write(a,v) __ucps2_store_ext_mem((void *)a, (uint32_t)v, f_W)
|
|
||||||
#define do_read(ptr) __ucps2_load_ext_mem_v((char*)ptr, f_W)
|
|
||||||
#define IRQ_TRACPOINT_SIZE 0x92c
|
|
||||||
|
|
||||||
|
|
||||||
/*typedef struct{
|
|
||||||
int irq_num[MAX_IRQ_NUM];
|
|
||||||
int irq_num_tatal;
|
|
||||||
}irq_num_info;*/
|
|
||||||
|
|
||||||
typedef struct{
|
|
||||||
int reg_vec_count;
|
|
||||||
int reg_vec_buf[INTR_NR];
|
|
||||||
int irq_count[INTR_NR];
|
|
||||||
irq_handler pfun[INTR_NR];
|
|
||||||
|
|
||||||
}vec_desc;
|
|
||||||
|
|
||||||
|
|
||||||
vec_desc inter_vec_val;
|
|
||||||
int val_cnt;
|
|
||||||
int irq_num_tatal_cnt;
|
|
||||||
uint32_t g_apeid;
|
|
||||||
uint32_t apcid_set[12] = {0,0,1,1,2,2,3,3,4,4,5,5};
|
|
||||||
uint32_t mask_array[16] = {0,4,8,12,16,20,24,28,32,36,40,44,48,52,56,60};
|
|
||||||
uint32_t apcid_ad_val[] = {0,64,128,192};
|
|
||||||
uint32_t debug_enable = 0;
|
|
||||||
uint32_t debug_addr = 0;
|
|
||||||
|
|
||||||
uint32_t reg_cnt = 0;
|
|
||||||
|
|
||||||
uint32_t irq_check_cnt = 0;
|
|
||||||
uint32_t irq_clear_cnt = 0;
|
|
||||||
uint32_t cpuid_limit[12] = {1,0,1,0,1,0,1,0,1,0,1,0};
|
|
||||||
//irq_num_info info;
|
|
||||||
uint32_t g_mask;
|
|
||||||
|
|
||||||
irq_debug_t *debug_info;
|
|
||||||
|
|
||||||
irq_handler irq_func[MAX_IRQ_NUM] = {0};
|
|
||||||
uint32_t irq_func_call_num[MAX_IRQ_NUM] = {0};
|
|
||||||
uint32_t irq_cnt = 0;
|
|
||||||
uint32_t fun_cnt_s_c = 0;
|
|
||||||
uint32_t fun_cnt_e_c = 0;
|
|
||||||
uint32_t is_irq_context = 0;
|
|
||||||
|
|
||||||
uint32_t cpuid_times = 0;
|
|
||||||
int val_cnt;
|
|
||||||
uint32_t global_int_cnt[512] = {0};
|
|
||||||
|
|
||||||
|
|
||||||
void __ucps2_interrupt5();
|
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
******/
|
|
||||||
|
|
||||||
static int get_apcid()
|
|
||||||
{
|
|
||||||
return apcid_set[g_apeid];
|
|
||||||
}
|
|
||||||
|
|
||||||
vec_desc *get_vec_desc()
|
|
||||||
{
|
|
||||||
return &inter_vec_val;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void clear_csu_apcirq(int vector)
|
|
||||||
{
|
|
||||||
APC_CSU_EVENTINTCLEAR = vector & 31;
|
|
||||||
__ucps2_synch(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if DEBUG_OFF
|
|
||||||
#define irq_debug(add,b) (0)
|
|
||||||
#else
|
|
||||||
static void irq_debug(void * addr, uint32_t v)
|
|
||||||
{
|
|
||||||
if(debug_enable == 1)
|
|
||||||
{
|
|
||||||
do_write(addr, v);
|
|
||||||
// __ucps2_synch(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static uint32_t get_int_status_reg(uint32_t vector,int apcid)
|
|
||||||
{
|
|
||||||
int mask_val;
|
|
||||||
int bit_val;
|
|
||||||
int load_val;
|
|
||||||
mask_val = vector>>5;
|
|
||||||
bit_val = (vector)&(bit_32 -1);
|
|
||||||
if((apcid >= 0)&&(apcid < 4))
|
|
||||||
{
|
|
||||||
load_val = do_read((SYSCFG_BASE_ADDR + 1248 + mask_array[mask_val] + apcid_ad_val[apcid]));
|
|
||||||
return load_val;
|
|
||||||
}
|
|
||||||
else if(apcid == 4)
|
|
||||||
{
|
|
||||||
load_val = do_read((PET_CTRL_BASE + 100*4 + mask_val*4 ));
|
|
||||||
return load_val;
|
|
||||||
}
|
|
||||||
else if(apcid == 5)
|
|
||||||
{
|
|
||||||
load_val = do_read((JECS_CTRL_BASE + 40*4 + mask_val*4 ));
|
|
||||||
return load_val;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int irq_csu_clear_is_ok(int irq_num)
|
|
||||||
{
|
|
||||||
if (0 ==(APC_CSU_ALLPENDEVENT0 & (1<<(irq_num & 31))))
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
static int get_irq_num_from_csu_reg(void)
|
|
||||||
{
|
|
||||||
int apcid = get_apcid();
|
|
||||||
vec_desc *vec_val = get_vec_desc();
|
|
||||||
unsigned int val;
|
|
||||||
int k;
|
|
||||||
//int j;
|
|
||||||
//int z = 0;
|
|
||||||
//int irq_num,
|
|
||||||
int irq_num_bit;
|
|
||||||
uint32_t sys_status;
|
|
||||||
uint32_t bit_val = 0;
|
|
||||||
|
|
||||||
//p_info->irq_num_tatal = 0;
|
|
||||||
|
|
||||||
irq_debug(&(debug_info->apc_csu_allpendevent0), APC_CSU_ALLPENDEVENT0);
|
|
||||||
irq_debug(&(debug_info->apc_csu_intmaskl), g_mask);
|
|
||||||
// irq_debug(&(debug_info->event_mask_l), APC_CSU_EVENTMASKL);
|
|
||||||
|
|
||||||
val = APC_CSU_ALLPENDEVENT0 & g_mask;
|
|
||||||
// val = APC_CSU_ALLPENDEVENT0 & APC_CSU_INTMASKL;
|
|
||||||
|
|
||||||
while (val != 0)
|
|
||||||
{
|
|
||||||
bit_val = find_lsb(val);
|
|
||||||
for (k = 0; k < (vec_val->reg_vec_count); k++)
|
|
||||||
{
|
|
||||||
irq_num_bit = (vec_val->reg_vec_buf[k]) & (bit_32 - 1);
|
|
||||||
sys_status = get_int_status_reg(vec_val->reg_vec_buf[k], apcid);
|
|
||||||
|
|
||||||
irq_debug(&(debug_info->irq_sys_status[vec_val->reg_vec_buf[k] >> 5]), sys_status);
|
|
||||||
|
|
||||||
if ((bit_val == irq_num_bit) && (sys_status & (1 << irq_num_bit)))
|
|
||||||
{
|
|
||||||
if(vec_val->pfun[k] != NULL)
|
|
||||||
{
|
|
||||||
fun_cnt_s_c++;
|
|
||||||
irq_debug(&(debug_info->fun_start_cnt_all), fun_cnt_s_c);
|
|
||||||
|
|
||||||
// vec_val->irq_count[k]++;
|
|
||||||
// irq_debug(&(debug_info->fun_run_cnt[vec_val->irq_count[k]]),vec_val->irq_count[k]);
|
|
||||||
global_int_cnt[vec_val->reg_vec_buf[k]]++;
|
|
||||||
irq_debug(&(debug_info->fun_run_cnt[vec_val->reg_vec_buf[k]]),global_int_cnt[vec_val->reg_vec_buf[k]]);
|
|
||||||
vec_val->pfun[k]();
|
|
||||||
__ucps2_synch(0);
|
|
||||||
clear_csu_apcirq(vec_val->reg_vec_buf[k]);
|
|
||||||
fun_cnt_e_c++;
|
|
||||||
irq_debug(&(debug_info->fun_end_cnt_all),fun_cnt_e_c);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
val &= ~(1 << bit_val);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static int irq_is_registered(int irq_num)
|
|
||||||
{
|
|
||||||
if ((0 == irq_func[irq_num]) )
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void clear_mask(void)
|
|
||||||
{
|
|
||||||
g_mask = APC_CSU_INTMASKL;
|
|
||||||
APC_CSU_INTMASKL = 0;
|
|
||||||
__ucps2_synch(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void restore_mask(void)
|
|
||||||
{
|
|
||||||
APC_CSU_INTMASKL = g_mask;
|
|
||||||
__ucps2_synch(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
void isr_entry()
|
|
||||||
{
|
|
||||||
is_irq_context = 1;
|
|
||||||
|
|
||||||
++irq_cnt;
|
|
||||||
irq_debug(&(debug_info->irq_cnt), irq_cnt);
|
|
||||||
clear_mask();
|
|
||||||
get_irq_num_from_csu_reg();
|
|
||||||
restore_mask();
|
|
||||||
is_irq_context = 0;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
void isr_entry()
|
|
||||||
{
|
|
||||||
is_irq_context = 1;
|
|
||||||
++irq_cnt;
|
|
||||||
// int apcid = apcid_set[g_apeid];
|
|
||||||
vec_desc *vec_val = &inter_vec_val;
|
|
||||||
unsigned int val;
|
|
||||||
int k;
|
|
||||||
int irq_num_bit;
|
|
||||||
uint32_t sys_status;
|
|
||||||
uint32_t bit_val = 0;
|
|
||||||
g_mask = APC_CSU_INTMASKL;
|
|
||||||
APC_CSU_INTMASKL = 0;
|
|
||||||
__ucps2_synch(0);
|
|
||||||
// do_write(0xb7fc0100,irq_cnt);
|
|
||||||
irq_debug(&(debug_info->irq_cnt), irq_cnt);
|
|
||||||
irq_debug(&(debug_info->apc_csu_allpendevent0), APC_CSU_ALLPENDEVENT0);
|
|
||||||
|
|
||||||
// val = APC_CSU_ALLPENDEVENT0 & APC_CSU_INTMASKL;
|
|
||||||
val = APC_CSU_ALLPENDEVENT0 & g_mask;
|
|
||||||
|
|
||||||
while (val != 0)
|
|
||||||
{
|
|
||||||
bit_val = find_lsb(val);
|
|
||||||
for (k = 0; k < (vec_val->reg_vec_count); k++)
|
|
||||||
{
|
|
||||||
irq_num_bit = (vec_val->reg_vec_buf[k]) & (bit_32 - 1);
|
|
||||||
sys_status = get_int_status_reg(vec_val->reg_vec_buf[k], apcid_set[g_apeid]);
|
|
||||||
irq_debug(&(debug_info->irq_sys_status[vec_val->reg_vec_buf[k] >> 5]), sys_status);
|
|
||||||
if ((bit_val == irq_num_bit) && (sys_status & (1 << irq_num_bit)))
|
|
||||||
{
|
|
||||||
if(vec_val->pfun[k] != NULL)
|
|
||||||
{
|
|
||||||
fun_cnt_s_c++;
|
|
||||||
irq_debug(&(debug_info->fun_start_cnt_all), fun_cnt_s_c);
|
|
||||||
// vec_val->irq_count[k]++;
|
|
||||||
global_int_cnt[vec_val->reg_vec_buf[k]]++;
|
|
||||||
irq_debug(&(debug_info->fun_run_cnt[vec_val->reg_vec_buf[k]]),global_int_cnt[vec_val->reg_vec_buf[k]]);
|
|
||||||
irq_debug(&(debug_info->cur_irq_num),vec_val->reg_vec_buf[k]);
|
|
||||||
vec_val->pfun[k]();
|
|
||||||
__ucps2_synch(0);
|
|
||||||
APC_CSU_EVENTINTCLEAR = ((vec_val->reg_vec_buf[k]) & 31);
|
|
||||||
__ucps2_synch(0);
|
|
||||||
fun_cnt_e_c++;
|
|
||||||
irq_debug(&(debug_info->fun_end_cnt_all),fun_cnt_e_c);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
val &= ~(1 << bit_val);
|
|
||||||
}
|
|
||||||
APC_CSU_INTMASKL = g_mask;
|
|
||||||
__ucps2_synch(0);
|
|
||||||
is_irq_context = 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
******/
|
|
||||||
|
|
||||||
int smart_irq_init(int cpuid)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
int32_t addr = (int32_t)__ucps2_interrupt5;
|
|
||||||
if((cpuid < 0)||(cpuid > 11))
|
|
||||||
{
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
g_apeid = cpuid;
|
|
||||||
for(i = 0; i < 32;i++)
|
|
||||||
{
|
|
||||||
inter_vec_val.pfun[i] = NULL;
|
|
||||||
}
|
|
||||||
__ucps2_IntAddr(addr);
|
|
||||||
__ucps2_IntEn(f_Enable);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int smart_get_cpuid()
|
|
||||||
{
|
|
||||||
int apeid;
|
|
||||||
if(cpuid_times != 0)
|
|
||||||
{
|
|
||||||
return g_apeid;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
g_apeid = *(volatile unsigned int*)APEID_ADDR;
|
|
||||||
cpuid_times = 1;
|
|
||||||
}
|
|
||||||
return g_apeid;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
|
|
||||||
*/
|
|
||||||
int smart_irq_request(uint32_t vector, irq_handler func)
|
|
||||||
{
|
|
||||||
int mask_val;
|
|
||||||
int i= 0;
|
|
||||||
int bit_val;
|
|
||||||
int apcid;
|
|
||||||
int load_val;
|
|
||||||
int cpuid = g_apeid;
|
|
||||||
if(vector > FUN_IRQ_MAX_NUM - 1)
|
|
||||||
{
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
if (is_irq_context)
|
|
||||||
{
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
if((cpuid < 0)||(cpuid > 11))
|
|
||||||
{
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
__ucps2_IntEn(f_Disable);
|
|
||||||
for(i = 0; i < inter_vec_val.reg_vec_count;i++)
|
|
||||||
{
|
|
||||||
if(vector == inter_vec_val.reg_vec_buf[i])
|
|
||||||
{
|
|
||||||
return -EREREG;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
mask_val = vector>>5;
|
|
||||||
bit_val = (vector)&(bit_32 -1);
|
|
||||||
apcid = apcid_set[cpuid];
|
|
||||||
|
|
||||||
if(apcid ==4)
|
|
||||||
{
|
|
||||||
load_val = do_read((PET_CTRL_BASE + 280 + mask_val*4 ));
|
|
||||||
load_val |= (1<<bit_val);
|
|
||||||
do_write((PET_CTRL_BASE + 280 + mask_val*4 ),load_val);
|
|
||||||
__ucps2_synch(0);
|
|
||||||
}
|
|
||||||
else if(apcid == 5)
|
|
||||||
{
|
|
||||||
load_val = do_read((JECS_CTRL_BASE + 40 + mask_val*4 ));
|
|
||||||
load_val |= (1<<bit_val);
|
|
||||||
do_write((JECS_CTRL_BASE + 40 + mask_val*4 ),load_val);
|
|
||||||
__ucps2_synch(0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
load_val = do_read((SYSCFG_BASE_ADDR + 720 + mask_val*4 + apcid*bit_64));
|
|
||||||
load_val |= (1<<bit_val);
|
|
||||||
do_write((SYSCFG_BASE_ADDR + 720 + mask_val*4 + apcid*bit_64),load_val);
|
|
||||||
__ucps2_synch(0);
|
|
||||||
}
|
|
||||||
__ucps2_synch(0);
|
|
||||||
|
|
||||||
reg_cnt++;
|
|
||||||
irq_debug(&(debug_info->irq_sys_mask[mask_val]), load_val);
|
|
||||||
irq_debug(&(debug_info->reg_irq_val[reg_cnt]), vector);
|
|
||||||
irq_debug(&(debug_info->reg_irq_cnt), reg_cnt);
|
|
||||||
irq_debug(&(debug_info->reg_irq_cpu_id), cpuid);
|
|
||||||
APC_CSU_INTMASKL |= (1 << bit_val);
|
|
||||||
__ucps2_synch(0);
|
|
||||||
inter_vec_val.reg_vec_buf[inter_vec_val.reg_vec_count] = vector;
|
|
||||||
inter_vec_val.pfun[inter_vec_val.reg_vec_count] = func;
|
|
||||||
inter_vec_val.reg_vec_count++;
|
|
||||||
__ucps2_IntEn(f_Enable);
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int smart_irq_enable(uint32_t vector)
|
|
||||||
{
|
|
||||||
int mask_val;
|
|
||||||
int bit_val;
|
|
||||||
int apcid;
|
|
||||||
int load_val;
|
|
||||||
int cpuid = g_apeid;
|
|
||||||
/*
|
|
||||||
if ((vector >= (MAX_IRQ_NUM-1)) || !irq_is_registered(vector))
|
|
||||||
{
|
|
||||||
return -EINVAL;
|
|
||||||
}*/
|
|
||||||
if(vector > FUN_IRQ_MAX_NUM - 1)
|
|
||||||
{
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
mask_val = vector>>5;
|
|
||||||
bit_val = (vector)&(bit_32 -1);
|
|
||||||
apcid = apcid_set[cpuid];
|
|
||||||
__ucps2_IntEn(f_Disable);
|
|
||||||
if(apcid ==4)
|
|
||||||
{
|
|
||||||
load_val = do_read((PET_CTRL_BASE + 280 + mask_val*4 ));
|
|
||||||
load_val |= (1<<bit_val);
|
|
||||||
do_write((PET_CTRL_BASE + 280 + mask_val*4 ),load_val);
|
|
||||||
__ucps2_synch(0);
|
|
||||||
}
|
|
||||||
else if(apcid == 5)
|
|
||||||
{
|
|
||||||
load_val = do_read((JECS_CTRL_BASE + 40 + mask_val*4 ));
|
|
||||||
load_val |= (1<<bit_val);
|
|
||||||
do_write((JECS_CTRL_BASE + 40 + mask_val*4 ),load_val);
|
|
||||||
__ucps2_synch(0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
load_val = do_read((SYSCFG_BASE_ADDR + 720 + mask_val*4 + apcid*bit_64));
|
|
||||||
load_val |= (1<<bit_val);
|
|
||||||
do_write((SYSCFG_BASE_ADDR + 720 + mask_val*4 + apcid*bit_64),load_val);
|
|
||||||
__ucps2_synch(0);
|
|
||||||
}
|
|
||||||
__ucps2_IntEn(f_Enable);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int smart_irq_disable(uint32_t vector)
|
|
||||||
{
|
|
||||||
int mask_val;
|
|
||||||
int i= 0;
|
|
||||||
int bit_val;
|
|
||||||
int apcid;
|
|
||||||
int load_val;
|
|
||||||
int cpuid = g_apeid;
|
|
||||||
/*
|
|
||||||
if ((vector >= (MAX_IRQ_NUM-1)) || !irq_is_registered(vector))
|
|
||||||
{
|
|
||||||
return -1;
|
|
||||||
}*/
|
|
||||||
if(vector > FUN_IRQ_MAX_NUM - 1)
|
|
||||||
{
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
mask_val = vector>>5;
|
|
||||||
bit_val = (vector)&(bit_32 -1);
|
|
||||||
apcid = apcid_set[cpuid];
|
|
||||||
__ucps2_IntEn(f_Disable);
|
|
||||||
if(apcid ==4)
|
|
||||||
{
|
|
||||||
load_val = do_read((PET_CTRL_BASE + 70*4 + mask_val*4 ));
|
|
||||||
load_val &= ~(1<<bit_val);
|
|
||||||
do_write((PET_CTRL_BASE + 70*4 + mask_val*4 ),load_val);
|
|
||||||
__ucps2_synch(0);
|
|
||||||
}
|
|
||||||
else if(apcid == 5)
|
|
||||||
{
|
|
||||||
load_val = do_read((JECS_CTRL_BASE + 10*4 + mask_val*4 ));
|
|
||||||
load_val &= ~(1<<bit_val);
|
|
||||||
do_write((JECS_CTRL_BASE + 10*4 + mask_val*4),load_val);
|
|
||||||
__ucps2_synch(0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
load_val = do_read((SYSCFG_BASE_ADDR + 180*4 + mask_val*4 + apcid*bit_64));
|
|
||||||
load_val &= ~(1<<bit_val);
|
|
||||||
do_write((SYSCFG_BASE_ADDR + 180*4 + mask_val*4 + apcid*bit_64),load_val);
|
|
||||||
__ucps2_synch(0);
|
|
||||||
}
|
|
||||||
__ucps2_IntEn(f_Enable);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
******/
|
|
||||||
|
|
||||||
int smart_irq_debug_init(uint32_t debug_base_addr, uint32_t len_bytes)
|
|
||||||
{
|
|
||||||
if (debug_base_addr <= 0x10000000)
|
|
||||||
{
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
if (len_bytes < IRQ_TRACPOINT_SIZE)
|
|
||||||
{
|
|
||||||
return -2;
|
|
||||||
}
|
|
||||||
|
|
||||||
debug_enable = 1;
|
|
||||||
debug_addr = debug_base_addr;
|
|
||||||
|
|
||||||
debug_info = (irq_debug_t *)debug_addr;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t smart_irq_get_type_cnt(irq_cnt_type_t num_type)
|
|
||||||
{
|
|
||||||
uint32_t val = 0;
|
|
||||||
switch (num_type)
|
|
||||||
{
|
|
||||||
case all_irq:
|
|
||||||
val = irq_cnt;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case fun_s:
|
|
||||||
val = fun_cnt_s_c;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case fun_e:
|
|
||||||
val = fun_cnt_e_c;
|
|
||||||
break;
|
|
||||||
|
|
||||||
/*case clear_cnt_error:
|
|
||||||
val = irq_clear_cnt;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case irq_check_error:
|
|
||||||
val = irq_check_cnt;
|
|
||||||
break;*/
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return val;
|
|
||||||
}
|
|
||||||
|
|
||||||
int smart_irq_get_run_cnt(uint32_t irqnum)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
/*
|
|
||||||
if (irqnum >= (MAX_IRQ_NUM-1))
|
|
||||||
{
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
if (irqnum > (MAX_IRQ_NUM-1))
|
|
||||||
{
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
vec_desc * vec_val = get_vec_desc();
|
|
||||||
for(i = 0; i < vec_val->reg_vec_count;i++)
|
|
||||||
{
|
|
||||||
if(irqnum == vec_val->reg_vec_buf[i])
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(i != vec_val->reg_vec_count)
|
|
||||||
{
|
|
||||||
return vec_val->irq_count[i];
|
|
||||||
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
return global_int_cnt[irqnum];
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,150 +0,0 @@
|
|||||||
#ifndef __INTER_MSG_REG_H__
|
|
||||||
#define __INTER_MSG_REG_H__
|
|
||||||
|
|
||||||
|
|
||||||
#define FUN_IRQ_MAX_NUM 512
|
|
||||||
#define IRQ_MAX_NUM 32
|
|
||||||
#define IRQ_SYS_MASK_NUM 16
|
|
||||||
|
|
||||||
|
|
||||||
typedef unsigned int uint32_t;
|
|
||||||
typedef unsigned int UINT32;
|
|
||||||
|
|
||||||
typedef void (*irq_handler)();
|
|
||||||
|
|
||||||
typedef enum
|
|
||||||
{
|
|
||||||
all_irq,
|
|
||||||
fun_s,
|
|
||||||
fun_e,
|
|
||||||
// clear_cnt_error,
|
|
||||||
// irq_check_error
|
|
||||||
|
|
||||||
}irq_cnt_type_t;
|
|
||||||
|
|
||||||
typedef unsigned int uint32_t;
|
|
||||||
typedef unsigned short uint16_t;
|
|
||||||
typedef unsigned char uint8_t;
|
|
||||||
typedef signed int int32_t;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
|
|
||||||
uint32_t reg_irq_cnt; //0x00
|
|
||||||
uint32_t reg_irq_val[IRQ_MAX_NUM]; //0x04-0x80
|
|
||||||
|
|
||||||
uint32_t reg_irq_cpu_id; //0x84
|
|
||||||
|
|
||||||
uint32_t irq_cnt; //0x88
|
|
||||||
|
|
||||||
uint32_t fun_start_cnt_all; //0x8c
|
|
||||||
uint32_t fun_end_cnt_all; //0x90
|
|
||||||
uint32_t cur_irq_num; //0x94
|
|
||||||
uint32_t fun_run_cnt[FUN_IRQ_MAX_NUM]; //0x98-0x894
|
|
||||||
|
|
||||||
// uint32_t last_irq_num; //0x8a4
|
|
||||||
|
|
||||||
uint32_t irq_sys_mask[IRQ_SYS_MASK_NUM]; //0x894 -0x8d0
|
|
||||||
uint32_t irq_sys_status[IRQ_SYS_MASK_NUM]; //0x8d4 -0x910
|
|
||||||
uint32_t apc_csu_allpendevent0; //0x914
|
|
||||||
uint32_t apc_csu_intmaskl; //0x918
|
|
||||||
|
|
||||||
|
|
||||||
}irq_debug_t;
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
函数名称:smart_irq_request
|
|
||||||
输入参数: vector
|
|
||||||
输入参数:func
|
|
||||||
返回类型: int
|
|
||||||
返回值: 小于0 表示失败
|
|
||||||
返回值: 0 表示成功
|
|
||||||
函数功能: 中断注册接口
|
|
||||||
*/
|
|
||||||
extern int smart_irq_request(uint32_t vector,irq_handler func);
|
|
||||||
|
|
||||||
/*
|
|
||||||
函数名称:smart_irq_enable
|
|
||||||
输入参数: vector
|
|
||||||
返回类型: int
|
|
||||||
返回值: 小于0 表示失败
|
|
||||||
返回值: 0 表示成功
|
|
||||||
函数功能: 中断使能接口
|
|
||||||
*/
|
|
||||||
|
|
||||||
extern int smart_irq_enable(uint32_t vector);
|
|
||||||
|
|
||||||
/*
|
|
||||||
函数名称:smart_irq_disable
|
|
||||||
输入参数: vector
|
|
||||||
返回类型: int
|
|
||||||
返回值: 小于0 表示失败
|
|
||||||
返回值: 0 表示成功
|
|
||||||
函数功能: 中断去使能接口
|
|
||||||
*/
|
|
||||||
|
|
||||||
extern int smart_irq_disable(uint32_t vector);
|
|
||||||
|
|
||||||
/*
|
|
||||||
函数名称:smart_irq_debug_init
|
|
||||||
输入参数: debug_base_addr
|
|
||||||
输入参数:len_bytes
|
|
||||||
返回类型: int
|
|
||||||
返回值: 小于0 表示失败
|
|
||||||
返回值: 0 表示成功
|
|
||||||
函数功能: 中断调试接口,
|
|
||||||
注意:
|
|
||||||
通过地址与,长度指定相应的buf 数据空间,存放相应的中断调试信息。
|
|
||||||
这些调试信息已经格式化,地址由用户指定,len_bytes 不能小于sizeof(irq_debug_t)
|
|
||||||
数据格式化内容是 irq_debug_t
|
|
||||||
*/
|
|
||||||
|
|
||||||
extern int smart_irq_debug_init(uint32_t debug_base_addr, uint32_t len_bytes);
|
|
||||||
|
|
||||||
/*
|
|
||||||
函数名称:smart_irq_get_type_cnt
|
|
||||||
输入参数: num_type
|
|
||||||
返回类型: int
|
|
||||||
返回值: 0 表示当前type 类型计数为0
|
|
||||||
返回值: 非0 表示当前type 类型有计数
|
|
||||||
函数功能: 获取某种中断计数
|
|
||||||
*/
|
|
||||||
|
|
||||||
extern uint32_t smart_irq_get_type_cnt(irq_cnt_type_t num_type);
|
|
||||||
|
|
||||||
/*
|
|
||||||
函数名称:smart_irq_get_run_cnt
|
|
||||||
输入参数: irq_num:中断号
|
|
||||||
返回类型: int
|
|
||||||
返回值: 小于0 表示获取失败。输入参数有问题
|
|
||||||
返回值: 为0 表示相应中断没有触发
|
|
||||||
返回值: 非0 表示中断产生的次数
|
|
||||||
函数功能:获取相应中断号的中断计数
|
|
||||||
*/
|
|
||||||
|
|
||||||
extern int smart_irq_get_run_cnt(uint32_t irqnum);
|
|
||||||
|
|
||||||
/*
|
|
||||||
函数名称:smart_get_cpuid
|
|
||||||
输入参数: 无
|
|
||||||
返回类型: int
|
|
||||||
返回值: 当前的cpuid 号
|
|
||||||
函数功能:获取当前核cpuid 号
|
|
||||||
*/
|
|
||||||
|
|
||||||
extern int smart_get_cpuid();
|
|
||||||
|
|
||||||
/*
|
|
||||||
函数名称:smart_irq_init
|
|
||||||
输入参数: cpuid
|
|
||||||
返回类型: int
|
|
||||||
返回值: 非0 初始化失败
|
|
||||||
函数功能:中断初始化
|
|
||||||
*/
|
|
||||||
|
|
||||||
extern int smart_irq_init(int cpuid);
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
|
@ -1,12 +0,0 @@
|
|||||||
# set custom targets
|
|
||||||
|
|
||||||
# set toolchain home
|
|
||||||
ifeq ($(strip $(MaPU_TC_HOME)),)
|
|
||||||
MaPU_TC_HOME := /home/wangchongyang/my_work/IDE/toolchain
|
|
||||||
endif
|
|
||||||
|
|
||||||
APP: all
|
|
||||||
|
|
||||||
LIB: libinterrupt.a
|
|
||||||
|
|
||||||
.PHONY: LIB APP
|
|
BIN
public/rtos/code/interrupt_code/lib/libinterrupt.a
Normal file
BIN
public/rtos/code/interrupt_code/lib/libinterrupt.a
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,88 +0,0 @@
|
|||||||
Src/SmartOS.s.o: ../Src/SmartOS.s.c ../inc/timers.h ../inc/ucos_ii.h \
|
|
||||||
../inc/os_cfg.h ../inc/os_cpu.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h \
|
|
||||||
../inc/os_ucp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h \
|
|
||||||
../inc/SmartOS.h ../inc/mailbox.h ../inc/sem.h ../inc/inter_vector.h
|
|
||||||
|
|
||||||
../inc/timers.h:
|
|
||||||
|
|
||||||
../inc/ucos_ii.h:
|
|
||||||
|
|
||||||
../inc/os_cfg.h:
|
|
||||||
|
|
||||||
../inc/os_cpu.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h:
|
|
||||||
|
|
||||||
../inc/os_ucp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h:
|
|
||||||
|
|
||||||
../inc/SmartOS.h:
|
|
||||||
|
|
||||||
../inc/mailbox.h:
|
|
||||||
|
|
||||||
../inc/sem.h:
|
|
||||||
|
|
||||||
../inc/inter_vector.h:
|
|
@ -1,3 +0,0 @@
|
|||||||
Src/alg.s.o: ../Src/alg.s.c ../inc/alg.h
|
|
||||||
|
|
||||||
../inc/alg.h:
|
|
@ -1,33 +0,0 @@
|
|||||||
Src/func_lib_ape.o: ../Src/func_lib_ape.c ../inc/ucp_sfr_c.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdint.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_intsup.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_stdint.h \
|
|
||||||
../inc/ucp_param.h ../Src/func_lib_ape.h ../inc/pet_ctrl.h \
|
|
||||||
../inc/ucp_js_ctrl.h ../inc/csu.h
|
|
||||||
|
|
||||||
../inc/ucp_sfr_c.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdint.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_intsup.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_stdint.h:
|
|
||||||
|
|
||||||
../inc/ucp_param.h:
|
|
||||||
|
|
||||||
../Src/func_lib_ape.h:
|
|
||||||
|
|
||||||
../inc/pet_ctrl.h:
|
|
||||||
|
|
||||||
../inc/ucp_js_ctrl.h:
|
|
||||||
|
|
||||||
../inc/csu.h:
|
|
@ -1,120 +0,0 @@
|
|||||||
Src/inter_vector.s.o: ../Src/inter_vector.s.c \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h ../inc/alg.h \
|
|
||||||
../inc/inter_vector.h ../inc/csu.h ../inc/pet_ctrl.h \
|
|
||||||
../inc/ucp_sfr_c.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdint.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_intsup.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_stdint.h \
|
|
||||||
../inc/ucp_param.h ../inc/ucp_js_ctrl.h ../inc/dw_apb_timers.h \
|
|
||||||
../inc/type_define.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/math.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/tick.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/malloc.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/malloc.h \
|
|
||||||
../inc/gs_que.h ../inc/error.h ../inc/debug.h
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h:
|
|
||||||
|
|
||||||
../inc/alg.h:
|
|
||||||
|
|
||||||
../inc/inter_vector.h:
|
|
||||||
|
|
||||||
../inc/csu.h:
|
|
||||||
|
|
||||||
../inc/pet_ctrl.h:
|
|
||||||
|
|
||||||
../inc/ucp_sfr_c.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdint.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_intsup.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_stdint.h:
|
|
||||||
|
|
||||||
../inc/ucp_param.h:
|
|
||||||
|
|
||||||
../inc/ucp_js_ctrl.h:
|
|
||||||
|
|
||||||
../inc/dw_apb_timers.h:
|
|
||||||
|
|
||||||
../inc/type_define.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/math.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/tick.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/malloc.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/malloc.h:
|
|
||||||
|
|
||||||
../inc/gs_que.h:
|
|
||||||
|
|
||||||
../inc/error.h:
|
|
||||||
|
|
||||||
../inc/debug.h:
|
|
@ -1,5 +0,0 @@
|
|||||||
Src/mailbox.s.o: ../Src/mailbox.s.c ../inc/ucp_param.h ../inc/mailbox.h
|
|
||||||
|
|
||||||
../inc/ucp_param.h:
|
|
||||||
|
|
||||||
../inc/mailbox.h:
|
|
@ -1,77 +0,0 @@
|
|||||||
Src/os_core.s.o: ../Src/os_core.s.c ../inc/ucos_ii.h ../inc/os_cfg.h \
|
|
||||||
../inc/os_cpu.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h \
|
|
||||||
../inc/os_ucp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h
|
|
||||||
|
|
||||||
../inc/ucos_ii.h:
|
|
||||||
|
|
||||||
../inc/os_cfg.h:
|
|
||||||
|
|
||||||
../inc/os_cpu.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h:
|
|
||||||
|
|
||||||
../inc/os_ucp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h:
|
|
@ -1,77 +0,0 @@
|
|||||||
Src/os_cpu_c.s.o: ../Src/os_cpu_c.s.c ../inc/ucos_ii.h ../inc/os_cfg.h \
|
|
||||||
../inc/os_cpu.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h \
|
|
||||||
../inc/os_ucp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h
|
|
||||||
|
|
||||||
../inc/ucos_ii.h:
|
|
||||||
|
|
||||||
../inc/os_cfg.h:
|
|
||||||
|
|
||||||
../inc/os_cpu.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h:
|
|
||||||
|
|
||||||
../inc/os_ucp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h:
|
|
@ -1,77 +0,0 @@
|
|||||||
Src/os_dbg_r.s.o: ../Src/os_dbg_r.s.c ../inc/ucos_ii.h ../inc/os_cfg.h \
|
|
||||||
../inc/os_cpu.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h \
|
|
||||||
../inc/os_ucp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h
|
|
||||||
|
|
||||||
../inc/ucos_ii.h:
|
|
||||||
|
|
||||||
../inc/os_cfg.h:
|
|
||||||
|
|
||||||
../inc/os_cpu.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h:
|
|
||||||
|
|
||||||
../inc/os_ucp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h:
|
|
@ -1,77 +0,0 @@
|
|||||||
Src/os_flag.s.o: ../Src/os_flag.s.c ../inc/ucos_ii.h ../inc/os_cfg.h \
|
|
||||||
../inc/os_cpu.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h \
|
|
||||||
../inc/os_ucp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h
|
|
||||||
|
|
||||||
../inc/ucos_ii.h:
|
|
||||||
|
|
||||||
../inc/os_cfg.h:
|
|
||||||
|
|
||||||
../inc/os_cpu.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h:
|
|
||||||
|
|
||||||
../inc/os_ucp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h:
|
|
@ -1,77 +0,0 @@
|
|||||||
Src/os_mbox.s.o: ../Src/os_mbox.s.c ../inc/ucos_ii.h ../inc/os_cfg.h \
|
|
||||||
../inc/os_cpu.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h \
|
|
||||||
../inc/os_ucp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h
|
|
||||||
|
|
||||||
../inc/ucos_ii.h:
|
|
||||||
|
|
||||||
../inc/os_cfg.h:
|
|
||||||
|
|
||||||
../inc/os_cpu.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h:
|
|
||||||
|
|
||||||
../inc/os_ucp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h:
|
|
@ -1,77 +0,0 @@
|
|||||||
Src/os_mem.s.o: ../Src/os_mem.s.c ../inc/ucos_ii.h ../inc/os_cfg.h \
|
|
||||||
../inc/os_cpu.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h \
|
|
||||||
../inc/os_ucp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h
|
|
||||||
|
|
||||||
../inc/ucos_ii.h:
|
|
||||||
|
|
||||||
../inc/os_cfg.h:
|
|
||||||
|
|
||||||
../inc/os_cpu.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h:
|
|
||||||
|
|
||||||
../inc/os_ucp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h:
|
|
@ -1,77 +0,0 @@
|
|||||||
Src/os_mutex.s.o: ../Src/os_mutex.s.c ../inc/ucos_ii.h ../inc/os_cfg.h \
|
|
||||||
../inc/os_cpu.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h \
|
|
||||||
../inc/os_ucp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h
|
|
||||||
|
|
||||||
../inc/ucos_ii.h:
|
|
||||||
|
|
||||||
../inc/os_cfg.h:
|
|
||||||
|
|
||||||
../inc/os_cpu.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h:
|
|
||||||
|
|
||||||
../inc/os_ucp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h:
|
|
@ -1,77 +0,0 @@
|
|||||||
Src/os_q.s.o: ../Src/os_q.s.c ../inc/ucos_ii.h ../inc/os_cfg.h \
|
|
||||||
../inc/os_cpu.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h \
|
|
||||||
../inc/os_ucp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h
|
|
||||||
|
|
||||||
../inc/ucos_ii.h:
|
|
||||||
|
|
||||||
../inc/os_cfg.h:
|
|
||||||
|
|
||||||
../inc/os_cpu.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h:
|
|
||||||
|
|
||||||
../inc/os_ucp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h:
|
|
@ -1,77 +0,0 @@
|
|||||||
Src/os_sem.s.o: ../Src/os_sem.s.c ../inc/ucos_ii.h ../inc/os_cfg.h \
|
|
||||||
../inc/os_cpu.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h \
|
|
||||||
../inc/os_ucp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h
|
|
||||||
|
|
||||||
../inc/ucos_ii.h:
|
|
||||||
|
|
||||||
../inc/os_cfg.h:
|
|
||||||
|
|
||||||
../inc/os_cpu.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h:
|
|
||||||
|
|
||||||
../inc/os_ucp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h:
|
|
@ -1,77 +0,0 @@
|
|||||||
Src/os_task.s.o: ../Src/os_task.s.c ../inc/ucos_ii.h ../inc/os_cfg.h \
|
|
||||||
../inc/os_cpu.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h \
|
|
||||||
../inc/os_ucp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h
|
|
||||||
|
|
||||||
../inc/ucos_ii.h:
|
|
||||||
|
|
||||||
../inc/os_cfg.h:
|
|
||||||
|
|
||||||
../inc/os_cpu.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h:
|
|
||||||
|
|
||||||
../inc/os_ucp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h:
|
|
@ -1,77 +0,0 @@
|
|||||||
Src/os_time.s.o: ../Src/os_time.s.c ../inc/ucos_ii.h ../inc/os_cfg.h \
|
|
||||||
../inc/os_cpu.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h \
|
|
||||||
../inc/os_ucp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h
|
|
||||||
|
|
||||||
../inc/ucos_ii.h:
|
|
||||||
|
|
||||||
../inc/os_cfg.h:
|
|
||||||
|
|
||||||
../inc/os_cpu.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h:
|
|
||||||
|
|
||||||
../inc/os_ucp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h:
|
|
@ -1,77 +0,0 @@
|
|||||||
Src/os_tmr.s.o: ../Src/os_tmr.s.c ../inc/ucos_ii.h ../inc/os_cfg.h \
|
|
||||||
../inc/os_cpu.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h \
|
|
||||||
../inc/os_ucp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h
|
|
||||||
|
|
||||||
../inc/ucos_ii.h:
|
|
||||||
|
|
||||||
../inc/os_cfg.h:
|
|
||||||
|
|
||||||
../inc/os_cpu.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h:
|
|
||||||
|
|
||||||
../inc/os_ucp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h:
|
|
@ -1,76 +0,0 @@
|
|||||||
Src/os_ucp.s.o: ../Src/os_ucp.s.c ../inc/os_ucp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h \
|
|
||||||
../inc/ucos_ii.h ../inc/os_cfg.h ../inc/os_cpu.h
|
|
||||||
|
|
||||||
../inc/os_ucp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h:
|
|
||||||
|
|
||||||
../inc/ucos_ii.h:
|
|
||||||
|
|
||||||
../inc/os_cfg.h:
|
|
||||||
|
|
||||||
../inc/os_cpu.h:
|
|
@ -1,80 +0,0 @@
|
|||||||
Src/sem.s.o: ../Src/sem.s.c ../inc/ucos_ii.h ../inc/os_cfg.h \
|
|
||||||
../inc/os_cpu.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h \
|
|
||||||
../inc/os_ucp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h \
|
|
||||||
../inc/sem.h
|
|
||||||
|
|
||||||
../inc/ucos_ii.h:
|
|
||||||
|
|
||||||
../inc/os_cfg.h:
|
|
||||||
|
|
||||||
../inc/os_cpu.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h:
|
|
||||||
|
|
||||||
../inc/os_ucp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h:
|
|
||||||
|
|
||||||
../inc/sem.h:
|
|
@ -1,95 +0,0 @@
|
|||||||
################################################################################
|
|
||||||
# Automatically-generated file. Do not edit!
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# Add inputs and outputs from these tool invocations to the build variables
|
|
||||||
ASM_SRCS += \
|
|
||||||
../Src/__ucps2_interrupt.s.asm
|
|
||||||
|
|
||||||
C_SRCS += \
|
|
||||||
../Src/SmartOS.s.c \
|
|
||||||
../Src/alg.s.c \
|
|
||||||
../Src/func_lib_ape.c \
|
|
||||||
../Src/inter_vector.s.c \
|
|
||||||
../Src/mailbox.s.c \
|
|
||||||
../Src/os_core.s.c \
|
|
||||||
../Src/os_cpu_c.s.c \
|
|
||||||
../Src/os_dbg_r.s.c \
|
|
||||||
../Src/os_flag.s.c \
|
|
||||||
../Src/os_mbox.s.c \
|
|
||||||
../Src/os_mem.s.c \
|
|
||||||
../Src/os_mutex.s.c \
|
|
||||||
../Src/os_q.s.c \
|
|
||||||
../Src/os_sem.s.c \
|
|
||||||
../Src/os_task.s.c \
|
|
||||||
../Src/os_time.s.c \
|
|
||||||
../Src/os_tmr.s.c \
|
|
||||||
../Src/os_ucp.s.c \
|
|
||||||
../Src/sem.s.c \
|
|
||||||
../Src/timer.s.c \
|
|
||||||
../Src/ucos_ii.s.c
|
|
||||||
|
|
||||||
OBJS += \
|
|
||||||
./Src/SmartOS.s.o \
|
|
||||||
./Src/__ucps2_interrupt.s.o \
|
|
||||||
./Src/alg.s.o \
|
|
||||||
./Src/func_lib_ape.o \
|
|
||||||
./Src/inter_vector.s.o \
|
|
||||||
./Src/mailbox.s.o \
|
|
||||||
./Src/os_core.s.o \
|
|
||||||
./Src/os_cpu_c.s.o \
|
|
||||||
./Src/os_dbg_r.s.o \
|
|
||||||
./Src/os_flag.s.o \
|
|
||||||
./Src/os_mbox.s.o \
|
|
||||||
./Src/os_mem.s.o \
|
|
||||||
./Src/os_mutex.s.o \
|
|
||||||
./Src/os_q.s.o \
|
|
||||||
./Src/os_sem.s.o \
|
|
||||||
./Src/os_task.s.o \
|
|
||||||
./Src/os_time.s.o \
|
|
||||||
./Src/os_tmr.s.o \
|
|
||||||
./Src/os_ucp.s.o \
|
|
||||||
./Src/sem.s.o \
|
|
||||||
./Src/timer.s.o \
|
|
||||||
./Src/ucos_ii.s.o
|
|
||||||
|
|
||||||
C_DEPS += \
|
|
||||||
./Src/SmartOS.s.d \
|
|
||||||
./Src/alg.s.d \
|
|
||||||
./Src/func_lib_ape.d \
|
|
||||||
./Src/inter_vector.s.d \
|
|
||||||
./Src/mailbox.s.d \
|
|
||||||
./Src/os_core.s.d \
|
|
||||||
./Src/os_cpu_c.s.d \
|
|
||||||
./Src/os_dbg_r.s.d \
|
|
||||||
./Src/os_flag.s.d \
|
|
||||||
./Src/os_mbox.s.d \
|
|
||||||
./Src/os_mem.s.d \
|
|
||||||
./Src/os_mutex.s.d \
|
|
||||||
./Src/os_q.s.d \
|
|
||||||
./Src/os_sem.s.d \
|
|
||||||
./Src/os_task.s.d \
|
|
||||||
./Src/os_time.s.d \
|
|
||||||
./Src/os_tmr.s.d \
|
|
||||||
./Src/os_ucp.s.d \
|
|
||||||
./Src/sem.s.d \
|
|
||||||
./Src/timer.s.d \
|
|
||||||
./Src/ucos_ii.s.d
|
|
||||||
|
|
||||||
|
|
||||||
# Each subdirectory must supply rules for building sources it contributes
|
|
||||||
Src/%.o: ../Src/%.c
|
|
||||||
@echo 'Building file: $<'
|
|
||||||
@echo 'Invoking: Clang'
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/bin/ucp2/clang --target=ucps2 -I../inc -I/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib -I/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm -O0 -g -Wno-constant-conversion -nostdlibinc -MMD -MP -o "$@" -c "$<"
|
|
||||||
@echo 'Finished building: $<'
|
|
||||||
@echo ' '
|
|
||||||
|
|
||||||
Src/__ucps2_interrupt.s.o: ../Src/__ucps2_interrupt.s.asm
|
|
||||||
@echo 'Building file: $<'
|
|
||||||
@echo 'Invoking: llvm-mc Assembler'
|
|
||||||
$(MaPU_TC_HOME)/bin/ucp2/llvm-mc -arch=ucps2 -g -I../inc -filetype=obj -o "$@" "$<"
|
|
||||||
@echo 'Finished building: $<'
|
|
||||||
@echo ' '
|
|
||||||
|
|
||||||
|
|
@ -1,100 +0,0 @@
|
|||||||
Src/timer.s.o: ../Src/timer.s.c ../inc/type_define.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/math.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/tick.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/malloc.h \
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/malloc.h \
|
|
||||||
../inc/dw_apb_timers.h ../inc/ucp_param.h ../inc/inter_vector.h \
|
|
||||||
../inc/ucos_ii.h ../inc/os_cfg.h ../inc/os_cpu.h ../inc/os_ucp.h
|
|
||||||
|
|
||||||
../inc/type_define.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/ieeefp.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_ansi.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/newlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/_newlib_version.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/config.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/features.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/stddef.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/reent.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/__stddef_max_align_t.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/_default_types.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/lock.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/cdefs.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/stdlib.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/alloca.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/math.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/strings.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/sys/string.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2-intrin.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucp2.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/ucps2.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/llvm/tick.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/malloc.h:
|
|
||||||
|
|
||||||
/home/ds5/ape/IDE_wang/toolchain/include/ucp2/newlib/machine/malloc.h:
|
|
||||||
|
|
||||||
../inc/dw_apb_timers.h:
|
|
||||||
|
|
||||||
../inc/ucp_param.h:
|
|
||||||
|
|
||||||
../inc/inter_vector.h:
|
|
||||||
|
|
||||||
../inc/ucos_ii.h:
|
|
||||||
|
|
||||||
../inc/os_cfg.h:
|
|
||||||
|
|
||||||
../inc/os_cpu.h:
|
|
||||||
|
|
||||||
../inc/os_ucp.h:
|
|
@ -1 +0,0 @@
|
|||||||
Src/ucos_ii.s.o: ../Src/ucos_ii.s.c
|
|
@ -1,43 +0,0 @@
|
|||||||
################################################################################
|
|
||||||
# Automatically-generated file. Do not edit!
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
-include ../makefile.init
|
|
||||||
|
|
||||||
RM := find . -path './build' -prune -o -print -a -type f -not -name '*.mk' -a -not -name '*.ld' -a -not -name 'makefile' -a -not -name 'genhex.sh' -delete & rm -rf
|
|
||||||
|
|
||||||
# All of the sources participating in the build are defined here
|
|
||||||
-include sources.mk
|
|
||||||
-include Src/subdir.mk
|
|
||||||
-include subdir.mk
|
|
||||||
-include objects.mk
|
|
||||||
|
|
||||||
ifneq ($(MAKECMDGOALS),clean)
|
|
||||||
ifneq ($(strip $(C_DEPS)),)
|
|
||||||
-include $(C_DEPS)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
-include ../makefile.defs
|
|
||||||
|
|
||||||
# Add inputs and outputs from these tool invocations to the build variables
|
|
||||||
|
|
||||||
# All Target
|
|
||||||
all: libsmartos.a
|
|
||||||
|
|
||||||
# Tool invocations
|
|
||||||
libsmartos.a: $(OBJS)
|
|
||||||
@echo 'Building target: $@'
|
|
||||||
@echo 'Invoking: GNU archiver'
|
|
||||||
ar rcs "libsmartos.a" $(USER_OBJS) $(OBJS) $(LIBS)
|
|
||||||
@echo 'Finished building target: $@'
|
|
||||||
@echo ' '
|
|
||||||
|
|
||||||
# Other Targets
|
|
||||||
clean:
|
|
||||||
-$(RM) $(LIB)$(OBJS)$(C_DEPS) libsmartos.a
|
|
||||||
-@echo ' '
|
|
||||||
|
|
||||||
.PHONY: all clean dependents
|
|
||||||
|
|
||||||
-include ../makefile.targets
|
|
@ -1,8 +0,0 @@
|
|||||||
################################################################################
|
|
||||||
# Automatically-generated file. Do not edit!
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
USER_OBJS :=
|
|
||||||
|
|
||||||
LIBS :=
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
|||||||
################################################################################
|
|
||||||
# Automatically-generated file. Do not edit!
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
ASM_SRCS :=
|
|
||||||
C_SRCS :=
|
|
||||||
O_SRCS :=
|
|
||||||
LIB :=
|
|
||||||
OBJS :=
|
|
||||||
C_DEPS :=
|
|
||||||
|
|
||||||
# Every subdirectory with source files must be described here
|
|
||||||
SUBDIRS := \
|
|
||||||
Src \
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
|||||||
################################################################################
|
|
||||||
# Automatically-generated file. Do not edit!
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
ASM_SRCS :=
|
|
||||||
C_SRCS :=
|
|
||||||
O_SRCS :=
|
|
||||||
LIB :=
|
|
||||||
OBJS :=
|
|
||||||
C_DEPS :=
|
|
||||||
|
|
||||||
# Every subdirectory with source files must be described here
|
|
||||||
SUBDIRS := \
|
|
||||||
Src \
|
|
||||||
|
|
@ -1,191 +1,315 @@
|
|||||||
#include <ucps2-intrin.h>
|
#include <ucps2-intrin.h>
|
||||||
#include "spinlock.h"
|
#include "spinlock.h"
|
||||||
|
|
||||||
//#define OSP_APE_SPAIN_LOCK_ADDR 0x931FF00
|
|
||||||
|
|
||||||
#define OSP_APE_SPAIN_LOCK_ADDR (0x931FF00-0x400)
|
#define OSP_APE_SPAIN_LOCK_ADDR (0x931FF00-0x400)
|
||||||
|
|
||||||
#define SPINLOCK_BIT_MAP_ADDR (0x931fb40)
|
#define SPINLOCK_BIT_MAP_ADDR (0x931fb40)
|
||||||
|
|
||||||
|
#define DEBUG_NR 16
|
||||||
|
|
||||||
#define LOCK_BIND_FLAG_ADDR 0x931ff60
|
unsigned int spin_debug_switch = 0;
|
||||||
|
unsigned int g_unspinlock_loop = 0;
|
||||||
|
unsigned int g_ddr_spinlock_loop = 0;
|
||||||
|
|
||||||
#define FREE_VALUE 0x45
|
|
||||||
typedef unsigned int uint32_t;
|
typedef unsigned int uint32_t;
|
||||||
|
|
||||||
#define spin_do_write(a,v) __ucps2_store_ext_mem((void *)a, (uint32_t)v, f_W)
|
#define spin_do_write(a,v) __ucps2_store_ext_mem((void *)(a), (uint32_t)v, f_W)
|
||||||
#define spin_do_read(ptr) __ucps2_load_ext_mem_v((char*)ptr, f_W)
|
#define spin_do_read(ptr) __ucps2_load_ext_mem_v((char*)(ptr), f_W)
|
||||||
|
|
||||||
|
|
||||||
int spin_debug_switch = 0;
|
|
||||||
|
|
||||||
int g_spinlock_count = 0;
|
|
||||||
int g_unspinlock_count = 0;
|
|
||||||
int g_spinlock_loop = 0;
|
|
||||||
|
|
||||||
|
unsigned int g_spinlock_count[DEBUG_NR] = {0};
|
||||||
|
unsigned int g_unspinlock_count[DEBUG_NR] = {0};
|
||||||
|
unsigned int g_spinlock_loop[DEBUG_NR] = {0};
|
||||||
|
unsigned int g_spin_count[DEBUG_NR] = {0};
|
||||||
|
|
||||||
unsigned char *use_flag = (char*)SPINLOCK_BIT_MAP_ADDR;
|
unsigned char *use_flag = (char*)SPINLOCK_BIT_MAP_ADDR;
|
||||||
spin_debug_t *spin_debug_info;
|
spin_debug_t *spin_debug_info;
|
||||||
|
|
||||||
|
|
||||||
int test_bit(void *s,unsigned int index)
|
static int test_bit(void *s,unsigned int index)
|
||||||
{
|
{
|
||||||
unsigned char *f_bit = s;
|
unsigned char *f_bit = s;
|
||||||
f_bit += index >>3;
|
f_bit += index >>3;
|
||||||
return ((*f_bit&(1 <<((index%8)))) != 0);
|
return ((*f_bit&(1 <<((index%8)))) != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void set_bit(void *s,unsigned int index)
|
static void set_bit(void *s,unsigned int index)
|
||||||
{
|
{
|
||||||
unsigned char *f_bit = s;
|
unsigned char *f_bit = s;
|
||||||
f_bit += index >> 3;
|
f_bit += index >> 3;
|
||||||
*f_bit |= 1<<(index%8);
|
*f_bit |= 1<<(index%8);
|
||||||
}
|
}
|
||||||
|
|
||||||
void clear_bit(void *s,unsigned int index)
|
static void clear_bit(void *s,unsigned int index)
|
||||||
{
|
{
|
||||||
unsigned char *f_bit = s;
|
unsigned char *f_bit = s;
|
||||||
f_bit += index >> 3;
|
f_bit += index >> 3;
|
||||||
*f_bit &= ~(1 <<(index%8));
|
*f_bit &= ~(1 <<(index%8));
|
||||||
}
|
}
|
||||||
|
|
||||||
int smart_spin_debug_init(unsigned int debug_base_addr, int len_bytes)
|
/*
|
||||||
|
函数:smart_spin_debug_init
|
||||||
|
参数:lock_idx
|
||||||
|
参数范围:1--15
|
||||||
|
*/
|
||||||
|
|
||||||
|
int smart_spin_debug_init(int lock_idx,unsigned int debug_base_addr, int len_bytes)
|
||||||
{
|
{
|
||||||
if(debug_base_addr <= 0x10000000)
|
if((lock_idx < 1)||(lock_idx > 15))
|
||||||
{
|
{
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (len_bytes < 12)
|
if(debug_base_addr <= 0x10000000)
|
||||||
{
|
{
|
||||||
return -2;
|
return -1;
|
||||||
}
|
}
|
||||||
|
if (len_bytes < 16)
|
||||||
|
{
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
spin_debug_switch = 1;
|
spin_debug_switch = 1;
|
||||||
spin_debug_info = (spin_debug_t *)debug_base_addr;
|
spin_debug_info = (spin_debug_t *)debug_base_addr;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void spin_debug(void * addr , uint32_t v)
|
void spin_debug(void * addr , uint32_t v)
|
||||||
{
|
{
|
||||||
if(spin_debug_switch == 1)
|
if(spin_debug_switch == 1)
|
||||||
{
|
{
|
||||||
spin_do_write(addr, v);
|
spin_do_write(addr, v);
|
||||||
}
|
__ucps2_synch(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int smart_spinlock_init(int lock_index)
|
int smart_spinlock_init(int lock_index)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
if((lock_index < 0)||(lock_index > 15))
|
if((lock_index < 1)||(lock_index > 15))
|
||||||
{
|
{
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if(test_bit(use_flag,lock_index))
|
if(test_bit(use_flag,lock_index))
|
||||||
{
|
{
|
||||||
return -2; //
|
return -2; //
|
||||||
}
|
}
|
||||||
set_bit(use_flag,lock_index);
|
set_bit(use_flag,lock_index);
|
||||||
*(volatile unsigned int *)(OSP_APE_SPAIN_LOCK_ADDR+lock_index*4) = 0;
|
*(volatile unsigned int *)(OSP_APE_SPAIN_LOCK_ADDR+lock_index*4) = 0;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
/*
|
|
||||||
if(*(volatile unsigned int *)(OSP_APE_SPAIN_LOCK_ADDR+lock_index*4) == 0)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
else if(*(volatile unsigned int *)(OSP_APE_SPAIN_LOCK_ADDR+lock_index*4) > 0)
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
return -1;
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
void smart_spinlock(int lock_index)
|
void smart_spinlock(int lock_index)
|
||||||
{
|
{
|
||||||
spinlock_t lockval;
|
spinlock_t lockval;
|
||||||
spinlock_t *lock;
|
spinlock_t *lock;
|
||||||
int ret;
|
int ret;
|
||||||
int owner;
|
int owner;
|
||||||
int next;
|
int next;
|
||||||
if (lock_index >= SLOCK_MAX)
|
if (lock_index > SLOCK_MAX)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
lock = (spinlock_t*)(OSP_APE_SPAIN_LOCK_ADDR+lock_index*4);
|
lock = (spinlock_t*)(OSP_APE_SPAIN_LOCK_ADDR+lock_index*4);
|
||||||
}
|
}
|
||||||
|
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
lockval.slock = __ucps2_atomicld((int *)lock, f_W);
|
lockval.slock = __ucps2_atomicld((int *)lock, f_W);
|
||||||
next = ((lockval.slock >> 16) & 0x0000ffff);
|
next = ((lockval.slock >> 16) & 0x0000ffff);
|
||||||
owner = next;
|
owner = next;
|
||||||
next++;
|
next++;
|
||||||
lockval.slock &=0x0000ffff;
|
lockval.slock &=0x0000ffff;
|
||||||
lockval.slock |= ((next & 0xffff) << 16);
|
lockval.slock |= ((next & 0xffff) << 16);
|
||||||
ret = __ucps2_atomicst((int *)lock, lockval.slock, f_W);
|
ret = __ucps2_atomicst((int *)lock, lockval.slock, f_W);
|
||||||
if (1 == ret)
|
if (1 == ret)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
g_spin_count[lock_index]++;
|
||||||
}
|
spin_debug(&(spin_debug_info->spin_per_ape.g_spin_count) , g_spin_count[lock_index]);
|
||||||
}
|
}
|
||||||
do
|
}
|
||||||
{
|
do
|
||||||
lockval.slock = __ucps2_atomicld((int *)lock, f_W);
|
{
|
||||||
g_spinlock_loop++;
|
lockval.slock = __ucps2_atomicld((int *)lock, f_W);
|
||||||
spin_debug(&(spin_debug_info->spin_per_ape.spinlock_loop) , g_spinlock_loop);
|
g_spinlock_loop[lock_index]++;
|
||||||
} while (owner != ((lockval.slock & 0x0000ffff)));
|
spin_debug(&(spin_debug_info->spin_per_ape.spinlock_loop) , g_spinlock_loop[lock_index]);
|
||||||
g_spinlock_loop = 0;
|
} while (owner != ((lockval.slock & 0x0000ffff)));
|
||||||
g_spinlock_count++;
|
g_spinlock_count[lock_index]++;
|
||||||
spin_debug(&(spin_debug_info->spin_per_ape.spinlock_count) , g_spinlock_count);
|
spin_debug(&(spin_debug_info->spin_per_ape.spinlock_count) , g_spinlock_count[lock_index]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void smart_spinunlock(int lock_index)
|
void smart_spinunlock(int lock_index)
|
||||||
{
|
{
|
||||||
spinlock_t lockval;
|
spinlock_t lockval;
|
||||||
int ret;
|
int ret;
|
||||||
int atomfail_unlock = 0;
|
int atomfail_unlock = 0;
|
||||||
spinlock_t * lock;
|
spinlock_t * lock;
|
||||||
unsigned int temp_owner = 0;
|
unsigned int temp_owner = 0;
|
||||||
if (lock_index >= SLOCK_MAX)
|
if (lock_index > SLOCK_MAX)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
lock = (spinlock_t*)(OSP_APE_SPAIN_LOCK_ADDR+lock_index*4);
|
lock = (spinlock_t*)(OSP_APE_SPAIN_LOCK_ADDR+lock_index*4);
|
||||||
}
|
}
|
||||||
g_unspinlock_count++;
|
while (1)
|
||||||
spin_debug(&(spin_debug_info->spin_per_ape.unspinlock_count) , g_unspinlock_count);
|
{
|
||||||
while (1)
|
lockval.slock = __ucps2_atomicld((int *)lock, f_W);
|
||||||
{
|
temp_owner = (lockval.slock & 0x0000ffff);
|
||||||
lockval.slock = __ucps2_atomicld((int *)lock, f_W);
|
temp_owner ++;
|
||||||
temp_owner = (lockval.slock & 0x0000ffff);
|
lockval.slock &= 0xffff0000;
|
||||||
temp_owner ++;
|
lockval.slock |= (temp_owner & 0x0000ffff);
|
||||||
lockval.slock &= 0xffff0000;
|
ret = __ucps2_atomicst((int *)lock, lockval.slock, f_W);
|
||||||
lockval.slock |= (temp_owner & 0x0000ffff);
|
if (1 == ret)
|
||||||
ret = __ucps2_atomicst((int *)lock, lockval.slock, f_W);
|
{
|
||||||
if (1 == ret)
|
break;
|
||||||
{
|
}
|
||||||
break;
|
else
|
||||||
}
|
{
|
||||||
else
|
// g_unspinlock_loop++;
|
||||||
{
|
// spin_debug(&(spin_debug_info->spin_per_ape.unspinlock_loop) , g_unspinlock_loop);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
g_unspinlock_count[lock_index]++;
|
||||||
|
spin_debug(&(spin_debug_info->spin_per_ape.unspinlock_count) , g_unspinlock_count[lock_index]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
参数:lock_idx
|
||||||
|
参数范围:1--15
|
||||||
|
*/
|
||||||
|
int smart_get_spin_loop_cnt(int lock_idx)
|
||||||
|
{
|
||||||
|
return g_spinlock_loop[lock_idx];
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
参数:lock_idx
|
||||||
|
参数范围:1--15
|
||||||
|
*/
|
||||||
|
|
||||||
|
int smart_get_spin_cnt(int lock_idx)
|
||||||
|
{
|
||||||
|
return g_spin_count[lock_idx];
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
参数:lock_idx
|
||||||
|
参数范围:1--15
|
||||||
|
*/
|
||||||
|
|
||||||
|
int smart_get_spinlock_cnt(int lock_idx)
|
||||||
|
{
|
||||||
|
return g_spinlock_count[lock_idx];
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
参数:lock_idx
|
||||||
|
参数范围:1--15
|
||||||
|
*/
|
||||||
|
|
||||||
|
int smart_get_unspinlock_cnt(int lock_idx)
|
||||||
|
{
|
||||||
|
return g_unspinlock_count[lock_idx];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int smart_ddr_spinlock_init(ddr_spinlock_t *val)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
int init_val = 0;
|
||||||
|
|
||||||
|
if(spin_do_read(val->flag_addr) == 0xab3f)
|
||||||
|
{
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
|
spin_do_write(val->flag_addr,0xab3f);
|
||||||
|
spin_do_write(val->lock_addr,0);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void smart_ddr_spinlock(ddr_spinlock_t *val)
|
||||||
|
{
|
||||||
|
spinlock_t lockval;
|
||||||
|
volatile unsigned int *lock;
|
||||||
|
int ret;
|
||||||
|
int owner;
|
||||||
|
int next;
|
||||||
|
int loop;
|
||||||
|
|
||||||
|
lock = (volatile unsigned int*)(val->lock_addr);
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
lockval.slock = __ucps2_atomicld((int *)lock, f_W);
|
||||||
|
next = ((lockval.slock >> 16) & 0x0000ffff);
|
||||||
|
owner = next;
|
||||||
|
next++;
|
||||||
|
lockval.slock &=0x0000ffff;
|
||||||
|
lockval.slock |= ((next & 0xffff) << 16);
|
||||||
|
ret = __ucps2_atomicst((int *)lock, lockval.slock, f_W);
|
||||||
|
if (1 == ret)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
do
|
||||||
|
{
|
||||||
|
lockval.slock = __ucps2_atomicld((int *)lock, f_W);
|
||||||
|
g_ddr_spinlock_loop++;
|
||||||
|
} while (owner != ((lockval.slock & 0x0000ffff)));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void smart_ddr_spinunlock(ddr_spinlock_t *val)
|
||||||
|
{
|
||||||
|
spinlock_t lockval;
|
||||||
|
int ret;
|
||||||
|
volatile unsigned int * lock;
|
||||||
|
unsigned int temp_owner = 0;
|
||||||
|
lock =(volatile unsigned int*)val->lock_addr;
|
||||||
|
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
lockval.slock = __ucps2_atomicld((int *)lock, f_W);
|
||||||
|
temp_owner = (lockval.slock & 0x0000ffff);
|
||||||
|
temp_owner ++;
|
||||||
|
lockval.slock &= 0xffff0000;
|
||||||
|
lockval.slock |= (temp_owner & 0x0000ffff);
|
||||||
|
ret = __ucps2_atomicst((int *)lock, lockval.slock, f_W);
|
||||||
|
if (1 == ret)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// g_ddr_unspinlock_loop++;
|
||||||
|
// spin_do_write(val->unlock_loop_addr,g_ddr_unspinlock_loop);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
@ -14,45 +14,144 @@ typedef enum
|
|||||||
typedef struct{
|
typedef struct{
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
unsigned int slock;
|
unsigned int slock;
|
||||||
|
|
||||||
};
|
};
|
||||||
}spinlock_t;
|
}spinlock_t;
|
||||||
|
|
||||||
#define APE_NR 12
|
#define APE_NR 12
|
||||||
|
|
||||||
typedef struct{
|
typedef struct{
|
||||||
int spinlock_count;
|
unsigned int spinlock_count;
|
||||||
int unspinlock_count;
|
unsigned int unspinlock_count;
|
||||||
int spinlock_loop;
|
unsigned int spinlock_loop;
|
||||||
|
unsigned int g_spin_count;
|
||||||
|
// unsigned int unspinlock_loop;
|
||||||
|
|
||||||
}spin_db_info ;
|
}spin_db_info ;
|
||||||
|
|
||||||
typedef struct{
|
typedef struct{
|
||||||
// spin_db_info spin_per_ape[APE_NR];
|
// spin_db_info spin_per_ape[APE_NR];
|
||||||
spin_db_info spin_per_ape;
|
spin_db_info spin_per_ape;
|
||||||
|
|
||||||
}spin_debug_t;
|
}spin_debug_t;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
unsigned int lock_addr; //锁物理地址
|
||||||
|
unsigned int flag_addr; // 锁标志物理地址
|
||||||
|
|
||||||
|
}ddr_spinlock_t;
|
||||||
|
|
||||||
extern int smart_spinlock_init(int lock_index);
|
extern int smart_spinlock_init(int lock_index);
|
||||||
extern void smart_spinlock(int lock_index);
|
extern void smart_spinlock(int lock_index);
|
||||||
extern void smart_spinunlock(int lock_index);
|
extern void smart_spinunlock(int lock_index);
|
||||||
extern int smart_spin_debug_init(unsigned int debug_base_addr, int len_bytes);
|
|
||||||
|
/*
|
||||||
|
函数名称:smart_spin_debug_init
|
||||||
|
输入参数: lock_idx
|
||||||
|
输入参数:debug_base_addr
|
||||||
|
输入参数: len_bytes
|
||||||
|
返回类型: int
|
||||||
|
返回值: 小于0 表示失败
|
||||||
|
返回值: 0 表示成功
|
||||||
|
函数功能: 自旋锁调试接口,
|
||||||
|
注意:
|
||||||
|
通过lock_idx ,地址与长度指定相应的buf 数据空间,存放相应的自旋锁调试信息。
|
||||||
|
这些调试信息已经格式化,地址由用户指定,len_bytes 不能小于sizeof(spin_debug_t)
|
||||||
|
数据格式化内容是 spin_debug_t
|
||||||
|
*/
|
||||||
|
|
||||||
|
extern int smart_spin_debug_init(int lock_idx,unsigned int debug_base_addr, int len_bytes);
|
||||||
|
|
||||||
|
|
||||||
static inline void smart_spinlock_irq(int lock)
|
/*
|
||||||
|
参数:lock_idx
|
||||||
|
参数范围:1--15
|
||||||
|
*/
|
||||||
|
extern int smart_get_spin_loop_cnt(int lock_idx);
|
||||||
|
/*
|
||||||
|
参数:lock_idx
|
||||||
|
参数范围:1--15
|
||||||
|
*/
|
||||||
|
extern int smart_get_spin_cnt(int lock_idx);
|
||||||
|
/*
|
||||||
|
参数:lock_idx
|
||||||
|
参数范围:1--15
|
||||||
|
*/
|
||||||
|
|
||||||
|
extern int smart_get_spinlock_cnt(int lock_idx);
|
||||||
|
/*
|
||||||
|
参数:lock_idx
|
||||||
|
参数范围:1--15
|
||||||
|
*/
|
||||||
|
|
||||||
|
extern int smart_get_unspinlock_cnt(int lock_idx);
|
||||||
|
|
||||||
|
|
||||||
|
extern int smart_ddr_spinlock_init(ddr_spinlock_t *val);
|
||||||
|
extern void smart_ddr_spinlock(ddr_spinlock_t *val);
|
||||||
|
extern void smart_ddr_spinunlock(ddr_spinlock_t *val);
|
||||||
|
|
||||||
|
/*
|
||||||
|
函数名称:smart_ddr_spinlock_irq
|
||||||
|
函数参数: val
|
||||||
|
参数类型: ddr_spinlock_t
|
||||||
|
函数功能: 关中断加锁
|
||||||
|
函数说明: 非中断状态下使用
|
||||||
|
*/
|
||||||
|
|
||||||
|
static inline void smart_ddr_spinlock_irq(ddr_spinlock_t *d_lock)
|
||||||
{
|
{
|
||||||
|
|
||||||
__ucps2_IntEn(f_Disable);
|
__ucps2_IntEn(f_Disable);
|
||||||
smart_spinlock(lock);
|
smart_ddr_spinlock(d_lock);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
函数名称:smart_ddr_spinunlock_irqrestore
|
||||||
|
函数参数: d_lock
|
||||||
|
参数类型: ddr_spinlock_t
|
||||||
|
函数功能: 解锁开中断
|
||||||
|
函数说明: 非中断状态下使用
|
||||||
|
*/
|
||||||
|
|
||||||
|
static inline void smart_ddr_spinunlock_irqrestore(ddr_spinlock_t *d_lock)
|
||||||
|
{
|
||||||
|
smart_ddr_spinunlock(d_lock);
|
||||||
|
__ucps2_IntEn(f_Enable);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
函数名称:smart_spinlock_irq
|
||||||
|
函数参数: lock
|
||||||
|
参数类型: int
|
||||||
|
函数功能: 关中断加锁
|
||||||
|
函数说明: 非中断状态下使用
|
||||||
|
*/
|
||||||
|
|
||||||
|
static inline void smart_spinlock_irq(int lock)
|
||||||
|
{
|
||||||
|
|
||||||
|
__ucps2_IntEn(f_Disable);
|
||||||
|
smart_spinlock(lock);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
函数名称:smart_spinunlock_irqrestore
|
||||||
|
函数参数: d_lock
|
||||||
|
参数类型: int
|
||||||
|
函数功能: 解锁开中断
|
||||||
|
函数说明: 非中断状态下使用
|
||||||
|
*/
|
||||||
|
|
||||||
static inline void smart_spinunlock_irqrestore(int lock)
|
static inline void smart_spinunlock_irqrestore(int lock)
|
||||||
{
|
{
|
||||||
smart_spinunlock(lock);
|
smart_spinunlock(lock);
|
||||||
__ucps2_IntEn(f_Enable);
|
__ucps2_IntEn(f_Enable);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BIN
public/rtos/code/spinlock_code/lib/libspinlock.a
Normal file
BIN
public/rtos/code/spinlock_code/lib/libspinlock.a
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user