【Renesas】ルネサス総合 part10©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
Flashの容量が64KB超えると8bitや16bitMCUの価格的な優位性はなくなるのではないかな? 組み込みで64Kで足らないなんて、頻度は低いし
そうでないならプログラムする能力の低い鈍臭いプログラムしか書けない奴の仕業www いろいろな環境持ち込むのも面倒臭いから、よほどの理由が無い限り
とりあえずARMでいいよ・・・って感じ。 組み込みでもARMが不要な家電は多く存在するし動作電圧の範囲が広いほうが
コスト削減できるものも多い。
単純な機能の組み込みにARMを使う必要はないと思う。 コイン電池駆動のパスワード生成器(トークン)とか
万歩計とかでは演算性能より超低消費電力性能が重視されてるな クロック落とせるだけ落として省電力モードで待機。
電池が切れるまでずっと待機
まるで俺の人生みたいだ >>687
これ見たらRXみたいな非ARM系32bitは分が悪いな。 >>701
せめてLチカぐらいの思い出あったのか? >組み込みでもARMが不要な家電は多く存在するし
別に使っちゃっても別にいいやぁ・・・みたいなところも多々って感じになってるよねぇ。
そのためにわざわざ全く別の環境を構築するよりよ良いか・・みたいな。
で、結局1μAくらいに抑えられてりゃいいんでしょ?的なことになったりしてね。
CR2016使って1μA定電流放電で90mAhだったとしても、9×10^4hだもの。 ARMの1uAなんてI/OもRAMも全部切ってやっと実現できる水準だよ
8 bit や16 bit と差がないなんて詐欺レベル >>703
いまどきARMだって1μAも食わないわ。
そういう用途ならどのみち完全停止だからね。
そもそもCPU単体だけなんてありえないんで周辺まで含めたシステム全体での
消費電力っていうと意外とリッチなマイコンの方が有利だったりしてね。
PSoC1なんていうのはそのあたりで意外と有利だったりして。 C++といいながらお前らnew delete(てかデストラクタ)なんて使ってんの?
オブジェクトを生成しない。動的メモリ確保+解放を行わないなんて"//"があってもC++じゃないよね。
てかLinux動いてるならまだしも、RTOSやらRTOS無しの環境でmalloc.freeはまずいよね >>705
クラスを静的に使うだけでも便利だと思います。
>動的メモリ確保+解放を行わないなんて(…)C++じゃないよね。
なぜです?
これはあなたにとってのC++の萌えどころが「動的メモリ確保+解放」である、ってだけのことなんじゃないですか?
自分の萌えどころが活かされないならC++じゃないという議論が通るなら、
他人にとってC++の萌えどころがあなたと違っていて、あなたがその機能を使っていない場合、
あなたはC++をちゃんと使っていないことになりますよ。 どこから>>705の話題が出てきたか知らんが、
>>706には同意する
標準ライブラリもC++の一部という反論はあるだろうけど >>706
Arduino IDEのライブラリはC++の静的クラスで記述されていますね。
「WiFi.localIP()」みたいな感じで。
Arduino IDEでは動的メモリは使われていないと思います。 >>708
>>動的メモリ確保+解放を行わないなんて(…)C++じゃないよね。
>なぜです?
それはもうオブジェクト指向じゃない。
動的なメモリ確保というのは、オブジェクトが必要になった時点で確保し、不要になった時点で解放するということ。
これを容認しないのは、変数をスコープ初頭で羅列するのと同じ。こっちはどっちにしてもスタックフレーム上で一時確保されるだけで見た目でしかないが。
スコープから外れても不要なオブジェクトを保持しているなら、それはC++のプログラミングスタイルじゃない。
>あなたはC++をちゃんと使っていないことになりますよ。
言語本来の思想を理解してないお前の方こそ、言語もオブジェクト指向も"ちゃんと"使えてないんだろ。
new deleteを伴わない静的なクラスだけでいいなら、勝手に、コンストラクタ/デストラクタが呼ばれることのないC時代のstructを使ってるほうがはるかにいい。
お前のプログラムは大規模プログラムを作るための仕組みなどハナから不要ってこった。 アンカーまちごた>>708じゃなく>>706
>>706
STLは一切使わないが、
自前のテンプレートプログラムで、関数テンプレートとエイリアスにだけ使用すると。
実行前のジェネリックプログラミングにおいて使うためだけにC++を使ってるというならC++を使う意義を認めよう。
どーせ式テンプレートも書けないお前がテンプレートを駆使して実行時負荷軽減とか考えてるとも思わないがwwwww 便利やねこのチップ。
https://datasheets.maximintegrated.com/en/ds/MAX4820-MAX4821.pdf
パラレルはどーでもよくてシリアルのMAX4820の方
これだとDin, SCLK, CS, RESETの4ポート用意すれば、
ディジーチェーンでいくらでも1巻線ラッチリレーの数増やせる
2巻線はコイル電流多いし、
2ポート/リレーずつ要るんで困ってたわ。 ディジーチェーンは1デバイス故障すると巻き添えで全滅するからなー
スター型で動かせないもんかの >>709
>それはもうオブジェクト指向じゃない。
あなたの美意識の問題に過ぎません。 >>709
> 言語本来の思想を理解してないお前の方こそ、言語もオブジェクト指向も"ちゃんと"使えてないんだろ。
初期のC++にはなかったテンプレートも例外処理も名前空間もお前は使用禁止な。 目的が入れ替わってないか?
言語の思想を受け継ぐのが目的じゃなくて
プログラムで機能を実現するのが目的だろうに >スコープから外れても不要なオブジェクトを保持しているなら、
組み込み系なんかだと、スコープから外れることがないというのか、
電源が切られるまでずっと保持している(いなくてはならない)ような
オブジェクトだらけだったりするんじゃねぇの?
>new deleteを伴わない静的なクラスだけでいいなら、
>勝手に、コンストラクタ/デストラクタが呼ばれることのない
>C時代のstructを使ってるほうがはるかにいい。
いいかどうかは、各自の判断によるものだろうなぁ。
何の権威も権力も権限も無い、>709ごときの言うことなど誰も聞く耳持たんよ >>719
オブジェクトねぇ
お前RTOS使ったことないだろwwwww
"組み込み"書いてる時点でお察し >>714
スター型にしたいならそこのMAX4821使えばいいんじゃないか?
ただ必要ポート数増えるだけで >>720 は自分の価値観に合わないものを侮辱したいだけの人なんかね?
価値観は、まずは上下じゃなくて、違い、だよ。 >>709
言わんとする事は解るし、概ね同意だが、
arduinoでも新しめのヤツはnewやdeleteをもある。
1k程度のheapでも健気にGCもやってるようだw >>723
それを言い出したらCにもmalloc,freeがあるし、Windows95時代には
コールバック関数とswitch→caseなどでCレベルでオブジェクトを表記していた。
Cしかなかった時代には、そういうものと思ってプログラムを書いていた。
C++はオブジェクトをエレガントに記述できるように拡張されているにしても
それだけがC++の拡張ではない。 > arduinoでも新しめのヤツはnewやdeleteをもある。
> 1k程度のheapでも健気にGCもやってるようだw
どうしたらこういう勘違いできるのかな? ガベージコレクトをやろうとしたら、ポインタのテーブルを持ってないとダメだよね?
少メモリの環境にはきついんじゃないですか? そういえばGTKってメンバー関数を使わずに涙ぐましいようなスタイルを取っていたような記憶。 何をどう使おうが使う側の自由であって、
「○○はオブジェクト指向じゃない」なんて言い出す奴のご機嫌をとる必要は微塵もないし、
聞く価値もない。 と使い方の根本がわかってない馬鹿
ガベコレないRTOSで今日もnew/delete繰り返し wwww >>725
どこが?
>>726
newとdeleteを繰り返して毎回フリーエリアを調べて見てくれ。
俺の環境では増減があった。 まぁ ソフトウェアファーストの時代ではあるが、メモリーリークの話題をそれほど、このスレで引っ張る意味があるのか?
OOCのようにマクロ管理をきちんとしていれば、Disposeカキコを忘れなければ、C言語でのOOPでもメモリーリークなんて気にする話ではない。
freertosのような世界にガベコレを持ち出すな。 バカか? 旗色が悪くなると、これは問題提起だ、とか、敢えて炎上を狙った、とか ハードウェアの抽象化のためにC++使って、基底クラスから階層化することもあるけど、
楽だわ。 >>732
> どこが?
>>723に書いてあることは「言わんとする事は解るし、概ね同意だが、」という個人の感想以外大体全部誤解に基づいている。
>>723
> arduinoでも新しめのヤツはnewやdeleteをもある。
2011年11月リリースのArduino 1.0でもnewやdeleteは使える。「新しめのヤツ」ということはない。
> 1k程度のheapでも健気にGCもやってるようだw
Arduinoのヒープ容量は1k程度ではない。GC もない。 >>737
gcねーの? 文字列操作しまくったら、あっという間に枯渇なんでは。 売りに出てるImagination Technologiesをルネサスが買えばいいのにね
中国が狙ってるらしい
FPGAがどんどん安くなってるし、著名な命令セットとGPUのIP持ってれば
これからの時代にプラスになるのでは? MIPSにはデンソーが目をつけるくらいの単なるSMTではないハードウェアマルチスレッドの技術があるのにな
車載向けでも有用だと思うんだが
中国に売られればこういう技術も中国のものになっちゃう
そういえば、国産ロケットの心臓部もMIPSだっけ?
デンソー、自動運転に向けたCPUのマルチスレッド技術で英企業と共同研究
https://japan.cnet.com/article/35092144/ >>737
> > arduinoでも新しめのヤツはnewやdeleteをもある。
> 2011年11月リリースのArduino 1.0でもnewやdeleteは使える。「新しめのヤツ」ということはない。
”新しめのヤツはnewやdeleteをもある”この事実についてしか言及してない。
”「新しめのヤツ」ということはない”ものには何も言ってないが?w
> > > 1k程度のheapでも健気にGCもやってるようだw
> Arduinoのヒープ容量は1k程度ではない。GC もない。
Arduino ならどんな環境でもヒープ容量は1k程度以上はあると認識しているのか?
それは、ヒープが1K以上取れないほどメモリが逼迫するとコンパイルできない事を意味するんだけどw
new delete free のループで減っていったメモリが何度かに1度戻る、これはGCの結果ではないのか? > > > arduinoでも新しめのヤツはnewやdeleteをもある。
> > 2011年11月リリースのArduino 1.0でもnewやdeleteは使える。「新しめのヤツ」ということはない。
> ”新しめのヤツはnewやdeleteをもある”この事実についてしか言及してない。
> ”「新しめのヤツ」ということはない”ものには何も言ってないが?w
「〜 でも 〜 は」の意味分かってない奴かww CS+ + RX62Nでデバッグウィンドウにprintf出来なくて挫折・・・
ARMに乗り換えたよ >>743
古いものには無いものもあるからそう表現した。
なにか問題あるのかw
>>742 の
> > Arduinoのヒープ容量は1k程度ではない。GC もない。
>
> Arduino ならどんな環境でもヒープ容量は1k程度以上はあると認識しているのか?
> それは、ヒープが1K以上取れないほどメモリが逼迫するとコンパイルできない事を意味するんだけどw
>
> new delete free のループで減っていったメモリが何度かに1度戻る、これはGCの結果ではないのか?
これには反論しないのか?
これが趣旨で、”新しめのヤツ”の解釈など言いがかりに近いのでは?w > ”新しめのヤツはnewやdeleteをもある”この事実についてしか言及してない。
> ”「新しめのヤツ」ということはない”ものには何も言ってないが?w
> 古いものには無いものもあるからそう表現した。
かなりの逸材と見た。 >>748
面倒なヤツだな。
> arduinoでも新しめのヤツはnewやdeleteをもある。
の意味が理解できないなら、先頭に「いつからかは知らないが」を補って理解してくれ。
ところで、
>>742 の
> > Arduinoのヒープ容量は1k程度ではない。GC もない。
>
> Arduino ならどんな環境でもヒープ容量は1k程度以上はあると認識しているのか?
> それは、ヒープが1K以上取れないほどメモリが逼迫するとコンパイルできない事を意味するんだけどw
>
> new delete free のループで減っていったメモリが何度かに1度戻る、これはGCの結果ではないのか?
これには反論しないのか? >>742
> > Arduinoのヒープ容量は1k程度ではない。GC もない。
>
> Arduino ならどんな環境でもヒープ容量は1k程度以上はあると認識しているのか?
Arduino ではヒープ領域を固定で持たないので静的に使用するメモリの容量によりヒープに使用できる最大容量は異なる。
Arduino も初期のものは RAM 容量が 1kB の ATmega8 を搭載していたので「Arduino ならどんな環境でもヒープ容量は1k程度以上はある」訳はない。
> それは、ヒープが1K以上取れないほどメモリが逼迫するとコンパイルできない事を意味するんだけどw
Arduino のヒープサイズと PC でコンパイルできる/できないは全く関係がない。
> new delete free のループで減っていったメモリが何度かに1度戻る、これはGCの結果ではないのか?
delete や free() で領域が解放されてるだけだろう。GC がどういうものかわかってないのだろうな。 >>751
何言ってんだw
本当に読解力が無いんだな。
たまたま1K程度のヒープの環境でもという話だ。
> delete や free() で領域が解放されてるだけだろう。GC がどういうものかわかってないのだろうな。
”何度かに一度”を読み落としている。 >>751
> Arduino のヒープサイズと PC でコンパイルできる/できないは全く関係がない。
つまり1k程度のヒープサイズのArduino環境は存在すんだなw
> Arduinoのヒープ容量は1k程度ではない。GC もない。
コレと矛盾するとは思わないのか?
またGCもなくnewやdeleteを実装すると考えているのか? > たまたま1K程度のヒープの環境でもという話だ。
Arduino のヒープは必要に応じて領域が伸長されるから「たまたま1K程度のヒープの環境」と言う発言が既に分かってない感丸出しなんだよなあ。
> ”何度かに一度”を読み落としている。
free() や delete で常に解放されたメモリが空き領域として連続するとは限らんのでそういう動作になるわなあ。ヒープの管理の内容分かってないんだろうなあ。
> つまり1k程度のヒープサイズのArduino環境は存在すんだなw
Arduino のヒープは必要に応じて領域が伸長されるから「たまたま1K程度のヒープの環境」と言う発言が既に分かってない感丸出しなんだよなあ。(2回目
> > Arduinoのヒープ容量は1k程度ではない。GC もない。
> コレと矛盾するとは思わないのか?
矛盾せんなあ。
> またGCもなくnewやdeleteを実装すると考えているのか?
C++ で smart_ptr や Boehm GC を使わない限りはフツーとしか。 盛り上がってるとこすまんが、ちと違う話題を。
PDG2 とか使ってる?
RX は機能てんこ盛りでややこしいんで、レジスタ設定の参考にしたいと思って使ってみたけど、
レジスタの設定部分がバイナリで提供されてるってまた極端じゃねーか。
変に関数強制されるより、レジスタ設定の一覧出してくれるだけでいいのに。
そういうツールはないのかな。 >>755
MMUも無いCPUでどこから必要に応じて領域が伸長されるのか?
魔法のシステムだなw >>757
RAM の内、静的に使用される領域を除いた連続した領域がスタックと
ヒープに使用される。
スタックはアドレスの値が小さい方向に使用され、ヒープは必要に応じて
固定長を単位として領域がアドレスの値が大きい方向に伸長され使用される。
スタックとヒープのサイズを固定せず、両者を必要最大に使用しても
ぶつからないための工夫である。
MMUはもちろん関係ない。 無限にRAMがあるわけじゃないんで、
ヒープが1kB以下な状況は有りうる 新スレ立ち上げといた
【Renesas】ルネサス終了 part11@2ch.net [無断転載禁止]©2ch.net
http://rio2016.2ch.net/test/read.cgi/denki/1502041944 >>758
そうなんだよね。Cは古い言語でPDP-11の64kByteのメモリでmallocやfreeを
実装しており、C++のnewとdeleteもその延長だった。
いまどこかのC++がオブジェクト配列を大量に確保・廃棄を繰り返すことを前提に
メモリ確保用ライブラリがMMUやGCをサポートしていたとしても、元来のC++とは
何の関係もない。 >>758
ヒープの残りを確認する関数は現在使える最大値でないと意味がない。
この話題ではその値を問題にしている。
現在使えるヒープが1K程度の環境と、ヒープとスタックの共有の話は無関係だ。 > 現在使えるヒープが1K程度の環境と、ヒープとスタックの共有の話は無関係だ。
馬鹿には理解できない話でしたとサw 他人が馬鹿だと思ってたら自分が馬鹿だった
ってこともある >>763 もなんとなくそんな感じが...
良く読んでないけど > ヒープの残りを確認する関数は現在使える最大値でないと意味がない。
現在のヒープの最大ブロック長と取得可能な最大長は違うがその辺りから分かってなさそうw >>767
条件は単独のnew,delete,heap容量を見る。
このループのみなので一致する。 >>762
> ヒープの残りを確認する関数は現在使える最大値でないと意味がない。
なので、
>>732
> newとdeleteを繰り返して毎回フリーエリアを調べて見てくれ。
> 俺の環境では増減があった。
これは確保した領域のポインターアドレスからの逆算でという事。 なんか、あんまりデバイスの話にはのってくれないみたいだけど……。
RX62N の外部パルス幅測定機能使いたいんだけど、
動作説明見ると、指定の High / Low でカウント、そうじゃない時はただカウントが止まるようになってる。
パルスが変化するのはポーリングするか、IRQn 端子にも入れて検出するしかない? パルス幅数えつつ、両エッジで割り込みほしいってことですか? いや、例えば High を測る場合、Low になったらカウントを読みたいんだけど、
Low になったことを知るにはポーリングか IRQn 割り込みしかないのかなと。 MTIOCがLowになったことをすぐ知りたいのならポーリングか割り込みしかない、
というかそれで必要十分なのでは。
MTIOCのパルス幅の値の推移を後でまとめて知りたいのなら、MTIOCがLOWになる
たびにTGRの値をDTCでメモリに転送しておけばいい。
割り込み要因はIRQnでなくインプットキャプチャだろうけど。 カウント値が確定してバッファーに転送されたときに呼ばれる割り込みがあると思うけどな。家帰って覚えてたら調べてレスします。 ああ、どうもすみません。
ユーザーズマニュアルには、TGR へはキャプチャされませんって書いてあるし、
動作例の Low のところは何も変化がなさそうだし、それっぽい割り込みもなさそうなんですよね。
ポーリングか IRQ で十分なんだけど、自分が見落としてる便利機能がないかたずねてみた次第。 ルネサスマイコン用SDカードドライバとかFATライブラリが提供されてて、
利用するのは有償となってるんだけど、
ダウンロードするとソースがまんまビューできるんだが、金払ってライセンス購入した人居るの?
で、いくらなん? ルネサスじゃなくてSD Assosiasionの会費だったわ。研究目的でも$1000かよ。
ルネのドライバには
弊社のSDカードドライバーご利用時にはSD Card Associationライセンスが必須です
こう書かれてるけど、このライセンスをどこで使うの? ルネが公開してるSDカードのドライバとかライブラリはライセンス有無でなんらかの機能制限あるの?
手持ちの256KBのE2まだあるんだけど、つかるならSDカード使いたい GR-SAKURAにはSDカードソケットが最初からついているけど
それに自分でドライバ書いて使っている人はごまんといるだろうが
その人たちがみんなSD Assosiasionに金を払っているとは思えない。
一品モノをGR-SAKURAベースに作っている業者さんも多いし。 > Linux and Mac support for e2studio is scheduled for a beta release in e2studio V6.0. This will be available some time around Aug 2017.
https://renesasrulz.com/synergy/f/synergy---forum/8149/e2studio---mac-linux-support RX210 の E2 データフラッシュを使おうとしてるんだけど、
マニュアルの E2 データフラッシュの書き込みのフローチャート間違えてない? (1449 ページ)
「書き込み先の先頭アドレスに書き込みデータをワード書き込み」の後「n = 1 」からは
「n = N」の判定に行かないと、1ワードだけ書く時に余計な書き込みをすることに
なるんじゃないの? S124のUSBクロックUCLKはソースが高速オンチップオシレータHOCOしか選べないように見える
HOCOの誤差は1%だけどFull-speedでもこれでいいんかな
SOF同期機能とかないんだけど S124にはPLLが無くて外部クロックの最大値は20MHz
32MHzで動作させるにはHOCOしかないが、USBのためにHOCOを48MHzで動かすと
ICLKは1/2の24MHzが最大。USB専用のPLLのないRX111よりコストカット?
USBを使うなら外部のクリスタルからUSB用クロックを生成できないので動作クロックの精度が重要じゃなけりゃ付けなくてもいいくらい Toshiba Instruments Japan ■ このスレッドは過去ログ倉庫に格納されています