RX SmartConfiguratorのBugではないかと思われる動作について

こんにちは。NoMaYです。

RXスマートコンフィグレータ(V2.0.0)でブロック転送を行うDMAソースを生成させようとして気付いたのですが、以下のGUIの画面コピーの通り設定した「転送回数」と「ブロック/リピートサイズ」の値がソースでは逆になっていると思います。

プロジェクトのファイル一式
issue_20190318_1.zip

RXスマートコンフィグレータのGUIの画面


生成されたソース

Config_DMAC0.c (抜粋)

void R_Config_DMAC0_Create(void)
{
    /* Cancel DMAC/DTC module stop state in LPC */
    MSTP(DMAC) = 0U;

    /* Disable DMAC interrupts */
    IEN(DMAC,DMAC0I) = 0U;

    /* Disable DMAC0 transfer */
    DMAC0.DMCNT.BIT.DTE = 0U;



    /* Set DMAC0 block size */
    DMAC0.DMCRA = _00010001_DMAC0_DMCRA_COUNT;

    /* Set DMAC0 block transfer count */
    DMAC0.DMCRB = _0003_DMAC0_DMCRB_BLK_RPT_COUNT;



    /* Enable DMAC activation */
    DMAC.DMAST.BIT.DMST = 1U;
    
    R_Config_DMAC0_Create_UserInit();
}

Config_DMAC0.h (抜粋)

#define _00000000_DMAC0_SRC_ADDR        (0x00000000UL) /* Source address */
#define _00000000_DMAC0_DST_ADDR        (0x00000000UL) /* Destination address */
#define _00010001_DMAC0_DMCRA_COUNT     (0x00010001UL) /* Repeat or Block size */
#define _0003_DMAC0_DMCRB_BLK_RPT_COUNT (0x0003U) /* Block transfer count */
#define _0000_DMAC0_SRC_EXT_RPT_AREA    (0x0000U) /* Source address extended repeat area */
#define _0000_DMAC0_DST_EXT_RPT_AREA    (0x0000U) /* Destination address extended repeat area */
#define _00000000_DMAC0_OFFSET_VALUE    (0x00000000UL) /* Offset register value */

 

Parents
  • こんにちは。NoMaYです。

    以下はバグではなくて、私が気付いた、RXスマートコンフィグレータのV2.5.0とV2.6.0の生成コードの相違に関する、他のユーザさんへのレポート(というより単に相違点の提示に過ぎないですが)です。

    src/smc_gen/general/r_smc_cgc.h

    V2.5.0 (CC-RX/GNURX/ICCRX)

    /******************************************************************************
    Global functions
    ******************************************************************************/
    void R_CGC_Create(void);
    void R_CGC_Create_UserInit();

    V2.6.0 (CC-RX/GNURX/ICCRX)

    /******************************************************************************
    Global functions
    ******************************************************************************/
    void R_CGC_Create(void);
    void R_CGC_Create_UserInit(void);

    src/smc_gen/general/r_smc_interrupt.c

    V2.5.0 (CC-RX/GNURX/ICCRX)

    /******************************************************************************
    Includes
    ******************************************************************************/
    #include "r_smc_interrupt.h"
    #include "platform.h"

    /******************************************************************************

    ******************************************************************************/

    void R_Interrupt_Create(void)
    {
        /* No fast interrupt and group settings have been configured in the Interrupts tab. */
    }

    V2.6.0 (CC-RX/GNURX/ICCRX)

    /******************************************************************************
    Pragma directive
    ******************************************************************************/
    /* Start user code for pragma. Do not edit comment generated here */
    /* End user code. Do not edit comment generated here */

    /******************************************************************************
    Includes
    ******************************************************************************/
    #include "r_cg_macrodriver.h"
    #include "r_smc_interrupt.h"
    /* Start user code for include. Do not edit comment generated here */
    /* End user code. Do not edit comment generated here */
    #include "r_cg_userdefine.h"

    /******************************************************************************
    Global variables and functions
    ******************************************************************************/
    /* Start user code for global. Do not edit comment generated here */
    /* End user code. Do not edit comment generated here */

    /******************************************************************************

    ******************************************************************************/

    void R_Interrupt_Create(void)
    {
        /* No fast interrupt and group settings have been configured in the Interrupts tab. */
    }

    /* Start user code for adding. Do not edit comment generated here */
    /* End user code. Do not edit comment generated here */

    src/smc_gen/general/r_smc_interrupt.h (SCFG側の設定は変えていません。リリースノートに関連しそうな記載がありました。)

    V2.5.0 (CC-RX/GNURX/ICCRX)

    #define ICU_ICU_SWINT2_PRIORITY                    (_0F_ICU_PRIORITY_LEVEL15)
    #define ICU_ICU_SWINT_PRIORITY                     (_0F_ICU_PRIORITY_LEVEL15)

    V2.6.0 (CC-RX/GNURX/ICCRX)

    #define ICU_ICU_SWINT2_PRIORITY                    (_01_ICU_PRIORITY_LEVEL1)
    #define ICU_ICU_SWINT_PRIORITY                     (_01_ICU_PRIORITY_LEVEL1)

    [関連リンク]

    ツールニュース

    【リビジョンアップ】 e² studio Smart Configuratorプラグイン V2.6.0, RXスマート・コンフィグレータ V2.6.0
    www.renesas.com/jp/ja/doc/toolnews/jpn/2020/r20ts0596jj0100-sctn.pdf

    リリースノート

    Smart Configurator for RX V2.6.0 リリースノート
    R20UT4487JS0260 Rev.2.60 2020.07.20
    www.renesas.com/jp/ja/doc/products/tool/doc/016/r20ut4487js0260-smartconfigurator.pdf

    製品ページ

    スマート・コンフィグレータ
    www.renesas.com/jp/ja/products/software-tools/tools/solution-toolkit/smart-configurator.html

    [追記]

    実は以前から何となく思い始めていたのですが、RXスマートコンフィグレータ使用時でも、デバイス変更が(自分が思い込んでいたよりもずっと)簡単に出来るようになっているような気がします、、、

    Smart Configurator for RX V2.6.0 リリースノート

    2.3.4 デバイス変更後の変更レポートに、端子および割り込み情報を追加

    デバイス変更後の変更レポートに端子および割り込みの変更情報が追加されました。


    2.3.8 ボードページのデバイス選択が、e2 studio のデバイス変更に移行

    デバイス変更は、スマートコンフィグレータのボードページから、e2 studio のデバイス変更ウィザードに移行されました。ボードページの“…”ボタンを押下すると、e2 studio のデバイス変更ウィザードが自動的に起動されます。


