セクションのtextとtextfなどの違いについて

初投稿です、みなさん初めまして。

 

最近RL78について勉強しはじめました。

そこで初歩的な質問だとは思うのですが、セクションの属性にFがついているものとついていないものがあります。

.textと.textfや、.dataと.datafなどです。

具体的になにが違うのでしょうか?

普通はどちらが使われるのでしょうか?

  • わわいです
    textf でぐぐると、そのものずばり、ルネサスのFAQがひっかかりますね
    support.renesas.com/.../115011735487-FAQ-3000181-text-textf-const-constfセクションの違い-CC-RL-

    f 付きのセクションは far 領域用だそーです
    f なしはnear領域用ってことで、通常使うのはこっちの無しの方ですな
  • f がつくセクションは __far の意味であり、__far の逆である __near と比べてアドレスを表すのに多くの情報が必要となるのでアクセスのコストが高くなります。
    RL78 のmirror 領域に収まらない大きなデータを扱うでもなければ気にしなくて良いと思います。
  • チョコです。
    RL78はレジスタが16ビット幅なので,その範囲で指定できるのがnearで,そこを超えてたらfarになります。
    .textは0x000C0~0c0FFFFに収まる場合に使われます。.textfはさらに広くなって,20ビットで示される0x000C0~0xEFFFFになります。
    RL78では,0xF0000~0xFFFFFの64kはより効率的にアクセス(短い命令でアクセス)できるになっています。そこには,RAMや周辺機能を制御するためのレジスタ及びコードフラッシュの一部をアクセスするためのミラー領域があります。これがデータのnear領域になります。ミラー領域には定数(const)が優先的に配置され,textはそこを避けて配置されているようです。定数が多くなってミラー領域を介してアクセスできる領域をはみ出したら.constfになります。

    通常はnear領域から使われます。これを超えてしまうとfar領域が使われることになります。
  • こんにちは、はじめまして

    勉強を始めたところでしたら、Renesasコンパイラの入門資料として以下が参考になるかもしれません。
    RL78コンパイラ 1day速習コース テキスト
    以下ページの下の方に閲覧用テキスト(1,994KB)としてリンクが貼ってあります。
    www.renesas.com/.../rl78-compiler-1day-sokusyu.html

    参照するには、MyRenesasへの登録が必要ですが誰でも無料で登録できます。
    www.renesas.com/.../myrenesas.html

    他にeラーニングという独習用サイトもあります。
    RL78クイックラーニング
    www.renesas.com/.../rl78.html

    ご参考まで、勉強がんばってください。
  • なるほど、皆さん分かりやすい解説ありがとうございます。

    おかげでだいたいイメージは掴めました。

    教えていただいた資料なども参考にして、勉強していきたいと思います。

    ありがとうございました!!