問題タブ [firmware]

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.

0 投票する
3 に答える
3122 参照

c - 組み込み環境での#definevsenum(どのようにコンパイルしますか?)

この質問は死ぬまで行われてきました、そして私は列挙が行く方法であることに同意します。ただし、enumが最終的なコードでどのようにコンパイルされるかについて興味があります。#definesは単なる文字列の置換ですが、enumはコンパイルされたバイナリに何かを追加しますか?それとも、その段階では両方とも同等ですか。ファームウェアとメモリの書き込みが非常に限られている場合、どんなに小さくても、#definesを使用することに利点はありますか?

ありがとう!

編集:以下のコメントで要求されているように、埋め込まれているとは、デジタルカメラを意味します。

答えてくれてありがとう!私はすべてenumsです!

0 投票する
4 に答える
4064 参照

c - マイクロコントローラの「printf」は何のためですか?

特に8051のマイコンのC言語のサンプルコードでprintf命令を見かけますが、マイコンには固定出力表示がないのでprintf命令は何に使うのでしょうか

0 投票する
2 に答える
1801 参照

c - Cで、あるコンパイル単位の静的変数に他のコンパイル単位から直接アクセスする

そのため、ファームウェア用の「クイック アンド ダーティ」プロファイラーに取り組んでいます。一部の機能にかかる時間を知る必要があるだけです。ロギングはコストがかかるため、毎回かかる時間を単純に印刷すると結果が歪められます。そのため、一連の結果を配列に保存し、しばらくしてからダンプしています。

1 つのコンパイル ユニット (1 つのソース ファイル) で作業しているときは、結果を格納する静的配列がたくさんありました。ここで、複数のファイルにわたってこれを行う必要があります。コードを「コピーして貼り付ける」ことはできますが、それは醜いだけです(我慢してください)。別のコンパイル ユニットにタイミング コードを配置し、静的変数を作成し、ヘッダー ファイルにアクセサー関数を提供すると、それらの静的変数にアクセスするたびに関数呼び出しのオーバーヘッドが発生します。

コンパイル単位の静的変数に直接アクセスすることは可能ですか?

私は常にグローバル変数を使用せずにデータをカプセル化しようとしましたが、この状況では単に速度の問題からカプセル化が必要です。

これが理にかなっていることを願っています!ありがとうございました!

編集:わかりましたので、私が求めていることは不可能のようです。本質的に別のコンパイル単位のデータに直接アクセスできるようにする代替手段を見つけた人はいますか?

EDIT2:パブロとジョナサンの回答ありがとうございます。私の状況では(ジョナサンによると)静的データへのポインターを取得する明確な場所がなかったため、最終的にパブロを受け入れることになりました。再度、感謝します!

0 投票する
3 に答える
3203 参照

firmware - ローエンドの携帯電話 (スマートフォン以外) 用のオープン ソース ファームウェアはありますか?

この質問は、iPhone のようなスマートフォンや Android をサポートするスマートフォンとは異なり、50 ドルから 100 ドル程度のローエンドの携帯電話に関するものです。

Nokia 1280、1800 がその例です。

  1. そんな携帯電話の連絡先やSMSなどの基本機能をカスタマイズしたい。だから私はそのような電話の 1 つまたは複数と互換性のあるファームウェアのオープン ソース コードが欲しいですか、それともファームウェアのソース コードと一緒にこの価格帯で携帯電話を販売できるベンダーを知りたいですか?

  2. これらの電話で実行されている OS はありますか? それとも、単一のスレッド化されたファームウェア プログラムですか?

0 投票する
1 に答える
1051 参照

monitoring - ロギングのために SNMP を DD WRT に転送しますか?

独自の GRE VPN 接続を使用するさまざまな場所にまたがる複数のルーター。私がやりたいのは、これらの専用ルーターの SNMP 機能を、各ネットワークの DD WRT と組み合わせて使用​​することです。

