Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
How to locate i.MX6Q pfd issue(ERR006282) without JTAG tools When a board is brought up and  the ddr test by link of "https://community.nxp.com/docs/DOC-96412' hashttps://community.nxp.com/docs/DOC-96412' hashttps://community.freescale.com/docs/DOC-96412' hashttps://community.nxp.com/docs/DOC-96412' has been verified, some of boards will have pfd issue(ERR006282). It is suggested that below method could be used to check the issue.The detail steps are: As boards may have no jtag port, the internal usdhc4 root clock out needs to be remapped. When “CUP not initialized” issue has been seen and in download mode, DDR test tools can be used with the script to remap clock output. Please check the attached for test script and the empty the binary. Put the two files to DDR stress test tool folder “DDR_Stress_Tester\binary\”. The attached ddr-stress-test-mx6dq.bin is an empty file. Please backup the original file first. After eMMC boot failed and in download mode, run command “DDR_Stress_Tester.exe -t mx6x -df test.inc” on PC side. There is no clock output on GPIO19. For normal test, please erase the eMMC chip and boot the board. It will also fail to boot and run into download mode. After run “DDR_Stress_Tester.exe -t mx6x -df test.inc” , clock can be measured from GPIO19 if no PDF issue happens. Below is  the details: The script file. wait = on A: Config GPIO19(ENET_ RST_ PHY_B) as CLKO1 setmem /32 0x020E0254 = 0x3    // Config GPIO19(ENET_ RST_ PHY_B) as CLKO1      On your board, it is R112 for the test point. B: enabled, CKO1 output drives cko2 clock, divide by 5, usdhc4_clk_root setmem /32 0x020C4060 = 0x01820101  // CKO2 enabled, CKO1 output drives cko2 clock, divide by 5, usdhc4_clk_root Hex 0 1 8 2 0 1 0 1 Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Binary 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 And for the normal boot, erase the emmc, and reboot to enter the download mode. There will be no signal output but high voltage on R112. After the script runs, 40Mhz clock will be seen. For the boot fail case, there will be no signal output but high voltage on R112 and 40Mhz clock will be pulled to low. 1: CKO2 enabled 2: divide by 5 3 usdhc4_clk_root 4: CKO1 output drives cko2 clock 5 Re: How to locate i.MX6Q pfd issue(ERR006282) without JTAG tools The attached file test.inc is missing for download. Could you please help upload again? Re: How to locate i.MX6Q pfd issue(ERR006282) without JTAG tools Lily and Johnli, I made modification on English wording and grammar. Please see if the meanings are accuracy. Thanks, Yixing
查看全文
NTAG®スマートセンサー <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> コンディションインサイトで物流の追跡と追跡を拡張します。NTAG SmartSensorは、NFC読み出しによるセンシングとロギングを可能にします。NTAG SmartSensorは、スマートロジスティクス、スマートヘルスケア、ドラッグデリバリー、スマートパッケージングのためのIoTアプリケーションを可能にします。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> コンディションインサイトで物流の追跡と追跡を拡張します。NTAG SmartSensorは、NFC読み出しによるセンシングとロギングを可能にします。NTAG SmartSensorは、スマートロジスティクス、スマートヘルスケア、ドラッグデリバリー、スマートパッケージングのためのIoTアプリケーションを可能にします。
查看全文
使用 5G 固定无线的最后一英里连接——了解市场和解决方案 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 固定无线接入 (FWA) 成为城市/郊区高速宽带连接的一种有吸引力的选择,可以解决“最后一英里问题”。60 GHz 无线网状系统由于相对于光纤网络而言具有吸引力的成本和无需授权的高带宽频谱的部署物流而引起了商业兴趣。NXP 的 Layerscape 产品被设计到 FWA 系统中,旨在利用无线网状网络的众多机会。了解 NXP 的 64 位 Arm ®平台如何推动下一代 FWA 的成功。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 固定无线接入 (FWA) 成为城市/郊区高速宽带连接的一种有吸引力的选择,可以解决“最后一英里问题”。60 GHz 无线网状系统由于相对于光纤网络而言具有吸引力的成本和无需授权的高带宽频谱的部署物流而引起了商业兴趣。NXP 的 Layerscape 产品被设计到 FWA 系统中,旨在利用无线网状网络的众多机会。了解 NXP 的 64 位 Arm ®平台如何推动下一代 FWA 的成功。
查看全文
ホバーゲームズチャレンジ1 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> フライヤーで消火活動 人為的なものであれ、自然的なものであれ、火災を予測し制御することは困難です。火災は数十億ドルの損害をもたらし、町や森林全体を破壊し、最前線のファーストレスポンダーを含む無数の命を危険にさらしています。 HOVERGAMESはあなたの助けになる機会です このコンテストの目的は、HoverGamesのドローンが、山火事から都市火災まで、想像できるあらゆる方法で消防士の職務を支援できるソリューションを構築することです。NXP HoverGamesドローン 開発キットには、飛行ロボットの開発を開始するために必要なものがすべて含まれています。 HoverGamesのドローンで何ができるのか? あなたのドローンは消防チームの調整に役立っていますか?物資を届けたり、通信ネットワークや物流ネットワークを手の届きにくい地域に拡張したりしていますか?燃えている建物をスキャンしてホットスポットを特定しますか?それとも、火災が発生する前に検出して防ぐのでしょうか? ブレインストーミングを始めるために、いくつかのアイデアをご紹介します。 連絡が届きにくいエリアへの通信の拡大 ホットスポットのピンポイント 新たな火災と潜在的な再起動を監視する リソース、動物、危険にさらされている人々を追跡および監視する 誰かを荒野から導き出す 状況認識に関する洞察を提供する 閉じ込められた人に、ガスマスクや照明弾、CBラジオなどのリソースを届ける ドローンへの許可されたアクセスのみを許可する ドローンオペレーターの特定と承認 そのエリアにいてはいけない他のドローンを特定します チャレンジ1「フライヤーで火事と戦う」
查看全文
Dropbox 入门.pdf <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 概述
查看全文
AUT-N1813 車両アーキテクチャのトレンド <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 2015年にいくつかの主要な自動車ブランドがハッキングを公にしたことで、車両のセキュリティに新たな注目が集まっています。車両の電気アーキテクチャにはさまざまな種類があり、地域によって大きなばらつきがありますが、ドメイン指向のセキュアネットワークへの移行が加速しています。このプレゼンテーションでは、接続性とセキュリティが強化された世界におけるセントラルゲートウェイの重要性の高まりについて見ていきます。イーサネットが普及するにつれて、IPルーティングとファイアウォールのトピックと、別のセキュリティレイヤーを追加する上でのその役割が紹介されます。最後に、テレマティクスユニットを超えてネットワーク全体に更新されたOTAソフトウェアを有効にするための中央ゲートウェイの役割について説明します。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 2015年にいくつかの主要な自動車ブランドがハッキングを公にしたことで、車両のセキュリティに新たな注目が集まっています。車両の電気アーキテクチャにはさまざまな種類があり、地域によって大きなばらつきがありますが、ドメイン指向のセキュアネットワークへの移行が加速しています。このプレゼンテーションでは、接続性とセキュリティが強化された世界におけるセントラルゲートウェイの重要性の高まりについて見ていきます。イーサネットが普及するにつれて、IPルーティングとファイアウォールのトピックと、別のセキュリティレイヤーを追加する上でのその役割が紹介されます。最後に、テレマティクスユニットを超えてネットワーク全体に更新されたOTAソフトウェアを有効にするための中央ゲートウェイの役割について説明します。 セキュアなコネクテッド&自動運転車
查看全文
INS-N2025品質 - 製品選択プロセスにおけるますます関連性のある決定基準 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 明日のインターネットは、クラウドに接続された電子ソリューションで私たちを取り囲んでいます。私たちは、彼らが安全、確実、そして最高の品質と信頼性で運営されていることを確信しなければなりません。自動運転車は、究極のコネクテッドデバイスです。このセッションでは、業界の専門家ワークグループによって特定された、自動車と消費者向け部品の間に存在する可能性のある66の重要な違いに焦点を当て、信頼性、品質、および車両の寿命に影響を与えます。市場間の潜在的な違いに関するこの概要は、顧客がコンポーネントを選択する際のガイドとして理想的なツールになる可能性があります。NXPは、自動車、セキュリティ、コネクティビティ、およびハイエンドのコンピュータネットワーキングのリーダーです。製品セグメントとパフォーマンス範囲全体にわたるNXPの機能が、お客様の隠れたリスクの多くにどのように対処し、コネクテッドソリューションへの優れた出発点を提供するかを示します。 ビデオプレゼンテーションを見る <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 明日のインターネットは、クラウドに接続された電子ソリューションで私たちを取り囲んでいます。私たちは、彼らが安全、確実、そして最高の品質と信頼性で運営されていることを確信しなければなりません。自動運転車は、究極のコネクテッドデバイスです。このセッションでは、業界の専門家ワークグループによって特定された、自動車と消費者向け部品の間に存在する可能性のある66の重要な違いに焦点を当て、信頼性、品質、および車両の寿命に影響を与えます。市場間の潜在的な違いに関するこの概要は、顧客がコンポーネントを選択する際のガイドとして理想的なツールになる可能性があります。NXPは、自動車、セキュリティ、コネクティビティ、およびハイエンドのコンピュータネットワーキングのリーダーです。製品セグメントとパフォーマンス範囲全体にわたるNXPの機能が、お客様の隠れたリスクの多くにどのように対処し、コネクテッドソリューションへの優れた出発点を提供するかを示します。 ビデオプレゼンテーションを見る インサイト&イノベーション
查看全文
Sensors Overview
查看全文
NET-N1867 ツールとアイデアによるイノベーションの実現 – QorIQ LS1021コミュニティ・ボード <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ARMベースのプロセッサは、パフォーマンス、機能セット、およびパワーのバランスの取れた組み合わせにより、多くの最先端システムに組み込まれています。イノベーションと市場投入までの時間を短縮する重要な要素の1つは、イネーブルメントです。このセッションでは、NXPが提供するイネーブルメントについて検討し、Community Boardsがどのように機会の範囲を拡大するかを探ります。あなたのアイデアを持ってきてください! <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ARMベースのプロセッサは、パフォーマンス、機能セット、およびパワーのバランスの取れた組み合わせにより、多くの最先端システムに組み込まれています。イノベーションと市場投入までの時間を短縮する重要な要素の1つは、イネーブルメントです。このセッションでは、NXPが提供するイネーブルメントについて検討し、Community Boardsがどのように機会の範囲を拡大するかを探ります。あなたのアイデアを持ってきてください! スマートネットワーク
查看全文
KSDK示例列表 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 当前 KSDK 1.3 的示例位于C:\Freescale\KSDK_1.3.0\examples 中间件示例(tcpip、文件系统)位于C:\Freescale\KSDK_1.3.0\middleware   还有更多示例,创建如下:   KSDK 1.3 使用 KSDK 1.3 的 FTM PWM 实现彩虹色 如何在 KDS3.0 + KSDK1.3 中使用 printf() 将字符串打印到 UART 使用 KSDK 驱动程序驱动 16x2 LCD 将NFC控制器库与KSDK集成 KL43Z 使用 KDS3.0 +KSDK1.3.0 + 处理器专家支持 sLCD 和触摸感应   KSDK 1.2 使用 DMA 和 KSDK 模拟 ADC 灵活扫描模式 编写我的第一个KSDK1.2KDS3.0 中的应用 - Hello World 和使用 GPIO 中断切换 LED 使用 KSDK [FTM + GPIO] 控制直流电机的速度和伺服电机的位置 带 KSDK 的线扫描相机 [ADC + PIT + GPIO] 检测飞思卡尔杯智能赛道中心的简单方法 Kinetis Design Studio 中带有 KSDK 的 FatFs + SDHC 数据记录器 KSDK 段式 LCD 示例 KSDK GPIO驱动程序,带处理器专家 DAC Sinus 演示(使用 PEx + KSDK 1.2 + KDS 3.0) 如何基于KSDK演示代码启动定制的KSDK项目   KSDK 1.1 使用 SDK 和 CMSIS 在 KV31 上实现 FIR 功能的示例项目 如何使用KSDK 1.1.0切换KDS 2.0中的LED和处理器专家 KSDK SPI 主从控制器,带 FRDM-K64F 配置 Kinetis 软件开发套件 (KSDK) 以使用超声波传感器测量距离 Kinetis SDK 1.1.0 的 USB HID 双向通用设备演示项目 配置 Kinetis 软件开发套件 (SDK) 以使用红外 (IR) 传感器测量距离 在 KDS 中编写我的第一个 KSDK 应用程序 - Hello World 和 GPIO 中断   KSDK 1.0 使用 FRMD-K64F + KDS 1.1.0 编写您的第一个 LED 切换应用程序+ KSDK 1.0.0非处理器专家 使用 SDK 的低功耗应用 KSDK I2C EEPROM示例 概述 回复:KSDK示例列表 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 这些示例是否会针对 KSDK 2.0 进行更新 - 这些示例适用于过时的 KSDK 版本,不是吗? 此外,Processor Expert 显然已经过时并且不会进一步开发? 谢谢, 谨致问候,戴夫
查看全文
FRDM-KW40Z Bluetooth LE Controller Usage with the Linux hcitool Bluetooth Low Energy is a standard for Low Power Wireless Networks introduced in the Bluetooth specification 4.0. Its target application domains include medical, sports & fitness, home automation and others. The adoption and development rates of this technology are growing fast helped by the wide availability of hardware support in most modern mobile phones and mobile operating systems. The purpose of this application note is to show how the Freescale FRDM-KW40Z can board with BLE Controller software can be used with the hcitool from the Linux Bluetooth stack over the HCI interface. 1. Introduction The Bluetooth specification has a very well defined interface between the Controller and the Host called the HCI (Host Controller Interface). This interface is defined for and can be used with various transport layers including an asynchronous serial transport layer. A typical scenario of Bluetooth Low Energy hardware use is a development board which has a BLE Controller accessible via serial transport HCI connected to a device on which the BLE Host runs. The device which runs the BLE Host can be any type of embedded device or a PC. PCs running a Linux type OS can use the hcitool from the Linux Bluetooth Stack to interact with a BLE Controller via the HCI interface. The particular use case of  FRDM-KW40Z board with a serial transport HCI interface running over USB CDC and connected to a PC running the Linux Bluetooth stack is shown in the diagram below and will be detailed din the following sections. Figure 1FRDM-KW40Z (BLE Controller) connected to Linux PC (Bluetooth Host Stack) via HCI Serial Transport 2. Loading the HCI Application onto the FRDM-KW40Z First load the hci_app on the FRDM-KW40Z board. The hci_app aplication can be found in the \ConnSw\examples\bluetooth\hci_app folder. 3. Connecting the FRDM-KW40Z to the Computer via a Serial Port After the app is downloaded to the board plug the board into a free USB port of your Linux computer. The following instructions, commands and their output is typical to a Debian based Linux OS. After the board is plugged in run the following command to list the serial ports available. >> dmesg | grep tty [ 0.000000] console [tty0] enabled [ 2374.118201] cdc_acm 1-2:1.1: ttyACM0: USB ACM device In our example the FRDM-KW40Z board serial port is ttyACM0. To test the connection some HCI commands can be sent in hex format from any terminal application to the serial HCI on the FRDM-KW40Z board. In the figure below an HCI_Read_BD_ADDR command and its corresponding Command Complete Event are shown as they were sent and received in hexadecimal format from the moserial serial terminal GUI application. Figure 2: HCI command and response event in hexadecimal format (HCI UART Transport) 4. Connecting the HCI Serial Interface to the Bluetooth Stack To connect the Linux Bluetooth stack to a serial HCI interface the hciattach command must be run as shown below. >> hciattach /dev/ttyACM0 any 115200 noflow nosleep Device setup complete If the the HCI serial interface is successfully attached to the Bluetooth stack then the "Device setup complete" message is shown. The any parameter specifies a generic Bluetooth device. The 115200 parameter is the UART baudrate. The noflow parameter diasables serial flow control. The nosleep parameter disables hardware specific power managment. Run the hciconfig command with no parameters to check the HCI interface id of the newly attached HCI serial device. >> hciconfig hci1:    Type: BR/EDR  Bus: UART     BD Address: 00:04:9F:00:00:15  ACL MTU: 27:4 SCO MTU: 0:0     UP RUNNING     RX bytes:205 acl:0 sco:0 events:14 errors:0     TX bytes:112 acl:0 sco:0 commands:14 errors:0 hci0:    Type: BR/EDR  Bus: USB     BD Address: 90:00:4E:A4:70:97  ACL MTU: 310:10  SCO MTU: 64:8     UP RUNNING     RX bytes:595 acl:0 sco:0 events:37 errors:0     TX bytes:2564 acl:0 sco:0 commands:36 errors:0 In this example the FRDM-KW40Z is assigned the hci1 interface as can be seen from the bus type (Type: BR/EDR  Bus: UART). The hci0 interface is the example shown corresponds to the on-board Bluetooth module from the machine. On some systems the interface might need to be manually started by using the hciconfig interfaceId up command. hciconfig hci1 up 5. Configuring the Bluetooth Device and Listing its Capabilities The hciconfig command offers the possibility of configuring the device and listing the device capabilities. To find all commands supported by the hciconfig tool type the following command. >> hciconfig –h ...display supported commands... Each individual hciconfig command must be addressed to the correct HCI interface as reported above. In our example we use the hci1 interface. Some hciconfig commands require root privileges and must be run with sudo (the "Operation not permitted(1)" error will be returned if a command needs to be run with root privileges). Some useful hci config commands: >> hciconfig hci1 version    -> lists hci device verison information >> hciconfig hci1 revision    -> lists hci device revision information >> hciconfig hci1 features    -> lists the features supported by the device >> hciconfig hci1 commands    -> lists the hci commands supported by the device >> sudo hciconfig hci1 lestates    -> lists the BLE states supported by the device >> sudo hciconfig hci1 lerandaddr 11:22:33:44:55:66    -> set a random address on the device >> sudo hciconfig hci1 leadv 3    -> enable LE advertising of the specified type >> sudo hciconfig hci1 noleadv    -> disable LE advertising Now the newly connected board with a serial HCI is attached to a HCI interface of the Bluetooth stack and is ready to use. 6.    Controlling the Bluetooth Device using the hcitool The hcitool can be used to send HCI commands to the Bluetooth device. A command is available which lists all available hcitool actions. >> hcitool -h ...display supported commands... To target a specific HCI interface use the -i hciX option for an hcitool command. We will use -i hci1 in our examples. The hcitool supports commands for common BLE HCI operations some of which are shown below and also supports sending generic HCI commands using a dedicated option which uses hexadecimal numbers for the OGF (Command Group), OCF (Command Code) and the parameters. The 6 bit OGF and the 10 bit OCF compose the 16 bit HCI Command Opcode. The command parameters are specific to each command. 6.1.  Listing Devices Available to the hcitool An hcitool command can list all available device interfaces. >> hcitool dev Devices: hci1    00:04:9F:00:00:15 hci0    90:00:4E:A4:70:97 The device we are working with is connected to the hci1 interface as seen from the output of the hciconfig command used above. 6.2.  Scanning for Advertising LE Devices The hcitool can be used to perform a LE Device scan. This command requires root privileges. Press Ctrl+C to stop the scan at any time. >> sudo hcitool -i hci1 lescan LE Scan ... 00:04:9F:00:00:13 (FSL_OTAC) ^C A list of addresses and device names will be shown if advertised (< > or < > as define din the specification). 6.3.  Obtaining Remote LE Device Information Using the hcitool To obtain information about a remote LE device a special hcitool command can be used. The hcitool leinfo command creates a connection, extracts information from the remote device and then disconnects. The remote device information is shown at the command prompt. >> sudo hcitool -i hci1 leinfo 00:04:9F:00:00:13 Requesting information ...        Handle: 32 (0x0020)        LMP Version: 4.1 (0x7) LMP Subversion: 0x113        Manufacturer: Freescale Semiconductor, Inc. (511)        Features: 0x1f 0x00 0x00 0x00 0x00 0x00 0x00 0x00 In this example information about a device previously discovered using the hcitool lescan command is shown. 6.4.  Connecting and Disconnecting from a Remote LE Device Connecting to a remote LE device is done using the hcitool lecc command. >> sudo hcitool -i hci1 lecc 00:04:9F:00:00:13 Connection handle 32 As before a previously discovered device address is used. If the connection is successful then the Connection Handle is returned and in our case the Connection Handle is 32. The hcitool con command shows active connections information: address, connection handle, role, etc. >> hcitool con Connections: < LE 00:04:9F:00:00:13 handle 32 state 1 lm MASTER To end a LE connection the hcitool ledc command can be used. It must be provided with the Connection Handle to be terminated, and optionally the reason. The device handle obtained after the connection and shown in the connected devices list is used. >> hcitool –I hci1 ledc 32 >> Listing the connections after all connections are terminated will show an empty connection list. >> hcitool con Connections: >> 6.5.  Sending Arbitrary HCI Commands To send arbitrary HCI commands to a device using the Command CopCode (OGF and OCF) the hcitool cmd command can be used. As an example the HCI_Read_BD_ADDR command is used which has the 0x1009 OpCode (OGF=0x04, OCF=0x009) and no parameters. It is the same command shown in the direct serial port to HCI communication example above. hcitool -i hci0 cmd 0x04 0x0009 < HCI Command: ogf 0x04, ocf 0x0009, plen 0 > HCI Event: 0x0e plen 10   01 09 10 00 15 00 00 9F 04 00 The OpCode OGF (0x04) and OCF (0x009) and no parameters are passed to the hcitool cmd command all in hexadecimal format. The parameters length (plen) is 0 for the command. The response is a Command Complete event (0x03) with the parameters length (plen) 10. The parameters are 01 09 10 00 15 00 00 9F 04 00: 01 is the Num_HCI_Command_Packets parameter 09 10 is the Command OpCode for which this Command Complete Event is returned (in little endian format) 00 is the status – Success in this case 15 00 00 9F 04 00 is the BD_ADDR of the device as listed by the hcitool dev command KW41Z31Z21Z
查看全文
飞思卡尔 ARM ®微控制器概述 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本次会议将概述飞思卡尔 ARM 微控制器以及基于 ARM ® Cortex ® -M4 / M+ 的 Kinetis MCU 和基于 Cortex-A8 和 Cortex-A9 的 i.MX 应用处理器的产品系列路线图。会议还将介绍飞思卡尔专注于 Kinetis MCU 的部分内容,例如 KM、KM 和 KV 系列。 James Huang 主讲 2015 年 5 月 7 日,台北 DwF 展 会话 ID:APF-IND-T1453 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本次会议将概述飞思卡尔 ARM 微控制器以及基于 ARM ® Cortex ® -M4 / M+ 的 Kinetis MCU 和基于 Cortex-A8 和 Cortex-A9 的 i.MX 应用处理器的产品系列路线图。会议还将介绍飞思卡尔专注于 Kinetis MCU 的部分内容,例如 KM、KM 和 KV 系列。 James Huang 主讲 2015 年 5 月 7 日,台北 DwF 展 会话 ID:APF-IND-T1453 i.MX 应用处理器 Kinetis Cortex ® -M 微控制器
查看全文
How To: Get started with IPv6 for MQX RTOS TCP/IP Stack Are you ready for IPv6? The worldwide transition to IPv6 networking is in progress.  Many governments and organizations have already mandated IPv6.  Are your connected products going to be ready? If you need a full-featured traditional host stack with Ipv6 support, Freescale MQX software has a solution for you.  You can even run Ipv4 and Ipv6 at the same time to ease the transition. Check out www.freescale.com/mqx/ipv6 for details and documentation. How to get IPv6? Purchase the add-on at the link above (evaluation available – see below).  The MQX TCP/IP stack (RTCS) supports IPv6 with this optional add-on patch.  Purchasing the add-on gets you all the source code and a year of basic support. How to Evaluate MQX IPv6? Freescale offers a 90-day evaluation of a pre-compiled library for a single low-cost Freescale development platform and toolchain.  In the future, evaluation versions are planned for a broader list of development platforms and toolchains. To evaluate MQX IPv6 today, you will need: MQX RTOS v4.1.1 FRDM-K64F, Freescale Freedom Development Platform for Kinetis K64 IAR Embedded Workbench® for ARM® v7.10.3 Note: Although the evaluation only covers a single board and toolchain, MQX RTCS with IPv6 source code can be purchased for ALL Freescale MCUs and tool-chains supported by MQX RTCS. If you need an evaluation library to support a different board or tool-chain, let me know! Step-By-Step Instructions 1. Obtain a FRDM-K64F Freedom development module from Freescale or a Freescale-authorized distributor (Details at www.freescale.com/frdm-k64f). 2. Plug in the USB cable for the debug connection and the Ethernet cable for the network connection between the board and your computer. 3. Download IAR for ARM® v7.10.3 or later (30-day evaluation available at www.iar.com). 4. Install MQX RTOS 4.1.1 (Available at www.freescale.com/mqxrtos). 5. Now get the evaluation package.  Go to www.freescale.com/mqx/ipv6. 6. Click the Download button, or download tab 7. Click IPv6 for MQX RTOS TCP/IP Stack (90-Day Binary Evaluation) 8. Read the software license agreement.  If it works for you, click I Accept. 9. After you accept, the zip file (e.g. Freescale_MQX_4_1_1_IP6_EVAL.zip) will download. After it downloads, extract the files to the root directory of the MQX 4.1.1 installation (a.k.a. directory).  The default for Windows is C:\Freescale\Freescale_MQX_4_1\. Note: The package does not overwrite or corrupt any MQX files.  It just adds new ones. 10. Open the readme file readme_ip6_eval.txt. The steps in this guide are listed there also. 11. Build the BSP, PSP, RTCS, MFS, and SHELL libraries for FRDM-K64F   a. Open IAR Embedded Workbench   b. Go to File…Open…Workspace.  Browse to \build\frdmk64f\iar   c. Open build_libs.eww 12. Got to Project…Batch Build…  (or press F8) Choose Debug Note, if you are trying to achieve the smallest code size, choose Release instead. Click Make Note: Even though this evaluation provides separate pre-compiled RTCS and SHELL libraries enabled with IPv6. Building RTCS and SHELL is needed to copy over RTCS header files into the appropriate \lib\ folder, which is referenced by application projects.     Wait for the libraries to finish building. 13.  Now, open an example project that has already been configured to use the special Ipv6-enabled rtcs and shell libraries that come with the evaluation.            Available example projects: HTTP Server example RTCS Shell example For this tutorial, I will show the HTTP Server example.      Select Project...Add Existing Project... and browse to \rtcs\examples\httpsrv\build\iar\httpsrv_ip6_frdmk64f 14. Double click on the project name httpsrv_frdmk64f Note: If you chose the Release option in the library builds: Right click on the dropdown box above the project explorer and select the Int Flash Release.  Otherwise chose Int Flash Debug, which is the default. 15. Choose Project… Make (or press F7) to build the project 16. Open the terminal program of your choice. Choose the COM port for the virtual serial connection provided by the board.  Choose 115200 baud. 17. Now, back in IAR. Choose Project…Download and Debug. Wait for it to download to the target and bring up the debug session.  Then click Go. You should see this in the terminal: Starting http server No.0 on IP 192.168.1.202 and fe80::200:5eff:fea8:1ca...[OK] Shell (build: Oct 13 2014) Copyright (c) 2013 Freescale Semiconductor; shell> shell> 18. Type help to see a list of other commands like ipconfig and ping. Windows includes IPv6 support already.  No configuration necessary.  Your computer will already have an auto-configured link-local Ipv6 address. 19. Now open a web browser 20. Type in the Ipv6 address of the board surrounded by brackets [fe80::200:5eff:fea8:1ca].  The webpage served by the board should appear. 21. You’re done.  You can now try out the shell example or use the Ipv6 evaluation library to evaluate it in your own application.  See below. Want to evaluate IPv6 in other applications? It’s easy. 1. In linker options of a user application project, replace the rtcs.a library by rtcs_ip6.a, and the shell.a library by shell_ip6.a 2. In C/C++ compiler preprocessor of a user application project, add defined symbol "RTCSCFG_ENABLE_IP6=1". 3. After that, the application is able to communicate over RTCS IPv6 communication. Best of Luck! Post any comments or feedback you have. Mac Re: How To: Get started with IPv6 for MQX RTOS TCP/IP Stack Hello, I need an example that has a button in the HTML page by sending a command to the microconntrolador and getting an answer. I use the MQX4.0 with MK60DN512 Thanks. Samuel Re: How To: Get started with IPv6 for MQX RTOS TCP/IP Stack Good point!  IPv6 is only a a 1-2 kB (flash) bigger than IPv4.  But when you run dual stack (IPv4 + IPv6) it does Not double the code size because they share common features.    The flash memory requirements look roughly like this: IPv4 with ARP, ICMP,UDP, Sockets enabled:  ~27k  IPv6 with ICMPv6, UDP, Sockets: ~28k IPv4+IPv6 with ARP, ICMP/ICMPv6, UDP, Sockets: ~41k If you add TCP, it increases it about ~14-15k. For RAM, Ipv6 takes just ~100 bytes extra for global data.  I don't have solid numbers on the heap, but I believe it is similar. Thanks, Mac Re: How To: Get started with IPv6 for MQX RTOS TCP/IP Stack Hi Mac. It would be nice to see what the flash and RAM usage is for IPV4 vs IPV6 vs dual stack.
查看全文
eIQ FAQ This document will cover some of the most commonly asked questions we've gotten about eIQ and embedded machine learning. Anything requiring more in-depth discussion/explanation will be put in a separate thread. All new questions should go into their own thread as well What is eIQ? The NXP® eIQ™ machine learning (ML) software development environment enables the use of ML algorithms on NXP EdgeVerse™ microcontrollers and microprocessors, including MCX-N microcontrollers, i.MX RT crossover MCUs, and i.MX family application processors. eIQ ML software is made up of several pieces of enablement including inference engines, neural network compilers and optimized libraries. This software leverages open-source and proprietary technologies and is fully integrated into our MCUXpresso SDK and Yocto development environments, allowing you to develop complete system-level applications with ease. eIQ enablement also enables models to use the new eIQ Neutron NPU found on the MCX-N and i.MX RT700 microcontroller devices and upcoming future NPU enabled embedded devices like i.MX95.  What are the key pieces of eIQ enablement?  eIQ Time Series Studio - PC tool to create and deploy classical machine learning and neural network models for time series analysis eIQ Inference Engines - Included as part of MCUXpresso SDK or Yocto Linux, this software is used to do inferencing of pre-trained neural network models on embedded devices eIQ Toolkit - Contains the Neutron Converter tool for enabling neural network models to be accelerated with eIQ Neutron NPUs eIQ Model Zoo - browse models tested on NXP silicon eIQ Model Watermarking Extension - Enhance copyright protections on custom models eIQ Model Creator - Partnership with ModelCat for vision-based model development How much does eIQ cost? eIQ Time Series Studio, eIQ Toolkit, and eIQ Inference engines are complimentary and royalty free. eIQ Model Creator has a subscription fee with ModelCat.  What is the development flow for developing and deploying AI/ML models with eIQ? There are two options depending on if already have a model or not, or if interested in Time Series or not: 1) Deploy a neural network model using the eIQ Inference Engines 2) Use eIQ Time Series Studio (TSS) to train and deploy a time series model using a simple C library eIQ Inference Engines What is the key enablement for using eIQ Inference Engines? 1) The inference engine, like TensorFlow Lite for Microcontrollers, that is included in the MCUXpresso SDK 2) eIQ Neutron Converter Tool - used to convert a quantized TFLite model into a Neutron-enabled TFLite model that can be parsed by the eIQ software. This is only required if using an eIQ Neutron NPU enabled device.  You can use any workflow to create and train your ML model. The model just needs to be exported as TFLite file so it can be converted by the eIQ Neutron Converter Tool and/or use the TFLM inference engine.  What inference engines are available in eIQ? i.MX apps processors and i.MX RT MCUs support different inference engines. The best inference engine can depend on the particular model being used, so eIQ offers several inference engine options to find the best fit for your particular application.  Inference engines for i.MX: TensorFlow Lite (Supported on both CPU and GPU/NPU) ARM NN (Supported on both CPU and GPU/NPU) OpenCV (Supported on only CPU) ONNX Runtime (Currently only supported on CPU) Inference engines for MCX and i.MX RT TensorFlow Lite for Microcontrollers ExecuTorch (Coming Soon) What devices are supported by eIQ inference engines? eIQ inference engines are available for the following i.MX application processors: i.MX 8M Plus i.MX 8M i.MX 8M Nano i.MX 8M Mini i.MX 8ULP i.MX 8X i.MX 93 i.MX 95 eIQ inference engines are available for the following MCX MCUs: MCX-N eIQ inference engines are is available for the following i.MX RT crossover MCUs: i.MX RT1180 i.MX RT1170 i.MX RT1160 i.MX RT1064 i.MX RT1060 i.MX RT1050 i.MX RT700 i.MX RT685 i.MX RT595 anthony_huereca_0-1730269555807.png Can eIQ inference engines run on other NXP MCU devices? There's no special hardware module required to run eIQ inference engines and it is possible to port the inference engines to other NXP devices.  Is eIQ Toolkit required to use eIQ inference engines?  eIQ Toolkit is required if using a device with an eIQ Neutron NPU as it includes the Neutron Converter tool which is used to convert a model to be accelerated by the NPU.  For devices that do not have an NPU, eIQ Toolkit is optional enablement from NXP to provide an option to generate models that can then be used with the eIQ inference engines. However if you already have your model development flow in place, or want to use pre-created models from a model zoo, you can use those models with eIQ inference engines as well.  What is the eIQ Neutron NPU?  The new eIQ Neutron NPU is a Neural Processing Unit developed by NXP which has been integrated into the MCX N, i.MX RT700, and i.MX95 devices, with many more to come. It was designed to accelerate neural network computations and significantly reduce model inference time. The scalability of this module allows NXP to integrate this NPU into a wide range of devices all while having the same eIQ software enablement.  For more details on the NPU for MCX N see this Community post.  How can I start using the eIQ Neutron NPU?  There are hands-on NPU lab guides available for MCX N or i.MX RT700 that walk through the steps for converting and running a model with the eIQ Neutron NPU. There is also an app note AN14700 - i.MX RT700 eIQ Neutron NPU Enablement and Performance which has more details.  What TFLite operators are supported bythe eIQ Neutron NPU on different devices?  The details and constraints for supported operators can be found in the MCUXpresso SDK documentation.  eIQ Time Series Studio What is eIQ Time Series Studio (TSS)?   eIQ TSS is software application that provides an automated machine-learning workflow that streamlines the development and deployment of time series-based machine learning models across microcontroller (MCU) class devices such as the MCX portfolio of MCUs and i.MX RT portfolio of crossover MCUs. Time Series Studio supports a wide range of sensor input signals, including voltage, current, temperature, vibration, pressure, sound, time of flight, among others, as well as combinations of these for multimodal sensor fusion. The automatic machine learning capability enables developers to extract meaningful insights from raw time-sequential data and quickly build AI models tailored to meet accuracy, RAM and storage criteria for microcontrollers. The tool offers a comprehensive development environment, including data curation, visualization and analysis, as well as model autogeneration, optimization, emulation and deployment. eIQ Time Series Studio was previously included in eIQ Toolkit but is now available as a standalone installer for both Windows and Linux. A web based version is also under development.   What devices are supported by the eIQ Time Series Studio?   TSS will generate a C library that can be included in your application and does not require an Deep Learning inference engine, so it can be deployed to a much wider range of NXP devices as it has very minimal flash and RAM requirements.  MCX FRDM-MCXA153 FRDM-MCXC444 FRDM-MCXN947 FRDM-MCXW17 i.MX RT MIMXRT1060-EVK MIMXRT1170-EVK MIMXRT1180-EVK i.MXRT685 i.MXRT595 i.MXRT700 LPC LPC55S69-EVK Kinetis FRDM-K66F FRDM-KV31F FRDM-K32L3A6 DSC MC56F83000-EVK MC56F80000-EVK i.MX i.MX93 i.MX 8M Plus Can eIQ Time Series Studio create models that can take advantage of the eIQ Neutron NPU?  Yes, TSS now supports creating both Classical Machine Learning (CML) models as well as Neural Network models. Neural Network models can be accelerated by the NPU. However in many cases it will make more sense to use the CML models for time series applications as they can be just as accurate for many time series datasets but will be much faster and use far less memory due to their smaller model size. Even when using NPU acceleration Neural Network models can be slower than their far smaller CML model counterparts. However in some situations Neural Networks may give better accuracy for complex multi-modal analysis. TSS make it easy to determine if a NN or CML model is the best fit for a particular dataset.  But as many time series applications perform well with CML models then it opens up running time series AI on a wide variety of devices even if they do not have an integrated NPU.  How can I start using the eIQ Time Series Studio tool?  There is a hands-on lab guide available to walk through how to use the tool as well as documentation and guides in the tool itself.  General eIQ Questions How can I get eIQ? For MCU devices: eIQ inference engine libraries and examples are included as part of MCUXpresso SDK for supported devices. Make sure to select the “eIQ” middleware option. eIQ Neutron Converter Tool that converts your own neural network model to use the Neutron NPU can be found in eIQ Toolkit.  eIQ Time Series Studio is available as a standalone installer For i.MX devices: eIQ is distributed as part of the Yocto Linux BSP. Starting with the 4.19 release line there is a dedicated Yocto image that includes all the Machine Learning features: ‘imx-image-full’. For pre-build binaries refer to i.MX Linux Releases and Pre-releases pages. There is eIQ Toolkit - for model conversion.   What documentation is available for eIQ? For i.MX RT and MCX devices:  eIQ MCUXPresso SDK documentation can be found online here.  For i.MX devices: The eIQ documentation for i.MX is integrated in the Yocto BSP documentation. Refer to i.MX Linux Releases and Pre-releases pages. i.MX Reference Manual: presents an overview of the NXP eIQ Machine Learning technology. i.MX Linux_User's Guide: presents detailed instructions on how to run and develop applications using the ML frameworks available in eIQ (currently ArmNN, TFLite, OpenCV and ONNX). i.MX Yocto Project User's Guide: presents build instructions to include eIQ ML support (check sections referring to ‘imx-image-full’ that includes all eIQ features). It is recommended to also check the i.MX Linux Release Notes which includes eIQ details. For i.MX devices, what type of Machine Learning applications can I create?  Following the BYOM principle described above, you can create a wide variety of applications for running on I.MX. To help kickstart your efforts, refer to PyeIQ – a collection of demos and applications that demonstrate the Machine Learning capabilities available on i.MX. They are very easy to use (install with a single command, retrieve input data automatically) The implementation is very easy to understand (using the python API for TFLite, ArmNN and OpenCV) They demonstrate several types of ML applications (e.g., object detection, classification, facial expression detection) running on the different compute units available on i.MX to execute the inference (Cortex-A, GPU, NPU). Can I use the python API provided by PyeIQ to develop my own application on i.MX devices? For developing a custom application in python, it is recommended to directly use the python API for ArmNN, TFLite, and OpenCV. Refer to the i.MX Linux User’s Guide for more details. You can use the PyeIQ scripts as a starting point and include code snippets in a custom application (please make sure to add the right copyright terms) but shouldn’t rely on PyeIQ to entirely develop a product. The PyeIQ python API is meant to help demo developers with the creation of new examples. What eIQ example applications are available for MCUs? eIQ example applications can be found in the \boards\ \eiq_examples directory:  What are Glow and DeepViewRT inference engines in the MCUXpresso SDK?  These are inference engines that were supported in previous versions of eIQ but are now deprecated as new development has focused on TensorFlow Lite for Microcontrollers. These projects are still available in MCUXpresso SDK 2.15 for legacy users, but it is highly recommended that any new projects use TensorFlow Lite for Microcontrollers.   How can I learn more about using TensorFlow Lite with eIQ? There is a hands-on TensorFlow Lite for Microcontrollers lab available. There is also a i.MX TensorFlow Lite Lab that provide a step-by-step guide on how to get started with eIQ for TensorFlow Lite for i.MX devices.  What application notes are available to learn more about eIQ? i.MX RT700 eIQ Neutron NPU Enablement and Performance  Anomaly Detection App Note  Handwritten Digit Recognition  Datasets and Transfer Learning App Note  Security for Machine Learning Package  i.MX 8M Plus NPU Warmup Time App Note  What is the advantage of using eIQ instead of using the open-sourced software directly from Github? eIQ supported inference engines work out of the box and are already tested and optimized, allowing for performance enhancements compared to the original code. eIQ also includes the software to capture the camera or voice data from external peripherals. eIQ allows you to get up and running within minutes instead of weeks. As a comparison, rolling your own is like grinding your own flour to make a pizza from scratch, instead of just ordering a great pizza from your favorite pizza place.  Does eIQ include ML models? Do I use it to train a model? eIQ has options to both create model and run pre-existing models so you can Bring Your Own Model (BYOM) and run it on NXP embedded devices. eIQ provides the ability to run your own specialized model on NXP’s embedded devices.  MCUXpresso SDK and the i.MX Linux releases come with several examples that use pre-created models that can be used to get a sense of what is possible on our platforms, and it is very easy to substitute in your own model into those examples. eIQ Time Series Studio can be used to create and deploy time series models eIQ Model Creator is an option to create your own vision based models with our partner ModelCat I’m new to AI/ML and don’t know how to create a model, what can I do? A wide variety of resources are available for creating models, from labs and tutorials, to automated model generation tools like eIQ Time Series Studio, eIQ Model Creator, Google Cloud AutoML, Microsoft Azure Machine Learning, or Amazon ML Services, to 3 rd party partners like ModelCat, SensiML and Au-Zone that can help you define, enhance, and create a model for your specific application. I’m interested in anomaly detect or time series models on microcontrollers, where can I get started? The eIQ Time Series Studio (TSS) tool, included as part of the eIQ Toolkit, is perfect for getting started with time series or anomaly detection models. It allows you to import time series datasets, generate models, and deploy them to NXP microcontrollers.  There is also ML-based System State Monitor Application Software Pack which provides an example of gathering time-series data, in this case vibrations picked up by an accelerometer, and includes Python scripts to use the data that was collected to generate a small model that can be deployed on many different microcontrollers (including i.MX RT1170, LPC55S69, K66F) for anomaly detection. The same concepts and technique can be used for any sort of times series data like magnetometers, pressure, temperature, flow speed, and much more. This can simplify the work of coming up with a customer algorithm to detect the different states of whatever system you're interested in, as you can let the power of machine learning figure all that out for you.  There is also an on-device trained anomaly detection model example that can be found on the Application Code Hub. Troubleshooting: Why do I get an error when running Tensorflow Lite Micro that it "Didn't find op for builtin opcode"? The full error will look something like this: Didn't find op for builtin opcode 'PAD' version '1' Failed to get registration from op code ADD Failed starting model allocation. AllocateTensors() failed Failed initializing model The reason is that with MCUXpresso SDK, the TFLM examples have been optimized to only support the operands necessary for the default models. If you are using your own model, it may use extra types of operands. To fix this issue, add that operator to MODEL_GetOpsResolver function found in source\model\model_name_ops_npu.cpp Also make sure to also increase the size of the static array s_microOpResolver to match the number of operators An alternative method is also described in the TFLM Lab Guide on how to use the All Ops Resolver. Add the following header file #include"tensorflow/lite/micro/all_ops_resolver.h" and then comment out the micro_op_resolver and use this instead:  //tflite::MicroOpResolver &micro_op_resolver = //MODEL_GetOpsResolver(s_errorReporter); tflite::AllOpsResolver micro_op_resolver; Why do I get the error “Internal Neutron NPU driver error 281b in model prepare!” or "Incompatible Neutron NPU microcode and driver versions!" when using the Neutron NPU? The version of the eIQ Neutron Converter Tool needs to be compatible with the NPU libraries used by your project. See more details in this post on using custom models with eIQ Neutron NPU.  Sometimes in eIQ Toolkit the Validation page hangs and it stays stuck on "Converting Model". How do I work around this?  On the Validation section of the wizard, you will need to wait for the "Input Data Type" and "Output Data Type" selection boxes to be populated before clicking on the "Validation" button at the bottom. It may take a minute or two for those selection boxes to pop up on the left hand side. Once they do, then click on Validate and it should no longer hang.  How do I use my GPU when training with eIQ Toolkit? eIQ Toolkit 1.10 only supports GPU training on Linux due to the latest TensorFlow versions no longer supporting GPU on Windows.  Why do I get a blank or black LCD screen when I use the eIQ demos that have camera+LCD support on RT1170 or RT1160? There are different versions of the LCD, so you need to make sure you have the software configured correctly for the LCD you have. See this post for more details on what to change. There is a Javascript error in Time Series Studio when I start the training.  There is a bug where if the eIQ Portal window is closed after opening the Time Series Studio then that error comes up. Try relaunching Time Series Studio but keep the original eIQ Portal window open.  The eIQ Time Series Studio in eIQ Toolkit v1.17 is v1.3.4 but it says there's a newer version?  The eIQ Toolkit v1.17 contains an older version of eIQ Time Series Studio. The latest version can always be found on the eIQ Time Series Studio website. General AI/ML: What is Artificial Intelligence, Machine Learning, and Deep Learning? Artificial intelligence is the idea of using machines to do “smart” things like a human. Machine Learning is one way to implement artificial intelligence, and is the idea that if you give a computer a lot of data, it can learn how to do smart things on its own. Deep Learning is a particular way of implementing machine learning by using something called a neural network. It’s one of the more promising subareas of artificial intelligence today. This video series on Neural Network basics provides an excellent introduction into what a neural network is and the basics of how one works.  What are some uses for machine learning on embedded systems? Image classification – identify what a camera is looking at Coffee pods Empty vs full trucks Factory defects on manufacturing line Produce on supermarket scale Facial recognition – identifying faces for personalization without uploading that private information to the cloud Home Personalization Appliances Toys Auto Audio Analysis Wake-word detection Voice commands Alarm Analytics (Breaking glass/crying baby) Anomaly Detection Identify factory issues before they become catastrophic Motor analysis Personalized health analysis What is training and inference? Machine learning consists of two phases: Training and Inference Training is the process of creating and teaching the model. This occurs on a PC or in the cloud and requires a lot of data to do the training. eIQ is not used during the training process. Inference is using a completed and trained model to do predictions on new data. eIQ is focused on enhancing the inferencing of models on embedded devices. What are the benefits for “on the edge” inference? When inference occurs on the embedded device instead of the cloud, it’s called “on the edge”. The biggest advantage of on the edge inferencing is that the data being analyzed never goes anywhere except the local embedded system, providing increased security and privacy. It also saves BOM costs because there’s no need for WiFi or BLE to get data up to the cloud, and there’s no charge for the cloud compute costs to do the inferencing.  It also allows for faster inferencing since there’s no latency waiting for data to be uploaded and then the answer received from the cloud. What processor do I need to do inferencing of models? Inferencing simply means doing millions of multiple and accumulate math calculations – the dominant operation when processing any neural network -, which any MCU or MPU is capable of. There’s no special hardware or module required to do inferencing. However specialized ML hardware accelerators, high core clock speeds, and fast memory can drastically reduce inference time. Determining if a particular model can run on a specific device is based on: How long will it take the inference to run. The same model will take much longer to run on less powerful devices. The maximum acceptable inference time is dependent on your particular application. Is there enough non-volatile memory to store the weights, the model itself, and the inference engine Is there enough RAM to keep track of the intermediate calculations and output As an example, the performance required for image recognition will be very dependent on the model is being used to do image recognition. This will vary depending on how many classes, what size of images to be analyzed, if multiple objects or just one will be identified, and how that particular model is structured. In general image classification can be done on i.MX RT devices and multiple object detection requires i.MX devices, as those models are significantly more complex. eIQ provides several examples of image recognition for i.MX RT and i.MX devices and your own custom models can be easily evaluated using those example projects.  How is accuracy affected when running on slower/simpler MCUs? The same model running on different processors will give the exact same result if given the same input. It will just take longer to run the inference on a slower processor. In order to get an acceptable inference time on a simpler MCU, it may be necessary to simplify the model, which will affect accuracy. How much the accuracy is affected is extremely model dependent and also very dependent on what techniques are used to simplify the model. What are some ways models can be simplified? Quantization – Transforming the model from its original 32-bit floating point weights to 8-bit fixed point weights. Requires ¼ the space for weights and fixed point math is faster than floating point math. Often does not have much impact on accuracy but that is model dependent. Fewer output classifications can allow for a simpler yet still accurate model Decreasing the input data size (e.g. 128x128 image input instead of 256x256) can reduce complexity with the trade-off of accuracy due to the reduced resolution. How much that trade-off is depends on the model and requires experimentation to find. Software could rotate image to specific position using classic image manipulation techniques, which means the neural network for identification can be much smaller while maintaining good accuracy compared to case that neural network has to analyze an image that could be in all possible orientations. What is the difference between image classification, object detection, and instance segmentation? Image classification identifies an entire image and gives a single answer for what it thinks it is seeing. Object detection is detecting one or more objects in an image. Instance segmentation is finding the exact outline of the objects in an image. Larger and more complex models are needed to do object detection or instance segmentation compared to image classification.   anthony_huereca_2-1762925966820.png What is the difference between Facial Detection and Facial Recognition? Facial detection finds any human face. Facial recognition identifies a particular human face. A model that does facial recognition will be more complex than a model that only does facial detection.  anthony_huereca_0-1762925921960.png How come I don’t see 100% accuracy on the data I trained my model on? Models need to generalize the training data in order to avoid overfitting. This means a model will not always give 100% confidence , even on the data a model was trained on. What are some resources to learn more about machine learning concepts?  Video series on Neural Network basics  ARM Embedded Machine Learning for Dummies Google TensorFlow Lab Google Machine Learning Crash Course Google Image Classification Practica YouTube series on the basics of ML and TensorFlow (ML Zero to Hero Series) i.MX 8 i.MX RT Re: eIQ FAQ Hi David,   eIQ Toolkit 1.0.5 is using TensorFlow version is 2.3.2, so to use the GPU when training you will need to install cuDNN v7.6 and CUDA 10.2. If you have newer versions of those tools installed on your PC you may need to uninstall those first before installing the version needed for the 1.0.5 version of eIQ Toolkit. I've also updated the FAQ with this information and it will be in the documentation in the next version of eIQ Toolkit that is released. -Anthony Re: eIQ FAQ Hi @anthony_huereca , I am using eIQ tool on model training for i.MXRT1170 platform. I find eIQ tool is always use PC CPU resource, so when it perform the model training that will occupy around 60 ~ 80% CPU resource. But it not use any GPU resource. Is there any method to configure eIQ tool to use GPU resource on the model training ? In case that will have better performance on the AI training. Is it? davidchenb3693_0-1625734326453.png davidchenb3693_1-1625734379837.png Thanks. David  
查看全文
Automotive Comfort Control Using FRDM-A-S32K344 Microcontrollers 1. Overview This module demonstrates how to implement a vehicle comfort control system using GPIO, PWM, and stepper motor sequencing on NXP S32K3 microcontrollers. The application reads user inputs from push-buttons and translates them into two independent comfort functions: a DC motor that simulates a cabin cooling fan (regulated through PWM) and a stepper motor that simulates an electric window mechanism (driven through GPIO coil sequencing). Both actuators react in real time, mimicking how comfort body-control modules work in modern vehicles. This example is based on the Application Code Hub demonstration for: Vehicle Comfort Control for FRDM-A-S32K344 In this workshop, on-board push-buttons simulate the driver's comfort commands. When the student presses a button, the MCU reads the input through GPIO, decodes the requested action, and drives the associated actuator: a PWM duty cycle is generated for the DC Motor 2 Click (regulating the fan speed), or a full-step coil sequence is generated through GPIO outputs to the H-Bridge Click (moving the NEMA17 stepper motor up or down). Beyond the technical implementation, the course serves as a foundation for the Eat-Sleep-Code-Repeat learning initiative, encouraging a hands-on approach where students continuously learn, develop, test, and improve automotive embedded applications using real hardware and practical examples. 2. Learning Scope After completing this course, participants should be able to:   Understand a basic vehicle comfort control system and the ideas behind HVAC regulation and electric window control. Use on-board push-buttons as simulated driver comfort commands. Read digital inputs using the GPIO peripheral and understand debouncing considerations. Generate PWM signals to regulate DC motor speed (fan simulation). Implement a full-step drive sequence (A → B → C → D) to control a stepper motor. Configure the DC Motor 2 Click and H-Bridge Click boards over the mikroBUS interface. Recognize the actuation data flow: user input → MCU processing → PWM / GPIO actuation. Import, build, flash, and debug an ACH project in S32 Design Studio 3.6.5. Understand why comfort functions are relevant in modern automotive body electronics. 3. System Architecture The three elements capture exactly the basic idea of the system in the demo: Input: Push-buttons (on-board buttons simulate driver comfort commands) Processing: S32K3 MCU (reads GPIO, decodes the command, drives the correct actuator) Output: Dual actuation (DC motor via PWM for the fan, stepper motor via GPIO sequencing for the window) This matches the classic flow of an embedded body-control system: user input → processing → actuator. Functional Flow The system operates continuously as follows: The user presses a button that corresponds to a comfort action The GPIO peripheral reads the button state The application decodes the command (fan control or window movement) Depending on the command, the MCU generates either a PWM signal or a stepper coil sequence The DC motor changes speed, or the stepper motor rotates in the requested direction This loop runs continuously to ensure real-time comfort control. Comfort_Control_Application.png Vehicle Comfort Control Application Architecture 4. Key Concepts 4.1 GPIO (General-Purpose Input/Output) The push-buttons on the FRDM-A-S32K344 board are connected to GPIO input pins. The MCU polls (or reads on interrupt) the pin state and interprets a logic transition as a user command. GPIO is also used as output for the stepper motor coil control signals, driving the H-Bridge Click inputs. GPIO handling is the foundation of automotive user-interface processing — used for buttons, switches, ignition detection, and many others. 4.2 PWM — Pulse-Width Modulation and Fan Speed Control PWM switches a digital output on and off at a fixed frequency, varying the duty cycle (the fraction of time the signal is high). A DC motor interprets the average voltage produced by this PWM as a proportional rotational speed. In this demo, the S32K344 generates PWM on a mikroBUS pin that drives the DC Motor 2 Click, which in turn powers the 5 V fan motor. Increasing the duty cycle increases fan speed; decreasing it slows the fan down — a typical pattern used in cabin ventilation and HVAC systems. 4.3 DC Motor Direction and H-Bridge Concept The DC Motor 2 Click integrates an H-Bridge driver that can be configured for forward, reverse, brake, or coast modes. The MCU controls the direction pins and applies PWM on the enable input to regulate speed. This is exactly the same principle used in real automotive fan modules, where a low-side or full-bridge driver is switched at kilohertz frequency to obtain smooth speed control without dissipating power in a series resistor. 4.4 Stepper Motor Full-Step Sequencing A stepper motor like the NEMA17 rotates in fixed angular increments (typically 1.8° per step) when its coils are energized in the correct order. The MCU generates a repeating four-phase pattern (A → B → C → D) on four GPIO pins connected to the H-Bridge Click. Reversing the sequence (D → C → B → A) reverses the direction. The step frequency directly determines rotation speed, and counting the number of steps gives an open-loop position estimate — the exact behavior needed to simulate an electric window moving up or down. 4.5 Push-Buttons as Comfort Commands The on-board buttons are a simplified, safe stand-in for the physical HVAC and window switches found in a real vehicle. The student presses them by hand, the GPIO state changes, the MCU decodes the command, and the corresponding actuator reacts. This isolates the student from real body-electronics wiring while preserving the full software logic. 4.6 Data Flow at a Glance Button press → GPIO input → command decoding → selection of actuator (fan or window) → PWM duty cycle update or stepper coil sequence advance → motor response. This direct chain from the student's finger to the actuator shaft is the main educational value of the demo. 5. Hardware and Software Setup Required Hardware Component Image Purpose FRDM-A-S32K344 FRDM-A-S32K344FRDM-A-S32K344 MCU platform used to run the comfort control application and drive the connected peripherals. FRDM-K64 Click Shield FRDM K64 click shieldFRDM K64 click shield mikroBUS expansion board used to connect Click modules to the FRDM platform. DC Motor 2 Click DC Motor 2 ClickDC Motor 2 Click H-Bridge driver board used to control DC motor speed and direction via PWM. H-Bridge Click H-Bridge ClickH-Bridge Click Dual H-Bridge driver used to sequence the stepper motor coils. 5 V Fan Motor 5V Fan Motor5V Fan Motor Actuator used to simulate the vehicle cabin cooling fan controlled through PWM. Stepper Motor NEMA17 Stepper Motor Nema17Stepper Motor Nema17 Actuator used to simulate the electric window mechanism through step sequencing. USB-C  — Provides power and enables programming and debugging of the system. The example application demonstrates how these peripherals are connected to the MCU pins and used to simulate cabin cooling and electric window control. Vehicle Comfort Control Full Setup on FRDM-A-S32K344 Comfort Full SetupComfort Full Setup Software Environment S32 Design Studio IDE S32K3 Real-Time Drivers (RTD) S32K3 Automotive Software Package Application Code Hub project import Vehicle Comfort Control for FRDM-A-S32K344 6. Implementation Guide Step Action Sub-steps Expected Result 1 Import the Project Open S32 Design Studio Select “Import project from Application Code Hub” Search for the vehicle comfort control demo Use the GitHub link for automatic configuration Select main branch Import project Project successfully appears in workspace 2 Build the Application Right-click project Select “Update Code and Build Project” Confirm SDK component management Build completes with no errors and generates .elf file 3 Connect Hardware Connect USB cable and external 12 V supply Attach FRDM-K64 Click Shield, DC Motor 2 Click and H-Bridge Click Wire the 5 V fan motor and NEMA17 stepper motor Verify wiring before powering the system Board is powered and detected by IDE 4 Flash and Run Open Debug Configurations Select “debug_flash_pemicro” Start debugging Application runs continuously 5 Functional Validation Press the fan control buttons Observe DC motor speed change Press the window up/down buttons Observe stepper motor movement and direction Fan speed and window motion follow user commands in real time 7. Signal Behavior and Control Logic The Vehicle Comfort Control application drives two independent actuators from a single S32K344 MCU: a DC fan motor controlled through a PWM signal for cooling, and a stepper motor controlled through a 4-channel GPIO sequence for electric window movement. User inputs (SW2 and SW3) are read by the MCU, which then generates the appropriate signal type for each actuator. The two diagrams below describe the signal behavior and control logic for each subsystem. 7.1 Cooling System – Fan Speed Control (PWM) Comfort_Fan_PWM.png Figure: Fan speed control mapping. The MCU generates a PWM signal on the EMIOS channel to drive the DC fan motor through the DC MOTOR 2 Click board. Each SW2 press increments the duty cycle by one step (0 % → 33 % → 67 % → 100 %) and each SW3 press decrements it, so fan speed is directly proportional to duty cycle. Duty Counts represent the raw PWM compare values (period = 20000 counts). When the fan is fully stopped, the TB6593FNG driver is automatically put into low-power sleep mode to prevent wasted current through the windings. 7.2 Window System – Stepper Motor Full-Step Sequencing Direction Step # Coil A (PTA13) Coil B (PTD0) Coil C (PTA3) Coil D (PTC10) Active Pair UP (SW2 pressed) 1 ON OFF ON OFF AC 2 OFF ON ON OFF BC 3 OFF ON OFF ON BD 4 ON OFF OFF ON AD DOWN (SW3 pressed) 1 ON OFF OFF ON AD 2 OFF ON OFF ON BD 3 OFF ON ON OFF BC 4 ON ON OFF OFF AC Table: Stepper motor full-step sequencing for window control. The MCU drives the stepper motor through four GPIO lines connected to the H-Bridge Click board, using dual-coil activation (two coils energised per step) to maximise torque. Pressing SW2 executes the Up sequence AC → BC → BD → AD (window moves up), while SW3 executes the reversed Down sequence AD → BD → BC → AC (window moves down). Each press advances the motor by one full step with a 3 ms delay, and the coil pair remains energised as long as the button is held. When no button is pressed, all coils are de-energised to prevent motor winding overheating during idle periods. 8. Troubleshooting Issue Possible Actions Board Not Detected Check USB cable and drivers Verify debugger connection Restart IDE Fan Does Not Spin Verify PWM configuration and duty cycle Check DC Motor 2 Click wiring and enable pins Ensure the 5 V motor supply is present Stepper Not Moving Verify GPIO output configuration for coil pins Check H-Bridge Click wiring and coil order Confirm the step delay is not too short (motor stalls) Stepper Rotates Wrong Direction Invert the coil sequence in software (A→B→C→D vs D→C→B→A) Swap one coil pair on the H-Bridge output Buttons Not Responding Verify GPIO input configuration and pull-up/pull-down Add software debouncing Check that the correct button pins are mapped 9. Extending the Application The basic implementation can be extended in several ways: Feedback-Based Control Add temperature or Hall-effect sensors for closed-loop fan speed regulation Add end-stop switches or encoders for accurate window position tracking Automatic Comfort Modes Implement predefined climate or ventilation profiles Trigger comfort actions based on sensor thresholds CAN Communication Enable communication with other vehicle ECUs (e.g., HVAC master, door module) Receive comfort commands over the vehicle network Diagnostic Functions Add fault detection for stuck motors, over-current or open loads Expose diagnostic status via LEDs or debug UART Position Memory Store and restore window or fan positions in non-volatile memory Recall the last comfort state after each power-up State Machine Implementation A more advanced approach is to implement a state machine: Idle Active Fault 10. Safety Context This example reflects key automotive principles: Continuous monitoring of driver commands Immediate response to control signals Reliable actuator control for both speed and position In real systems: Redundancy is required for safety-relevant functions (e.g., anti-pinch on windows) Fault detection mechanisms are implemented (over-current, stall, over-temperature) Systems must comply with ISO 26262 (functional safety standard) where applicable Modern comfort modules also implement anti-pinch protection on power windows, ensuring the motor stops or reverses when an obstruction is detected — a safety-critical requirement for real vehicles. 11. Conclusion This module demonstrates how a simple embedded system can implement vehicle comfort control using GPIO inputs, PWM outputs, and stepper motor sequencing on the S32K344 platform. It shows how: Digital user inputs are acquired through GPIO Commands are decoded and processed in real time A DC motor is controlled using PWM for smooth speed regulation A stepper motor is controlled using a full-step coil sequence for precise positioning Result on FRDM-A-S32K344 Comfort ResultComfort Result The course provides a strong foundation for more advanced systems, including feedback-based control, CAN networking, diagnostics, and safety-oriented designs typical of automotive body-control modules. The course serves as a foundation for the Eat-Sleep-Code-Repeat learning initiative, encouraging a hands-on approach where students continuously learn, develop, test, and improve automotive embedded applications using real hardware and practical examples.
查看全文
MCXA153:LPSPI 数据突发传输。 你好, 参考手册 MCXA153 包含了对 TDBRn 和 RDBRn LPSPI 寄存器的描述: “TDBRn 和 RDBRn 寄存器支持向发送 FIFO 发送数据进行突发传输,以便与 DMA 控制器一起使用”。 请问有人可以分享一下使用这些寄存器进行突发传输的示例代码吗? 此致 博格丹 通信与控制(I3C | I2C | SPI | FlexCAN | 以太网 | FlexIO) MCXA Re: MCXA153: LPSPI data burst transfer. 嗨@bogdan_u 抱歉,目前没有相关示例。 我找到的最接近的 MCXA153 示例使用 LPSPI_MasterTransferEDMALite() 和 eDMA,但驱动程序通过 LPSPI_GetTxRegisterAddress() / LPSPI_GetRxRegisterAddress() 来定位 TDR/RDR,而不是突发别名窗口。 但我认为你可以尝试使用。 typedef struct { uint32_t cmd; uint32_t data[128]; } lpspi_burst_tx_t; static inline uint32_t LPSPI_TCBR_Address(LPSPI_Type *base) { return ((uint32_t)base + LPSPI_TCBR_OFFSET); } static inline uint32_t LPSPI_TDBR0_Address(LPSPI_Type *base) { return ((uint32_t)base + LPSPI_TDBR0_OFFSET); } static inline uint32_t LPSPI_RDBR0_Address(LPSPI_Type *base) { return ((uint32_t)base + LPSPI_RDBR0_OFFSET); } void LPSPI_StartTxBurstDMA(LPSPI_Type *base, edma_handle_t *txDmaHandle, uint32_t *cmd_plus_data, uint32_t nwords) { edma_transfer_config_t cfg = {0}; cfg.srcAddr = (uint32_t)&cmd_plus_data[0]; cfg.destAddr = LPSPI_TCBR_Address(base); cfg.srcOffset = 4; cfg.destOffset = 4; cfg.srcTransferSize = kEDMA_TransferSize4Bytes; cfg.destTransferSize = kEDMA_TransferSize4Bytes; cfg.minorLoopBytes = 4; cfg.majorLoopCounts = nwords + 1u; EDMA_ResetChannel(txDmaHandle->base, txDmaHandle->channel); EDMA_SetTransferConfig(txDmaHandle->base, txDmaHandle->channel, &cfg, NULL); EDMA_StartTransfer(txDmaHandle); LPSPI_EnableDMA(base, kLPSPI_TxDmaEnable); } void LPSPI_StartRxBurstDMA(LPSPI_Type *base, edma_handle_t *rxDmaHandle, uint32_t *rx_words, uint32_t nwords) { edma_transfer_config_t cfg = {0}; cfg.srcAddr = LPSPI_RDBR0_Address(base); cfg.destAddr = (uint32_t)&rx_words[0]; cfg.srcOffset = 4; cfg.destOffset = 4; cfg.srcTransferSize = kEDMA_TransferSize4Bytes; cfg.destTransferSize = kEDMA_TransferSize4Bytes; cfg.minorLoopBytes = 4; cfg.majorLoopCounts = nwords; EDMA_ResetChannel(rxDmaHandle->base, rxDmaHandle->channel); EDMA_SetTransferConfig(rxDmaHandle->base, rxDmaHandle->channel, &cfg, NULL); EDMA_StartTransfer(rxDmaHandle); LPSPI_EnableDMA(base, kLPSPI_RxDmaEnable); } BR 哈里
查看全文
Dentolyn: Reviews, Benefits, and More Dentolyn is a modern oral care solution designed to support healthy teeth and gums through effective daily dental hygiene. Regular use of Dentolyn can contribute to stronger teeth, healthier gums, and improved overall oral health. With a focus on quality and effectiveness, Dentolyn promotes better oral hygiene habits while helping prevent common dental problems. ->>> https://bit.ly/3S9NgdT  
查看全文
Mifare Classic clone to Handy Hello and good day. At our gym, we use a wristband equipped with a Mifare Classic EV1 (MF1S50) chip. Is there a way to clone this chip and store it on a mobile phone, so that one can simply use the phone's NFC sensor instead? In other words, could I use the phone itself to log in, rather than the wristband? If so, how can I do this? I have already tried using two apps: NXP TagInfo and NXP TagWriter. Unfortunately, I wasn't able to get it to work using those tools—or perhaps I made a mistake somewhere along the way. Could you please help me? Best regards from Geraberg (Thuringia). Touch Sensors Re: Mifare Classic clone to Handy Hello @digamcrown  Unfortunately, it is not possible to clone a MIFARE Classic EV1 card and use it directly on a smartphone NFC interface. The main reasons are: Smartphones do not support MIFARE Classic card emulation (Crypto-1 is not supported in NFC controllers) Card UID cannot be replicated on mobile devices Mobile operating systems (Android/iOS) restrict low-level NFC access for security reasons Therefore, tools such as NXP TagInfo or TagWriter cannot achieve this functionality. Re: Mifare Classic clone to Handy Hello, Hello, You should contact the supplier of the gym’s system and ask if they offer a solution to create a digital badge on your smartphone, since MIFARE Classic cards have secure memory. You can check out MIFARE 2GO https://www.nxp.com/products/security-and-authentication/secure-service-2go-platform/mifare-2go:MIFARE2GO
查看全文
RW612非セキュアフラッシュ設定によりリセット機能が破損する こんにちは、 FRDM-RW612上でARM TF-MとZephyr(NXPダウンストリームv4.3.0)を使用している際に、奇妙なバグが発生しています。フラッシュメモリの一部領域を、セキュリティ保護機能のないLittleFSファイルシステムに使用したいと考えています。NXPのガイド(リンク)に従ってNS領域を追加したところ、ファイルシステムにその領域を正常に使用でき、Zephyr/FS APIやアクセスに関する問題も発生しませんでした。 私の問題は、CONFIG_FLASH KConfigオプションを有効にすると、ボードをリセットできなくなることです。tfm_platform_system_reset()、NVIC_SystemReset() を呼び出したり、物理的なリセットボタンを押したりしても、プロセッサがロックされてしまい、実際にはボードがリセットされなくなります。 デバッガーを使ってステップ実行したところ、デバッガーが切り離される直前に実行された最後の行は core_cm33.h:2683 でした。(__NVIC_SystemReset内): SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | SCB_AIRCR_SYSRESETREQ_Msk ); リセット後にデバッガを接続すると、GDBはアドレス0x20005840のプログラムが永久に停止すると報告します。 非常に基本的なプログラムで同じことを試してみましたが、Zephyrのhello worldプログラムにCONFIG_FLASHを追加しても、リセットが同じように失敗します。 どんなご協力でもありがたいです。ありがとうございます! Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality こんにちは、@jm-streametric さん。お元気でお過ごしでしょうか。 この動作をより詳細に分析するために、ハローワールドのサンプルで行ったテストにおいて、追加した設定はCONFIG_FLASHのみであることを確認してもらえますか?それとも、ガイドから作成した設定(CONFIG_TFM_CUSTOM_DATA_IMPORT_REGION=y)を使用して、追加したNS領域も有効にしていますか? 私はZephyr(v4.3.0 ダウンストリーム)のhello worldサンプルをCONFIG_FLASH設定のみを追加して実行しようとしましたが、ボードをリセットすることができました。 Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality こんにちは、ローマンさん。 投稿でボードを指定する際に誤りがありました。RW610を搭載したカスタムボードを使用していますが、フラッシュ構成はFRDM-RW612と全く同じです。CONFIG_FLASH=y に設定しても開発ボードをリセットすることはできますが、私のカスタムボードでは、以前の投稿で説明した問題が発生します。 TF-MとZephyrのリポジトリをFRDM-RW612のデフォルトに設定しても、CONFIG_FLASH=yの場合(カスタムデータ領域の有無に関わらず)、ボードをリセットできないという問題が発生します。RW610とRW612の間には、フラッシュメモリやFlexSPIに問題を引き起こす可能性のある違いはありますか?それとも、私のボードに別の問題があるのでしょうか? Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality こんにちは、ジェイクさん。ご説明ありがとうございます。 RW610とRW612の違いは、RW610が802.15.4プロトコルをサポートしていないため、FlexSPI周辺機器との違いはないという点です。 これらの機能をテストする際に、FRDM-RW612ファイルを使用しているかどうか確認していただけますか?それとも、Zephyrでボード用のディレクトリを独自に作成しましたか? また、リセット機能を使わずにサンプルを正しく実行することは可能でしょうか?それとも、MCUはどこかの時点でハードフォルトを起こすのだろうか? Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality こんにちは、ローマンさん。 私のボードは同じフラッシュICを使用しているため、フラッシュ機能のテストには未修正のFRDM-RW612ファイルを使用しています。私のボードには様々な**ペリフェラル**が搭載されており、それぞれにオーバーレイを適用していますが、今回のフラッシュテストケースではそれらのオーバーレイは適用しません。 フラッシュメモリは正常に動作しており、カスタムリージョン内のフラッシュデータにも問題なくアクセスできます。カスタム領域外のフラッシュにアクセスするとエラーが発生しますが、これは想定内の動作です。唯一うまくいかないのは、物理的に、またはtfm_platform_system_reset()を使用してボードをリセットしようとすると、上記のようにボードがロックされてしまうことです。 ありがとう Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality ジェイクさん、情報ありがとうございます。 つまり、プロジェクトに「CONFIG_FLASH=y」設定を追加すると、アプリケーションは通常どおり実行できるが、リセット操作を行うとプログラムがアドレス0x20005840で無限ループに陥る、ということでしょうか? リセット原因が登録されているかどうかを確認するために、リセットステータスレジスタ( SYS_RST_STATUS )をご確認いただけますでしょうか?さらに、セキュリティ保護機能のないバージョンのボードで全てのテストを実施しましたか? FRDM-RW612ボードをお持ちでしたら、カスタムボードでのテストに追加しているのと同じ設定で、この現象が発生するかどうかをテストして教えていただけますでしょうか? Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality こんにちは、ローマンさん。 つまり、プロジェクトに「CONFIG_FLASH=y」設定を追加すると、アプリケーションは通常どおり実行できるが、リセット操作を行うとプログラムがアドレス0x20005840で無限ループに陥る、ということでしょうか? はい、その通りです。ボードの電源を一度切ってから入れ直す以外に、プログラムを再起動する方法がありません。 リセット原因が登録されているかどうかを確認するために、リセットステータスレジスタ( SYS_RST_STATUS )をご確認いただけますでしょうか? 現在、zephyrのサンプル「hello_world」を使ってこれらのテストを試しています。CONFIG_FLASH=y の有無に関わらず、またカスタムボードでも実際の FRDM-RW612 でも、SYS_RST_STATUS の値を取得できませんでした。物理的なリセットボタン(SOC上のPDnに接続)を押したり、printf文の後にtfm_platform_system_reset()を呼び出したり、NULLポインタにアクセスしてハードフォルトを発生させたりしてみましたが、いずれもリセットステータスレジスタに値が表示されませんでした。 リセット前、リセット後のアドレス 0x20005840 のループ内、およびリセット後の BL2 ステージでサンプリングを試しましたが、SYS_RST_STATUS が 0 であるかどうかは関係ありませんでした。チェック方法が間違っているかどうかわかりませんが、GDB (west attach 経由) を使用してデバッグし、 p *((PMU_Type*)0x40031000u)を印刷して PMU ブロック内の値を取得しました。参考までに、サンプリングしたときの SYS_RST_EN レジスタは常に 0x39 でした。 さらに、セキュリティ保護機能のないバージョンのボードで全てのテストを実施しましたか? はい、ビルドフォルダを削除してからwest build -b frdm_rw612/rw612/nsを実行することで、これらのテストをすべてクリーンにビルドします。 独自のボードでテストするために追加している設定と同じ設定で、この動作が発生するかどうか教えてください。 私の設定のほとんどは、Flexcommポート上のペリフェラルに関するものです。この問題に関する私のテストでは、TF-Mプロファイルに加えた変更点のみを残しました。TF-M FWUパーティションを使用して無線ファームウェアアップデートを実行できるように、私はTF-Mのラージプロファイルではなくミディアムプロファイルを使用しています。そのため、ZephyrのKConfigオプションを3つ追加しました。 CONFIG_TFM_PROFILE_TYPE_AROTLESS=y CONFIG_TFM_SFN=y CONFIG_TFM_ISOLATION_LEVEL=1 そして、TF-Mモジュールフォルダで編集したのは、modules/tee/tf-m/trusted-firmware-m/platform/ext/target/nxp/frdmrw612/config.cmakeにある以下のプロファイル設定だけです。 set(TFM_PROFILE "profile_medium_arotless" CACHE STRING "TF-Mプロファイル") これは「profile_large」から変更されたものです ご協力ありがとうございました。他に何か情報が必要な場合はお知らせください。 Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality ジェイクさん、質問に答えていただきありがとうございます。 FRDM-RW612でテストしたとのことですが、このボードでもリセット動作を再現できますか?あなたの設定とTF-Mのビルド変更(TF-Mプロファイル)を追加して試してみましたが、それでもあなたの動作を再現できませんでした。 もしこの現象を再現できるのであれば、FRDM-RW612でその動作を再現するために実行した詳細な手順を共有していただけますでしょうか? Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality こんにちは、ローマンさん。 基板の回路図が間違っていたこと、そして私が使用していたフラッシュチップがFRDM-RW612のようなW25Q512ではなく、実際にはW25Q01だったことが分かりました。W25Q512を基板にはんだ付けしたところ、問題なくリセットできるようになりました。先ほどはお時間を無駄にしてしまい、申し訳ありませんでした。 私のチップに対応するようにフラッシュメモリの設定を再構成する方法に関する資料はありますか?flash_config.c に fc_flexspi_nor_config_t 構造体が見つかりました。これはW25Q512用に設定されているのですが、新しいチップに対応するために変更する必要がある箇所を具体的に説明したドキュメントやガイドはありますか? Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality こんにちは、ジェイク。気にしないでください。根本原因を教えてくれてありがとう。 残念ながら、フラッシュメモリの再構成に関する具体的なガイドはありません。ただし、異なるフラッシュを使用する場合にどのような変更が必要になるかについては、RD-RW612-BGAボードのディレクトリ構造、またはIRIS-W1-EVKボードのディレクトリ構造(u-Blox社製)を参考にすることができます。これらのボードはどちらもFRDMボードとは異なるフラッシュICを搭載しています。 TF-Mの場合、RD-RW612-BGA非セキュアバージョンのボードのディレクトリも存在し、これも必要な変更の参考として利用できます。 お役に立てば幸いです!
查看全文
S32K566 IMCR Confilct 错误 MCU: S32K566 MCAL 套餐:RTD 0.8.0 (S32K5_RTD_0_8_0_D2512_ASR_REL_4_9_REL_4_9_REV_0000_20251205) 端口插件:端口_TS_T40D85M8I0R0 工具:EB Tresos / NXP MCAL 生成器 (McalGenerator_Nxp_S32K5-0.8.0) 说明: 我正在尝试使用端口 MCAL 插件在 S32K566 上配置多个 ADC0 模拟输入引脚。当我配置多个 ADC0 输入通道时,代码生成器会报告 IMCR 冲突错误。 配置: PCR 209 → 模式: ADC0_ADC0_CH2_P2_IN (映射到 SIUL2_3 上的 PORT209) PCR 226 → 模式: ADC0_ADC0_CH4_P4_IN (映射到 SIUL2_3 上的 PORT226) 问题 当仅配置一个 ADC 引脚时,代码生成成功,但 IMCR 索引报告为 0。 当添加第二个 ADC 引脚时,会出现 IMCR 冲突错误,因为两个引脚都映射到 SIUL2_3 上的同一个 IMCR 索引 0。 我调查了 port_s32K5_resource.m 文件,发现所有 ADC0 模拟输入通道都是使用 IMCR 映射 0 定义的 需要更改哪些配置才能解决这个问题? 如果这是一个已确认的错误,有没有已知的解决方法? Re: S32K566 IMCR Confilct Error 你好@JaeHeonJeong 由于 S32K5 仍处于 NPI 状态,我建议使用专用的支持渠道——要么直接 FAE 支持,要么在此处输入票证 (https://support.nxp.com/s/?language=en_US),这样它就会分配给区域 FAE 团队。也可能有专门针对贵公司的私人社区空间,但我不确定,因为我没有访问权限。 该社区尚未支持 S32K5。感谢您的理解。 此致, Lukas Re: S32K566 IMCR Confilct Error ADC0 通道可能基于不同的 IO 引脚和不同的 IMCR。而每个 IO 引脚都专用于一个 IMCR 不确定 K556 设置是关于什么的,因为它是一款非常新的设备。您能提供截图吗?
查看全文