CubeIDEでのデバッガ(変数を対象にするとき)

CubeIDEにはST-LINKを使ったデバッグ機能がありますが、関連のソフトも自動でインストされる、しかしIDEごとにUIは微妙に異なるのでCubeIDEでの事例です

FreeRTOSを動かしてみる

やり方はすでに作成済みのRTOSのサンプルコードをいかに追加変更して実行

valueとvalue2というint型の変数を追加、ブレークポイントを変数の更新行においてデバッガ起動

ユーザコード指定以外に記述すると消されるので、記載位置だけは注意が必要でしょう

/* USER CODE BEGIN PV */
volatile int value = 0;
volatile int value2 = 0;
/* USER CODE END PV */


void task_1_function(void *argument)
{
  /* USER CODE BEGIN 5 */
  /* Infinite loop */
  for(;;)
  {
	HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_4);
    osDelay(100);
    value++;
  }
  /* USER CODE END 5 */
}

同様にtask_2中ではvalue2をカウントアップする

デバッグ対象変数の追加方法はいくつかありますが、ここでは、

Show View -> Expressionsで窓開いて、

Add new expressionsで変数を追加、ラズピコのデバッガでのやり方と大差ない

それぞれのタスクの実行回数比率は1:2だからこんな感じで見えます

 

admin

コメントを残す