Reply
  • こんにちは。NoMaYです。

    以下はバグではなくて、私が気付いた、RXスマートコンフィグレータのV2.5.0とV2.6.0の生成コードの相違に関する、他のユーザさんへのレポート(というより単に相違点の提示に過ぎないですが)です。

    src/smc_gen/general/r_smc_cgc.h

    V2.5.0 (CC-RX/GNURX/ICCRX)

    /******************************************************************************
    Global functions
    ******************************************************************************/
    void R_CGC_Create(void);
    void R_CGC_Create_UserInit();

    V2.6.0 (CC-RX/GNURX/ICCRX)

    /******************************************************************************
    Global functions
    ******************************************************************************/
    void R_CGC_Create(void);
    void R_CGC_Create_UserInit(void);

    src/smc_gen/general/r_smc_interrupt.c

    V2.5.0 (CC-RX/GNURX/ICCRX)

    /******************************************************************************
    Includes
    ******************************************************************************/
    #include "r_smc_interrupt.h"
    #include "platform.h"

    /******************************************************************************

    ******************************************************************************/

    void R_Interrupt_Create(void)
    {
        /* No fast interrupt and group settings have been configured in the Interrupts tab. */
    }

    V2.6.0 (CC-RX/GNURX/ICCRX)

    /******************************************************************************
    Pragma directive
    ******************************************************************************/
    /* Start user code for pragma. Do not edit comment generated here */
    /* End user code. Do not edit comment generated here */

    /******************************************************************************
    Includes
    ******************************************************************************/
    #include "r_cg_macrodriver.h"
    #include "r_smc_interrupt.h"
    /* Start user code for include. Do not edit comment generated here */
    /* End user code. Do not edit comment generated here */
    #include "r_cg_userdefine.h"

    /******************************************************************************
    Global variables and functions
    ******************************************************************************/
    /* Start user code for global. Do not edit comment generated here */
    /* End user code. Do not edit comment generated here */

    /******************************************************************************

    ******************************************************************************/

    void R_Interrupt_Create(void)
    {
        /* No fast interrupt and group settings have been configured in the Interrupts tab. */
    }

    /* Start user code for adding. Do not edit comment generated here */
    /* End user code. Do not edit comment generated here */

    src/smc_gen/general/r_smc_interrupt.h (SCFG側の設定は変えていません。リリースノートに関連しそうな記載がありました。)

    V2.5.0 (CC-RX/GNURX/ICCRX)

    #define ICU_ICU_SWINT2_PRIORITY                    (_0F_ICU_PRIORITY_LEVEL15)
    #define ICU_ICU_SWINT_PRIORITY                     (_0F_ICU_PRIORITY_LEVEL15)

    V2.6.0 (CC-RX/GNURX/ICCRX)

    #define ICU_ICU_SWINT2_PRIORITY                    (_01_ICU_PRIORITY_LEVEL1)
    #define ICU_ICU_SWINT_PRIORITY                     (_01_ICU_PRIORITY_LEVEL1)

    [関連リンク]

    ツールニュース

    【リビジョンアップ】 e² studio Smart Configuratorプラグイン V2.6.0, RXスマート・コンフィグレータ V2.6.0
    www.renesas.com/jp/ja/doc/toolnews/jpn/2020/r20ts0596jj0100-sctn.pdf

    リリースノート

    Smart Configurator for RX V2.6.0 リリースノート
    R20UT4487JS0260 Rev.2.60 2020.07.20
    www.renesas.com/jp/ja/doc/products/tool/doc/016/r20ut4487js0260-smartconfigurator.pdf

    製品ページ

    スマート・コンフィグレータ
    www.renesas.com/jp/ja/products/software-tools/tools/solution-toolkit/smart-configurator.html

    [追記]

    実は以前から何となく思い始めていたのですが、RXスマートコンフィグレータ使用時でも、デバイス変更が(自分が思い込んでいたよりもずっと)簡単に出来るようになっているような気がします、、、

    Smart Configurator for RX V2.6.0 リリースノート

    2.3.4 デバイス変更後の変更レポートに、端子および割り込み情報を追加

    デバイス変更後の変更レポートに端子および割り込みの変更情報が追加されました。


    2.3.8 ボードページのデバイス選択が、e2 studio のデバイス変更に移行

    デバイス変更は、スマートコンフィグレータのボードページから、e2 studio のデバイス変更ウィザードに移行されました。ボードページの“…”ボタンを押下すると、e2 studio のデバイス変更ウィザードが自動的に起動されます。


Children
No Data