• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複合機(プリンタ)ファームウェアご経験の方に)

複合機(プリンタ)開発における経験者への質問

このQ&Aのポイント
  • 複合機(プリンタ)の開発に興味がありますが、Linuxや組み込みライブラリの使用方法、CPUの選定などについて教えていただけませんか?
  • 複合機への書き込みはLAN経由で行われるようですが、具体的な方法について教えていただけますか?
  • 複合機の開発においては、ICEやオシロスコープの使用は一般的ではないようですが、実際に必要ないのでしょうか?また、シミュレータの使用は一般的ですか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

(1)と(3) 普通は、RTOSの方がいいと思います。でも、まあ、Linuxは安いですから。 その複合機は多分、LinuxベースのTCP/IPモジュールとTELNETやFTP、DHCPも搭載されていると思いますので、TELNETやFTPに近い機能で実行ファイルを転送できると思います。 デバイスドライバの開発でなければCPUの種類は意識する必要は無いと思います。 開発自体もLinuxのAPI(POSIX)と独自のAPI(デバイス制御用)を使用した開発になると思います。つまり、C言語でしょうね。 (4)と(5) (シミュレータがハードウェア環境を指す場合)もうひとつ下の水準であれば使用すると思いますが、今回のケースはLinux上でのアプリケーション開発よりかと思います。デバイスドライバの開発であれば使うこともありますが今回は使わなそうですね。 (2)と(6) 私には分かりません。 開発作業はWindows機上でIDE等でソースコードを編集してクロスコンパイラでターゲット(複合機)向けの実行可能コードを出力させ、それをターゲットに転送して実行するという流れになると思います。デバッグはリモートデバッグで行うと思います。概略はこんなかんじです。具体的にはどういうツールを使うのかわかりませんが、LinuxならGDBあたりだと思いますので、以下の記事が参考になると思います。 GDB/GDBserverによるクロスターゲットのリモートデバッグ http://sourceforge.jp/magazine/07/11/30/0143228 Java開発者ならjdbを使ったことがあるかもしれません。あれと同じようなものです。今時は使わないですが。 ただ、CUIのデバッガは扱いにくいですから何かしらのGUIのデバッガ、IDEを使うとは思います。いろいろな理由でCUIで作業することもありますが、できるかぎりGUIデバッガは要求したほうがいいです。コンパイラやリンカ、ビルドツールはCUIでも苦になりませんが、デバッガは対話性や操作性が高いGUIでないと苦行になります。 (ヒント)GUIデバッガが調達できないときは、処理を細かく関数に分割しておくとブレークポイントが張りやすくなります。デバッグしやすくなる反面、散文度が高くなるので保守的にはマイナスですが、トレードオフということで。 実際は、開発機とターゲット機をケーブルでつないで、IDEにコンパイルの設定、リンカの設定、ビルドの設定、デバッガの設定とかをしておけば、ボタンひとつでポンポンなので普通の開発と大差ありません。 まあ、設定しないといけない項目の把握に最初時間がかかります。大抵は引き継ぎ資料や参考資料として、IDEの設定があると思います。無ければ作成して引き継ぎ資料として用意しておきます。

Ry0_
質問者

お礼

詳細にご回答いただきましてありがとうございました。

その他の回答 (1)

回答No.1

>(3)複合機へ書き込みはLAN経由らしい この部分だけ。 どこまでの話を求めているか分かりませんが、”LAN経由”とは単にLAN経由でローカルにファイルをストアーするだけの話ではないですか。複合機でWindows 或いはLinux 或いは別OSが起動されていれば、そのOS上で実行ファイルを実行し、Windows上で行う光学デバイスのアップデートと同じ。 それ以外だと、特定の方式で複合機を起動すると、メンテモードになります。そのメニューにファームウェアーを更新する物があります。なので、その形式にアーカイブすると言う事です。いずれにせよ、特定OS上でのでしょうね(USBメモリーや、ローカルのストレージやメモリーにLANからストアーできるとして)。 複合機では現在ほとんどがネットから送って、自動実行されるか、メンテモードで手動アップデートかと。

Ry0_
質問者

お礼

貴重な情報ありがとうございました。

関連するQ&A

専門家に質問してみよう