問題タブ [embedded-linux]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 非インタラクティブな Python アプリと mplayer 用のディスプレイ マネージャーは?
Linux で実行して常にフルスクリーンで実行するアプリケーションを開発しています (メニューやトレイなどは表示されません)。
アプリケーションは Python で開発される予定で、ウィンドウ マネージャーに関してはそれほど重要ではありませんが、私が苦労しているのはウィンドウ マネージャーの選択です。
グラフィカルな Python アプリを実行し、同時にワイドスクリーンの解像度 (ワイドスクリーン、16:10、16:9 など) で mplayer ウィンドウを表示できる、可能な限り最小のフットプリントを持つものが必要です。それ以外には多くの機能は必要ありませんが、エンド フットプリントのサイズが最も重要です。
どのウィンドウマネージャをお勧めしますか?
編集:必要なアプリケーションとのやり取りはありません。
java - 描画する Swing/AWT 用のカスタム デバイスの作成
画面に描画するためにカスタム Java コードを必要とする組み込み Linux デバイスに取り組んでいます。描画コードに基づいて表示を更新できるカスタム アダプターを作成する方法があるかどうか疑問に思っていました。私はいくつかの掘り下げを行いましたが、デバイスがどのように実装されているか、Swing/AWT に接続されているかについての情報は見つかりませんでした。どんな情報でも大歓迎です。
ありがとう。
linux - 組み込み Web ブラウザ
Linux 組み込み Web ブラウザー、またはできれば単なるレンダリング オブジェクトを探しています (実際のブラウジングには使用されず、Web ベースの GUI を表示するためだけに使用されます)。要件は次のとおりです。
- C/C++ で記述 (フットプリントが小さい)
- ダイナミック HTML をサポート
- Javaスクリプトをサポート
- ライブラリへの最小限の依存関係 (ただし、完全にスタンドアロンにすることはできないことは理解しています)
- X11 に依存しない (つまり、直接フレーム qui ライブラリを使用する)
これまでのところ、 Embedded Konquerorしか見つかりませんでした。どんな提案も歓迎します。商用ソリューションも問題ありませんが、オープン ソースが望ましいです。
選択され、私のすべての要件に答える別のオプションQT WebKitを見つけました。
別の更新: ボードに WebKit を使用して組み込み QT ディストリビューションを正常にインストールおよびテストしました。フレーム バッファの構成はシームレスで、タッチ スクリーンのキャリブレーションには時間がかかりましたが、最終的にはすべてが期待どおりに機能しました。
そして、私は Java スクリプトの素晴らしい世界に入ります :) 私ははるかに優れたカーネル ドライバーを扱います。
別の更新: 将来検討する可能性のある別の商用ソリューションを見つけました。組み込みブラウザからのアクセスはこちらから。私は彼らと一緒に仕事をしたことはありませんが、推奨されていたので、公の記録のためにここにも掲載しました。
c++ - telnetクライアント接続がデータの受信を停止し、サーバーはまだ送信中です
私は組み込みLinux環境で働いています。
起動時にtelnetデーモンを起動し、特定のポートを監視し、接続を受信するとプログラムを起動します。
すなわち
PROGA-不規則な間隔でいくつかのデータを出力します。データを出力していないときは、X期間ごとに「ハートビート」タイプの文字列を送信して、クライアントにまだアクティブであること、つまり「ハートビート\ r\n」を通知します。
ランダムな時間が経過すると、クライアント(Linuxバージョンのtelnetを使用します。によって起動されます:telnet xxx.xxx.xxx.xxx 1234)
'heartbeat \ r \n'の受信に失敗します
クライアントが見るデータ:
ハートビートが送信されます:
結果を確認すると、常にの長さですheartbeat
。syslogにログを記録printf()
すると、が適切な間隔で正常に実行されていることがわかります。
それ以来、両方とも成功を返すtcdrainとfflushを追加しましたが、状況を改善していないようです。
どんな助けでもいただければ幸いです。
** UDPATE:サーバー側からwiresharkキャプチャを取得しました。非常に明確に、ハートビートは継続的に送信されています。Hicups、遅延はありません。しかし、クライアントで何か面白いものを見つけました。このテストケースのクライアント(Ubuntu 9.04のtelnet)は、(上記のように)ハートビートの受信を突然停止したようです。Wiresharkはこれを確認し、パケットの大きな一時停止を確認します。クライアントがハートビートの受信を停止すると、(クライアントで)キーストロークを押すと、クライアントのバッファ(すべてのハートビート)からデータが大量に発生するように見えます。クライアント上のWiresharkも、この大量のデータをすべて1つのパケットに表示します。
残念ながら、これが何を意味するのかはよくわかりません。これはラインモードのオン/オフのことですか?行末(\ r \ n)は非常にはっきりと通っています。
**更新2:telnetdの代わりにnetcatを実行すると、問題は再現できません。
linux - ARM ベースの組み込み Linux システムで省電力を行うにはどうすればよいですか?
arm ベースの組み込み Linux プラットフォーム上で実行される小さなアプリケーションを開発する予定です。ただし、そのプラットフォームはバッテリー駆動であるため、省電力の処理方法に関する関連情報を探しています。
まともなバッテリー時間を確保することは一種の重要です。
Linux カーネルはこれに対するサポートを実装していると思いますが、この件に関するドキュメントは見つかりません。
私のプログラムとシステムを設計する方法についての意見は大歓迎です。
Linux カーネルがこの種の問題をどのように解決しようとしているのかについての意見も歓迎します。
その他の質問:
ユーザー空間のプログラムはどれくらいのことをする必要がありますか?
また、カーネルを変更する必要がありますか?
知っておくとよいカーネル システム コールまたは API は何ですか?
更新:
「Free Electrons」サイトの関係者が、この件に関して素晴らしいプレゼンテーションを作成したようです。
- http://free-electrons.com/services/power-management/
- http://free-electrons.com/docs/power
- http://free-electrons.com/docs/optimizations
しかし、他の誰かがこの件についてさらに詳しい情報を持っているのではないでしょうか?
更新:
MeeGo プロジェクトを見に行くという Adam Shiemke のアイデアは、これまでのところ最良のヒントのようです。
現時点では、バッテリ駆動の組込み Linux プロジェクトの中で最高のものかもしれません。
そして、ノキアは通常、この種のことを得意としています。
更新:
下部に「変更された」Linux カーネルがあり、Google の人々が行ったことのいくつかはベースライン/通常の Linux カーネルを使用していないため、Android には注意する必要があります。彼らの電源管理のアイデアの中には、他のプロジェクトで再利用するのが面倒なものもあると思います。
networking - イーサネット・スイッチ・デバイス・ドライバー
内部 MII ポートを介して CPU に接続された、MIPS コアと 5 ポート スイッチ コアを含む SoC をベースにしたネットワーク デバイスを設計しています。
チップ ベンダーが提供するデバイス ドライバは、OS の観点からは 5 ポート スイッチを 1 つのインターフェイスとして表します。このドライバーは VLAN もサポートしており、現在、5 つのポートを 2 つの VLAN グループに分割しています。評価ボードでは、ソフトウェア ブリッジ、ソフトウェア VLAN、およびファイアウォール ルールを組み合わせて、このスキームが何らかの形で機能します。
ただし、外部の 24 ポート スイッチを使用する予定であり、内部スイッチの 2 つのポートを介して SoC に接続され、これらの 2 つのポートはそれぞれ WAN および LAN ポートとして機能し、IP アドレスを持つことができるはずです。であるため、私たちのデザインはリファレンス デザインとは異なって見えます。したがって、これらの 5 つの内部ポートを、OS の観点から別個のインターフェイスとして見せる以外に方法はありません。
次に、これらのインターフェイス WAN および LAN アドレスを割り当て、外部スイッチのインターフェイスを対応する VLAN グループに配置します。
このメカニズムは機能すると思いますか? 次に、これらの異なるインターフェイスを作成した場合、スイッチングはハードウェアではなくソフトウェアで行われることになりますか?
ありがとう。
linux-kernel - Linuxカーネルドライバー:NVRAMアクセスのモデルは何ですか?
ボードにNXPRTCチップ用のRTCドライバーを書き込んだところですが、うまく機能します。このチップには、ユーザースペースアプリケーションで利用できるようにしたいバッテリーバックアップRAMもあります。RTCフレームワークはこれをサポートしていません。たった512バイトですが、シーク可能なCHARドライバーと本格的なBLOCKドライバーのどちらを実行するかを考えています。私はこれまでブロックドライバを実行したことがありませんが、単純なCHARよりも少し多くの情報が必要なようです。
IOCTLSとのインターフェースも可能ですが、それはそれほどクリーンではありません。これらのバイトをユーザーランドで利用できるようにするための最良の方法はどのように感じますか?
[編集]RTCチップがI2Cポートにぶら下がっていて、メモリにマッピングされていないため、mmapingの候補にはならないことを忘れました。[/編集]
python - Pythonに埋め込まれたLinuxデバイスツリーパーサー?
組み込み (PPC または ARM) Linux *.dts (デバイス ツリー ソース) または *.dtb (バイナリ) ファイルを別のツールの XML 構成ファイルに対して検証するユーティリティを作成しようとしています。したがって、dts または dtb ファイルを解析する必要があります。私は本当にこれをPythonでやりたいと思っています。dts または dtb ファイルを解析する Python ライブラリまたはツールを知っている人はいますか? デバイス ツリー コンパイラ (dtc) の Python 実装は完璧ですが、まだ見たことがありません。
embedded-linux - Ubootプログラミングの学習
ubootプログラミングを開始する方法またはソースを提案してください。
linux-kernel - Linux のカーネル空間でプログラムを実行する
Linux カーネル空間でユーザー プログラム (カーネル モジュールではない) を実行したい場合、どのようなオプションがありますか?
KML (カーネル モード Linux) を見てきましたが、それは IA-32 アーキテクチャに固有のものです。クロスプラットフォームで、組み込み Linux システムで動作するソリューションが必要です。