DD WRT を使用して、専用ルーターの SNMP ポート設定で帯域幅を監視したいと考えています。

これは可能ですか?

0 投票する
1 に答える
2440 参照

bios - MINI PCI-e ワイヤレス EEPROM をダンプ/書き込む方法、または INSYDE bios イメージを抽出/編集する方法

ラップトップの最新の BIOS アップデートを編集し、新しいカードのデバイス ID をワイヤレス ホワイトリストに追加したいと考えています。BIOS は insyde であり、以前に BIOS アップデートをダウンロードすると、EZH2O で編集できる FD ファイルが提供されました。ただし、新しい bioses は、fd ファイルを抽出する方法がわからない .bin ファイルを提供しています。ハイブマインドから何か考えはありますか?

それができない場合は、HP カードの eeprom をダンプしてから、新しいカードに適切なコードを書き込んで、BIOS チェックをバイパスできるようにすることができます。ドライバーに関する限り、さらに問題があることはわかっています..しかし、この部分については助けが必要です。これまでのところ、Linux ethtool を動作させることができませんでした。他のアイデアはありますか?

どうもありがとう

0 投票する
3 に答える
6311 参照

linux - Linux-Based Firmware, how to implement a good way to update?

Alix 2d13 を使用して Linux ベースのアプライアンスを開発しています。

イメージ ファイルの作成、パーティションの作成、ブート ローダー (syslinux)、カーネル、initrd のインストールを処理し、ルート ファイルシステム ファイルを適切なパーティションに配置するスクリプトを開発しました。

構成ファイルは tmpfs ファイルシステム上にあり、独自のパーティションに存在する XML ファイルを読み取るソフトウェアによって、システムの起動時に作成されます。

ファイルシステムを更新する方法を探していて、2 つの解決策を検討しました。

  • ファームウェアの更新は、カーネル、initrd、および/または rootfs パーティションを含む圧縮ファイルです。このように、再起動時に、initrd は rootfs イメージを適切なパーティションに追加するように注意します。
  • ファームウェア アップデートは圧縮ファイルで、1 つはブート用、もう 1 つはルート ファイルシステム用の 2 つの tar アーカイブを含むことができます。

すべてのソリューションには独自の利点があります。-アーカイブは小さく、更新に必要な時間は短くなりますが、ルートファイルシステムにcaosを短時間で配置できます。

別の解決策として、ファイル リストを配置し、更新前/更新後のスクリプトを tar アーカイブに配置して、ファイル リストに存在しないファイルを削除することもできます。

どう思いますか?

0 投票する
3 に答える
16009 参照

testing - 今日ファームウェアのテストに使用されている利用可能なソフトウェアツールは何ですか?

私はソフトウェアエンジニアであり、ファームウェアテストエンジニアとして採用される予定です。ファームウェアのテストに使用される、市場で入手可能ないくつかのソフトウェアツールについて知りたいだけです。それらを述べ、ファームウェアに提供するテストの種類について少し説明していただけますか?前もって感謝します。

0 投票する
1 に答える
607 参照

reverse-engineering - カメラのファームウェアをカスタマイズできますか?

カメラのファームウェア アップデートがあります。理論上は可能だろうか

それを逆コンパイルし、理解してカスタマイズしますか?

0 投票する
2 に答える
11521 参照

android - Android ファームウェアの更新通知を無効にすることはできますか?

何らかの方法で触れたり操作したりすることを意図していない電話で実行されているアプリケーションがあります。アプリケーションを 24 時間 365 日正しく実行したい。

私が抱えている唯一の問題は、デバイスのファームウェアの更新に関する通知が数週間ごとに表示されることです。アプリの実行がすぐに中断されるわけではありませんが、ファームウェアのダウンロードを受け入れる/拒否する人がいない状態が数日続くと、アプリがクラッシュします。

これらのファームウェア更新ポップアップを無効にする方法、または一般的に自動ファームウェア更新を無効にする方法はありますか?

どうもありがとうございました!!