# configOVERRIDE\_DEFAULT\_TICK\_CONFIGURATION

**URL:** <https://forums.freertos.org/t/configoverride-default-tick-configuration/6181>\
**Category:** Kernel\
**Created:** [September 29, 2016, 6:48am UTC](https://forums.freertos.org/t/configoverride-default-tick-configuration/6181 "2016-09-29T06:48:57Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [September 29, 2016, 6:48am UTC](https://forums.freertos.org/t/configoverride-default-tick-configuration/6181/1 "2016-09-29T06:48:57Z")

</div>

**[lt6210925](https://sourceforge.net/u/lt6210925/)** wrote on [Thursday, September 29, 2016](https://sourceforge.net/p/freertos/discussion/382005/thread/9eb3531b/#4818):

who know how to use the configOVERRIDE\_DEFAULT\_TICK\_CONFIGURATION  
when i write “#define configOVERRIDE\_DEFAULT\_TICK\_CONFIGURATION 1”  
the project will report the error

Undefined symbol vPortSetupTimerInterrupt (referred from port.o).

I thought this will be a bug about freertos  
i use the stm32f103zet6 board.

if anyone thought this will be used.  
show me the code about the correct method .```!

---

<div class="post-metadata">

**Author:** ![rtel](https://d3iykfbgfh8zhg.cloudfront.net/user_avatar/forums.freertos.org/rtel/32/31_2.png) [@rtel](https://forums.freertos.org/u/rtel)\
**Post date:** [September 29, 2016, 7:23am UTC](https://forums.freertos.org/t/configoverride-default-tick-configuration/6181/2 "2016-09-29T07:23:22Z")

</div>

**[rtel](https://sourceforge.net/u/rtel/)** wrote on [Thursday, September 29, 2016](https://sourceforge.net/p/freertos/discussion/382005/thread/9eb3531b/#4818/0ee3):

> who know how to use the configOVERRIDE\_DEFAULT\_TICK\_CONFIGURATION

Me!

> when i write “#define configOVERRIDE\_DEFAULT\_TICK\_CONFIGURATION 1”  
> the project will report the error
> 
> Undefined symbol vPortSetupTimerInterrupt (referred from port.o).

The FreeRTOS Cortex-M ports generate their tick interrupt from the  
SysTick clock. However, sometimes that is not convenient for  
application writers because they need the SysTick for other purposes.  
Therefore in all the Cortex-M ports you can prevent the RTOS from using  
the SysTick by replacing the function that sets up the SysTick with a  
function that sets up which ever clock you want to generate the tick  
interrupt. To do that you have to provide a function call  
vPortSetupTimerInterrupt() to actually set up the clock, and install the  
FreeRTOS tick interrupt handler as the interrupt service routine for  
whichever clock you chose. All the ports, other than the Keil port,  
define vPortSetupTimerInterrupt() as a weak symbol, so all you need to  
do is provide a function with that name. For historic reasons the Keil  
port also needs you to define configOVERRIDE\_DEFAULT\_TICK\_CONFIGURATION.

> I thought this will be a bug about freertos

Why?
