組み込みエンジニアがよく使う推奨ソフトウェアツール

序文:ことわざにあるように、労働者が良い仕事をしたいなら、まず自分の道具を研ぎ澄まさなければなりません。組み込みエンジニアの資格を持っていると、日常的にさまざまな奇妙な問題に対処する必要があるかもしれませんが、このとき、適応性の高いツールは作業効率を大幅に向上させます。個人の実際の使用状況とファンの客観的な感情に従って、著者は組み込み開発でよく使用されるいくつかのソフトウェアを推奨します。このブログが、新しいツールの使用方法を学ぶのに役立つことを願っています。もちろん、読者が他に良いソフトウェアを推奨している場合は、コメント エリアにメッセージを残すこともできます。

推奨ソフトウェアマップ:

著者が現在、組み込みソフトウェア エンジニアリングに熱中していることを考慮して、このブログは組み込みソフトウェア エンジニア向けに良いツールのみを推奨します。

一、Visual Studio コード

VS Code は、Microsoft によって開発されたクロスプラットフォームの軽量コード エディターであり、正式名はVisual Studio Codeです。構文の強調表示、オートコンプリート、リファクタリング、定義の表示などがサポートされており、コマンドライン ツールと Git バージョン管理システムが組み込まれています。ユーザーはテーマやキーボード ショートカットを変更して設定をカスタマイズしたり、拡張機能ストアから拡張機能をインストールしてソフトウェアの機能を拡張したりできます。

個人的に、 Visual Studio Codeの最も強力な点はその自律性であり、多くのギャップやコンパイラを組み合わせて、さまざまな組み込みの研究開発作業を実行できます。例: 著者は Linux ドライバー、STM32、ESP8266/32 (Espressif には特別なプラグイン プラットフォームがあります) によく使用します。の、

Visual Studio Codeはプラグインが豊富なのも大きな特徴です!著者はアムウェイ用のプラグインをいくつか紹介します。

1)、C/C++、これは間違いなく必須です。
2)、C/C++ スニペット、つまり C/C++ コード ブロックを再利用します。
3)、C/C++ Advanced Lint、つまり C/C++ 静的検出。
4)、コードランナー、つまりコードが実行されます。
5)、AutoComplete を含めます。つまり、ヘッダー ファイルを自動的に含めます。
6)、虹括弧、虹中括弧は、コードを読むのに役立ちます。
7)、One Dark Pro、VSCode のテーマ。
8)、GBKtoUTF8、GBKをUTF8に変換します。
9)、ARM。ARM アセンブリ構文の強調表示をサポートします。
10)、中国語 (簡体字)、つまり中国語環境。
11)、vscode-icons、VSCodeアイコンプラグイン、主にリソースマネージャー配下の各フォルダーのアイコンです。
12)、compareit、比較プラグインを使用して、2 つのファイル間の差異を比較できます。
13)、DeviceTree、デバイス ツリー構文プラグイン。
14)、TabNine は AI 自動補完プラグインで、使ったことがある人ならわかる、非常におすすめです。

Ubuntu での組み込み開発の場合、VSCode が最初の選択肢となります。

2. メモ帳++

Notepad++ は、 Windows 用の無料のオープンソーステキスト エディタです。強力な機能を備え、構文の強調表示、マルチウィンドウ同期編集、複数言語および複数プログラミング言語をサポートし、豊富なプラグインをロードできます。Notepad++ には、完全な中国語インターフェイスと UTF8 テクノロジも備えており、コンピュータ プログラム コードの作成やプレーン テキストの説明ファイルの作成に適しています。

ダウンロード アドレス: Notepad++ をダウンロード - 無料 - 最新バージョン (softonic.com)

ユーザーは、コードの折りたたみ、コードヒント、ドキュメントの書式設定、ドキュメントのプレビューなどのプラグインをインストールすることで、Notepad++ の機能を拡張できます。さらに、Notepad++ はカスタム マクロもサポートしており、ユーザーが繰り返しのタスクを迅速に実行したり、バッチでテキストを変更したりするのに役立ちます。

つまり、Notepad++ は、さまざまなタイプのテキストやコードの作成に適した、機能が豊富で使いやすく、拡張性に優れたテキスト エディターです。

3、ビジュアルスタジオ

VSCodeとは異なりVisual Studio はIDEであり、C プログラムの検証や C# プログラムの開発などの緊急時にインストールできます。一部の埋め込み関連シミュレーターも Visual Studio に基づいています。著者は、科学研究用の通常の CUDA コードまたは C++ コードを検証およびシミュレーション作業に Visual Studio を使用します。

