X



トップページ電気・電子
1002コメント364KB
【Renesas】ルネサス総合 part9©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0002774ワット発電中さん
垢版 |
2015/02/24(火) 18:03:50.19ID:3VWJKgOM
2ゲット!
0004774ワット発電中さん
垢版 |
2015/02/25(水) 15:41:50.29ID:Xt+Zn6si
>>前スレ1000

>アセンブラも使うし、使わなくてもデバグ時には必要な知識だし、コンパイラの出力コードを評価するにも
>アセンブラの知識は必須だよ?何言ってんの??

何言ってんの??
アセンブラの知識は必須だよ。あたりまえだよ。
初めて使うマイコンでも、それくらいの用途なら、
Cとアセンブラ並べて表示すれば、ほとんど読めるわアホ。

全部アセンブラで書くなら知らんけど、そんな話は最初からしてない。
0005774ワット発電中さん
垢版 |
2015/02/25(水) 15:58:04.99ID:C9P6f7By
>>4
3点言ってるけど理解してる?

・アセンブラも使う
・デバグ時には必要な知識である
・コンパイラの出力コードを評価するにもアセンブラの知識は必須である
0006774ワット発電中さん
垢版 |
2015/02/25(水) 16:09:36.75ID:Xt+Zn6si
分かってるよw
どんなけアセンブラ依存なコード書いてんだよw

言い直そうか?

ひとつCPU理解したことあるなら、
CPUの基本なんて変わらんから、
初めての触るマイコンでも
Cとアセンブラ並べて表示すれば、そんな仕事できる。

ちゃんと前スレの最初から読めよ。
Cメインって前提で話してんだよ。
0007774ワット発電中さん
垢版 |
2015/02/25(水) 16:19:26.69ID:C9P6f7By
>>6
>ひとつCPU理解したことあるなら、
>CPUの基本なんて変わらんから、
>初めての触るマイコンでも
>Cとアセンブラ並べて表示すれば、そんな仕事できる。

効率無視すりゃね。
ユーザーが既に理解してるアーキテクチャには学習コストが発生しないから作業的にも効率は上がるし
メリットはあるって話をこっちはしてるよ。
0008774ワット発電中さん
垢版 |
2015/02/25(水) 16:53:04.08ID:Xt+Zn6si
CPU変わる度に仕様を何日も勉強してんの?
RL78もどうせ無くなるんだよ?大丈夫?

こちらは、遅そうなところの把握、
割込クロック数とか、分岐のペナルティとか、
その辺のオーバーヘッドが分かれば、クロック比例と捉えて、
あとはその都度調べる、かな。
コンパイラの吐き出すコード見て、
避けるべき書き方がないかは、常に考えてる。

アプリ寄りのレイヤは、抽象度上げて、レジスタ名すら使ってないので、
CPU仕様については、変わっても、ほとんど困らない。
周辺ユニットにはいつも泣かされる。。。

さて、やっと話が戻り、上をふまえて、

前スレ995
>コンパイラのパーサはともかく、バックエンドの開発は大変なんだよ。
>それより規模の違うコアを数種類用意することで、どれだけシリコンが節約できるのよ。
同意

前スレ996
>・開発ツールの開発コスト削減
>・ユーザーの学習コスト削減
>・ユーザーの過去のプログラム資産の継承
一つ目だけ同意。3つ目も少しだけ同意(アセンブラのライブラリなんて要らんけど)

ルネサスの都合で同じ命令体系ってことなら、納得。
高級言語メインのユーザにはメリットはほとんど無いと思ってる。
と主張したかった。頼むわw
0009774ワット発電中さん
垢版 |
2015/02/25(水) 17:20:19.52ID:C9P6f7By
>>8
>CPU変わる度に仕様を何日も勉強してんの?

それだけで何日も掛けることはないだろうけど、一度深いところまで理解したアーキテクチャがあったとして
それとは違うアーキテクチャについて同等程度に習熟するにはそれなりの期間は要するね。
0011774ワット発電中さん
垢版 |
2015/02/25(水) 17:38:03.05ID:C9P6f7By
RL78/G10なんてROM容量も小さいんで、Cで組むとしてもコンパイラがどういうコード吐くか、
リンクされるライブラリはどういうのかをかなり意識する必要もあると思うし、かなりアセンブリ
寄りの思考は必要になると思うよ。
0012774ワット発電中さん
垢版 |
2015/02/25(水) 21:07:44.42ID:Xt+Zn6si
ま、CPUの寿命とコードの寿命が一致でいいなら、お好きなように。

