diff --git a/arch/arm/cortex_m/src/fault.c b/arch/arm/cortex_m/src/fault.c index 704cdaf55e8250de368d811347df0d0dab9d9b2e..eb33ab69d40969c7e4fb7e5dda2952aca72ea4d0 100644 --- a/arch/arm/cortex_m/src/fault.c +++ b/arch/arm/cortex_m/src/fault.c @@ -298,12 +298,12 @@ VOID BackTraceSub(UINTPTR sp) } while ((stackPointer < stackBottom) && (count < OS_MAX_BACKTRACE)) { - if (((*(UINT32 *)stackPointer) >= (UINT32)(text_start)) && - ((*(UINT32 *)stackPointer) <= (UINT32)(text_end)) && - (IS_ALIGNED(*((UINT32 *)stackPointer - 1), THUM_OFFSET))) { + if ((*(UINT32 *)stackPointer >= (UINT32)text_start) && + (*(UINT32 *)stackPointer <= (UINT32)text_end) && + IS_ALIGNED(*(UINT32 *)stackPointer - 1, THUM_OFFSET)) { /* Get the entry address of current function. */ - UINTPTR checkBL = CalculateTargetAddress (*(UINT32 *)stackPointer - 1); + UINTPTR checkBL = CalculateTargetAddress(*(UINT32 *)stackPointer - 1); if ((checkBL == 0) || (checkBL == tmpJump)) { stackPointer += STACK_OFFSET; continue; diff --git a/targets/Cloud_STM32F429IGTx_FIRE/Src/tim.c b/targets/Cloud_STM32F429IGTx_FIRE/Src/tim.c index 14010089e975794e6984a74a520f55496cb56506..c2c9a4b3fafb0409fee5b04663fb8d82c5628e19 100644 --- a/targets/Cloud_STM32F429IGTx_FIRE/Src/tim.c +++ b/targets/Cloud_STM32F429IGTx_FIRE/Src/tim.c @@ -113,8 +113,8 @@ UINT64 Timer3Getcycle(VOID) if (swCycles <= bacCycle) { cycleTimes++; - bacCycle = swCycles; } + bacCycle = swCycles; return swCycles + cycleTimes * TIMER3_RELOAD; } @@ -130,7 +130,9 @@ VOID StmTimerHwiCreate(VOID) ret = LOS_HwiCreate(TIM_IRQ, 0, 0, TIM3_IRQHandler, 0); // 16: cortex-m irq num shift if (ret != 0) { printf("ret of TIM3 LOS_HwiCreate = %#x\n", ret); + return; } + HAL_TIM_Base_Start_IT(&htim3); } UINT64 StmGetTimerCycles(Timer_t num) diff --git a/targets/STM32F072_Nucleo/Src/tim.c b/targets/STM32F072_Nucleo/Src/tim.c index 7e51a0b641da5376710f823e75902b109cf49d0b..be4f62b450155d5ecc853fadb001599ff9553686 100644 --- a/targets/STM32F072_Nucleo/Src/tim.c +++ b/targets/STM32F072_Nucleo/Src/tim.c @@ -133,8 +133,8 @@ UINT64 Timer3Getcycle(VOID) if (swCycles <= bacCycle) { cycleTimes++; - bacCycle = swCycles; } + bacCycle = swCycles; return swCycles + cycleTimes * TIMER3_RELOAD; } @@ -150,7 +150,9 @@ VOID StmTimerHwiCreate(VOID) ret = LOS_HwiCreate(TIM_IRQ, 0, 0, TIM3_IRQHandler, 0); // 16: cortex-m irq num shift if (ret != 0) { printf("ret of TIM3 LOS_HwiCreate = %#x\n", ret); + return; } + HAL_TIM_Base_Start_IT(&htim3); } UINT64 StmGetTimerCycles(Timer_t num) diff --git a/targets/STM32F103_FIRE_Arbitrary/Src/tim.c b/targets/STM32F103_FIRE_Arbitrary/Src/tim.c index 5247c756578090117217ec098337770fb7f54b16..76c52cf192a3bd2878415183b1023e3350ad35ac 100644 --- a/targets/STM32F103_FIRE_Arbitrary/Src/tim.c +++ b/targets/STM32F103_FIRE_Arbitrary/Src/tim.c @@ -35,17 +35,14 @@ void MX_TIM3_Init(void) TIM_MasterConfigTypeDef sMasterConfig = { 0 }; htim3.Instance = TIM3; - htim3.Init.Prescaler = 3600 - 1; + htim3.Init.Prescaler = 7200 - 1; htim3.Init.CounterMode = TIM_COUNTERMODE_UP; htim3.Init.Period = 50000 - 1; htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; if (HAL_TIM_Base_Init(&htim3) != HAL_OK) { Error_Handler(); } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_ETRMODE2; - sClockSourceConfig.ClockPolarity = TIM_CLOCKPOLARITY_NONINVERTED; - sClockSourceConfig.ClockPrescaler = TIM_CLOCKPRESCALER_DIV1; - sClockSourceConfig.ClockFilter = 0; + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; if (HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig) != HAL_OK) { Error_Handler(); } @@ -58,7 +55,6 @@ void MX_TIM3_Init(void) void HAL_TIM_Base_MspInit(TIM_HandleTypeDef *tim_baseHandle) { - GPIO_InitTypeDef GPIO_InitStruct = { 0 }; if (tim_baseHandle->Instance == TIM3) { /* USER CODE BEGIN TIM3_MspInit 0 */ @@ -66,15 +62,6 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef *tim_baseHandle) /* TIM3 clock enable */ __HAL_RCC_TIM3_CLK_ENABLE(); - __HAL_RCC_GPIOD_CLK_ENABLE(); - /* *TIM3 GPIO Configuration - PD2 ------> TIM3_ETR - */ - GPIO_InitStruct.Pin = GPIO_PIN_2; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - /* TIM3 interrupt Init */ HAL_NVIC_SetPriority(TIM3_IRQn, 0, 0); HAL_NVIC_EnableIRQ(TIM3_IRQn); @@ -93,11 +80,6 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef *tim_baseHandle) /* Peripheral clock disable */ __HAL_RCC_TIM3_CLK_DISABLE(); - /* *TIM3 GPIO Configuration - PD2 ------> TIM3_ETR - */ - HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2); - /* TIM3 interrupt Deinit */ HAL_NVIC_DisableIRQ(TIM3_IRQn); /* USER CODE BEGIN TIM3_MspDeInit 1 */ @@ -129,8 +111,8 @@ UINT64 Timer3Getcycle(VOID) if (swCycles <= bacCycle) { cycleTimes++; - bacCycle = swCycles; } + bacCycle = swCycles; return swCycles + cycleTimes * TIMER3_RELOAD; } @@ -146,7 +128,9 @@ VOID StmTimerHwiCreate(VOID) ret = LOS_HwiCreate(TIM_IRQ, 0, 0, TIM3_IRQHandler, 0); // 16: cortex-m irq num shift if (ret != 0) { printf("ret of TIM3 LOS_HwiCreate = %#x\n", ret); + return; } + HAL_TIM_Base_Start_IT(&htim3); } UINT64 StmGetTimerCycles(Timer_t num) diff --git a/targets/STM32F407_ATK_Explorer/Src/tim.c b/targets/STM32F407_ATK_Explorer/Src/tim.c index 4f297ae11810ca3cdbbdd44aa24a9df0cc035f3c..13f165fac63b6c90a2da8d984c5308f4c17447ad 100644 --- a/targets/STM32F407_ATK_Explorer/Src/tim.c +++ b/targets/STM32F407_ATK_Explorer/Src/tim.c @@ -43,10 +43,7 @@ void MX_TIM3_Init(void) if (HAL_TIM_Base_Init(&htim3) != HAL_OK) { Error_Handler(); } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_ETRMODE2; - sClockSourceConfig.ClockPolarity = TIM_CLOCKPOLARITY_NONINVERTED; - sClockSourceConfig.ClockPrescaler = TIM_CLOCKPRESCALER_DIV1; - sClockSourceConfig.ClockFilter = 0; + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; if (HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig) != HAL_OK) { Error_Handler(); } @@ -59,25 +56,12 @@ void MX_TIM3_Init(void) void HAL_TIM_Base_MspInit(TIM_HandleTypeDef *tim_baseHandle) { - GPIO_InitTypeDef GPIO_InitStruct = { 0 }; if (tim_baseHandle->Instance == TIM3) { /* USER CODE BEGIN TIM3_MspInit 0 */ /* USER CODE END TIM3_MspInit 0 */ /* TIM3 clock enable */ __HAL_RCC_TIM3_CLK_ENABLE(); - - __HAL_RCC_GPIOD_CLK_ENABLE(); - /* *TIM3 GPIO Configuration - PD2 ------> TIM3_ETR - */ - GPIO_InitStruct.Pin = GPIO_PIN_2; - GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - GPIO_InitStruct.Alternate = GPIO_AF2_TIM3; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - /* USER CODE BEGIN TIM3_MspInit 1 */ /* USER CODE END TIM3_MspInit 1 */ @@ -92,12 +76,6 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef *tim_baseHandle) /* USER CODE END TIM3_MspDeInit 0 */ /* Peripheral clock disable */ __HAL_RCC_TIM3_CLK_DISABLE(); - - /* *TIM3 GPIO Configuration - PD2 ------> TIM3_ETR - */ - HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2); - /* USER CODE BEGIN TIM3_MspDeInit 1 */ /* USER CODE END TIM3_MspDeInit 1 */ @@ -128,8 +106,8 @@ UINT64 Timer3Getcycle(VOID) if (swCycles <= bacCycle) { cycleTimes++; - bacCycle = swCycles; } + bacCycle = swCycles; return swCycles + cycleTimes * TIMER3_RELOAD; } @@ -145,7 +123,9 @@ VOID StmTimerHwiCreate(VOID) ret = LOS_HwiCreate(TIM_IRQ, 0, 0, TIM3_IRQHandler, 0); // 16: cortex-m irq num shift if (ret != 0) { printf("ret of TIM3 LOS_HwiCreate = %#x\n", ret); + return; } + HAL_TIM_Base_Start_IT(&htim3); } UINT64 StmGetTimerCycles(Timer_t num) diff --git a/targets/STM32F769IDISCOVERY/Src/tim.c b/targets/STM32F769IDISCOVERY/Src/tim.c index 57364f754730f8c098cc4fd7c650c513383d2ebd..49d304553830358624d20ca514242d91013b5a1a 100644 --- a/targets/STM32F769IDISCOVERY/Src/tim.c +++ b/targets/STM32F769IDISCOVERY/Src/tim.c @@ -105,8 +105,8 @@ UINT64 Timer3Getcycle(VOID) if (swCycles <= bacCycle) { cycleTimes++; - bacCycle = swCycles; } + bacCycle = swCycles; return swCycles + cycleTimes * TIMER3_RELOAD; } @@ -122,7 +122,9 @@ VOID StmTimerHwiCreate(VOID) ret = LOS_HwiCreate(TIM_IRQ, 0, 0, TIM3_IRQHandler, 0); // 16: cortex-m irq num shift if (ret != 0) { printf("ret of TIM3 LOS_HwiCreate = %#x\n", ret); + return; } + HAL_TIM_Base_Start_IT(&htim3); } UINT64 StmGetTimerCycles(Timer_t num) diff --git a/targets/STM32L431_BearPi/Src/tim.c b/targets/STM32L431_BearPi/Src/tim.c index 06e5bf7fd9d91013d18a8dea1004f2f1038c1b12..2adf9de560f3d53e39be685047ca68be8342e917 100644 --- a/targets/STM32L431_BearPi/Src/tim.c +++ b/targets/STM32L431_BearPi/Src/tim.c @@ -106,8 +106,8 @@ UINT64 Timer7Getcycle(VOID) if (swCycles <= bacCycle) { cycleTimes++; - bacCycle = swCycles; } + bacCycle = swCycles; return swCycles + cycleTimes * TIMER7_RELOAD; } @@ -123,7 +123,9 @@ VOID StmTimerHwiCreate(VOID) ret = LOS_HwiCreate(TIM_IRQ, 0, 0, TIM7_IRQHandler, 0); // 16: cortex-m irq num shift if (ret != 0) { printf("ret of TIM7 LOS_HwiCreate = %#x\n", ret); + return; } + HAL_TIM_Base_Start_IT(&htim7); } UINT64 StmGetTimerCycles(Timer_t num)