Visual Studio には、標準機能に加えて、さまざまな分野のニーズを満たす拡張機能やプラグインが豊富に用意されています。たとえば、ユーザーは C++ 拡張機能をインストールして C++ プログラミングをサポートしたり、Entity Framework 拡張機能をインストールしてデータ アクセスをサポートしたりできます。

4.ケイル・ユーヴィジョン

Keil uVision は、組み込みシステムの開発とデバッグのためにKeilによって開発された統合開発環境 ( IDE )です。Keil uVision は、 C 言語およびその他のプログラミング言語に基づいて、 STM32AVRPICなどを含むさまざまなマイクロコントローラーおよびプロセッサーをサポートしています。

大多数の組み込みエンジニアの中で上記のインターフェイスを知らない人はいないと思いますが、私たちが最も頻繁に関わる STM32 開発は通常 IDE です。もちろん、みんなが批判しているのは、  Keil uVisionの UI インターフェイスが醜すぎるということです。実はもうすぐMDK6が出るのですが、作者の理解によるとUIのデザインはあまり改善されていないようで、MDK6はコレクションのようなものになりそうです!

Keil uVision の主な機能には、コード編集コンパイルデバッグシミュレーションが含まれます。その中で、コード エディターは構文の強調表示、コードの折りたたみ、オートコンプリートなどの機能をサポートしており、開発者がコードを迅速に作成するのに役立ちます。コンパイル関数は、ソース コードを実行可能ファイルまたはライブラリにコンパイルし、ターゲット デバイス上で実行します。デバッグ機能は、シングルステップ実行、ブレークポイント設定、変数監視、その他の機能を含む、開発者によるコードのデバッグとテストに役立ちます。エミュレーション機能は、コードの正確性と信頼性をテストするために、ターゲットデバイスの動作環境をシミュレートできます。

5.STM32CubeMX

STM32CubeMX は、STMicroelectronics が開発したグラフィカル ツールで、STM32 マイクロコントローラを構成および初期化し、C コードを生成します。開発者がマイクロコントローラーのさまざまなペリフェラル、ピン、クロックを迅速に構成および設定できる直感的なビジュアル インターフェイスを提供します。

STM32CubeMX は、HAL ライブラリの STM32 構成プログラムを直接生成できるため、個々の開発者による STM32 シリーズ開発ボードの使用が大幅に容易になります。著者をよく知っている人は、著者のプロジェクトの多くが HAL ライブラリを教育として使用していることを知っているはずです。HAL ライブラリを学習することには多くの利点がありますが、まず STMicroelectronics は多くの開発ボードの標準ライブラリの保守を停止しました。第二に、FreeRTOS などの RTOS は、HAL ライブラリのインターフェイス API 関数を直接提供するため、開発や移植に便利です。

著者は次のように言いたいことがあります。

HAL ライブラリは、将来的にはコード量が少なく、パッケージ化が高くなる傾向にあります。ただし、HAL ライブラリ自体にも、コード効率の低さ、コードの冗長性など、多くの欠点があります。また、CubeMX は主に

六、VMWare ワークステーション

VMware Workstation は、1 台のコンピュータ上で複数のオペレーティング システムとアプリケーションの環境をシミュレートできる強力な仮想マシン ソフトウェアです。

組み込みプロジェクトでは、多くの場合、クロスコンパイル、つまり、ARMアーキテクチャのコードをx86アーキテクチャ上でコンパイルする必要がありますこの種の操作では、多くの場合、Linux システムで実行する必要があります。すべてのオフィスのニーズを考慮して、ほとんどのエンジニアは依然として Windows を日常のオペレーティング システムとして使用しています。したがって、VMware Workstation は日常生活における開発を大幅に促進します。もちろん、ROS やその他の用途でも、VMware Workstation 下の Ubuntu に依存する必要があります

七、QT クリエイター

Qt Creator は、Qt フレームワークに基づいた C++ アプリケーションの開発専用のクロスプラットフォーム統合開発環境 ( IDE ) です。これは、Qt Companyが Windows、Linux、macOS などのオペレーティング システム用に提供する無料のオープンソース ツールです

QT は、組み込みアプリケーション層の開発に属する、組み込みエンジニアの中でも比較的大きな部門とみなすことができます。QTに似た UI 開発プラットフォームはたくさんありますしかし、QT は現在では比較的一般的で成熟していると言えます。優れた C++ スキルを持つ読者や友人は、この分野で成長でき、給与と待遇も非常に良いです。