仕事は辛いね。趣味だと、ディスコンの無いFPGA上のCPUですので。

話がそれるけど、過去ログにもあったけど、経験談でいくと、
純正RL78コンパイラもの吐き出すコードはウンコなので、
アセンブラとにらめっこして、おかしなC言語になっていくよりは、
IARのコンパイラを買うのがgoodです。これも趣味じゃ買いにくい値段だけど。
RXの純正コンパイラは優秀なのになぁ
0013774ワット発電中さん
垢版 |
2015/02/25(水) 23:15:27.58ID:C9P6f7By
>>12
>純正RL78コンパイラもの吐き出すコードはウンコなので、

>RXの純正コンパイラは優秀なのになぁ

こういう経験積んでるのに、アーキテクチャの数が少なければツール選定ひとつとってもユーザの苦労は
少なくなることも想像できない人なんだね。
0014774ワット発電中さん
垢版 |
2015/02/25(水) 23:26:02.23ID:6MhD4f7q
同和の糞どもは何故差別されて怒るのか。差別されて当然の身分だろうw日本語堪能なチョン猿どもが
0015774ワット発電中さん
垢版 |
2015/02/25(水) 23:27:04.27ID:6MhD4f7q
同和の糞どもは何故差別されて怒るのか。差別されて当然の身分だろうw日本語堪能なチョン猿どもが
0016774ワット発電中さん
垢版 |
2015/02/25(水) 23:28:09.91ID:6MhD4f7q
同和の糞どもは何故差別されて怒るのか。差別されて当然の身分だろうw日本語堪能なチョン猿どもが
0017774ワット発電中さん
垢版 |
2015/02/25(水) 23:29:23.75ID:6MhD4f7q
同和の糞どもは何故差別されて怒るのか。差別されて当然の身分だろうw日本語堪能なチョン猿どもが
0018774ワット発電中さん
垢版 |
2015/02/25(水) 23:31:03.22ID:6MhD4f7q
同和の糞どもは何故差別されて怒るのか。差別されて当然の身分だろうw日本語堪能なチョン猿どもが
0019774ワット発電中さん
垢版 |
2015/02/25(水) 23:32:08.29ID:6MhD4f7q
同和の糞どもは何故差別されて怒るのか。差別されて当然の身分だろうw日本語堪能なチョン猿どもが
0020774ワット発電中さん
垢版 |
2015/02/25(水) 23:33:16.80ID:6MhD4f7q
同和の糞どもは何故差別されて怒るのか。差別されて当然の身分だろうw日本語堪能なチョン猿どもが
0021774ワット発電中さん
垢版 |
2015/02/25(水) 23:34:32.67ID:6MhD4f7q
同和の糞どもは何故差別されて怒るのか。差別されて当然の身分だろうw日本語堪能なチョン猿どもが
0022774ワット発電中さん
垢版 |
2015/02/26(木) 01:04:48.04ID:rMFqyShm
同和地区(被差別部落)の多くは南北朝時代以前まで、一部は平安時代までさかのぼれる古い歴史がある

要するに、チョンとは全く別物。混同するなよ、>>14-21こそチョン
0023774ワット発電中さん
垢版 |
2015/02/26(木) 01:27:28.61ID:E2dEPOgr
>>13

想像できるよ。どんなに準備しても、苦労はあるからね。
CPU変わるたびに、対応だけで(必要以上に)忙しくしてる人も想像できるよw

ツールも選定したくないよね。ルネならeclipseで統一ウェルカムです。
CS+なんて不要。HEW?早くトイレに流しましょう。

命令セットは統一で、開発環境は複数? 矛盾した方針ですねぇ。

繰り返すけど、周辺ユニットには毎回泣かされます。
0024774ワット発電中さん
垢版 |
2015/02/26(木) 01:29:50.43ID:E2dEPOgr
>>13
んで、あなたのコードの抽象レベルはどんなんなの?

