問題タブ [atmel]
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.
c - ARM AT91SAM - コールバック質問によるシンプルな USB 読み取り
コールバックを使用した USB 読み取りについて非常に簡単な質問があります。
バッファへの読み取りを設定し、転送が完了するまで待ってからバッファ内のデータを使用したいと考えています。チップのフレームワークは、転送が正しく開始された場合に成功を返す USBD_Read を呼び出して USB 転送を開始するように設定されています。転送が完了すると、コールバックが呼び出されます。これは私が現在やっている方法です:
//USB 読み取りコールバック
//USBデータを読み取る
// 待っている
//次にデータを使用
私が抱えている問題は、while ループ内で割り込みが呼び出されないように見えることです。while ループをコメントアウトすると、割り込みが呼び出されます。基本的に私の質問は、コールバックを使用して while ループを中断するにはどうすればよいですか?
どうすればこれを修正できますか? または、同じことを達成するためのより良い方法はありますか?
ありがとう
firmware - Atmel UC3 プラットフォームでのファームウェア開発用のシステム設計ドキュメント テンプレート
Atmel UC3 プラットフォーム用のファームウェア開発プロジェクトのシステム設計ドキュメントのテンプレートを入手できるサイトを持っている、または知っている人はいますか?
debugging - AT32UC3A0512のイーサネットブートローダーに関する情報が必要
イーサネットブートローダーの開発を計画しています。そこで、既存のDFUブートローダープログラムを変更したいと思いました。マイクロコントローラーフラッシュ上の既存のブートローダーを削除して、自分のブートローダーを配置したいと思います。
現在、私のMCUはAT32UC3A0512です。私はAVRDragonとAVROneデバッガー/プログラマーを使用しています。AVRDragonまたはAVROneでブートローダー領域を再プログラムすることは可能ですか?または、MKIIデバッガーが必要ですか?
gcc - AT90USB162(Minimus AVR)のCDCデモCOMポートコード
AT90USB162(Minumus AVR USBボードとして統合)をCOMPORTの通信デバイスクラスとして使用する予定です。Minimus AVRホームサイトでは、AVR-USB-162-CDC.zipでCOMPORT hexをチップにビルドするためのコードを提供します(このプロジェクトはWinAVR 4を使用しますが、WinAVR5を使用してビルドすることもできます。BuildAVRStudioを参照してください。4 AVR Studioのプロジェクト5)。コードをビルドするときに、16進ファイルをチップにロードしてリセットします。問題は、Windows 7-64が新しいCOMPORTの追加を認識しないため、デバイスマネージャーから(したがってハイパーターミナルからも)アクセスできないことです。実際、ビルドされたチップをUSBポートに接続しても、何も起こりません。
そのため、Windowsに自分のチップをAT90USB162のUSBCOMPORTとして認識させる必要があります。どうすればいいですか?私は何をしなかったのですか?
AVR-CDCサイトの.hexファイルとドライバーも試しましたが、実際には私のチップ用のドライバーは利用できません(それでもそこから入手できる他のドライバーを使用してみました)。しかし、応答はありません。
アップデート
私はAVR-CDCWindowsドライバーセクションで次のようなメモを見つけました:
(*)Vista / 7 x64は、許可されていないカーネルモードドライバーを受け入れません。システムの起動中は、「ドライバ>署名の強制」をオフにする必要があります。ドライバーに署名するためのツールがあります。Driver SignatureEnforcementOverrider /vista64/Readme64.txtの手順を参照してください。
そのため、Driver Signature Enforcement Overriderをダウンロードするときに、/ vista64/Readme64.txtの指示に従いました。簡単に言えば、WindowsがCDCドライバーlowcdc.sysとlowcdc.infを受信できるようにする必要があります。これはAVR-CDCドライバーに付属しています。
しかし、それでも応答はありませんでした。
アップデート
マイクロチップをWindowsXPSP3マシンにロードしてテストしました。したがって、これはWindows7/64のドライバー署名強制の問題ではありません。
アップデート
私はこれを見つけました:Engbedded AVR Fuse Calculatorですが、これをどのように使用するかについては何もわかりません。
アップデート
ユーザーclawsonのavrfreaksフォーラムから次の回答を得ました。
「usbdeview.exeをダウンロードして、列挙中に何が起こるかを確認してください。提示されたVID / PIDで、正しいドライバーを選択するために.infファイルが必要な可能性があります。
あなたができることの1つは、LUFAをダウンロードして、その中でCDCの例を作成することです。
しかし、それでも機能しませんでした。usbdeviewをダウンロードして、チップを見てみました。しかし、USBポートに接続しても、.hexで書き込まれたファイルがCDCの場合は何も起こりません。
また、LUFAをダウンロードして、CDCの例を作成しようとしました。あまり成功しませんでした。makefileで、MCU = at90usb162、F_CPU = 16000000、FLASH_SIZE_KB = 16、BOOT_SECTION_SIZE_KB = 4、およびその他のパラメーターを変更せずに設定しました。また、AVRStudioプロジェクトの定義を変更してat90usb162に設定しました。16進ファイルは生成的にエラーなしです。しかし、チップを焼き込もうとすると、Flipアプリは「範囲外のアドレスを指定してください」というエラーメッセージを返します。そして最後に、新しい.hexファイルが以前のファイルと同じであることに気付きました(makefileとAVR Studioプロジェクトファイルを変更していません)。
それで、多分誰かがもっと考えを持っていますか?
アップデート
多分それはドライバーの問題ですか?(.hexからの問題ではありませんか?)解決策はありますか?
アップデート
このチップのAtmelアプリケーションノートサイトで、このチップをCDCとして使用する方法を説明し、チップを書き込むためのファイルとWindowsドライバーとして使用するためのファイルを提供するApp Note AVR296:AVRUSBRF01USBRFドングルユーザーガイドを見つけました。提供されたファイルでチップを焼き、Windowsにドライバーをインストールしました。また、WindowsはCOMPORTを正常に認識したため、問題はチップにあるのではなく、おそらくCDCデモコード自体にあります。.a90
.inf
AVRUSBRF01-AT90USB162-usbdevice_cdc_rf-2_0_1.a90
at90usbxxx_cdc.inf
それで、誰かがコードのエラー/間違いがどこにあるかを特定できますか?
arduino - AT90USB162のLUFAコーディング例
USB対応のAVRマイクロコントローラーLUFA(2011-10-09)用のオープンソースUSBライブラリを使用しており、 CDC(ブートローダー)の例をAT90USB162チップにコーディングしようとしています。サンプルコードはフォルダにあり、 AT90USB1287/Bootloads/CDC
用のCDCを構築するために用意されています。そのため、適切なマイクロチップを設定するためにmakefileパラメーターを変更する必要がありました。
makefileで、次のように変更しました。
- MCU = at90usb162
- F_CPU = 16000000
- FLASH_SIZE_KB = 16
- BOOT_SECTION_SIZE_KB = 4
コードを作成しました。これはエラーなしで発生しましたが、.hexファイルを使用してチップを焼き込もうとすると、次のメッセージが返されます。
アドレスが範囲外です
なぜこれが起こるのでしょうか?
アップデート
でmakefile
、BOOT_START
は次のように構成されます。
おそらく、エラーはBOOT_STARTアカウンティングにありますか?もっと何かを設定する必要がありますか?
arm - mmapを使用してARM9g20GPIOを読み取ると機能しません
AtmelのArm99g20のGPIOピンにアクセスしようとしています。以下の私のコードは
、gpio = mmap(0、getpagesize()、PROT_READ | PROT_WRITE、MAP_SHARED、fd、0xFFFFF400);で失敗し続けます。//GPIOAの開始
誰かが私のコードを手伝ってくれて、このこぶを乗り越えるためのI / Oサンプルコードを少し提供してもらえますか?ありがとう。
avr - シリアル番号とは何ですか?
JTAG ICE Mk II エミュレータを ATMEL から USB ドライブに接続しようとしています。32 ビットの ATMEL STK 1000 ボードで開発を行います。
AVR32 Studio を使用していますが、完全に構成できないようです。JTAG は Windows によって認識されますが、AVR32 の接続タブで「シリアル番号」を構成する方法がわかりません。
助けてください...これに関するドキュメントもあまり見つかりません。
c++ - Atmel のマイクロチップ CDC 用の標準 COM ポート コマンド
AT90USB162 Atmel チップを Communication Device Class (CDC) として使用して、一部の外部センサーを一部の Windows アプリケーションに通信しようとしています。
このチップの Atmel アプリケーション ノート サイトで、アプリケーション ノートAVR296: AVRUSBRF01 USB RF ドングル ユーザー ガイドを見つけました。このガイドでは、このチップを CDC として使用する方法が説明されています ( RF目的のためですが、ここでは問題ではありません)。また、このアプリケーション ノートには、チップを焼き付けるファイルと Windows ドライバとして使用するファイルを含む圧縮ファイルAVR296.zipが付属しています。.a90
.inf
AVRUSBRF01-AT90USB162-usbdevice_cdc_rf-2_0_1.a90
そのため、提供されたファイルでチップを焼き付け、at90usbxxx_cdc.inf
Windowsにドライバーをインストールしました。そしてようやく Windows が COM ポートを正常に認識したので、CDC メカニズムを介してチップと通信しようとしています。
では、CDC として動作する Atmel のマイクロチップで使用するための標準的なコマンド リストはありますか?
私がやりたいことは、特定のピン状態を読み取るために USB で接続されたマイクロチップにアクセスする常駐アプリケーションの C++、Windows のようなものです。たとえば、次のようになります。
arduino - ArduinoでサポートされているCPUは何ですか?
ArduinoでサポートされているCPUの違いをまとめた表はありますか?Arduinoで使用できる最低電力のAtmelプロセッサは何ですか?