アカウント名:
パスワード:
何故かというと、IoTなんですわ。(だと思う)
いろんなデバイスがジャンジャン出てきてますが、”対応”つっても単にLANポートが付いてるだけとか。添付のドライバもチップセットのメーカから提供されている試供品みたいなドライバそのまんまとか。結局ドライバから内製するハメに。
ハンドアセンブルやってた時代の化石化したオッサン大活躍中。「高級言語の出る幕じゃねーよ」
#かなり盛ってるけど、でもホント
ドライバ書く必要はあるとしてもアセンブラじゃなきゃダメって状況はそうそうないだしょ
組み込み用のマイコンにはCコンパイラでは吐かれることのない特定用途にちょっと便利な命令があったりしてな。
そういう命令をうまく使うとさくっと処理できる関数はアセンブラで書く。レジスタがうまく使い回せてasm 文で書ければそれでもいいけど。
いまどきはどこのマイコンメーカーも高級言語で書けることをアピールしてるし情報として古すぎるよ、おじいちゃん。
そういう部分はアセンブラで書いて、全体はCで書くってスタイルが一般的では?局所的にアセンブラを使ったからって、人気云々は関係ないような気がする。
MCUベンダ純正ツールだと大抵特殊命令に対応する組み込み関数(というマクロ)があるけどね。
「80系はCコンパイラがI/O命令を生成できないので関数呼び出しになるからハードウェアアクセスの効率が悪い」と主張する68系信者が近くにいたけどもう30年くらい前かな。それくらいの化石を久しぶりに見た気がした。
なんちゃってIoTだと、リソース(CPUパワー、記憶容量、おまけに使用可能な電力)がかなり限られてしまうから、アセンブラでガリガリせざるを得なかったり。
#Cのライブラリを作っても次の製品で使える保証ないし
I2Cで単純な機能の奴を使うのに、デバイスドライバなんか作らないってのは珍しくない。タイマーでポーリングするだけ、とか。
私もそこら辺りだと思うなあ。Cコンパイラ使えるターゲットなら、どうしてもアセンブラが必要なのはRTOSのそのまたコアのスレッドをディスパッチする部分くらい。ただ、弊社でも10年くらい前の組み込み機器はアセンブラで書かれてて、誰もメンテできないのでそろそろ作り直そうといている。
ぶら下げ間違えました。
#3045843 に対するコメントです。
そう思っていた時が自分にもありました。
ついこの前、WS2812BというLEDを買った。自分でドライバ書いてみたがタイミングが全然取れない。Adafruitのドライバがあったので中をカンニングした。
アセンブラで書かれていた。(#ifdef山盛りで)
あれはnop不可避だよな
身近では、ドライバサイズが数百~数kByteと言ったサイズ制限から、アセンブラを選ぶことが多いです。マイコン内蔵メモリに納める必要があって、サイズが大きいとマイコンのコストや電力が上がるので。
Microchip PIC10/12/16何ちゃらとかのことじゃないの?SDCCのターゲットマイコンならアセンブラで実装はあり得る。GCCがサポートしているマイコンでわざわざアセンブリ持ち出す人はさすがに少ないと思うよ。
今時の組込プロセッサでメーカーがCコンパイラ用意して無いものは無いので通常はアセンブラでのコーディングは不要ですさすがにローエンドのプロセッサでは固定長のハードウェアスタックしかなくて、C言語のファンクションのネスティング・レベルに厳しい制約がついてしまい、下回りのドライバ類はすべてアセンブラ記述で~ということはありますが
それって当たり前、組込の常識です自分で作るのが嫌なら3rdパーティーが有償で販売しているものを買ってきて使ってください
そうですね。補足しておくと、組み込みの世界で添付ドライバなんてドライバ作るための参考資料(サンプルソース)に過ぎないし。
サンプルソース)に過ぎないし
そーいうのはソースが添付されてるときだけ言ってくださいまし…
売ってりゃ高くても買うんやけどねぇ。『○月頃にリリースしますんで、それまで暫定版のご提供で・・・・』とかそんなですやん。おまけに、次期製品が市場に出回る頃になってようやく出てきた製品版はバグだらけ、ってそんな話よ?クソ遅いわバグだらけだわで話にならんからアプリ屋が自前でドライバから内製しとるだけですわ。(笑)
IoTが理由なのだとしたら、ドライバを書くにしろアセンブラより利用される頻度は高そうなCやC++の数字も上がってそうなもんだろ。じっさいはCもC++もRatingsの数字は下がってるんだし原因は別にあると考えるのが正しいと思うが。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー
一部方面ではバズワード扱いされていますが (スコア:5, 参考になる)
何故かというと、IoTなんですわ。(だと思う)
いろんなデバイスがジャンジャン出てきてますが、”対応”つっても単にLANポートが付いてるだけとか。
添付のドライバもチップセットのメーカから提供されている試供品みたいなドライバそのまんまとか。
結局ドライバから内製するハメに。
ハンドアセンブルやってた時代の化石化したオッサン大活躍中。
「高級言語の出る幕じゃねーよ」
#かなり盛ってるけど、でもホント
Re: (スコア:0)
ドライバ書く必要はあるとしてもアセンブラじゃなきゃダメって状況はそうそうないだしょ
Re:一部方面ではバズワード扱いされていますが (スコア:2)
組み込み用のマイコンには
Cコンパイラでは吐かれることのない
特定用途にちょっと便利な命令があったりしてな。
そういう命令をうまく使うとさくっと処理できる
関数はアセンブラで書く。レジスタがうまく使い回せて
asm 文で書ければそれでもいいけど。
Re: (スコア:0)
組み込み用のマイコンには
Cコンパイラでは吐かれることのない
特定用途にちょっと便利な命令があったりしてな。
いまどきはどこのマイコンメーカーも高級言語で書けることをアピールしてるし情報として古すぎるよ、おじいちゃん。
Re: (スコア:0)
そういう部分はアセンブラで書いて、全体はCで書くってスタイルが一般的では?
局所的にアセンブラを使ったからって、人気云々は関係ないような気がする。
Re: (スコア:0)
MCUベンダ純正ツールだと大抵特殊命令に対応する組み込み関数(というマクロ)があるけどね。
Re: (スコア:0)
「80系はCコンパイラがI/O命令を生成できないので関数呼び出しになるからハードウェアアクセスの効率が悪い」と主張する68系信者が近くにいたけどもう30年くらい前かな。
それくらいの化石を久しぶりに見た気がした。
Re: (スコア:0)
なんちゃってIoTだと、リソース(CPUパワー、記憶容量、おまけに使用可能な電力)がかなり限られてしまうから、アセンブラでガリガリせざるを得なかったり。
#Cのライブラリを作っても次の製品で使える保証ないし
Re: (スコア:0)
I2Cで単純な機能の奴を使うのに、デバイスドライバなんか作らないってのは珍しくない。
タイマーでポーリングするだけ、とか。
Re: (スコア:0)
私もそこら辺りだと思うなあ。
Cコンパイラ使えるターゲットなら、どうしてもアセンブラが必要なのはRTOSのそのまたコアのスレッドをディスパッチする部分くらい。
ただ、弊社でも10年くらい前の組み込み機器はアセンブラで書かれてて、誰もメンテできないのでそろそろ作り直そうといている。
Re: (スコア:0)
ぶら下げ間違えました。
#3045843 に対するコメントです。
Re: (スコア:0)
そう思っていた時が自分にもありました。
ついこの前、WS2812BというLEDを買った。自分でドライバ書いてみたがタイミングが全然取れない。
Adafruitのドライバがあったので中をカンニングした。
アセンブラで書かれていた。(#ifdef山盛りで)
Re: (スコア:0)
あれはnop不可避だよな
Re: (スコア:0)
身近では、ドライバサイズが数百~数kByteと言ったサイズ制限から、アセンブラを選ぶことが多いです。
マイコン内蔵メモリに納める必要があって、サイズが大きいとマイコンのコストや電力が上がるので。
Re: (スコア:0)
Microchip PIC10/12/16何ちゃらとかのことじゃないの?
SDCCのターゲットマイコンならアセンブラで実装はあり得る。
GCCがサポートしているマイコンでわざわざアセンブリ持ち出す人はさすがに少ないと思うよ。
Re: (スコア:0)
今時の組込プロセッサでメーカーがCコンパイラ用意して無いものは無いので通常はアセンブラでのコーディングは不要です
さすがにローエンドのプロセッサでは固定長のハードウェアスタックしかなくて、C言語のファンクションのネスティング・レベルに厳しい制約がついてしまい、下回りのドライバ類はすべてアセンブラ記述で~ということはありますが
いろんなデバイスがジャンジャン出てきてますが、”対応”つっても単にLANポートが付いてるだけとか。
添付のドライバもチップセットのメーカから提供されている試供品みたいなドライバそのまんまとか。
結局ドライバから内製するハメに。
それって当たり前、組込の常識です
自分で作るのが嫌なら3rdパーティーが有償で販売しているものを買ってきて使ってください
Re: (スコア:0)
いろんなデバイスがジャンジャン出てきてますが、”対応”つっても単にLANポートが付いてるだけとか。
添付のドライバもチップセットのメーカから提供されている試供品みたいなドライバそのまんまとか。
結局ドライバから内製するハメに。
それって当たり前、組込の常識です
自分で作るのが嫌なら3rdパーティーが有償で販売しているものを買ってきて使ってください
そうですね。
補足しておくと、組み込みの世界で添付ドライバなんてドライバ作るための参考資料(サンプルソース)に過ぎないし。
Re:一部方面ではバズワード扱いされていますが (スコア:1)
そーいうのはソースが添付されてるときだけ言ってくださいまし…
Re: (スコア:0)
売ってりゃ高くても買うんやけどねぇ。
『○月頃にリリースしますんで、それまで暫定版のご提供で・・・・』とかそんなですやん。
おまけに、次期製品が市場に出回る頃になってようやく出てきた製品版はバグだらけ、ってそんな話よ?
クソ遅いわバグだらけだわで話にならんからアプリ屋が自前でドライバから内製しとるだけですわ。(笑)
Re: (スコア:0)
IoTが理由なのだとしたら、ドライバを書くにしろアセンブラより利用される頻度は高そうなCやC++の数字も上がってそうなもんだろ。
じっさいはCもC++もRatingsの数字は下がってるんだし原因は別にあると考えるのが正しいと思うが。