この前、誰か書き込んでたけど、
PORT3.DR.BIT.BIT3 = 1; とか書いちゃってるの?

最低限、ポート番号を隠蔽、Hi/Lowアクティブ隠蔽して、
led_port.activate(); くらいは書いてる?
あー、例がC++になってしまったが、
テンプレート使えばオーバーヘッドゼロだよ。

釈迦に説法だったらごめんなさい。
0025774ワット発電中さん
垢版 |
2015/02/26(木) 01:39:47.71ID:gqwmVGX+
今更RL78つまんで 8bit だ 16bit だやってるのもムナシイので ARM 陣営並に小規模チップでも 32bit 使いたい。
RX100番台のもっと小規模なやつ作ってくれ。
0026774ワット発電中さん
垢版 |
2015/02/26(木) 01:41:01.82ID:6LIhm5V9
>>23-24
他人に絡みたいだけの下らない人物と理解したので相手するのよすわゴメンね。
0027774ワット発電中さん
垢版 |
2015/02/26(木) 01:43:00.44ID:E2dEPOgr
>>26
OK
会話してたのがどんなレベルの人だったのか知りたいので、
>>24 だけ回答くれると嬉しいな
0028774ワット発電中さん
垢版 |
2015/02/26(木) 03:26:54.59ID:b+iptlZ6
CPUコアなぞ何でもよかろう。
コアだけの判断なら新規案件ではルネを選ぶか
周辺は速い信号扱う流用はちと厳しい
むしろ開発ツールの違いが厳しい

E1に統一でありがたい。
他のコアも気軽に試せる