もちろん、QT は簡単な C++ 入門学習シミュレーションにも使用できます。 

8.モバエクスターム

MobaXterm 最強のシリアルポートデバッグアシスタントと呼びたい!

MobaXterm は、 WindowsおよびLinuxオペレーティング システム用の強力なリモート ターミナル エミュレータですSSH、FTP、Telnetなどのさまざまなタイプのリモート ホストに接続できる統合リモート ターミナルと X サーバーを提供します。ポイントはやはり無料だということです。シリアル ポートや SSH などのプロトコルで通信する場合、ターミナル プラットフォームをコピーして貼り付けることができます。これは非常に優れています。

著者は現在、基本的なLinuxシステム、Raspberry Pi 4Bjeston nanoおよびその他の一連の高度なボードを端末制御およびデバッグとして使用しており、その経験は本当に素晴らしいです。有料のSecureCRTと比べれば、本当にお宝ソフトウェアです!

9. ヴォファ+

VOFA+は、直感的で柔軟かつ強力なプラグイン駆動型の自由度の高いホストコンピューターであり、オートメーション、組み込み、モノのインターネット、ロボティクスなどの電気製品を扱う分野でよく使用されます。VOFA+ の名前は、ボルト/ボルト、オーム/オーム、ファラ/ファラ、アンペア/アンペアに由来しています。これらは電気分野の基本単位であり、電子物理学の分野における 4 人の科学的巨人である発明者と同じ名前を持っています。彼らのイニシャルを合わせて VOFA+ という名前が形成されます。

Vofa+ は、デジタル アニメーションをサポートするホスト コンピューターであり、リアルタイムのデータ変化を直感的に理解するために使用できます。これも無料で、豊富なプラグインは組み込みエンジニアが実際にニーズをデバッグするのにも役立ちます。

VOFA+推奨学習ブログ:http://t.csdn.cn/Qyma8

十、Arduino IDE

Arduino IDE は、Arduino ボードを強化する統合開発環境 (IDE) です。これは、開発者が Arduino ベースの対話型エレクトロニクスをプログラム、編集、アップロード、デバッグするのに役立つ使いやすいツールです。現在、Arduino IDE は ESP8266/32 の開発ニーズに完全に適応しており、この IDE は Arduino の豊富なユースケースとライブラリ機能を提供しています。

一部のエンジニアは、ESP シリーズ開発ボードは純粋なおもちゃであるか、せいぜいモノのインターネットに関与しているだけだと考えているかもしれませんが、そうではありません。ブロガーやMIT、NJUST、国内外の多くの大学の同僚によると、現在、多くの大学が従来のSTM32教育をESP32教育に変更しているそうです。同時に、Espressif は軽量エッジ コンピューティングにおいても優れています。時代は常に流れています、EspressifのESP32シリーズはこれからも輝いていくと信じています!

イレブン、ロジック

Logicは、デジタル論理回路のモデリングおよび解析ツールであり、組み合わせ論理回路、順序論理回路、ステート マシンなどのさまざまなデジタル回路の設計および検証に役立ちます。

ロジック アナライザーは組み込みエンジニアリング向けの非常に一般的な検出ツールであり、ロジック アナライザーは多数あります。しかし、Logicは見た目も機能もとても丈夫です!ただし、値段は高すぎますが、幸いなことに神秘的な東洋のパワーがあります!

12、ユニアプリ

uniapp は、 Vue.jsに基づいてクロスプラットフォームのフロントエンド アプリケーションを開発するためのフレームワークで、開発者は一連のコードを使用して、iOS、Android、Web (レスポンシブ) などの複数のプラットフォームに公開できます。さまざまな小規模プログラムやクイック アプリケーションなどのマルチ プラットフォームをサポートし、開発者がさまざまなアプリケーション シナリオにより柔軟に対応できるようにします。

uniapp の利点は、独自のコミュニティがあり、コンポーネントが豊富で、開発難易度が低いことです。これにより、専門でない APP 開発者でもすぐに独自の APP の開発を開始できるようになります。

uniapp 公式 Web サイト: uni-app クイック スタート | uni-app 公式 Web サイト (dcloud.net.cn)

13.比較を超えて

Beyond Compareは、テキスト、フォルダー、ファイルなどの比較に使用できる包括的な比較ツールで、ユーザーが相違点や類似点を迅速かつ正確に見つけるのに役立ちます。テキスト比較、フォルダー比較、ファイル比較などのさまざまな比較方法をサポートしており、元のファイルの管理、フォルダーの同期の維持、プログラムの出力結果の比較、焼き付けられた CD バックアップの精度の確認に使用できます。

