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/ >>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)に収斂してしまいそう
実際それだけあれば大体間に合うな ルネサスもRXともろに競合するのにSynergyというブランドでCortex-Mやってるしな http://sp.chip1stop.com/interview_renesas_platform/
> ルネサスには、「RXファミリ」や「RL78ファミリ」などの独自コアがある。
> なぜ、そうした独自コアを使わずに、ARMコアを採用したのか。
>
> 葛西?VSAの存在が大きい。確かに、日本国内であれば、RXファミリやRL78ファミリのユーザが多い。
> しかし、今後市場が拡大するIoT機器の開発が最も盛んなのはシリコンバレーだろう。
> そこで働くエンジニアの多くがARMコアに対応したソフトウエアを開発している。
> 従って、パートナー企業が開発するVSAの品ぞろえを充実させ、
> エコシステムとして拡大させるにはARMコアの採用が欠かせないと判断した。
>
>
>
> RXファミリやRL78ファミリにも、Renesas Synergyと同じ仕組みを適用する予定はあるか。
>
> 葛西?その予定はない。RXファミリとRL78ファミリは、ある意味、
> 特定の用途に特化あるいは進化してきたマイクロコントローラという位置付けだ。
> 例えば、RL78ファミリであれば、低消費電力が最大の特徴であり、
> 消費電力を極限までそぎ落とす必要がある用途に向く。
> 一方、Renesas Synergyで提供するマイクロコントローラは、汎用性が最大の特徴であり、
> 超低消費電力のみが求められる用途に最適とは言えない。 PICのXLPとどっちが電池持つか、チャレンジだ! >>423
Atmelはかなり初期の頃からARMを使ってたメーカーの一つらしいな PICのCPUコアがどうこう言う人にはAVRやARMを使ってもらえばいいだけだよな
Microchipに死角なし ARMって、フリーかつ各社汎用に使える開発環境とデバッガを構築しようとすると
けっこう苦労するイメージがあるんだが。
仕事ならKeilやIARをさっさと選択するんだが、趣味もかねてるとなかなかむつかしいのでは? >>382
フラグが無いのとディレイスロットがあるのだけで十分特徴的に感じるなあ
LL/SCはシングルコアのPICでは使い道がない…
ULW/USWってなんだろうと思ったら[S/L]W[L/R]を吐く疑似命令か
面白いとも言えるし、アラインされてなくても読めてくれよとも言える
自分が思ったのはCLZ/OとINS/EXTとMOVZ/Nあたり、特殊というか、あんまり見ないからあるの嬉しい
あと命令自体じゃないけどANDI16の即値のエンコードがめっちゃ特殊で凄まじいな >>430
Linux動くレベルのでないと、ARM使う意味が余りないと思う。 >>432
> LL/SCはシングルコアのPICでは使い道がない…
えっ???? >>434
全否定ではないけど、本当に組み込みレベルになったら周辺に互換性ないから、CPUコアを統一する意味が余りない。 >>437と同じ意見でARMを使うことを躊躇している。
年間使用数が二桁の超零細では、中期的にでも安定して入手できそうなデバイスが無い。
PICが良いとは思わないが、少なくとも供給体制に関しては古いデバイスでも入手できるのが大きい。 知らんがな
ディスコンになったときの責任まで取れるかよ
その時には客に金出させて改版
あるいはデバスを支給してもらう >>439
一番の需要は、低コストで作れるLinuxマシンだろ。 超零細の自営でかつ組み込みが前提なら、CPUコアと周辺機能がある程度統一されていること、
少なくとも中期的出来れば長期的な部品供給が期待出来ないと使いにくい。
客に金を出させるのも大変だが、同じ機能をCPU・周辺機能の変更に合わせて書き換える
手間も実質的に無駄でしかない。
もう少し有意義な使い方をしたいのが本音。 ■ このスレッドは過去ログ倉庫に格納されています