CS+ cc V8.04.00 r_main.c グロバール定義の変数に値が入らない

ターゲットRL78/G13で発生した問題ですが・・・・

R_main.cで定義したグローバル変数に値が入らない問題が発生して、頭を抱えていました。

定義した変数は、volatile uint16_t 型の1次元配列です。初期値を定義したら変数に値が入るようになった。(変な話です)

マップファイルの内容を確認する為に、変数/関数配列情報の出力オプションを有効にしたら何故かしら問題が解決ししました。

経験のある方は、おられませんか。

 

Parents
  • 新規プロジェクト製作し、以下のプログラムで動作を確認しましたが同様な現象が再現しました。
    ***********************************************************************************************************************
    Pragma directive
    ***********************************************************************************************************************/
    /* Start user code for pragma. Do not edit comment generated here */
    /* End user code. Do not edit comment generated here */

    /***********************************************************************************************************************
    Global variables and functions
    ***********************************************************************************************************************/
    /* Start user code for global. Do not edit comment generated here */
    volatile uint16_t test_counter;
    /* End user code. Do not edit comment generated here */
    void R_MAIN_UserInit(void);

    /***********************************************************************************************************************
    * Function Name: main
    * Description : This function implements main function.
    * Arguments : None
    * Return Value : None
    ***********************************************************************************************************************/
    void main(void)
    {
    R_MAIN_UserInit();
    /* Start user code. Do not edit comment generated here */
    test_counter = 0;
    NOP();
    while (1U)
    {
    test_counter++;
    NOP();
    NOP();
    NOP();
    NOP();

    }
    /* End user code. Do not edit comment generated here */
    }
Reply
  • 新規プロジェクト製作し、以下のプログラムで動作を確認しましたが同様な現象が再現しました。
    ***********************************************************************************************************************
    Pragma directive
    ***********************************************************************************************************************/
    /* Start user code for pragma. Do not edit comment generated here */
    /* End user code. Do not edit comment generated here */

    /***********************************************************************************************************************
    Global variables and functions
    ***********************************************************************************************************************/
    /* Start user code for global. Do not edit comment generated here */
    volatile uint16_t test_counter;
    /* End user code. Do not edit comment generated here */
    void R_MAIN_UserInit(void);

    /***********************************************************************************************************************
    * Function Name: main
    * Description : This function implements main function.
    * Arguments : None
    * Return Value : None
    ***********************************************************************************************************************/
    void main(void)
    {
    R_MAIN_UserInit();
    /* Start user code. Do not edit comment generated here */
    test_counter = 0;
    NOP();
    while (1U)
    {
    test_counter++;
    NOP();
    NOP();
    NOP();
    NOP();

    }
    /* End user code. Do not edit comment generated here */
    }
Children
No Data