Part Number Search

FAQ Category 

FAQ's
Show All Answers
Hide All Answers
showing 1 to 10 of 208
  • ROM容量64Kバイト以下のマイコンからROM容量64Kバイト超のマイコンへ変更を考えています。
    メモリモデルがSmallからLargeに変わる際,ポインタや配列などで注意すべき点はありますでしょうか?
    • メモリモデルがSmallからLargeになることに伴い,関数へのポインタのサイズが2バイトから3バイトに変わります。
      ご注意いただきたいのは,関数へのポインタの配列です。
      Largeモデルの関数へのポインタ単体のsizeof演算結果は3となりますが,関数へのポインタの配列の場合,各要素の後ろに1バイトのパディングが挿入されます。
      このため,要素が5個の場合,配列のサイズは
      ((ポインタのサイズ3バイト)+(パディング1バイト))*(要素数5)=20バイトとなります。
      詳細は『CCU8プログラミングガイド』の「1.5.2.2 char 型以外の配列」を参照ください。

      また,配列の要素数を算出する場合に,一般的には,配列全体のサイズを配列の要素のサイズで割って算出すると思います。
      そこで,配列の要素数を算出するマクロとして,以下のようなマクロを定義する場合があります。
      #define ARR_NUM(array) (sizeof(array)/sizeof(array[0]))
      ポインタのサイズが3バイトの場合,配列全体のサイズには各要素に1バイトのパディング分が含まれているため,要素数が正しく算出されません。この場合,以下のように変更いただく必要があります。
      #define ARR_NUM(array) (sizeof(array)/(sizeof(array[0]) == 3 ? 4 : sizeof(array[0])))
    • Products: Microcontrollers (MCUs)
  • MWU16でソフトをAddListしようとした際,下記のエラーが表示されて先に進めません。
    "Data record having duplicate address was found include in ~"
    対応方法について教えてください。
    • このエラーは,あるアドレスが重複していることを示します。
      原因として以下が想定されます。
      ①1つのファイルの中でアドレスが重複している。
      ②複数ファイルをAddListした際,それぞれのファイルに同じアドレスのデータが存在する。

      対処方法を以下に記します。
      ①割込みのベクタアドレス0~7Fhの定義が重複していることが考えられます。
      最初にマップファイル(*.map)を参照し,どのアドレスがオーバーラップしているかをご確認ください。
      オーバーラップしている箇所には,以下のように左側に*OVL*が表示されます。
      *OVL* S CODE* 00:0010 00:004F 0040(64) (absolute)

      “#pragma interrupt”を検索して,ベクタアドレスを重複して定義している箇所がないかをご確認ください。
      該当する箇所があった場合,どちらかを削除してください。
      リンク時のワーニング発生時にビルドを停止するオプション"Stop by warning occurrence"を有効にすることにより,この問題を確実に検出できます。

      ②AddListするファイル間でアドレスが重複していないか確認ください。
      また,音声データやテーブルデータなど別途作成したファイルを追加する場合は,オフセットが設定されずにAddListされていることが考えられます。
      この場合,AddListを行う際はオフセットを設定してファイルを追加してください。

      Related Products: ML610(Q)40x, ML610(Q)42x, ML610(Q)47x, ML610(Q)48x, ML610Q10x, ML610Q11x, ML610Q17x, ML610Q30x, ML610Q35x, ML610Q36x, ML610Q38x, ML610Q41x, ML610Q43x, ML610Q46x, ML620Q13x, ML620Q15x, ML620Q416/ML620Q418, ML620Q503H/ML620Q504H/ML620Q506H, ML62Q12xx, ML62Q13xx, ML62Q14xx, ML62Q15xx/ML62Q18xx, ML62Q16xx, ML62Q17xx

    • Products: General-purpose MCUs (16bit) , Speech Playback MCUs (8bit)
showing 1 to 10 of 208
of 21