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.0.0)のDMA設定のGUI上だけのことですが、以下のGUIの画面コピーのように複数のDMAチャンネルで起動要因にソフトウェア起動を選択すると赤のバッテンが表示されてしまいます。ですが、以下のハードウェアマニュアルの画面コピーの通り、ソフトウェア起動レジスタは各チャンネルに存在して排他的でも何でもありませんので、この挙動はバグだと思います。

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

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

    2つのDMAチャンネルで起動要因にソフトウェア起動を選択すると赤のバッテンが付く


    1つのDMAチャンネルだけで起動要因にソフトウェア起動を選択しているなら付かない


    RX65Nグループ、RX651グループ ユーザーズマニュアル ハードウェア編からの抜粋
    www.renesas.com/jp/ja/doc/products/mpumcu/doc/rx_family/r01uh0590jj0210-rx651.pdf
    ソフトウェア起動レジスタは各チャンネルに存在して排他的でもない


    [補足]

    赤のバッテンが付いてもコードを生成することは出来ます(警告メッセージは出ます)

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

    今度は、RXスマートコンフィグレータ(V2.0.0)のDMA設定のGUI上だけのことですが、以下のGUIの画面コピーのように複数のDMAチャンネルで起動要因にソフトウェア起動を選択すると赤のバッテンが表示されてしまいます。ですが、以下のハードウェアマニュアルの画面コピーの通り、ソフトウェア起動レジスタは各チャンネルに存在して排他的でも何でもありませんので、この挙動はバグだと思います。

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

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

    2つのDMAチャンネルで起動要因にソフトウェア起動を選択すると赤のバッテンが付く


    1つのDMAチャンネルだけで起動要因にソフトウェア起動を選択しているなら付かない


    RX65Nグループ、RX651グループ ユーザーズマニュアル ハードウェア編からの抜粋
    www.renesas.com/jp/ja/doc/products/mpumcu/doc/rx_family/r01uh0590jj0210-rx651.pdf
    ソフトウェア起動レジスタは各チャンネルに存在して排他的でもない


    [補足]

    赤のバッテンが付いてもコードを生成することは出来ます(警告メッセージは出ます)

Children
  • NoMaYさん

    シェルティです、こんにちは。

    ツール開発部門と本件相談しました。2019年7月版のリリースで改修予定です。
    ご報告感謝いたします。他にもおかしな動きをするところがあればご連絡ください。改善します。

    以上です
  • シェルティさん、こんにちは。NoMaYです。

    ご連絡有難う御座います。実は、ここ何日かの間に、GNURX向けに生成されたコードで遭遇したことが幾つかありますので、それらに関して、近日中に投稿しようと思います。その時には、また、ご検討をお願いします。

  • NoMaYさん

    こんにちは、シェルティです。

    ご投稿お待ちしております。

    Amazon FreeRTOS開発でご協力いただいたFITのマルチコンパイラ対応ですが、
    正式にBSPに組み込み、各FITモジュールでのコンパイラ依存部分の共有化が完了しつつあります。
    近い将来のRX Driver PackageでCC-RX、GCC、IARが使えるようになります。
    ご協力感謝いたします。

    新たな課題は引き続き改善項目として積み上げて対処を進めてまいります。

    以上です