[H8-ML(3240)] Re: 割込みによるシリアル通信について(ビットフィールド話)
From: hamayan <hamayan@xxxxxxxxxxxxxxxx>
Date: 2003年05月24日(土)22時43分53秒
hamayan です。

Shigeru> YCH8も、MSB/LSBの割り当てを変更する機能もあるのですが、
Shigeru> 取扱説明書で、「使わないほうが良い」と薦めています。
Shigeru> 以下、その趣旨に私見を含めて、なぜ「使わないほうが良い」
Shigeru> か、まとめます。

まあ、そう断定的に書かれても。
イエローソフトの立場とすれば、片やメーカー純正が有り、片やフリーソ
フトの雄、GCCが有り、サードパーティーの苦しい立場で、ポリシーを持っ
ているのは、それは良い事だと思いましたが、それにしてもそれを押し
付けられるのはちょっと。


Shigeru> 1. bit fieldは、最終的にread modify writeになることがある。

そもそも、ルネサスの統一ヘッダーには、DDRにビットフィールドを使
っていないので、ビットフィールドを使った時点で、コンパイラが弾いて
いないでしょうか?
ビットフィールドを使っちゃって、コンパイラに怒られたら、何故怒られ
ているのか良く考えましょう!ということで、経験済みです。

また、ビットフィールドはANSIで規定されているが、ビットの割付けに付
いては、処理系に依存する。となってないでしょうか?
つまり、”私見”ですが、ANSI自体が、100%の移植性は無いとしてい
るのでは?
組み込みならあまり移植性を気にしない方が良いと思いますが。

Shigeru> 4. bit操作命令の有無は、CPUによる。
Shigeru> 
Shigeru> H8/300Hには、bit操作命令があるが、
Shigeru> SHには、該当する命令がない。

RISCなので、代用できる命令は用意しなかっただけの話で、それを言ったら、
charデータも32bitレジスタで扱っているし。

Shigeru> 6. 変数名が長くなり、ごちゃごちゃして読みにくい。

すいません、良く使っちゃいます。下手をすると、変数名が文になっている。
だって、コンパイラの変数名の制限長が長いから。

Shigeru> 7. renesasのHeader Download Lisenceに拘束される。
http://www.renesas.com/jpn/products/mpumcu/tool/crosstool/iodef/index.html
Shigeru> フリーソフトにしてソースを公開したくても、

公開するなら、事前に(この前事後承諾になってしまったが)ルネサスに連絡を
取って文書による了承を得れば。法律に触れる事は無理でしょうけれど。

Shigeru> せっかく「枯れきった」安全なリソースに、
Shigeru> エンバグするリスクを負う。

そう言うのはわざわざいじらないでも・・・

すいません、でしゃばり過ぎですね。

------------------------------------------------------------
)^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^(
☆☆☆☆☆☆☆☆☆☆☆☆designed by hamayan☆☆☆☆☆☆☆☆☆
from はまやん
アドレスは
	hamayan@xxxxxxxxxxxxxxxx
URL
	http://www003.upp.so-net.ne.jp/hamayan/
The Embeded Protocol Engine
    Navajoデモ中!
	http://hamayan.ddo.jp:8080/
★★★★★★★★★end of message and thank you★★★★★★★

スレッド概略
[表示中](起点)
 └[3244(1)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]