Merge branch 'prepare_for_master' of https://gitlink.org.cn/xuos/xiuos into xidatong-arm32

This commit is contained in:
wgzAIIT
2023-10-11 16:51:55 +08:00
18 changed files with 145 additions and 48 deletions
+1 -1
View File
@@ -5,7 +5,7 @@ MAKEFLAGS += --no-print-directory
.PHONY:COMPILE_APP COMPILE_KERNEL
riscv_support := kd233 maix-go hifive1-rev-B gapuino gd32vf103-rvstar rv32m1-vega aiit-riscv64-board xidatong-riscv64 edu-riscv64
riscv_support := kd233 maix-go hifive1-rev-B gapuino gd32vf103-rvstar rv32m1-vega aiit-riscv64-board xidatong-riscv64 edu-riscv64 ch32v307vct6
arm_support += stm32f407-st-discovery stm32f407zgt6 stm32f103-nano nuvoton-m2354 ok1052-c imxrt1176-sbc aiit-arm32-board xidatong-arm32 xiwangtong-arm32 edu-arm32
emulator_support += hifive1-emulator k210-emulator cortex-m0-emulator cortex-m3-emulator cortex-m4-emulator
support := $(riscv_support) $(arm_support) $(emulator_support)
@@ -1,6 +1,6 @@
export CROSS_COMPILE ?=/usr/bin/arm-none-eabi-
export CFLAGS := -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -ffunction-sections -fdata-sections -Dgcc -O0 -fgnu89-inline -Wa,-mimplicit-it=thumb -Werror -Wformat -Wuninitialized
export CFLAGS := -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -ffunction-sections -fdata-sections -Dgcc -O0 -fgnu89-inline -Wa,-mimplicit-it=thumb -Werror -Wuninitialized
# export CFLAGS := -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -ffunction-sections -fdata-sections -Dgcc -O0 -gdwarf-2 -g -fgnu89-inline -Wa,-mimplicit-it=thumb -Werror
export AFLAGS := -c -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -ffunction-sections -fdata-sections -x assembler-with-cpp -Wa,-mimplicit-it=thumb -gdwarf-2
export LFLAGS := -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -ffunction-sections -fdata-sections -Wl,--gc-sections,-Map=XiZi-edu-arm32.map,-cref,-u,Reset_Handler -T $(BSP_ROOT)/link.lds
@@ -775,19 +775,24 @@ uint8_t UserGetTaskPriority(int32_t id)
}
#ifdef KERNEL_SOFTTIMER
static int32 timer_sem;
#define TIMER_NUM 20
static int32 timer_sem[TIMER_NUM];
static uint32_t timer_id[TIMER_NUM];
static void UserTimerCallback(void *parameter)
{
KSemaphoreAbandon(timer_sem);
uint32_t timer_id = *((uint32_t *)parameter);
KSemaphoreAbandon(timer_sem[timer_id]);
}
int32 UserTimerCreate(const char *name, void (*timeout)(void *parameter), void *parameter, uint32_t time, uint8_t trigger_mode)
{
int32 ret;
timer_sem = *((int *)parameter);
timer_id[time] = time;
timer_sem[time] = *((int *)parameter);
ret = KCreateTimer(name, UserTimerCallback, (void *)&(timer_id[time]), 1000, trigger_mode);
ret = KCreateTimer(name, UserTimerCallback, NONE, time, trigger_mode);
return ret;
}
@@ -301,7 +301,9 @@ void CheckTimerList(void)
((WorkQueueDoneType *)sys_workq->done)->WorkSubmit((WorkqueueType *)sys_workq->property, t->t_work, 0);
lock = CriticalAreaLock();
} else {
KPrintf("sortlist run unactive timer(%s), quit this timer\n", t->name);
// KPrintf("sortlist run unactive timer(%s), current %d deadline %d quit this timer\n",
// t->name, current_tick, t->deadline_timeslice);
break;
}
}
else
@@ -286,6 +286,7 @@ static inline int SerialDevDMARead(struct SerialHardwareDevice *serial_dev, stru
x_size_t read_dma_length;
x_size_t read_dma_size = SerialGetRxFifoLength(serial_dev);
lock = CriticalAreaLock();
if (serial_cfg->data_cfg.serial_buffer_size) {
if(read_length < (int)read_dma_size)
read_dma_length = read_length;