【Renesas】ルネサス総合 part9©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
>>前スレ1000
>アセンブラも使うし、使わなくてもデバグ時には必要な知識だし、コンパイラの出力コードを評価するにも
>アセンブラの知識は必須だよ?何言ってんの??
何言ってんの??
アセンブラの知識は必須だよ。あたりまえだよ。
初めて使うマイコンでも、それくらいの用途なら、
Cとアセンブラ並べて表示すれば、ほとんど読めるわアホ。
全部アセンブラで書くなら知らんけど、そんな話は最初からしてない。 >>4
3点言ってるけど理解してる?
・アセンブラも使う
・デバグ時には必要な知識である
・コンパイラの出力コードを評価するにもアセンブラの知識は必須である 分かってるよw
どんなけアセンブラ依存なコード書いてんだよw
言い直そうか?
ひとつCPU理解したことあるなら、
CPUの基本なんて変わらんから、
初めての触るマイコンでも
Cとアセンブラ並べて表示すれば、そんな仕事できる。
ちゃんと前スレの最初から読めよ。
Cメインって前提で話してんだよ。 >>6
>ひとつCPU理解したことあるなら、
>CPUの基本なんて変わらんから、
>初めての触るマイコンでも
>Cとアセンブラ並べて表示すれば、そんな仕事できる。
効率無視すりゃね。
ユーザーが既に理解してるアーキテクチャには学習コストが発生しないから作業的にも効率は上がるし
メリットはあるって話をこっちはしてるよ。 CPU変わる度に仕様を何日も勉強してんの?
RL78もどうせ無くなるんだよ?大丈夫?
こちらは、遅そうなところの把握、
割込クロック数とか、分岐のペナルティとか、
その辺のオーバーヘッドが分かれば、クロック比例と捉えて、
あとはその都度調べる、かな。
コンパイラの吐き出すコード見て、
避けるべき書き方がないかは、常に考えてる。
アプリ寄りのレイヤは、抽象度上げて、レジスタ名すら使ってないので、
CPU仕様については、変わっても、ほとんど困らない。
周辺ユニットにはいつも泣かされる。。。
さて、やっと話が戻り、上をふまえて、
前スレ995
>コンパイラのパーサはともかく、バックエンドの開発は大変なんだよ。
>それより規模の違うコアを数種類用意することで、どれだけシリコンが節約できるのよ。
同意
前スレ996
>・開発ツールの開発コスト削減
>・ユーザーの学習コスト削減
>・ユーザーの過去のプログラム資産の継承
一つ目だけ同意。3つ目も少しだけ同意(アセンブラのライブラリなんて要らんけど)
ルネサスの都合で同じ命令体系ってことなら、納得。
高級言語メインのユーザにはメリットはほとんど無いと思ってる。
と主張したかった。頼むわw >>8
>CPU変わる度に仕様を何日も勉強してんの?
それだけで何日も掛けることはないだろうけど、一度深いところまで理解したアーキテクチャがあったとして
それとは違うアーキテクチャについて同等程度に習熟するにはそれなりの期間は要するね。 RL78/G10なんてROM容量も小さいんで、Cで組むとしてもコンパイラがどういうコード吐くか、
リンクされるライブラリはどういうのかをかなり意識する必要もあると思うし、かなりアセンブリ
寄りの思考は必要になると思うよ。 ま、CPUの寿命とコードの寿命が一致でいいなら、お好きなように。
仕事は辛いね。趣味だと、ディスコンの無いFPGA上のCPUですので。
話がそれるけど、過去ログにもあったけど、経験談でいくと、
純正RL78コンパイラもの吐き出すコードはウンコなので、
アセンブラとにらめっこして、おかしなC言語になっていくよりは、
IARのコンパイラを買うのがgoodです。これも趣味じゃ買いにくい値段だけど。
RXの純正コンパイラは優秀なのになぁ >>12
>純正RL78コンパイラもの吐き出すコードはウンコなので、
>RXの純正コンパイラは優秀なのになぁ
こういう経験積んでるのに、アーキテクチャの数が少なければツール選定ひとつとってもユーザの苦労は
少なくなることも想像できない人なんだね。 同和の糞どもは何故差別されて怒るのか。差別されて当然の身分だろうw日本語堪能なチョン猿どもが 同和の糞どもは何故差別されて怒るのか。差別されて当然の身分だろうw日本語堪能なチョン猿どもが 同和の糞どもは何故差別されて怒るのか。差別されて当然の身分だろうw日本語堪能なチョン猿どもが 同和の糞どもは何故差別されて怒るのか。差別されて当然の身分だろうw日本語堪能なチョン猿どもが 同和の糞どもは何故差別されて怒るのか。差別されて当然の身分だろうw日本語堪能なチョン猿どもが 同和の糞どもは何故差別されて怒るのか。差別されて当然の身分だろうw日本語堪能なチョン猿どもが 同和の糞どもは何故差別されて怒るのか。差別されて当然の身分だろうw日本語堪能なチョン猿どもが 同和の糞どもは何故差別されて怒るのか。差別されて当然の身分だろうw日本語堪能なチョン猿どもが 同和地区(被差別部落)の多くは南北朝時代以前まで、一部は平安時代までさかのぼれる古い歴史がある
要するに、チョンとは全く別物。混同するなよ、>>14-21こそチョン >>13
想像できるよ。どんなに準備しても、苦労はあるからね。
CPU変わるたびに、対応だけで(必要以上に)忙しくしてる人も想像できるよw
ツールも選定したくないよね。ルネならeclipseで統一ウェルカムです。
CS+なんて不要。HEW?早くトイレに流しましょう。
命令セットは統一で、開発環境は複数? 矛盾した方針ですねぇ。
繰り返すけど、周辺ユニットには毎回泣かされます。 >>13
んで、あなたのコードの抽象レベルはどんなんなの?
この前、誰か書き込んでたけど、
PORT3.DR.BIT.BIT3 = 1; とか書いちゃってるの?
最低限、ポート番号を隠蔽、Hi/Lowアクティブ隠蔽して、
led_port.activate(); くらいは書いてる?
あー、例がC++になってしまったが、
テンプレート使えばオーバーヘッドゼロだよ。
釈迦に説法だったらごめんなさい。 今更RL78つまんで 8bit だ 16bit だやってるのもムナシイので ARM 陣営並に小規模チップでも 32bit 使いたい。
RX100番台のもっと小規模なやつ作ってくれ。 >>23-24
他人に絡みたいだけの下らない人物と理解したので相手するのよすわゴメンね。 >>26
OK
会話してたのがどんなレベルの人だったのか知りたいので、
>>24 だけ回答くれると嬉しいな CPUコアなぞ何でもよかろう。
コアだけの判断なら新規案件ではルネを選ぶか
周辺は速い信号扱う流用はちと厳しい
むしろ開発ツールの違いが厳しい
E1に統一でありがたい。
他のコアも気軽に試せる
統合環境も遅いが統一の流れ。
かとおもったら、新バージョンのCubeSuiteで
対応マイコンが分かれた。なんなの(´・ω・`) RX使っているけどアセンブラなんてほとんど見たことない。
ハードウェアマニュアルにもニーモニックの解説すらない。
デバッガの逆アセンブルリストもほとんど見たことない。
どうしても必要なときも過去CPUからの類推でだいたい済ましている。
これで別に困らないけどな。 OS載せるかどうかの階層の前に、
レジスタ操作のレベルでも抽象化して書けるところは山ほどあるよね。
>>24みたいな書き方は、サンプルコードとかでも、
教育的な意味でやって欲しいと思う。
iodefine.hをちょっとラップしたクラス作ればできるわけなので。 CPUが変わっても動くようなプログラム書いてるつもりだけど、
エンディアンだと、リトルじゃないと、動かないかな…。
RL78の純正コンパイラは、コンパイルオプション変えないと、死ねます
http://www2u.biglobe.ne.jp/~tequila/electro_k0r1.html#ELK0R020_09 遊びで RL78 用のマルチタスクフレームワークっぽいもの作ってるけど、このマイコンのインストラクションおもしろいな。
レジスタに1をセットする命令とか、転送命令だけど、ソースが0だと Z フラグが立つ命令とか。現場の声からできました的な。 >>33
便利ですよね。
ハードマニュアルの、「ポート機能使用時の注意事項」
という落とし穴があるので、ご注意ください。
ハマりました。
というか、ポートの設計やばいと思いますw
RXでも効率いいです。
RXはポートレジスタへのアクセスは遅く、
ポートを1ビットだけ変更するとき、
読み込み→ビット修正→書き込み
で、遅いわけですが、ビット修正だけで済むと、
ICLK換算だと何クロックもお得でウマーです。 >>33
>転送命令だけど、ソースが0だと Z フラグが立つ命令
68000とかがそんな感じだった希ガス
日立はMC68000のセカンドソースだったし、その関係で使い慣れてたのかと >>33
>転送命令だけど、ソースが0だと Z フラグが立つ命令とか。
MOVS命令は活かしどころがわからん >>36
6502が起源では。ファミコン系列から多くの機種が引き継いでいる。
汎用CPUは少ないけど。 昔のCISCならではだよね。
最近はパイプラインが長かったり、
コンパイラでの最適化が進んだりで、
命令順を並び替えることが多いけど、
本来関係ない命令でフラグが変わるとそれが難しい。 >>37
お前がRL78のMOVS命令と6502のどちらか、あるいは両方について分かってないことは分かった。 >>39
あなたはルネサスのスレに何年も前からずっと貼り付いて、ただひたすら
他人の発言をけなすので有名な人ですね。 >>34 の例といい、
同じアドレスに複数の機能を割り振るハード設計は、
基本的にやめてほしい。デバッグできん。 ポートの状態と出力データを同じレジスタとして重ねのてなんか意味あんの?
分けてあれば、ちゃんと出力されてるか確認できるし(RXがそうだっけ) >43
一般論的には、
インデックス間接の修飾8bitで512個のレジスタにアクセスできる、みたいな。
逆に、広い空間にレジスタばらまくっつーことをARMがやって、
インデックス修飾が届かなくて一手間増えてる。即値ロードもコスト掛かるのに。
AVRはレジスタ増えすぎて重ねてもインデックス修飾が届かなくなってるけど。 MOV命令にdsp:16[Rs]やdsp:16[Rd]が苦もなく使えるRXにはあんま関係ない話だな >>37
RL78で「転送命令だけど、ソースが0だと Z フラグが立つ命令」というと
MOVS [HL+byte], X
と
MOVS ES:[HL+byte], X
のふたつだけだと思うけど、6502のSTX命令はフラグ変化がないので全然違う。 (6502より後の製品だけど)68000のともだいぶ違うね
68000のロード/ストア/移動兼用命令moveでは、Xフラグのみ不変でNフラグとZフラグがオペランドにより可変、
VフラグとCフラグは(演算字と違ってオーバーフローが起きないから当然だが)0クリアされる
ロードストア系でフラグ変化しないのはLEAとmoveaとフラグレジスタからのmove、複数レジスタmoveであるmovem、
I/Oポート用のmovep、68040で追加されたブロックmove命令であるmove16ぐらい? 6809のマニュアルもググってみたけど、68000と同様っぽいね。68000の祖型というか原型というか、だからかね。 >>48
68Kは、むしろ6809の失敗を反省して、
全然違うものを作ったって感じじゃないか。
祖形というより、全否定という気がする。 ■ このスレッドは過去ログ倉庫に格納されています