問題タブ [embedded]
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.
.net - ガベージコレクションのパフォーマンスを向上させる方法は?
ガベージコレクターのパフォーマンスを向上させるために、どのような最適化パターンを使用できますか?
私が尋ねる理由は、CompactFrameworkを使用して多くの組み込みソフトウェアを実行しているからです。低速のデバイスでは、ガベージコレクションが問題になる可能性があるため、ガベージコレクターが起動する回数を減らしたいのですが、発生した場合は、より早く終了するようにします。また、ガベージコレクターに対してではなく、ガベージコレクターを使用すると、.NETまたはJavaアプリケーション、特にヘビーデューティーWebアプリケーションの改善に役立つ可能性があることもわかります。
ここに私の考えのいくつかがありますが、私はベンチマークをしていません。
- 一時的なクラス/配列の再利用(割り当て数を抑えます)
- ライブオブジェクトの量を最小限に抑える(より高速なコレクション)
- クラスの代わりに構造体を使用してみてください
linux - ブラックボックスタイプのデータロギング
私が開発しているLinux組み込みアプリケーションでは、時々発生するいくつかのイベントを記録する必要があります。これらのレコードはMTDフラッシュデバイスに保存され、一度書き込まれると、レコードを変更したり効率的な検索を行ったりする必要はありませんが、データをユーザーに表示するには読み取りアクセスが必要です。大きな問題は、適切なシャットダウンシーケンスがないと、いつでも電源が切れてしまう可能性があることです。これらのイベントが発生する頻度は非常に遅い場合があります(日/週)が、それらのいくつかは一度に発生します。イベントごとに保存されるデータは、日付、時刻、いくつかの短いテキスト文字列、およびいくつかの整数のように強く入力されます。
現在、私はjffs2とSQLiteに基づくソリューションを継承しましたが、DBファイルが破損することがあるため、最適とはほど遠いものです。これが発生すると、ファイル全体が読み取れなくなり、jffs2、SQLite、フラッシュセクターのバグ、または電源が間違ったタイミングで切断されたことが原因であるかどうかを理解する方法がありません。
この種の問題を解決するのに役立つライブラリまたはファイルシステム/ライブラリの組み合わせはありますか?または、CSVのような形式のテキストファイルを使用する必要がありますか?
graphics - 動的(アルゴリズム)グラフィックスの手法
限られたメモリ(512kフラッシュ、32k RAM)を備えた32ビットプロセッサ用のアプリケーションをプログラミングしています。
このデバイスのディスプレイは、16ビットカラーの128x160であり、プロセッサでバッファリングすると、通常は40kRAMを消費します。RAMがあまりないので、画面データをその場で生成するためのテクニック、ヒント、トリック、アイデアを探しています。
役立つかもしれないこと:
- おそらくあなたはこの種の制限のためのリソースを知っています
- 多分あなたはその場で魅力的なグラフィックを生成しました
- ディスプレイをスキャンしているときに、プログラムメモリ内の要素(アルファブレンディングを含む)をオンザフライで組み合わせるために使用できる一般的なアルゴリズムはありますか?
- 単純なベクターレンダリング技術(または無料(bsd / mit / apache)ソース)
- ???
乗算器はありますが、浮動小数点プロセッサはありません。ディスプレイ自体には、ディスプレイ用の非常にシンプルなコントローラーとメモリがありますが、読み取りと書き込みにはコストがかかるため、回避できるのであれば、それをワークスペースとして使用したくありません。
-アダム
c - 組み込みシステムに適した C メモリ アロケータは何ですか?
多数の小さなブロック (32-64b) を割り当てて割り当てを解除する、単一のスレッド化された組み込みアプリケーションがあります。キャッシュベースのアロケーターの完璧なシナリオ。そして、私はそれを書くことを試みることができましたが、おそらく時間の無駄であり、すでに最前線にあるいくつかのソリューションほど十分にテストおよび調整されていません.
では、このシナリオで使用できる最良のアロケーターは何でしょうか?
注: システムで Lua 仮想マシン (割り当ての 80% 以上の原因) を使用しているため、スタック割り当てを使用して割り当てのパフォーマンスを向上させるようにコードを簡単にリファクタリングすることはできません。
embedded - HDLはどこから始めればよいですか?
私は独学の組み込み開発者です。私は主にCとASMでプログラムされたAVRを使用していますが、他のシステムに手を出しています。CPLDやFPGAなどのより複雑なデバイスに移行したいと考えていますが、どこから始めればよいのかわかりません。だから私の1.5の質問は次のとおりです。
- VHDLとVerilogのどちらが好きですか。その理由は何ですか。
- HDLの経験がない人にとって、そのような獣の学習を始めるための良い方法は何ですか?
database - 組み込みシステムの Sqlite
Sqlite を使用して PC 上で生成されたデータベース ファイルがあります。次に、このファイルは、オペレーティング システムなしで ARM7 ベースの組み込みシステムに転送されます。組み込みシステムはこのデータベースにアクセスする必要がありますが、更新する必要はありません。
組み込みシステム用に sqlite3 を十分に小さくしようとしてきましたが、これまでのところ、アプリケーションのサイズを 256 キロバイト (私の限界) 未満にすることはできません。
sqlite3 をこのサイズまで縮小できた人はいますか? このデータベースを読み取るために使用できる他のソフトウェアはありますか?
編集: C を使用してデータベースにアクセスしようとしています。これは sqlite3_exec() 関数を使用して行われます。
2 つのテーブルがあります。1 つのテーブルには ID とテキストがあり、2 番目のテーブルには ID、最初のテーブルの ID へのリンク、テキスト、およびステータス値があります。必要なアクセスは、最初のテーブルの ID または部分テキストによるものと、2 番目のテーブルの ID によるものだけです。
おそらく、データベースへのアクセスに使用できるスタンドアロン コードがいくつかあるのではないでしょうか?
c# - C#からBluebird BIP-1300サーマルプリンターに印刷するにはどうすればよいですか?
私のアプリケーションはローカルでCF2.0で実行されており、http://www.milliontech.com/home/content/view/195/95/'>Bluebirdの組み込みプリンターで印刷するものを接続して送信する方法を知りたいです。 BIP-1300デバイス。
理想的には、C#の例が欲しいです。
前もって感謝します。
c - 'C' コードでリンカー コマンド ファイル変数の絶対値を使用する
スタックのトップ アドレスを変数に割り当てるリンカー コマンド ファイルがあります。
このアドレスを 'c' プログラムで使用したい - スタックを別の場所にコピーしてから、元の RAM バンクで破壊的なメモリ テストを行う前にスタック ポインタを新しい場所を指すように更新したい。
私が何かをするなら、私はそれを見つけています
次に、スタックの場所に格納されている値が関数に渡されるようです
スタック自体のアドレスではなく。誰でも助けることができますか?
embedded - ベアメタルシステムのソフトウェアテスト
OSをサポートしていない組み込みシステム用のプロジェクトをC++で書いています。ライブラリのサポートはほとんどありません。非常にベアメタル。したがって、かなりの量のコードが緊密に結合されています(たとえば、ソフトウェアによってトリガーされる割り込みとそのすぐ上のレイヤー)。
私が行っていることの一部には、シリアルポート構成の変更が含まれます。これにより、PC側(UI側)とマイクロプロセッサー(アクティビティ側)で同時に変更が行われます。私はこれまでのところ、非常に注意深いインクリメンタルタイプの開発(ピースごとにそれをはめ込む)で大丈夫です。ただし、エンジニアリングの意味でコードが機能することについて、より自信を持ってやりたいと思います。
このような状況では、どのような方法論/フレームワークをお勧めしますか?
編集:
Tern、Inc.製のACore86ボードでAMD186 ESを使用しています。コンパイラ:パラダイム、無料版(ボードに同梱)。残念ながら、作業内容を変更するオプションはありません。
c++ - ユーザーが SMS を送信しようとしたときに通知を受け取る
私のアプリケーションはサービスとして実装されています (services.exe の下で実行されます)。ユーザーが SMS を送信したときに通知を受け取る必要がある新機能を追加しています。
を使用して、 と の両方にIMAPIAdviseSink
登録しようとしましたが、通知が届きません。IMAPISession
IMsgStore
その他のオプションとして、ショート メッセージ サービス プロバイダーの作成またはインターフェイスの実装がありIFormProviderEx
ますが、これが SMS 機能とユーザー エクスペリエンスに与える影響についてはわかりません。
Outbox で作成されている SMS の通知をアプリケーションで確実に取得できる方法はありますか?
編集: アプリはネイティブ C++ で記述されています。RIL と他のいくつかの API を調べましたが、着信 SMS の通知に関する情報しか見つかりません。
OK、追加情報: 私のIMAPIAdviseSink
作品をスタンドアロン アプリに登録するための同じコード。サービスで通知を取得できないだけです。
私のサービスで通知を受け取る方法はありますか? それとも、SMS イベントを監視してサービスに通知するための別のプロセスが必要ですか?
マーク