統合環境も遅いが統一の流れ。
かとおもったら、新バージョンのCubeSuiteで
対応マイコンが分かれた。なんなの(´・ω・`)
0029774ワット発電中さん
垢版 |
2015/02/26(木) 08:55:27.25ID:pDQGpF9/
RX使っているけどアセンブラなんてほとんど見たことない。
ハードウェアマニュアルにもニーモニックの解説すらない。
デバッガの逆アセンブルリストもほとんど見たことない。
どうしても必要なときも過去CPUからの類推でだいたい済ましている。
これで別に困らないけどな。
0031774ワット発電中さん
垢版 |
2015/02/27(金) 09:40:44.35ID:9M8aJdXY
OS載せるかどうかの階層の前に、
レジスタ操作のレベルでも抽象化して書けるところは山ほどあるよね。

>>24みたいな書き方は、サンプルコードとかでも、
教育的な意味でやって欲しいと思う。
iodefine.hをちょっとラップしたクラス作ればできるわけなので。
0032774ワット発電中さん
垢版 |
2015/02/27(金) 11:31:53.01ID:9M8aJdXY
CPUが変わっても動くようなプログラム書いてるつもりだけど、
エンディアンだと、リトルじゃないと、動かないかな…。

RL78の純正コンパイラは、コンパイルオプション変えないと、死ねます
http://www2u.biglobe.ne.jp/~tequila/electro_k0r1.html#ELK0R020_09
0033774ワット発電中さん
垢版 |
2015/02/27(金) 16:04:51.27ID:b0CJdWNE
遊びで RL78 用のマルチタスクフレームワークっぽいもの作ってるけど、このマイコンのインストラクションおもしろいな。
レジスタに1をセットする命令とか、転送命令だけど、ソースが0だと Z フラグが立つ命令とか。現場の声からできました的な。
0034774ワット発電中さん
垢版 |
2015/02/27(金) 16:56:47.54ID:9M8aJdXY
>>33
便利ですよね。
ハードマニュアルの、「ポート機能使用時の注意事項」
という落とし穴があるので、ご注意ください。
ハマりました。
というか、ポートの設計やばいと思いますw

RXでも効率いいです。
RXはポートレジスタへのアクセスは遅く、
ポートを1ビットだけ変更するとき、
読み込み→ビット修正→書き込み
で、遅いわけですが、ビット修正だけで済むと、
ICLK換算だと何クロックもお得でウマーです。
0035774ワット発電中さん
垢版 |
2015/02/27(金) 20:00:36.42ID:YSFjPOh/
>>33
>転送命令だけど、ソースが0だと Z フラグが立つ命令

68000とかがそんな感じだった希ガス
日立はMC68000のセカンドソースだったし、その関係で使い慣れてたのかと
0036774ワット発電中さん
垢版 |
2015/02/27(金) 20:31:01.81ID:BQGQLrV4
>>33
>転送命令だけど、ソースが0だと Z フラグが立つ命令とか。

MOVS命令は活かしどころがわからん
0037774ワット発電中さん
垢版 |
2015/02/28(土) 07:10:23.30ID:lvol0ri+
>>36
6502が起源では。ファミコン系列から多くの機種が引き継いでいる。
汎用CPUは少ないけど。
0038774ワット発電中さん
垢版 |
2015/02/28(土) 09:01:17.63ID:yeDwSjZr
昔のCISCならではだよね。
最近はパイプラインが長かったり、
コンパイラでの最適化が進んだりで、
命令順を並び替えることが多いけど、
本来関係ない命令でフラグが変わるとそれが難しい。
0039774ワット発電中さん
垢版 |
2015/02/28(土) 10:35:12.71ID:k7WJvuIa
>>37
お前がRL78のMOVS命令と6502のどちらか、あるいは両方について分かってないことは分かった。
0040774ワット発電中さん
垢版 |
2015/02/28(土) 11:36:10.51ID:lvol0ri+
>>39
あなたはルネサスのスレに何年も前からずっと貼り付いて、ただひたすら
他人の発言をけなすので有名な人ですね。
0042774ワット発電中さん
垢版 |
2015/02/28(土) 22:44:13.53ID:f6x7HO0q
>>34 の例といい、
同じアドレスに複数の機能を割り振るハード設計は、
基本的にやめてほしい。デバッグできん。
0043774ワット発電中さん
垢版 |
2015/02/28(土) 22:46:33.44ID:f6x7HO0q
ポートの状態と出力データを同じレジスタとして重ねのてなんか意味あんの?
分けてあれば、ちゃんと出力されてるか確認できるし(RXがそうだっけ)
0044774ワット発電中さん
垢版 |
2015/03/01(日) 00:34:35.96ID:A+rQ6L2Y
>43
一般論的には、
インデックス間接の修飾8bitで512個のレジスタにアクセスできる、みたいな。

逆に、広い空間にレジスタばらまくっつーことをARMがやって、
インデックス修飾が届かなくて一手間増えてる。即値ロードもコスト掛かるのに。
AVRはレジスタ増えすぎて重ねてもインデックス修飾が届かなくなってるけど。
0045774ワット発電中さん
垢版 |
2015/03/01(日) 00:50:17.19ID:ONxDQs5Z
MOV命令にdsp:16[Rs]やdsp:16[Rd]が苦もなく使えるRXにはあんま関係ない話だな
0046774ワット発電中さん
垢版 |
2015/03/01(日) 01:01:29.18ID:ONxDQs5Z
>>37
RL78で「転送命令だけど、ソースが0だと Z フラグが立つ命令」というと

MOVS [HL+byte], X



MOVS ES:[HL+byte], X

のふたつだけだと思うけど、6502のSTX命令はフラグ変化がないので全然違う。
0047774ワット発電中さん
垢版 |
2015/03/01(日) 02:09:25.40ID:RX/a8qA4
(6502より後の製品だけど)68000のともだいぶ違うね

68000のロード/ストア/移動兼用命令moveでは、Xフラグのみ不変でNフラグとZフラグがオペランドにより可変、
VフラグとCフラグは(演算字と違ってオーバーフローが起きないから当然だが)0クリアされる
ロードストア系でフラグ変化しないのはLEAとmoveaとフラグレジスタからのmove、複数レジスタmoveであるmovem、
I/Oポート用のmovep、68040で追加されたブロックmove命令であるmove16ぐらい?
0048774ワット発電中さん
垢版 |
2015/03/01(日) 02:13:37.88ID:RX/a8qA4
6809のマニュアルもググってみたけど、68000と同様っぽいね。68000の祖型というか原型というか、だからかね。
0049774ワット発電中さん
垢版 |
2015/03/01(日) 12:33:45.23ID:LVBkEyQG
>>48
68Kは、むしろ6809の失敗を反省して、
全然違うものを作ったって感じじゃないか。
祖形というより、全否定という気がする。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況