STBee Miniのタイマ割り込み

サンプルコードsystick_ob_led_toggle_by_interrupt_only がうまく動かない。(周期が違う)
クロックの設定がおかしいのは明白なので、色々と設定を変更する。
http://miqn.net/introduction/100.html

以下でSystemCoreClockUpdate()をかけると安定すると言ってて、試したらちゃんと動いた。
http://electassy.blogspot.jp/2014/04/mbed-nucleoled.html
BoarInit()の後ろくらいに置いとくと良さそう。SysTick_Config(SystemCoreClock/8)の後ろに置くとうまく動かなかった。
BoardInit()の中のUse_12MHz_Xtal()によるクロックの変更が反映されていないのだろうか。

int main(void)
{
  BoardInit();
  SystemCoreClockUpdate();//これが必要

  GPIO_Configuration();

  /* Setup SysTick Timer for 1000 msec interrupts  */
  //SystemCoreClock is defined insystem_stm32f10x.c
  //by default SystemCoreClock is 72,000,000 and is to be divided by 8(SysTick_CLKSourceConfig).
  //System clock frequency is 9MHz. By counting, 9,000,000(SystemCoreClock/8), 1000 ms passes.
  //上でUpdateをかけてSystemCoreClock変数を初期化しとく
  if (SysTick_Config(SystemCoreClock/8))
  {
    /* Capture error */
    while (1);
  }
  //Set system clock be divided by 8
  SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);

  while (1);

}

(追記)boardinit.cライブラリのBoardInit()関数の最後にSystemCoreClockUpdate()を追加しておいた。
boardinit.c

void BoardInit(void)
{
  /* System Clocks Configuration **********************************************/
  SystemInit();

  // Clock re-configuration for boards with 12MHz xtal
  #ifdef XTAL_12MHZ
  Use_12MHz_Xtal();
  //Added 
  SystemCoreClockUpdate();
  #endif

  // Set vector table location
  NVIC_SetVectorTable(NVIC_VectTab_FLASH, VECTOR_OFFSET);

  // Remap JTAG for boards with DFU feature
  Remap_JTAG();

}