Applilet EZ PL for RL78 改善要望

Applilet EZ PL for RL78 V1.0J, V2.00J を試してみました。

デジタル回路版電子ブロックという感じで興味深いツールと思いましたが、少々使いづらい点もあったので改善要望として挙げておきます。

> 本ツールは評価版です。本ツールに関するテクニカルサポートは受け付けておりません。

と明記されていることは理解しており、返答等を求めているものではありません。

Parents
  • ・hdwinit() を 2度呼んでいて無駄

    Applilet EZ PL for RL78 V2.00 で生成されるコードの cstart.asm は CC-RL の標準の cstart.asm の内容そのまゝで、中で hdwinit() を呼び出していますが、

    	;--------------------------------------------------
    	; hardware initialization
    	;--------------------------------------------------
    	CALL	!!_hdwinit
    

    main.c の中の main() からも hdwinit() を呼び出しており、無駄な感じです。

    void main( void )
    {
    	/* Hardware Initiate */
    	hdwinit();
    
    	/* Panel Initiate */
    	panel_init0();
    
    	/* Main Loop */
    	main_loop();
    }
    

    どちらかを削除するべきと思います。標準の cstart.asm に手を加えないという前提では main.c の方が削除するのは易しいですが、現状の cstart.asm では RAM の初期化の前に割り込みを許可する問題があり、どちらかというと cstart.asm の方を修正していただきたい感じです。

    あるいは、hdwinit() はダミーとして空の関数を用意しておき、main() から hdwinit() を呼ぶ代わりに

    	SystemInit( );
    	__EI( );
    

    とすれば、

    • cstart.asm を変更せずに済む
    • ハードウェアの初期化が 1回のみとなる
    • ハードウェアの初期化が RAM の初期化の後となる

    安全かつ変更箇所を少なくできると思われます。

Reply
  • ・hdwinit() を 2度呼んでいて無駄

    Applilet EZ PL for RL78 V2.00 で生成されるコードの cstart.asm は CC-RL の標準の cstart.asm の内容そのまゝで、中で hdwinit() を呼び出していますが、

    	;--------------------------------------------------
    	; hardware initialization
    	;--------------------------------------------------
    	CALL	!!_hdwinit
    

    main.c の中の main() からも hdwinit() を呼び出しており、無駄な感じです。

    void main( void )
    {
    	/* Hardware Initiate */
    	hdwinit();
    
    	/* Panel Initiate */
    	panel_init0();
    
    	/* Main Loop */
    	main_loop();
    }
    

    どちらかを削除するべきと思います。標準の cstart.asm に手を加えないという前提では main.c の方が削除するのは易しいですが、現状の cstart.asm では RAM の初期化の前に割り込みを許可する問題があり、どちらかというと cstart.asm の方を修正していただきたい感じです。

    あるいは、hdwinit() はダミーとして空の関数を用意しておき、main() から hdwinit() を呼ぶ代わりに

    	SystemInit( );
    	__EI( );
    

    とすれば、

    • cstart.asm を変更せずに済む
    • ハードウェアの初期化が 1回のみとなる
    • ハードウェアの初期化が RAM の初期化の後となる

    安全かつ変更箇所を少なくできると思われます。

Children
No Data