Linux ドライバー エンジニアが新しい開発ボード ドライバーを学習するとき、多くの場合、Beyond Compare を使用して古いドライバー コードを比較する必要があります。このようにして、変更された場所をすぐに見つけることができ、今後の開発でこれらの場所に重点を置く必要があります。

Beyond Compare 公式 Web サイト:ダウンロード | Beyond Compare 中国語公式 Web サイト (beyondcomparepro.com)

14.Git

Git は、プロジェクトへの変更を追跡および管理するために使用される分散バージョン管理システムです。2005 年にLinus Torvaldsによって開始および開発されGit を使用すると、開発者はプロジェクトのバージョン履歴をローカルに保存し、リモート リポジトリと同期して、他のチーム メンバーと共有して共同作業することができます。git initまた、、、、などgit addgit commitgit push、開発者がコード ベースを簡単に 管理できるようにする多くのコマンドとツールも提供します git pull

結論として、Git は、開発者がより効率的に管理および共同作業できるようにすると同時に、優れた柔軟性と拡張性を提供できる強力なツールです。 

15. トレーサライザー

Tracealyzer は、組み込みシステムをリアルタイムでトレースおよび分析するためのツールです。これは、開発者が組み込みシステムのパフォーマンスをより深く理解し、最適化できるようにするために、 MathWorksによって開発されましたTracealyzer は、システムの実行時の動作とイベントをリアルタイムで追跡することにより、組み込みシステムの詳細な分析を提供します。これは、開発者がパフォーマンスのボトルネックを特定し、問題をデバッグし、システム パフォーマンスを最適化するのに役立ちます。

Tracealyzer の主な機能は次のとおりです。

  1. リアルタイム追跡: Tracealyzer は、タスクの実行、割り込み、タイマー、イベントなどを含むシステムの実行時の動作をリアルタイムで追跡できます。
  2. パフォーマンス分析: Tracealyzer は、応答時間、遅延、スループットなどのシステム パフォーマンス指標を分析できます。これは、開発者がパフォーマンスのボトルネックと最適化の機会を特定するのに役立ちます。
  3. デバッグとトラブルシューティング: Tracealyzer は、システム内のエラーと例外をキャプチャし、開発者がデバッグして障害を解決するのに役立つ詳細情報とスタック トレースを提供します。
  4. ビジュアル レポート: Tracealyzer は、タスクとイベントのタイムライン、パフォーマンス メトリック グラフ、スタック トレースなどを含む詳細なビジュアル レポートを生成します。これらのレポートは、開発者がシステムの動作をより深く理解し、最適化戦略を開発するのに役立ちます。
  5. クロスプラットフォームのサポート: Tracealyzer は、Windows、Linux、リアルタイム オペレーティング システムをベースにした組み込みデバイスなど、さまざまな組み込みプラットフォームをサポートします。

16、PyCharm

PyCharm は、Pythonアプリケーションの開発専用に設計された統合開発環境 (IDE) ですこれは、開発者が効率を高め、高品質のPythonコードを作成するのに役立つ多くの機能を提供する強力なツールです

ターゲット検出、自然言語認識など、今日人気の人工知能 AI テクノロジーでは、ほとんどの場合、Pythonニューラル ネットワークのトレーニングが必要です。これには、 PythonIDEの助けが必要になることがよくあります。PyCharm、今日非常に主流の人工知能開発プラットフォームです。組み込み AI エンジニアは、多くの場合、 PyCharmでネットワーク モデルをトレーニングしてから、AI ボードをデプロイする必要があります。

セブンティーン、MATLAB

Matlab は、数学的コンピューティングおよびエンジニアリング アプリケーションのためのプログラミング言語および対話型環境です。MathWorks Corporationによって、科学、工学、金融などのさまざまな分野で広く使用されている科学計算言語およびツールです。おそらくほとんどのエンジニアは、  Matlabは科学研究ツールであり、シミュレーションしかできないと考えているでしょう。実際、MATLAB の .m 言語プログラムを C 言語に変換することで、MCU で高度な制御アルゴリズムを実行できます。

画像フィルタリング アルゴリズムを含めて、Matlab でプレビューを行ってから、移植用に対応する C 言語を作成することもできます。

Matlab 公式 Web サイト: MATLAB - テクニカル コンピューティング言語製品情報 (mathworks.cn)

おすすめ

転載: blog.csdn.net/black_sneak/article/details/131803087