Multi Source Translation Content

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Multi Source Translation Content

讨论

排序依据:
32kHz発振器が使用できない場合のクロック構成の変更 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> KW41Zで動作するアプリケーションが低電力モードで動作しない場合、デバイスは32kHz発振器なしで動作する可能性があります。ただし、正しく動作させるには、クロック設定を変更する必要があります。 図 1.KW41Zクロック分配 デフォルトでは、KW41Z上で動作するソフトウェアスタックは、32kHz発振器を必要とするクロックソースを選択します。ただし、32kHz発振器が使用できない場合は、クロック構成を変更する必要があります。幸いなことに、それを変更するオプションはすでに実装されており、クロック構成を目的のものに変更するだけで済みます。これを行うには、 app_preinclude.h にある CLOCK_INIT_CONFIG マクロの値を変更しますファイル。 /* Define Clock Configuration */ #define CLOCK_INIT_CONFIG           CLOCK_RUN_32‍‍‍‍‍‍‍‍‍‍ この例で選択したモード CLOCK_RUN_32、選択したクロック モードは BLPE (Bypassed Low Power External) です。このモードでは、FLL は完全にバイパスされ、クロックは外部 RF 発振器 (この場合は 32MHz の外部クロック) から導出されます。 これらのマクロは、クロック設定を変更するためのデフォルトのオプションであり、 ボードにあります。ファイル。最適な構成を選択するのは、アプリケーションと開発者に任されています。 #define CLOCK_VLPR       1U #define CLOCK_RUN_16     2U #define CLOCK_RUN_32     3U #define CLOCK_RUN_13     4U #define CLOCK_RUN_26     5U #define CLOCK_RUN_48_24  6U #define CLOCK_RUN_48_16  7U #define CLOCK_RUN_20_FLL 8U‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 各クロック モードとそのクロック ソースの詳細については、KW41Z リファレンス マニュアルの 「Chapter 5: Clock Distribution」の「Section 5.4 Clock definitions」、および 「Chapter 24: Multipurpose Clock Generator」を参照してください。 KW41Z31Z21Z Re:32kHzオシレーターが利用できない場合のクロック構成の変更 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 有益な投稿をありがとう。いくつか問題/質問があります。 1.)両方の私のボード.hとapp_preinclude.hfiles には、CLOCK_INIT_CONFIG用の #define が含まれています。この変更は、app_preinclude.h の値を更新すると反映されます。上記のようにファイル。 2.)上記のようにCLOCK_INIT_CONFIGをCLOCK_RUN_32に更新すると、OSA_TaskCreate()を実行しようとするとTMR_Init()モジュールがクラッシュします。何か提案はありますか?
查看全文
Linux内核的调试方法 以下是针对内核性能要求或相关问题的一些调试方法。它包括所有常见的方法,例如 oops/panic 问题、内存问题等等。详情请查看附件。 操作系统和系统分析 糟糕/恐慌 地址2线 objdump gdb Pstore Kdump 内存调试 SLAB KASAN Kmem泄漏 性能 Perf Ftrace eBPF/密件抄送 i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano
查看全文
OPENM4.rar <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> The underlying driver source code is opened with mdk5.0. There is also the source code of the ported ucGUI. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> The underlying driver source code is opened with mdk5.0. There is also the source code of the ported ucGUI.
查看全文
Understanding IEEE1588V1-V2 Simple understanding of IEEE 1588 protocol IEEE 1588 is a precision time protocol (PTP) for synchronizing clocks in computer networks. In local area networks, it can control clock accuracy in the sub-microsecond range, making it suitable for measurement and control systems. The IEEE 1588 standard defines a master-slave architecture for clock distribution, consisting of one or more network segments and one or more clocks. The time synchronization protocol in the TSN network uses the IEEE 802.1AS protocol, which is simplified and modified based on the IEEE 1588 protocol and is also called the gPTP protocol. ​ IEEE 1588 protocol is short for Precision Timing Protocol (PTP), and its full name is "Precision Clock Synchronization Protocol Standard for Network Measurement and Control Systems" (IEEE 1588 Precision Clock Synchronization Protocol). The basic principle of its operation is to send synchronized data frames between master and slave nodes, record the sending time and receiving time information of the data frames, and add the time information to the data frames. The slave node obtains this time information, calculates the time deviation between the slave node's local clock and the master clock and the transmission delay between network nodes, and corrects the local clock to synchronize it with the master node clock. There can only be one master clock in a PTP network. The PTP protocol is mainly divided into two parts to achieve clock synchronization function: 1. Establish a synchronization system: The protocol uses the Best Master Clock Algorithm (BMCA) to select a master clock, establish a master-slave topology, and then establish a synchronization system in the entire PTP network. 2. Synchronize local clock: The protocol uses the Local Clock Synchronization Algorithm (LCS) to calculate the time deviation between the local clock of each slave node and the master clock through the exchange of PTP data packets between the master and slave nodes in the network, and adjust the local clock to synchronize it with the master clock. IEEE 1588v1 ​ The clocks in the entire PTP network can be divided into ordinary clocks (OC) and boundary clocks (BC) according to the number of PTP communication ports on them: there is only one ordinary clock, while there are multiple boundary clocks. Boundary clocks are generally used at network nodes with low determinism, such as switches or routers, as shown in the figure below. PTP communication is carried out independently on each port. 1. Boundary Clock: Only one slave port is allowed on the boundary clock, which communicates with the master port of the upper node and synchronizes its local clock with the master port. The remaining ports are master ports, which communicate with the slave ports of the downstream nodes. The boundary clock can connect to different network protocols. 2. Synchronous system establishment process: ​ (1) In the initial state, each node port will listen to the Sync data frame in the network within the specified time; if a Sync data frame is received, the node port will determine the port state according to the best master clock algorithm. If no Sync data frame is received, the node state changes to Pre_Master and assumes itself as the master clock node. At this time, the node port state is the master clock, but no Sync frame is sent. ​ (2) The port status remains Pre_Master for a certain period of time: If a Sync data frame is received within the specified time of the port, the port status is determined by the best master clock algorithm. If the port is determined to be a master clock, it will periodically send Sync frames; if it is determined to be a slave clock, it will accept Sync frames, calculate the deviation, and correct the local clock. If the port does not receive a Sync data frame within this time period, the state is changed to the master clock and the Sync data frame is started to be sent regularly. ​ (3) The status of the master clock and slave clock changes with the change of clock performance and operating status. The figure below shows the state transition in BMCA. 3. Time synchronization establishment process: ​ As shown in the figure below, the PTP synchronization principle As shown in the figure, the Master is the synchronization clock source in the network, which can be considered to be infinitely close to UTC or GPS time. The Slave is the device that needs to be synchronized in the network. Assuming that the path from the Master to the Slave conforms to the symmetric path, the delay on the path is set as Delay, and the time difference between the Master and Slave devices to be synchronized is Offset, that is, the Slave is slower than the Master at the same time by Offset.         The Slave device can calibrate the local clock according to the calculated Offset. However, the 1588V1 protocol relies on the symmetry of the link, that is, the delay from Master to Slave and from Slave to Master is consistent, which is difficult to meet in actual network conditions, so an additional asymmetric algorithm is needed to calculate and compensate for the link delay difference. IEEE 1588v2 ​IEEE1588V2 has made improvements and extensions on IEEE1588V1. Mainly includes: 1. Added independent message mode for point-to-point path delay measurement. The path delay time Delay between port A and port B is: In PTPv1, the average path delay is measured by using Sync frames and Delay_Req frames, but in PTPv2, the Sync frame is not required, and the measurement is performed only through the PDelay_Req data frame series. This is an independent delay measurement process that does not rely on the participation of Sync frames and the establishment of a synchronization system, which improves the measurement accuracy and can obtain a more accurate path delay by averaging the average value after multiple measurements. On the other hand, if the synchronization system in the network changes, there is no need to recalculate the path delay between the nodes. The previously measured delay data can be used directly, which greatly enhances the efficiency of the protocol execution and makes the protocol more convenient and flexible. In PTPv2, the use of the PDelay_req data frame series has become the main method for measuring path delay. 2. Added transparent clock model In PTPv1, all the intermediate nodes in the network adopt the boundary clock model. The boundary clock connected to the only master clock in the network, that is, an ordinary clock, receives the synchronization data frame sent by the master node through its only slave port, and synchronizes with the master clock. The remaining master ports and other boundary clocks connected to them send synchronization data frames, and finally synchronize to the ordinary clock at the edge of the network, thus achieving time synchronization of the entire network. Although this method is feasible, since this method is synchronized step by step, the farther the node is from the master clock, the lower the synchronization accuracy. When some nodes in the network do not need clock synchronization or do not have synchronization function, the transparent clock model can be used. Unlike the BC/OC mode, the transparent clock does not require each node to synchronize with the master clock. Its port only forwards the protocol data frame and adds the calculated data frame retention time to the correction domain. This method makes the processing of PTP data frames simpler, reduces the difficulty of implementing the PTP protocol in the network, and improves the synchronization accuracy of each slave node. There are two models of transparent clock: end-to-end transparent clock and point-to-point transparent clock. (1) End-to-end (E2E) transparent clock The E2E transparent clock does not process ordinary data frames in the network, but only transmits them to allow them to pass normally. However, for PTP event data frames, the residence delay time from the receiving port to the sending port is accumulated to the correction field in the data frame to compensate for the delay error caused by the PTP data frame passing through itself. (2) Point-to-point (P2P) transparent clock Point-to-point (P2P) transparent clock only forwards specific PTP messages, including Sync frames, Follo_Up frames, and Announce frames. It also uses the Pdelay_Req data frame series to calculate the path delay time between each port and the port it is connected to, and then combines it with the delay time between ports and adds it to the time correction domain to compensate for the time delay of the data frame from the source port to the point-to-point transparent clock out port. 3. Adding a single-step clock model The single-step clock model solves the problem of matching Follow_Up frames with Sync frames. The basic synchronization process of the PTP protocol adopts a two-step mode, that is, the master clock node sends a Sync frame and a Follow_Up frame with the Sync frame sending time. Although this method can improve the accuracy of the Sync frame timestamp and improve the synchronization effect, when the network load is large, the data frame is likely to be lost or blocked, resulting in errors in the matching of the two data frames. Set a flag in the PTP data frame to use the single-step mode, and use the difference between the sending time of the Sync frame and the time tag in the data frame as the transmission delay, and add it to the correction field. In this way, the master clock can perform time synchronization calibration through a separate Sync frame without the need for Follow_Up. Single-step mode can reduce network traffic and improve the reliability of synchronization when the network load is large. Single-step mode requires additional auxiliary hardware to help calculate the time correction value and accumulate it into the correction domain, which has relatively high requirements on the real-time performance of the network. BMCA BMCA, or Best Master Clock Algorithm, selects the best performing clock in the network as the master clock, and uses it to establish the network topology, generate a synchronization system, and thus realize the clock synchronization function. The best master clock is selected by transmitting Announce frames in each node in the network, comparing the clock attributes on each node (such as whether the clock is designated as a master or slave clock), the clock level used to identify the accuracy, and the clock type used to identify the clock source type (such as rubidium clock, cesium clock, etc.), as well as clock characteristics such as clock offset and variance, clock address, and clock port number to select the best master clock. When other clock characteristics are the same, the protocol will use the node clock with the smallest port number as the master clock. The IEEE 1588 protocol will form a tree topology with the master clock node as the root node, and to avoid generating loops, the protocol defines those node ports that fail in competition as passive or disabled.
查看全文
What to do if you fail a course at an Australian university <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> What to do if you fail a course in an Australian university? Contact QQ1252839746. You will be expelled from school for cheating, low GPA, or receive an academic warning. The final scores of Australian universities for 2018 S1 have been released one after another. When you get the scores, some people will inevitably feel frustrated. They didn’t take the exam for the content they reviewed, and they didn’t review the content for the exam, so they failed some subjects as expected... Australian universities have always been lenient in admission and strict in graduation! With the release of grades, students are asking what to do if they fail a course. Let's learn how to deal with different situations of failing a course! Less than or equal to 50% of failed subjects in the same semester What does it mean to fail less than or equal to 50% of the subjects? The curriculum of each university is 4 courses per semester. If you fail 1-2 courses in a semester, but have not double failed (failed a course more than twice in a row), the school will not take any action against you. You must strive to pass all 4 courses in the next semester to make up for it! The number of failed subjects in the same semester is greater than or equal to 50%. Greater than or equal to 50% means that if you fail more than 2 courses in a semester, the school will generally take the first action and send you a warning letter! School attendance is less than 80% This has nothing to do with failing a course, but it is very important. If students have an attendance rate of less than 80% during a semester due to various reasons, and there is no reasonable reason for this low attendance rate, the school will first warn you and ask for an explanation. If the reason is not accepted by the school, the school is also qualified to report you to the Immigration Bureau, and the Immigration Bureau may cancel your visa based on the situation. Study hard but still fail the exam If you are a student who works very hard but still cannot control the situation and fails the exam, you should face your problem as soon as possible and summarize the reasons why you failed the exam. It may be because your major is not suitable, your learning ability is not good enough, or there are differences between your learning philosophy and the school... The most important thing for these students is to face their situation and consider transferring schools or changing majors. 警告信解释 When you unfortunately receive a dismissal warning letter, the quality of the written explanation is very important. First, explain the reasons you have listed. They must be uncontrollable factors that lead to poor academic performance. Then express your firm belief that you can complete your studies and list the reasons. Finally, carefully plan how to overcome difficulties and work hard to improve your grades. If you use health reasons as the reason, you must prepare supporting materials, such as a doctor's certificate, and submit them together. After accepting the application, the school will decide that it is necessary to hold a hearing, and will give an explanation after the hearing. Regarding transferring schools, I need to remind you that if you are expelled from a public university, you will not be able to transfer to other public universities to continue your studies, and can only transfer to various private universities or colleges. However, you can start preparing for the transfer immediately after receiving a warning letter from the school and apply for the transfer before the expulsion procedure officially begins. If you apply for transfer before completing 6 months of study, you will first need to obtain an offer from the school you want to transfer to, and then apply for a Release letter from your current school. Your current school will review your application based on the transfer policy and procedures, and then decide whether to issue a Release letter. If you have been studying at the main school for more than six months, the school will generally agree to the student's transfer application. In addition to the expensive tuition fees, failing a course in Australia may also result in forced expulsion and cancellation of your student visa, and you may not be allowed to enter Australia for three years, so you must be cautious about every exam. Australian universities can change grades if you fail a course (Q1252839746) and modify GPA scores if you fail a course to solve problems such as expulsion. General
查看全文
UDOO NEOでWi-Fi経由でロボットアームを制御する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> はじめに 要件 ハードウェアの接続  実装 機能デモ     1. イントロダクション   このドキュメントでは、Linuxを実行しているA9コアと、UDOO NEOボード上でArduinoスケッチを実行しているM4コア間の通信を確立し、Wi-Fi経由でロボットアームをリモート制御する方法について説明します。   図1:ロボットアームに接続されたUDOO NEOボード   UDOO NEOボードの使用開始に関する詳細は、以下を参照してください。 Introduction - UDOO Neo Docs     2. 応募資格 a)UDOObuntuイメージと適切な接続性を備えたUDOO NEOボード。 使用されるLinuxイメージはUDOObuntu 2 RC1またはRC2(Ubuntu 14.04)で、次のリンクからダウンロードできます。      ARM開発ボード |UDOOからの延長サポート ブータブルSDカードの作成およびその他の基本設定については、次のガイドラインを参照してください。      初めてのスタート - UDOO Neo Docs 次に、ターゲットボードのLinux端末とのUSB通信など、接続性を確保するために適切なドライバーをインストールする必要があります。以下のリンクを参照してください。      USB直接接続 - UDOO Neo Docs b) ロボットアーム自体。この場合、使用されるアームには4つのサーボモーターがあり、3つはアーティキュレーション用、1つはクランプの開閉用です。 c)Wi-Fiルーター、およびアームのリモートコントロール用のSSHクライアントアプリケーションを備えた追加のWi-Fiデバイス。     3. ハードウェア接続   a)考慮すべき最初の接続は、Wi-Fiネットワークを構成し、Arduinoスケッチプログラミング用のデスクトップ(VNCクライアント)のリモートビューを構成するために、UDOONEOボードをホストPCとUSB直接接続することです。   b) 次に、4つのサーボモーターで構成されるアーム接続を考慮する必要があります。したがって、モーターは別の電源で駆動し、4つのPWM信号で制御する必要があります。この場合、J4コネクタのPWM_1、PWM_2、PWM_3、およびPWM_4信号(Arduino信号)に接続されます。図 2 は、前述の接続を示しています。   図2:UDOO NEOボードへのサーボモーター接続。     4. 実装   4.1 Wi-Fiネットワークに接続します。UDOO NEOボードの電源を入れた後、USBダイレクト接続はホストPCに仮想NICをインストールし、NEOボードにロードされた構成Webページである「ダッシュボード」にアクセスします。これは、アドレス192.168.7.2の任意のWebブラウザから表示できます。ワイヤレスネットワークには、Webコントロールパネルの[構成]/[ネットワーク設定]から接続できます。 Wi-Fiルーターとの接続を確立した後、図3に示すように、ダッシュボードにNEOボードに割り当てられたIPアドレスを表示する必要があります。後でNEOボードへのワイヤレスアクセスを確立するために、このようなアドレスを覚えておくことが重要です(オプションで、NEOを静的IPアドレスに設定することも、ルーターをNEOボードに同じIPアドレスを割り当てるように設定することもできます)。   図3:NEOボードのIPアドレスを示すダッシュボード。   ダッシュボード、リモート端末、VNCサーバーもWi-FiIPアドレスを使用してWi-Fi経由で利用できるため、USB直接接続を取り外すことができます。   4.2. ArduinoスケッチのプログラミングNEOのリモートデスクトップは、ホストPC上の任意のVNCクライアントで表示でき、NEOのIPアドレス、ユーザー、パスワード(SSHリモートターミナルと同じ)を示します。 UDOObuntuイメージには、UDOO NEOボード用に構成されたArduino IDEがすでに含まれているため、コードの記述を開始するには、イメージを開くだけで済みます。図3は、ターミナルウィンドウとArduino IDEを含むUDOO NEOデスクトップを示しています。スケッチは添付ファイルとして使用できます。   図4:UDOO NEOボードのデスクトップ。   4.3. Arduinoスケッチ機能...Arduinoプログラムは、シリアルポート経由で受信データの待機を開始します。シリアルデータを受信した後、4つのサーボモーターはデフォルトの位置(90°)に初期化されます。シリアルポート通信は、図5に示すように、Arduino側の仮想シリアルポート(Serial0)とマルチコア通信(ttyMCC)用の仮想シリアルポートとの間で確立されます。詳細については、以下のリンクを参照してください。 コミュニケーション - UDOO Neo Docs 図5:コア間の通信。 モーターが初期化されると、各動きは、モーターの角度位置を増減するキーによって定義されますが、クランプは開閉位置に調整されます。 キー「Q」と「W」は最初のモーターを調整します。キー「A」と「S」は2番目のモーターを調整します。キー「D」と「F」は3番目のモーターを調整し、最後に「Z」と「X」のキーを使用してクランプを開閉します。 さらに、キー「R」はすべてのモーターをデフォルトの位置にリセットします。キー「C」はPWM信号を有効/無効にするために使用され、キー「V」はすべてのモーターの角度値を印刷します。 モーターの調整ステップは、マクロ「ANGLE_STEP」で定義されます。単位は度です。     5. 機能デモンストレーション   デモンストレーション機能として、Arduinoスケッチを実行しているUDOO NEOボードはWi-Fiネットワークに接続され、ロボットアームの制御に使用されるSSHアプリを備えたAndroid電話と同じネットワークにも接続されています。図 6 は、前述のロボット アームを制御するアプリの画面キャプチャを示しています。 図6:UDOO NEOにアクセスするSSHアプリ。   最後に、次のビデオはアプリケーションの機能を示しています。   元の添付ファイルは次の場所に移動しました robo_arm.ino.zip
查看全文
プロトタイプTFCタワーボード、Kinetisおよびモータドライバ搭載 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 特長 全般 タワーカードフォームファクタ TRK-MPC5604Bボードと併用するための接続 カメラ・インターフェース 1. フリースケールラインスキャンカメラに直接接続するための5ピンヘッダー 2. 2台目のラインスキャンカメラ用ヘッダー(オプション) 3.RCAカメラインターフェース。LMH1981 Sync ExtractionチップとMCUへのコネクタが付属しており、信号の低解像度(32x32)デコードが可能 サーボ出力 ステアリングサーボに直接コネクタする3ピンヘッダー 1つの追加のサーボヘッダー。 パワー 直接バッテリー電源を受け入れます–オンボードスイッチングレギュレータ5-18V Tower Cardは、他のタワーモジュールに電力を供給します。 モーターコントローラーを除くすべての回路は、オプションでUSBコネクタを介して電力を供給できます バッテリー入力とモーター出力はTyco(TE Connectivity)になります TE Connectivity ネジ留め式端子 http://search.digikey.com/us/en/products/1776275-2/A98036-ND/1826899 モータ・ドライバ 2x MC33887APVW : デュアル、独立した5Aモーター駆動回路 前進、後進、ブレーキをサポートします。 MCU ADCへの電流フィードバックにより、閉ループトルク制御が可能 プログラミング Kinetis MK20DN512ZVLL10MCUとOSJTAGの統合 スタンドアロンで使用することも、タワーシステムの周辺機器として使用することもできます。 追加のI/O K40 からの追加信号は、タワー エッジ カード コネクタにルーティングされます。Hブリッジ、カメラ、サーボの信号をTower Edgeコネクタにルーティングして、別のMCUカードで駆動できます。それぞれジャンパーで切断できます。- 他のすべてのCPUモジュールへの信号をクロスチェックする必要があります。K40が実装されておらず、OSJTAGが実装されていないバージョンを使用する方が簡単でしょうか?また、ジャンパーが必要ない場合もあります。Kinets I/Oを入力に設定するだけです。 デバッグ用の基本的な I/O。4極DIPスイッチ+4個のLED。 タコ信号/スピードセンサーの入力 デザインファイル レヴアルファ 回路図 (2012年4月4日にMyROに送信) - 3Dビューを含む アセンブリプリント (参考用) PCB製造ノート 部品表 Rev Aの正誤表: カメラのピン 4 と 5 (Gnd と +3.3v) が PCB で交換されました。ケーブルのワイヤを交換する必要があります。ピンセットでコネクタハウジングから接点をポップアウトできます。 POT0 には、ピン 26 (ADC1_SE18 .これは、ソフトウェアを簡素化するために、NTSC ビデオを除くすべての信号を ADC1 に配置するために行われました。将来のバージョンでは、アートワークにこの変更が加えられます 一部のコンポーネントがタワーコネクタに干渉します。約95%まで交配できます。正常に動作します。今後のバージョンでこの問題が解決される予定です Revベータ 回路図、アセンブリプリント、BOMなど - 3Dビューを含む Rev B Errata: 誰も知りません! サンプルコードのGoogle Codeリポジトリ: https://code.google.com/p/tfc-twr/ このコードは、ボードの Rev B (および Rev A) で動作します。すべての主要なインターフェースと周辺機器がテスト済みです。ある時点で、コードを確認するビデオを作成します。デフォルトでは、Linescanカメラコードは有効になっています。Main.c のコードは非常に簡単に理解できます。NTSCカメラのコードもありますが、TFC_Config.hで有効にする必要がありますプリプロセッサディレクティブを介してファイルを作成します。 また、OSTAGインタフェース、Labviewデモアプリケーション、USB用ドライバに使用されるコードもあります 写真 OSJTAGを確認しました。K20にダウンロードしたバッテリーのLEDを点滅させるテストプロジェクト Videos サーボ回路のテスト..... ポット、サーボ、Hブリッジ、K20 USBポートのテスト Labviewを使用したLinescan Camera Bringup Labviewを使用したNTSCカメラの起動 1.)これは、ADC、ポート割り込み、およびDMA転送のコンボを使用して持ち込まれるNTSCカメラの基本的なデモです。 2.)ADCを24MHzにオーバークロックして、64x64ピクセルの画像の解像度を追加します(最初の6列はカラーバーストデータが含まれているためジャンクです*) 3.)画像を毎秒数フレームにデシメーションして、WIFI(私が作成したブースターパックカード)を介してLabviewプログラムに送信します。Kinetisはカメラと同じフレームレートでデータを取り込むことができますが、通信スキーム(ASCIIテキスト)にオーバーヘッドがあり、WIFIはUARTを介して駆動されるため、送信速度が大幅に遅くなります。 4.)実際には、すべての行を引っ張ると、メモリに64 x 480ピクセルの画像を取得できます。行を間引いて、labviewディスプレイで64x64の結果を得るだけです。 5.) DMA は、フォアグラウンドでアルゴリズムを実行するために CPU を解放するほとんどの作業を行います。 フリースケール・カップの内容
查看全文
在 u-boot 中添加 SD/eMMC 设备和主机之间的调试消息。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 有时您会遇到 SD/eMMC 问题:“卡对电压选择没有响应!”。您可以添加调试消息来查看 SD/eMMC 与主机之间的通信。 #定义调试 #定义 CONFIG_MMC_TRACE & 在 mmc.c (driver/mmc) 中添加调试消息 int mmc_send_cmd(结构mmc *mmc,结构mmc_cmd *cmd,结构mmc_data *数据) { .. printf("CMD_SEND:%d\n",cmd->cmdidx); printf("\t\tARG\t\t\t0x%08X\n", cmd->cmdarg); .. } => mmcinfo CMD_SEND:0 阿根廷 0x00000000 MMC_RSP_NONE CMD_SEND:8 ARG                     0x000001AA           MMC_RSP_R1,5,6,7        0x00000001 命令发送:55 阿根廷 0x00000000 MMC_RSP_R1,5,6,7 0x00000001 CMD_SEND:0 阿根廷 0x00000000 MMC_RSP_NONE
查看全文
示例 XPC564AKIT PinToggleStationery CW210 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 详细说明: * 应用程序执行基本初始化,将 PLL 设置为最大允许频率, * 初始化中断,通过中断闪烁一个 LED,通过软件闪烁第二个 LED * 循环,初始化并通过 UART 终端显示通知,然后通过终端 ECHO 显示通知。 * 该示例将设备配置为实现最佳性能(OPTIMIZATIONS_ON)。 * 对于 XPC564AKIT324S,它会初始化已安装的外部 SRAM 的 EBI。 * 其目的是提供除 CW 文具之外的高级启动代码。 * ------------------------------------------------------------------------------ * 测试硬件:XPC564AKIT208S 和 XPC564AKIT324S * MCU:SPC5644AMMG1,0M14X 和 SPC5644AMVZ1,0M14X *系统频率:150/132/120/12 MHz * Debugger:       Lauterbach Trace32 *                 PeMicro USB-ML-PPCNEXUS * 目标:RAM、internal_FLASH * 终端:19200-8-无奇偶校验-1 停止位-eSCI_A 上无流量控制 * EVB连接:默认 * ********************************************************************************   注意:它不能与 MPC5642A 设备一起使用,只能与 MPC5644A 和 MPC5643A 一起使用!   对于 MPC5642A 设备,请使用以下项目代替附加项目: 示例 XPC5642AKIT PinToggleStationery CW10.6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 详细说明: * 应用程序执行基本初始化,将 PLL 设置为最大允许频率, * 初始化中断,通过中断闪烁一个 LED,通过软件闪烁第二个 LED * 循环,初始化并通过 UART 终端显示通知,然后通过终端 ECHO 显示通知。 * 该示例将设备配置为实现最佳性能(OPTIMIZATIONS_ON)。 * 对于 XPC564AKIT324S,它会初始化已安装的外部 SRAM 的 EBI。 * 其目的是提供除 CW 文具之外的高级启动代码。 * ------------------------------------------------------------------------------ * 测试硬件:XPC564AKIT208S 和 XPC564AKIT324S * MCU:SPC5644AMMG1,0M14X 和 SPC5644AMVZ1,0M14X *系统频率:150/132/120/12 MHz * Debugger:       Lauterbach Trace32 *                 PeMicro USB-ML-PPCNEXUS * 目标:RAM、internal_FLASH * 终端:19200-8-无奇偶校验-1 停止位-eSCI_A 上无流量控制 * EVB连接:默认 * ********************************************************************************   注意:它不能与 MPC5642A 设备一起使用,只能与 MPC5644A 和 MPC5643A 一起使用!   对于 MPC5642A 设备,请使用以下项目代替附加项目: 示例 XPC5642AKIT PinToggleStationery CW10.6 概述 回复:示例 XPC564AKIT PinToggleStationery CW210 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> CW10.6 现已涉及附加的 ZIP 文件。 回复:示例 XPC564AKIT PinToggleStationery CW210 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi David, 谢谢你的代码。我想在 CW 10.6 下运行这个项目。我计划为 MPC5644A 创建一个项目,剥离其内容并导入相应的文件(.c、.h、您的项目的 .lcf 文件,因为导入器无法处理目标配置。 有什么理由不这么做吗? 此致, Martin
查看全文
[i.MX8DXL] 如何获取 SECO 固件 Hello, 您能分享 seco 固件的页面吗? 我们正在使用 i.MX8DXL A1/B0,想要获得最新的固件。 非常感谢! 回复:[i.MX8DXL] 如何获取 SECO 固件 我刚刚检查了 linux-imx lf-6.12.y,但找不到 imx-seco 固件文件。有人能告诉我在哪里可以找到固件文件吗? 回复:[i.MX8DXL] 如何获取 SECO 固件 Hi @hojames2025  您可以下载它,参考 Linux 发行说明文档i.MX Linux 发行说明   B.R
查看全文
[LPC43xx] LPC43xx系列(深度)掉电唤醒注意事项 目录 1.问题描述 2.原因分析 3.解决方案 3.1 SRAM掉电问题解决方案 3.2 闹钟定时器中断使能问题解决方案 3.3 减计数器寄存器写入问题解决方案 4. 验证注意事项 1.问题描述 LPC43xx系列运行LPCOpen低功耗演示“misc_pmc_states”时,掉电和深度掉电两种模式无法通过Alarm Timer成功唤醒。本文对这一系列问题进行了分析并提出了相应的解决方案。通过 RTC 唤醒也存在同样的问题和解决方案。 2.原因分析 唤醒失败的原因包括以下三个方面。 - SRAM 掉电问题: LPC43xx系列在掉电模式下,只有8K SRAM不掉电,其他SRAM均掉电。从掉电模式唤醒后,程序继续向后执行,不会复位。因此,应确保进入掉电模式时,数据在不掉电的8K SRAM中,这样唤醒后才能继续运行。 - 闹钟定时器中断启用问题: LPC43xx 闹钟定时器中断启用需要一段时间才能生效。如果在进入低功耗模式之前未成功启用,则无法从低功耗模式唤醒。 - Downcounter寄存器问题:在LPC43xx系列中,为了保证在指定的时间唤醒,需要判断设定值是否成功写入Downcounter寄存器。 掉电和深度掉电模式下唤醒失败的原因总结如下表: 3.解决方案 对于掉电唤醒失败,需要根据三个问题来解决。 深度断电唤醒不存在数据丢失问题。因为从深度掉电模式唤醒后,程序又复位并重新执行,不需要之前的数据。因此解决方案跳过了第一个,只需要 3.2 和 3.3。 3.1 SRAM掉电问题解决方案 如手册所示,LPC43xx系列掉电模式下,只有8kB本地SRAM不会掉电。 注意:带有和不带有内部闪存的芯片具有不同的 8K SRAM 地址范围。 对于不带内部闪存的 LPC4330/LPC4350/LPC4370 系列产品,8K SRAM 地址范围为 0x10090000– 0x10092000 (8KB)。LPC4337/LPC4367等带有内部闪存的芯片的地址范围是0x10088000 – 0x1008A000(8KB)。   将数据放置在这个8K SRAM区域可以解决数据丢失的问题。 以LPC4350为例,MCUXpressoIDE中的设置方法如下: 根据Project\Properties\C\C++ Build\MCU设置路径找到如下界面,单独定义这块8K SRAM,地址为0x10090000,大小设置为0x2000。 至此,SRAM区域的掉电问题设置完成。 3.2 闹钟定时器中断使能问题解决方案 为了确保闹钟定时器中断已启用,在其后添加一个while循环轮询,直到成功启用为止。进入src\pmc_states.c中的函数小路。 并添加 while((LPC_ATIMER->ENABLE& 0x01) != 0x01){} 在相应case模式下的Chip_ATIMER_IntEnable(LPC_ATIMER);函数语句之后。 3.3 减计数器寄存器写入问题解决方案 该问题的解决方法与3.2类似。仍然用src\pmc_states.c进入函数路径,并在对应模式的情况下找到LPC_ATIMER->DOWNCOUNTER= RTC_ALARM_TIME*1000(与3.2位置一致)。 在其后添加一个 while 语句: 而(LPC_ATIMER->DOWNCOUNTER!=RTC_ALARM_TIME*1000); 如下图所示。 4. 验证注意事项 当没有内部flash的开发板进行测试时(例如:LPC4370,LPC4350…),比如Hitex LPC4350评估板,需要将启动配置为外部flash启动。参考图如下。 启动时需要将引脚P2_9、P2_8、P1_2、P1-1设置为低、低、高的形式,以SPIFI的形式启动。跳线设置如图所示。
查看全文
bin2txt.pyw <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 次の質問に関連するファイル: MX53 u-bootスプラッシュスクリーンのサポート <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 次の質問に関連するファイル: MX53 u-bootスプラッシュスクリーンのサポート グラフィックスとディスプレイ i.MX53
查看全文
2012年飞思卡尔杯美国赛事 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> John Mc 于 2012 年 4 月 25 日添加 练习时间 第一名(TE Connectivity 挑战赛)——宾夕法尼亚州立大学 第二名(TE Connectivity 挑战赛)——宾夕法尼亚理工学院 第一名(速度)——克拉克森大学 第二名(速度)——宾夕法尼亚理工学院 第三名(速度)——宾夕法尼亚州立大学 合影 练习时间 第一名(TE Connectivity 挑战赛)——宾夕法尼亚州立大学 第二名(TE Connectivity 挑战赛)——宾夕法尼亚理工学院 第一名(速度)——克拉克森大学 第二名(速度)——宾夕法尼亚理工学院 第三名(速度)——宾夕法尼亚州立大学 合影
查看全文
Androidのメディアサーバーでメモリリークをデバッグする方法 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> メディアサーバーのメモリリークを確認します。 libc デバッグレベルを設定します。したがって、libc は割り当てられたすべてのメモリのトレースを記録します。 setprop libc.debug.malloc 1 libc デバッグを有効にするために mediaserver を強制終了します。Androidはメディアサーバーを再起動します。 busybox killall -HUPメディアサーバー 正しく設定すると、以下のログが表示されます。 I/libc ( 3074): /system/bin/mediaserver MALLOC_DEBUG = 1 を使用 (リークチェッカー) メディアサーバーの使用済みメモリをすべてダンプします。 dumpsys media.player -m 割り当て回数 297 合計メモリ 1483423 size   262144, dup    1, 0x401f4c18, 0x400b6152, 0x401a6568, 0x4061a95c, 0x40146cfa, 0x4019639c, 0x40146ec2, 0x4014a1ec, 0x4014a3ca, 0x00008a98, 0x400b67aa size   178192, dup    1, 0x401f4c18, 0x400b6152, 0x4280adae, 0x427ffcee, 0x4280ae6c, 0x427ec75a, 0x427f7e22, 0x42807648, 0x428082ea, 0x415144f0, 0x4151334a, 0x413381d0, 0x401dcbc, 0x401d438c, 0x4014d996, 0x405c3c46, 0x405c7516, 0x405c6ad4, 0x412c02ca, 0x412c0584, 0x4108c64c, 0x4107d622, 0x4107fbf2, 0x4107c19a, 0x400b2eac, 0x400b2a00 メモリ ダンプを 2 回 diff して、メモリ リークがあるかどうかを確認します。ダンプ間で 1 つのビデオ ファイルを再生できます。 差分1.txt 2.txt > diff.txt メディアサーバーのマップファイルを取得します。 mediaserver>/maps の adb pull proc/ 添付のスクリプトを使用して、トレースを関数シンボルとファイル行にマップします。 ./addr2func.py --root-dir=../../ --maps-file=./maps--product=sabresd_6dq diff.txt 注:デバッグにはeng buildを使用する必要があります。 日時:Androidのメディアサーバーでメモリリークをデバッグする方法 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> すごい!!
查看全文
如何在 Android 中使用代理访问网络 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 有时我们需要使用代理来访问以太网网络。以下是在 Gingerbread 和 ICS 中设置代理的步骤。 姜饼 1. Enable http proxy > sqlite3 /data/data/com.android.providers.settings/databases/settings.db“插入安全值(99,'http_proxy','wwwgate0.freescale.net:1080');” 通过此设置,您可以访问网络进行网页浏览。 如果要播放一些http流媒体内容,需要给播放器设置一个属性, > setprop rw.HTTP_PROXY http://wwwgate0-az.freescale.net:1080 2. Disable http proxy > sqlite3 /data/data/com.android.providers.settings/databases/settings.db“从安全中删除名称='http_proxy'” > setprop rw.HTTP_PROXY“” ICS 1. Enable http proxy > setprop net.proxy wwwgate0-az.freescale.net:1080 通过此设置,您可以访问网络进行网页浏览。 如果要播放一些http流媒体内容,需要给播放器设置一个代理属性, >  setprop rw.HTTP_PROXY http://wwwgate0-az.freescale.net:1080 2. Disable http proxy > setprop net.proxy“” > setprop rw.HTTP_PROXY“” Android
查看全文
OV5640 MIPI + i.MX6 SabreSDで1レーンのみ使用 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> MIPIは、1、2、3、および4レーンでのビデオストリーミングをサポートできます。i.MX6 Sabreボードでは、OV5640カメラは1レーンまたは2レーンをサポートし、NXP Linuxカーネルはデフォルトで2レーンを使用します。 1つのレーンのみを使用するには、次の手順に従います。 1 - Linux カーネルのボード デバイス ツリーを変更します。 ファイル /arch/arm/boot/dts/imx6qdl-sabresd.dtsi、エントリ「&mipi_csi」を見つけて、車線を2から1に変更します。 2 - OV5640 が 2 つではなく 1 つのレーンのみを使用するように設定します。 ファイル /drivers/media/platform/mxc/capture/ov5640_mipi.c)で、レジスタ0x300eの値を 0x45 から 0x05 に変更します。このレジスタ セットアップは、構造体 ov5640_init_setting_30fps_VGA にあります。 3 - カーネル ツリー ファイルとデバイス ツリー ファイルを作成します。 4 - カメラをテストします。 単体テストは、ビデオキャプチャをテストするために使用できます。 /unit_tests/mxc_v4l2_overlay.out -di /dev/video1 -ow 1024 -OH 768 -m 1 5 - 本当に 1 つのレーンを使用しているかどうかを確認します。 MIPI_CSI_PHY_STATE Resgister (アドレス 0x021D_C014) は、すべてのデータ レーンとクロック レーンのステータスを提供します。2レーンを使用したビデオストリーミング中、レジスタ値は0x0000_0300と0x0000_0330の間で常に値を変化させます。1 つのレーンのみを使用する場合、このレジスタ値は 0x0000_0300 と 0x0000_0310 の間で常に値を変更します。 ストリーム中にレジスタ値を読み取るには、& /unit_tests/mxc_v4l2_overlay.out -di /dev/video1 -ow 1024 -OH 768 -m 1 & 次に、memtoolを実行します。 /unit_tests/memtool -32 0x021dc014 1 i.MX6DLが1レーンのみでmxc_v4l2_overlay.outを実行 グラフィックスとディスプレイ i.MX6_All i.MX6DL i.MX6Dual i.MX6DualPlus6QuadPlus i.MX6Quad Linux マルチメディア
查看全文
Make it Challenge @ FTF 2012 (英語) <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Added by Joe Grand 日時 2012年6月21日
查看全文
マイクロコントローラに基づく低解像度カメラ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Overview 特長 ブロック図 ボード 設計・リソース Overview カメラ・リファレンス・デザインは、Kinetis KL28Zとスタンドアロン・ペリフェラル・モジュールFlexIOを使用して開発されています。Kinetis KL28ZボードはArm® Cortex-M0®を搭載しており、超低消費電力をサポートするだけでなく、最大96MHzのCPUパフォーマンスを提供します。Kinetis KL28ZのFlexIOモジュールは、カメラ・インターフェースのエミュレートと画像データのキャプチャに使用されます。SPIインターフェースを備えたTFT LCDモジュールを使用して、リアルタイム画像を表示します。DMAは、FlexIOからSRAMにイメージデータをコピーするために使用されます。DAMまたはポーリング方式を使用して、SRAMからSPI TX FIFOに画像データをコピーし、最大15fpsのサンプルレートを実現します。 特長 Kinetis KL2828Z512ボードを搭載し、さまざまな通信プロトコルをエミュレートできる高度に設定可能なモジュールであるFlexIOによるカメラモジュール間の相互作用を可能にします。 このペリフェラルの重要な特徴は、ユーザーがMCU内で直接独自のペリフェラルを構築できることです。 NXPテクノロジーを組み合わせて駆動することで、これらの重要な要素は、カメラからビデオをキャプチャし、LCDパネルにライブで表示することが可能になります。 Kinetisソフトウェア開発キット(SDK)を使用して開発され、Kinetisマイクロコントローラの包括的なソフトウェア・サポートと各マイクロコントローラ・ペリフェラルのドライバ、ミドルウェア、リアルタイムOS、サンプル・アプリケーションを使用して開発され、Kinetisマイクロコントローラでのアプリケーション開発を簡素化および迅速化するように設計されています。 ブロック図 ボード 設計・リソース レガシーデザイン
查看全文
i.MX8Mオーディオシステムの使い方 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> NXP i.MX 8Mは、民生用家庭用オーディオから産業用ビルオートメーション、モバイルコンピュータまで、業界をリードするオーディオ、音声、ビデオ処理を提供します。 i.MX 8M Quadは、以下に示す複数のオーディオインターフェイスをサポートしています。 一般的なオーディオ入出力機能に加えて、オーディオインターフェイスは次の機能をサポートします。 - SAI-1は、384KHz/32ビットで最大16チャンネルのTX(8レーン)と16チャンネルのRX(8レーン)をサポートします。 - SAI-5は、384KHz / 32ビットで最大8チャンネルのTX(4レーン)と8チャンネルのRX(4レーン)をサポートします。 - SAI-2/3/6は、384KHz/32ビットで最大2チャンネルTX(1レーン)と2チャンネルRX(1レーン)をサポートします。 - SAI-2/3/6は、384KHz/32ビットで最大2チャンネルTX(1レーン)および2チャンネルRX(1レーン)をサポートします。 - SAI-1は、一般的なオーディオDACのPCMとDSD操作間のグルーレス切り替えをサポートします - SPDIF-1/2は、すべての入力ビットをオーディオバッファに保存できるRAWキャプチャモードをサポートしています SAI-1/2/3/5/6 と SPDIF-1 は、IOMUX を介してチップ上の GPIO パッドを共有します。オーディオインターフェースがサポートする一般的な使用例を次の表に示します(他にも多くの設定が可能です)。番号は、サポートされているデータレーンです。 各 SAI モジュールの MCLK ピンは、入力または出力として構成できます。出力として構成されている場合、CCM からのSAI_CLK_ROOTはパッド出力にルーティングされます。入力として構成すると、パッドへの外部入力は SAI にルーティングされます。MCLKは、SAIのマスタークロックとして使用できます。次の図は、SAI1を例に、両方の入力/出力オプションを示しています。 各 SAI モジュールは、最大 3 つのマスター クロック入力をサポートします。各 SAI 内の TX および RX サブモジュールは、クロック入力の 1 つをマスター クロックとして個別に選択できます。これにより、1 つの SAI の TX と RX を異なるクロック ソースから実行できます。マスタークロック入力には、次のオプションがあります。 -サイ。MCLK[1]は、CCMまたはSAIのSAI_CLK_ROOTから選択できます。IOMUXのMCLK。これは、SAI が CCM または IO パッドからの独自のクロック ソースのみを使用する、最も簡単なクロック ルーティングです。 -サイ。MCLK[2] は、次のクロック ソースから選択できます。 CCMからのSAI_CLK_ROOTのいずれか。 SAIのいずれか。IOMUXのMCLK。 SPIDFからの他のクロックソース。 -サイ。MCLK[3] には、SAI とまったく同じクロック ソース オプションがあります。MCLK[2]。これにより、TX と RX の両方が、相互に依存することなくすべてのオプションにアクセスできます。 SAI のマスター クロックのクロック オプションは、SAI-1 を例に図に示しています。 MCLK[1]のオプションは、MCLK[2]とMCLK[3]でも利用可能です。このオプションを保持する理由は、i.MX6/i.MX7 プロセッサと同様の SAI クロック構造を提供するためです。マスタークロックのMUXの構成は、IOMUXC_GPRレジスタによって制御されます。クロックの不具合を避けるために、SAI クロックを有効にする前に設定する必要があります。 注 : これらの MUX オン クロックは設計中に欠落するため、シリコンでの実際のインプリメンテーションは次の図に示すように簡略化されます。 すべての SAI インスタンスと SPDIF インスタンスは SDMA をサポートしています。オーディオデータレートを満たすために、2つのSDMAモジュールが使用されます。 SAI-2/3 と SPDIF-1/2 は高いデータスループットを必要としないため、UART/SPI などの他のペリフェラルと共有される SDMA-1 に割り当てられます。SAI-1/4/5/6は、高いサンプルレートとマルチチャンネルオーディオをサポートする必要があり、オーディオ専用のSDMAエンジンであるSDMA-2に割り当てられています。SDMA-2 の周波数は、十分なスループットを確保するために、133/66 ではなく 500/250 に増加しています。 SWがオーディオDMAの進行状況を追跡できるようにするために、SAIモジュールのTX_SYNCとRX_SYNCは外部クロック入力としてGPTにルーティングされます。合計6つのSAIモジュールがあるため、GPTに接続するときにこれらの信号は多重化されます。 - GPT-4/5/6外部クロック入力は、任意の6つのSAIモジュールのTX_SYNCまたはRX_SYNCから選択できます。 - マルチプレクサ選択はレジスタによって制御されIOMUXC_GPR。 - GPT-4/5/6 の MUX セレクト レジスタは、互いに完全に独立しています。 Re:i.MX8Mオーディオシステムの使用 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ありがとうシャオコンフー
查看全文
[KW36, Hybrid] Multiple Bluetooth LE connections + Generic FSK Demo Application [KW36, Hybrid] Multiple Bluetooth LE connections + Generic FSK Demo Application USL: https://community.nxp.com/docs/DOC-344510   Purpose of this document This document provides an example of a hybrid application ( Wireless_UART + GFSK Advertising ) by describing a multi-Bluetooth LE connected node topology communicating in parallel with GFSK (General Frequency Shift Keying). This is another additional example outside of the SDK where we define a hybrid application that demonstrates Bluetooth LE advertising and scanning in parallel with GFSK . reader The purpose of this document is to provide guidance to software developers who want to use, adapt and integrate the GFSK functionality in their Bluetooth low energy applications. Build a development environment Toolchain: - IAR Embedded Workbench 8.32 or higher;     https://www.iar.com/iar-embedded-workbench/ SDK: - This version of firmware has been tested with SDK_2.2.1_FRDM-KW36 and can be used with the following 链接下载:http://mcuxpresso.nxp.com/en/select (Please consider selecting Toolchain/IDE: All toolchains); hardware: - 2 to 5 FRDM-KW36 development boards: https://www.nxp.com/demoboard/FRDM-KW36  Operation process: This demo application is designed for the FRDM-KW36 platform and can be easily integrated into any board using the KW35/36 series MCU . This function is based on the coexistence mechanism on the SDK (Mobile Wireless System - MWS module). Based on the hardware link layer implementation, Bluetooth Low Energy has a higher priority than the GFSK protocol, so GFSK communication is performed in the idle state (inactive period) of Bluetooth Low Energy. For more details about the MWS module, see the Connectivity Framework Reference Manual.pdf in the SDK . Bluetooth low energy supports both central and peripheral roles. Integration of KW36 SDK -下载附件并解压到…\SDK_2.2.1_FRDM-KW36\boards\frdmkw36\wireless_examples\hybrid 文件夹: -打开IAR项目(SDK_2.2.1_FRDM-KW36_2019_07_19\board\frdmkw36\wireless_examples\hybrid\ble_w_uart_gfsk\freertos\iar\ble_w_uart_gfsk_freertos.eww)。 -The project is organized as follows: Function   Switch function: - This function is defined in the BleApp_Handle Keys function in the main.c file; -FRDM-KW36: - SW2 - Start scanning - Central device; - Long press SW2 - start scanning - peripheral devices; (Long press SW2 means pressing the SW2 button for more than 3 seconds) - SW3 - Start / Stop GFSK TX operation (scan); - Long press SW3 - start / stop GFSK RX operation (Long press SW3 means pressing the SW3 key for more than 3 seconds) log : -Serial port outputs different states of the circuit board; -Baud rate 115200 ; verify This solution has been verified with 1 master and 4 slaves as follows:   1. Create a network a. Turn on serial communication for all devices. After reset, you will see the following message: b. On the Central device, press SW2 to start scanning; c. On the peripheral device, long press SW2 to start broadcasting and wait for confirmation on the serial port; d. Repeat steps b and c on all slave devices. e. When the network of the Central device is successfully created, you will see the following: f. Check the air link (connection interval = 312.5ms 😞 2. Verify the functionality of Bluetooth Low Energy: - Write a message from the serial port of each slave (peripheral) (for example: testslaveX ) and check if the message is printed on the serial port of the master. -Perform the same test on the serial terminal of the master device (Central). -Here is an example of this step:   -Air log: 3. Start GFSK communication: - Press SW3 on one of the boards to start GFSK TX operation (Advertisement packet with AdvAddress = 0909090909 ); send an ADV packet over the air every 1 second ( gGenFskApp_TxInterval_c ). - Select another board and long press SW3 to start GFSK RX operation ( RX interval = 100ms = gGenFskApp_RxInterval_c ) -When an ADV packet from address = 0909090909 is received, it will print it out on the serial port as follows: - Over-the-air GFSK TX packets are listed as ADV_NONCONN_IND: 4. Verify GFSK and Bluetooth LE parallel capabilities: - Write a message on the master (Central) serial port and check the feedback on the slave (peripheral) serial terminal: Attached is the source code of this application. Sincere regards Ovidiu appendix BLE+GFSK_Demo_application.zip(https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/wireless-connectivity%40tkb/253/1/BLE+GFSK_Demo_application.zip)  
查看全文