PIC専用のスレ Part 57
■ このスレッドは過去ログ倉庫に格納されています
______
/Microchip ./|
/ ( ゚∀゚) / | アセンブラのアの字もわからない
|~ ̄ ̄ ̄ ̄ ̄| /. 超初心者からHEXが読めてしまう
|/Z./Z./Z./Z_|/ || 鬼プロフェッショナルの為のスッドレ(#゚Д゚)だ!モ゙ルァ
||. ||. ||. ||
大人気のPICマイコンのスレ
なんといっても情報が豊富だし、開発環境も多いし、パッケージも豊富
使いやすくて、しかも安い。やっぱりPICだよね
例の如く基本リンクだ
http://www.microchip.com/ マイクロチップ本社(Microchip Technology Inc. )
http://www.microchip.co.jp/ マイクロチップ テクノロジー ジャパン 株式会社
http://www.microchip.com/maps/microcontroller.aspx Microchip Advanced Part Selector (Maps)
またーりやっておくんなまし
種類が多くてワカランって奴は上記パーツセレクタで、機能から最適製品を絞り込め!
教えて君はとりあえずGoogle( http://www.google.co.jp/ ) くらい使おう
テンプレ内の秋月小売価格も在庫が捌ければ、次の仕入れからは昨今の為替相場変動にならって
適宜価格改定されてます。ここの表記価格とは違うかもしれないのでそのつもりで
回答者する人の注意
. 最初に回答したい気持ちは分かるけど、質問者の内容を、落ち着いてよく読もう。
質問者する人の注意
. あなたの周囲しか通じない変な省略語は使わずに、なるべく詳しく説明してね
前スレ:
PIC専用のスレ Part 56
https://rio2016.5ch.net/test/read.cgi/denki/1501476623/ >>322
「まとも」って何だろな。
XC32ならコマンドラインからでも使えるはずなので、
>>322さんの価値観ではXC32は「まとも」じゃないのでしょうね。 はずの部分を否定できないから>>323のような反論しかできないわけで。ははは。 CPUが遅くてコンパイラもひどい (純正無償版)
だからアセンブラ信者が多いんだろうな >>326
多いかな?
ラウド・マイノリティなんじゃなくて? アセンブラ信者さんは、ファイルシステムとフーリエ変換と10インチの液晶パネル制御かもアセンブリ言語で1日以内に組み上げてしまうんでしょ。
レベル高すぎて、とても真似出来ないわ。 >>324
まともなコンパイラとは
質のいいコードを吐くコンパイラ
コンパイラも吐いたコードも正しく動くのは言うまでもない
コンパイラ環境への要求リソースや処理時間は
昔ほど重要じゃない アセンブラもできないヤツが
どうやってコンパイラが吐き出したコードの質を判断できるわけ?
コードが読めないんだから、そんなの出来るわけ無いだろ > 周辺機能に.NETを使ってるかもしれないけれど、現状のAtmel Studioは、C++ネイティブベースじゃなかなったっけ。
ID:FE6pvGrl <- コイツが言ってる 周辺機能とは何を指してるんだ? >>332
普通は吐いたコードの実行時間とコードサイズで評価する >>336
コンパイラの選択肢が無いならコンパイラ単体の性能評価など不要
お前は普通じゃないってことだ
30年も前の開発スタイルから抜け出せない老害℃玄人 プログラマーのウンコバクを許容するか
ガベージコレクションのメモリ大食いを許容するか
ってなって後者になっているのが現状なんだろ
昔の話を持ち出すのとはワケが違うよね メモリ大食いはIDEの話
コンパイラが大食いしてるわけじゃない >>329
>他では話題になることもない
根拠にもならんな。
ユーザー何人のうち不満を持つ人が何人いるかだろ。 >>336
フリーのコンパイラも有るし。
特に16bit以上はGCCベースだから。 >>340
アセンブラネタが出た直後にわざわざwww うわ、書き込み途中で送信した。すまん。
IDEそのものがすべての機能を単体のプログラムに実装してあることなんてないわけで、
通常は、コンパイラも外部ツールも別のプログラムやモジュールを使う。
で、そういうのが、IDEのVisual Studioベースに縛られるわけでもない。
他のツールや環境で作られていたりしてもわからんよ。 相変わらず昔の話持ち出す奴って
中身空っぽの話ばっかりだな だーかーらー
不満がある人はそういうの何とかしようとして
その解の一つがIDEを使わない、=コマンドラインコンパイル
いったんmakefileなりバッチを整備すればワンタッチだ
エディタは使い慣れた相棒
PICくらいならAPIの森もないし
ソースラインブレークできなくても何とかなる
というかそれくらいの用途にしか使ってないんだけど
あの愚鈍なIDEを使わざるを得ない人はご愁傷様 PC用プログラムも担当なんだけど、そうなるとVisual Studio がインストールされてる訳で
その上で殆ど同じAtmel Studioインストールすんのはなんかなーって思う。 Microsoftの Visual Studio も幾つかのバージョンが共存していて、
Eclipseベースの開発ツールも混在していて、
こんなものですね。 フロッピー1枚で開発してた頃が懐かしい
誰だよ開発環境を太らせた奴は 各開発環境ごとに数Gごと食うからな
メディアは安くなっても手間と時間は安くなってはいない >>352
フロッピー1枚に入るように減らせとか号令をかける奴が居なくなったことが原因だと思う。 信じられないかもしれないが
秋月でPICコンパイラがフロッピーディスクで売られていたんだぜ… 今でもフロッピーでコンパイラ売ってないか
PICじゃないかもしれないが MS-DOS の時代は OS+コンパイラでもフロッピーディスク1枚になんとか収められた。 パソコンのOSと日本語変換ソフトと辞書と、IDE付きCコンパイラと、ユーザーデータ領域を2枚のフロッピーで実現できていたわけだけが。
だけど、そんなことを懐かしんでも意味薄い。
コンパクトな開発環境を作っても、商売が成立するほどには支持されないからこその現状なんだし。 >>356
ブラゲーでもネトゲでも同じだ
40GB当たり前とかふざけてる
容量減らす工夫がゼロ過ぎて呆れる >>360
イミフ
コンパクトなら、機種ごとに専用だろうがなんだろうが支持するけど?
一生使わない機種を網羅したり、一生使わないライブラリを網羅して大容量なんて使いたくもない >>362
↓これが理解できずに「意味不明」とぬかすのなら相当なおバカさんだと思う。
>商売が成立するほどには支持されないからこその現状なんだし。
商売が成立するほどの支持者がいると思うなら、お前が作るか、お前がお金を用意して誰かに作らせてみることだな。
できたものを売れば良いではないか。
でも、お前もそれで商売が成立するほどに支持者がいるとは思っていないのだろ? >>363
有料でこんな太い開発ソフトなら
誰が買うんだね?
何が商売成立とか抜かしてんだ? 余っているディスク容量を減らすのに開発工数を使うくらいだったら
新しい機能入れるわな >>364
>有料でこんな太い開発ソフトなら
>誰が買うんだね?
お馬鹿さんだな。
誰が「太い開発ソフトを作って売れ」と言ったのかね?
誰が「太い開発ソフトを作って売れ」と言ったのかね?
馬鹿でも分かるように、二度書いたよ。
>商売が成立するほどの支持者がいると思うなら、お前が作るか、お前がお金を用意して誰かに作らせてみることだな。
「お前が良いと思うようなコンパクトな開発環境」に、商売が成立するほどの支持者がいると思うなら、
お前がその「コンパクトな開発環境」を作るか、お前がお金を用意して誰かに作らせてみることだな。
という意味だよ。 でも、実際のところは、有償開発環境の商売が成立しているところを見ると
でっかいギガバイトクラスの開発環境にお金を払う人はたくさんいる。
>>364に対して「太い開発ソフトを作って売れ」と言うつもりはない。
すでに、そういうソフトで商売は成立してるからな。 新しいアセンブラ触ってみたくてPIC32MM始めたんだけどこれ面白いね
ディレイスロットのおかげで分岐が1クロックでできるの便利そう。 能力的には
PIC24FXLP < PIC32MM < PIC32MX
なんだな
秋月にはPIC32MM0064しかないけど、これがメモリサイズ最大か
CLCとかCIPとか、周辺が充実しているけど
依存すると抜けられなくなる > 幸せになりたければプログラマもデバッガも自作すればいいんだよ。
> なんならコンパイラも(アセンブラも)自作すればいい。
> ヒマ潰し電子工作のアマチュアには時間がいっぱいあるだろ?
文句を言うだけならサルでも出来る。
プロなら色々と事情があるだろうが。 実態はゴミ屋敷状態で下手にいじったら何が起ころかわからず誰も手が付けられない状態なんだろうと思う >>370
いずれARMやx86にも手を出してみて
>>372
周辺を活用するのがマイコンの醍醐味と思う
DIPは無いけどGPMは256KBまであるよ 段々複合素子化しているな PSocみたいになっちゃいそう >>378
ARM(thumbだけど)とx86は曲がりなりにも触ったことがある
だもんでMIPS触ってみたくてね メールでICD4が$70OFFのクーポンコード案内がきた、思わずポチるトコだったが俺には使いみちがないことがわかって止めた!
でも$199になると安いよね。
秋月だと今\29800だし >>380
その辺を触った事があるなら、
MIPSは普通過ぎて特徴が無いように見えるかな
ll/sc
swl/swr/ulw/usw
この辺の命令がちょっと特殊でおもしろい
MIPS以外だと
x86のAVX512命令
ARMの条件付き実行
DSP系のアキュームレータと積和
ビッグエンディアン
16bit単位でしかアクセス出来ないピッコロ
この辺を経験するとアセンブラのスペシャリスト 負の数も1の補数とか符号ビットとかの変態アーキテクチャもある
特定の表現がトラップ値だったり
8bitPICも結構特殊
ハードウェアスタックとかアドレス間接参照の方法とか
まあ8bitはある程度特殊にならざるを得ないけど アセンブラでVLIWやるれ
パイプラインレイテンシとか
サーキュラアドレッシングとか
ビットリバースアドレッシングとか
最近Cばっかりでアセンブラやらなくなったな 過去にアセンブラで開発した経験があっても、
Cばっかりやってからちょいとアセンブラやろうとすると、
とてつもなく体が固くなっている感じがするよ。 たまにコンパイルどうなっているか気になってアセンブルリスト眺めたりする
時々あほな最適化していたりするので アセンブラで組むと「CPUの全てが思う通りにできる」とワクワクする。
Cだと「あーやっぱり楽でいいなぁ」とノンビリする。
今はMCUのせいぜい数Kバイトの制御用プログラミングが多いし、
性能を追及したいのでフルアセンブラで書いている。
趣味のプログラミングのなので、開発時間や移植性や可読性などは全く気にしていない。
早く完成すると、早く次のネタを探さないといけないしw 仕事でも組み込み系プログラムは書いてるけど、趣味のほうが移植性や可読性に気を使う。
仕事だと、嫌でもきっちりした仕様書や設計書、ドキュメントを残して、文書自体をメンテするが
趣味だと仕事ほどキッチリとドキュメント整備やらないからね。
あとからソースみてメンテしたり読み解くのが面倒くさい。
仕事でソースから意図を読めないような初心者向きに不特定多数にソース見られるということはないが、
趣味だと公開したりすることもあるしね。 この動画、結構面白いよ
新・電子立国 第2回 マイコン・マシーン〜ソフトウェアが機械を支配する〜
https://www.youtube.com/watch?v=F3oG56OqvE0 自分で書いた趣味のソースでも一か月後に読み返すと意味不明で怒りを覚える
なので出来るだけコメントに設計意図を残すようにしてる >>389
今時のは、実行順序考えないとパイプラインがストールして速度出ないから、アセンブラで書くと遅くなる事がある。 俺のところは最近はさ、PICになにか新しいデバイスをエイヤと認識させる作業ばっかりでさ
ちょっとつまんねぇんだよね。ライブラリも作りきっちゃったからLEGOでも組むように設計はできるんだが・・・
仕事そのまま外注にしちまおうかとも思ってる。 >>389
それ分かるわ。趣味の範囲だけど。
テスト用にCで書いて動作チェックした後にアセンブラで書き直してる。
アセンブラだと全てを自分の手でコントロールしてるって感じが好きで。
Cでもライブラリはすべて自作するから同じなんだけどね。 >>394
下手糞が組むとアセンブラの方が遅い
こんなことは20年前から言われてる
PIC32の小数命令とかは遅延が大きいので
良く理解してから組まないとだが
PICはそれでも簡単
スーパースケーラー & アウトオブオーダー
uOPに変換して実行
演算ポート数が多い
演算ポートを使わない命令
メモリや小数演算のレイテンシ
キャッシュ構造が複雑
分岐予測
...
こんな要素が盛りだくさんなx86だと
コンパイラを越えるのは大変 USB, Ethernet, FAT, MP3, JPEG
こんな要素が入って来てもフルアセンブラとかフルスクラッチとか言うかな?
規模が極めて小さいプログラムしか書かないって
自分で言ってるようなものだから
あまりアセンブラを連呼しないほうがいいよ > 下手糞が組むとアセンブラの方が遅い
そう言われたのが当の本人なんだろ
わかるよ、どっかで拾った単語並べてる程度のレベルだし >>403
アセンブラで組むのは速度の為だけではないのに、アセンブラ最速とか言い出すから、ややこしくなる。 自己満足でいいよ
銭のためだけに開発やってもつまらんし プログラムカウンターに対して演算しちゃうとか、別のサブルーチンに GOTO するとこれぞアンセラーの醍醐味という気分(自己満足)になれるな。 >>407
gccの拡張使うと、asmなしでそれ出来ちゃうよ。
俺も使った事ないけどね。 >>410
ヒント
gccのドキュメントから
Label as values
というキーワードを探す 30年前だか40年前だかのテクニックかもしれないが、
アセンブラで 8 bit pic やるなら、addwf pcl,f なんつうのは
今でも常套手段なんちゃう。ググると沢山ヒットする。 マシンサイクル数えてI/Oポートでタイミング生成とか
アセンブラじゃないとできないしな Cで吐き出したアセンブラコードを見てマシンサイクルを数えるツワモノも世の中にはきっと居ると思う。 >>390
私は趣味であっても仕様書や設計書や操作説明書、回路図や、
写真(完成時だけでなく製作途中のものも)などはキッチリ残しているし、
ソースプログラムにも何十行もコメントをまとめて書くときがある。
趣味には納期が無いので、このへんは時間をかけてルンルンと楽しんでやっている。
後から見直すときもこれらの資料、コメントを見れば、
アセンブラに慣れている事もあって、
特に<アセンブラだから理解しにくい、面倒だ>という事は感じない。
たとえ時間が掛かったとしても、むしろ読み解く楽しさがあるし、
たまに、「へーこんな裏技やってんだ、俺ってすごいな」とビックリするw
それに小さなMCUでレジスタやスタックを操作するような
特殊な使い方をする時は(AVRのレジスタでリングバッファを作るとか、
タイムスライスをやるとか)フルアセンブラの方が良い。
まぁ、趣味なら人それぞれの楽しみ方があるんだな、と言うことでお願いします、チャンチャン。 連投スマン
私はケースにもタカチのアルミサッシ製を使ったり、アクリルで作ったり、
操作パネルにラベル(文字)を入れたりして、時間をかけて作る事が多いです。 化石テクニックをドヤ顔で語っちゃうとか
化石テクニックで自己満足しちゃうとか
世の中平和だなあと思ってしまう 赤の他人にケチをつけるだけのような発言、
まあ、それも平和か >>416
アルミ溶接やフライスで削りだししろとは言わんが、
鉄シャーシ溶接したり、アルミ板をベンダーで曲げて作るのが普通
出来合いやアクリル使ってるのをドヤ顔でいわれてもな ぜひ、その素晴らしい仕事(趣味の)をブログでも立てて公開してください 何気に儲かってるんだねぇ
組み込み会はARMとPIC(AVR)に収斂してしまいそう
実際それだけあれば大体間に合うな ■ このスレッドは過去ログ倉庫に格納されています