Multi Source Translation Content

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Multi Source Translation Content

ディスカッション

ソート順:
[RTD600 IP] S32K312-EVB Lpuart 中断回显 这个简单的示例演示了如何在S32K312EVB-Q172和S32K312MINI-EVB上使用LPUART模块配置和处理UART中断。它设置UART回调函数,并以单字节模式启动接收。每接收一个字节,缓冲区都会使用  Lpuart_Uart_Ip_SetRxBuffer() 进行更新;如果检测到换行符( '\n' ),则将设置接收标志以通知主循环。 当发生  LPUART_UART_IP_EVENT_END_TRANSFER  事件时,将通过  Lpuart_Uart_Ip_AsyncReceive() 重新启用接收。 注意:只执行基本的事件处理操作;仅确认其他UART事件,但不会进行处理。 此示例使用 LPUART实例6,通过USB端口(EVB上的J40和MINI EVB上的J9)实现串行通信。 ------------------------------------------------------------------------------ *测试硬件:S32K312EVB-Q172和S32K312MINI-EVB *MCU:S32K312 *IDE:S32DS3.6.2 *RTD版本:6.0.0 *调试器:PE Micro *目标:internal_FLASH  ------------------------------------------------------------------------------ 运行示例: 1. 在PC上为串行设备打开串行终端,并设置以下参数:   波特率为115200 无校验  停止位为1 无流量控制  如果您使用TeraTerm,请确保发送设置配置为 LF(换行) ,以便在按下回车键时正确发送换行符。 2. 构建并运行示例。 测试结果:   NXP 提供的任何支持、信息和技术(“材料”)均按“现状”提供,不附带任何明示或暗示的保证,且 NXP 在适用法律允许的最大范围内,否认与材料相关的所有直接或间接责任和损害。NXP 对任何与应用或产品设计相关的协助不承担任何责任。材料仅可用于与 NXP 产品相关联。NXP 可以不受限制地使用您对材料提供的任何反馈。
記事全体を表示
示例 MPC5777C-eQADC_Simple GHS714 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 详细说明: * 初始化 eQADC 模块并循环转换所选通道,显示 * 将其放入终端窗口。 * 用户可以将 EVB 电位器的电位器连接到引脚接头 W(见下文)以查看有效 * 转换结果。 * ---------------------------------------------------------------------------------------------- * 测试硬件:MPC5777C-512DS Rev.A + MPC57xx 主板 Rev.C * 微控制器: PPC5777CMM03 2N45H CTZZS1521A *系统频率:PLL1 = core_clk = 264MHz,PLL0 = 192MHz * 调试器:Lauterbach Trace32 * 目标:internal_FLASH * 终端:19200-8-无奇偶校验-1停止位-eSCI_A上无流量控制 * EVB 连接:对于 ADC:J53-1(EVB 电位器的电位器)--> PW7 - ANB16 * PW8 - ANB17 * PW9 - ANB18 * PW10 - ANB19 ******************************************************************************** <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 详细说明: * 初始化 eQADC 模块并循环转换所选通道,显示 * 将其放入终端窗口。 * 用户可以将 EVB 电位器的电位器连接到引脚接头 W(见下文)以查看有效 * 转换结果。 * ---------------------------------------------------------------------------------------------- * 测试硬件:MPC5777C-512DS Rev.A + MPC57xx 主板 Rev.C * 微控制器: PPC5777CMM03 2N45H CTZZS1521A *系统频率:PLL1 = core_clk = 264MHz,PLL0 = 192MHz * 调试器:Lauterbach Trace32 * 目标:internal_FLASH * 终端:19200-8-无奇偶校验-1停止位-eSCI_A上无流量控制 * EVB 连接:对于 ADC:J53-1(EVB 电位器的电位器)--> PW7 - ANB16 * PW8 - ANB17 * PW9 - ANB18 * PW10 - ANB19 ********************************************************************************
記事全体を表示
BD-SL-i.MX6 (Qt Company の Qt 5.4 を実行) <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> BD-SL-i.MX6(旧SABRE Lite)ボードは、低コストのi.MX6開発プラットフォームです。このボードの最も優れた特性の1つは、利用可能な重要なソフトウェアサポートです。この記事では、QT CompanyのQt5.4についてご紹介します。以下のビデオは、 Qt Company のエンタープライズデバイス作成製品、つまりQtに最適化された事前構築済みソフトウェアスタックを示しています。これにより、組み込みLinuxおよびAndroid開発用の実際のデバイスでのプロトタイピングをすぐに開始できます。デモはQt5.4を実行しており、BD-SL-i.MX6とNitrogen製品ファミリーの画像が利用可能です。以下は、いくつかの機能を示す短いビデオです。 上のビデオは、組み込みLinux用に作成された画像を示しており、具体的には 、Yocto Project と The Freescale Community BSPのツールを使用して構築されています。このため、製品はこれらのプロジェクトによって提供されるパッケージを活用でき、Yocto ビルド システムを使用してコンポーネントを統合し、ビルドを調整できます。 詳細については、http://qt.io または http://boundarydevices.com/qt-for-device-creation/ をご覧ください 全般
記事全体を表示
Support Needed for Enabling OV5647 Camera on i.MX93 FRDM Hi, I am currently working on enabling the OV5647 camera module on the i.MX93 FRDM board. I have added the OV5647 node in the device tree and configured the appropriate clock source. The camera sensor is detected, and I am able to provide a 25 MHz clock on CCMSRCGPCMIX CLKO3. However, the /dev/video0 and media0 nodes are not appearing on the target board. Could you please assist me in identifying the possible cause of this issue or suggest steps to resolve it? DTS file and some required information snapshot attached in below Thank you for your support. Best regards, Bharath GC Re: Support Needed for Enabling OV5647 Camera on i.MX93 FRDM you can refer to the ov5640 dts file https://github.com/nxp-imx-support/meta-imx-frdm/blob/lf-6.6.36-2.1.0/meta-imx-bsp/recipes-kernel/linux/linux-imx/0009-arm64-dts-add-imx93-11x11-frdm-ov5640-dts.patch pls check if your camera need  PW pin or not Re: Support Needed for Enabling OV5647 Camera on i.MX93 FRDM Hello @joanxie , Thanks for your immediate response, As requested, I am sharing the OV5647 driver currently used in our build. The driver is taken from the kernel source in our Yocto build environment. Please find the attached driver ov5647.c file in the attachment  This is the driver being used for the camera integration on our system based on the i.MX93. driver is enabled for CONFIG_VIDEO_OV5647=y the kernel Version 6.6.36-lts-next-gb1d63f58897b-dirty Regards Bharath GC Re: Support Needed for Enabling OV5647 Camera on i.MX93 FRDM pls send the ov5647 driver you use, let me double check it Re: Support Needed for Enabling OV5647 Camera on i.MX93 FRDM Hello @joanxie , I also tried making some changes by referring to the OV5640 DTS file, but there is still no change on the target side. The same error is appearing. I have attached the updated DTS file, which I modified based on the OV5640 camera module DTS configuration. The power-domain pin is enabled by default, and I confirmed this by forcing it to active-low using a gpio-hog. If I add the below structure, the camera does not come up, which indicates that the power-domain is functioning. pcal6524:gpio@22 { ......        camera_pwdn {             gpio-hog;            gpios = <22 GPIO_ACTIVE_LOW>;            output-high;           line-name = "camera_pwdn";      }; }; Please find the modified DTS file attached for your reference. Kindly help in resolving this issue. Thank you.
記事全体を表示
MIMXRT700-EVK block diagram wrong part number reference I’m working with the RT700 evaluation board (MIMXRT700-EVK), and I’ve come across a discrepancy in the documentation. The block diagram mentions a Macronix flash memory part number as MX25UM51345GXDI00 , but this does not match the BOM file where it mentions MX25UW51345GXDI00. Additionally, the part number on the physical board itself differs from the block diagram     . This is causing confusion, especially when trying to reference documentation or locate the correct data sheet. Could you clarify the exact flash part number currently used on the RT700-EVK? Also, if possible, could NXP provide the data sheet for this specific flash IC? That would be extremely helpful for our development. Re: MIMXRT700-EVK block diagram wrong part number reference I only wanted to report this issue so that in the next errata or next revision of the RT700 EVK board manual NXP can take this into consideration. for the datasheet I'll contact macronix.   Re: MIMXRT700-EVK block diagram wrong part number reference Hi @prathamvora, Please follow the BOM for the memory part number. For the datasheet, please contact Macronix. Best Regards, Pablo Re: MIMXRT700-EVK block diagram wrong part number reference Hi, Thank you for bringing this to our attention. For future reference, you can also use the following link to submit technical documentation feedback. Technical Documentation Feedback | NXP Semiconductors Best Regards, Pablo
記事全体を表示
Physical connections for INT2 on MPL3115A2 and nRST on MPL115A2 Hi, I'd like to use interchangeably either a MPL115A2 or a MPL3115A2 in my circuit and I'm wondering if I can get away with not using a DNF/resistor on pin 5 and just connecting it to VDD. This is the RST line (active low) on the 115A2 but is INT2 on the 3115A2. What would the effect be if the INT2 line was internally pulling low and the pin is connected to VDD? Is the internal resistance enough that it wouldn't overheat/blow up? Would it be power hungry? Is this a CMOS type output? etc. etc. I'd be running them both from 3.3V on VDD/VDDIO. Any information appreciated - The only information I can find in the datasheets on this is VOH/VOL for INT1 and INT2 with a test condition I_o of 500uA. Pressure Sensors Re: Physical connections for INT2 on MPL3115A2 and nRST on MPL115A2 Thanks Tomas, your reply is very helpful. Re: Physical connections for INT2 on MPL3115A2 and nRST on MPL115A2 Timothy, By default all interrupts are disabled (CTRL_REG4 = 0x00), so the INT2 pin will be high all the time. If you want to use any of the internal interrupts (Data Ready, FIFO etc.), just set a corresponding bit in the CTRL_REG4 register and then route the interrupt to the INT1 pin by setting a corresponding bit in the CTRL_REG5 register. In both cases the INT2 pin can be connected directly to VDD without any problems. I hope it helps. Regards, Tomas
記事全体を表示
S32DS FOR ARM cannot be downloaded. S32DS software download is rejected, want to know the specific reasons and ways to deal with, I am a personal user without a company, the development board is the network to buy learning to use. The web page prompts the following: Our records indicate that you have previously requested an Evaluation version for this product. If you would like to purchase the full product please visit us at NXP or contact your sales representative . Note If you would like to extend your evaluation period please open a If you would like to extend your evaluation period please open a Service Request . Disabled creation of service requests Since we are unable to associate your email address with a company, you are not eligible to create a new service request on the Service Request Portal page. Please use your company email address to log in to the NXP website and submit a service request or submit your question via the NXP Technical Forum.   Re: S32DS FOR ARM 无法下载 Hi,  which version of S32DS do you like to download? 
記事全体を表示
RT1170 MIPI-CSI カメラ - YUV422 (8 ビット) サポート こんにちは、 i.MX RT1170 MIPI-CSI インターフェースを使用して YUV422 (8 ビット) を出力するカメラ モジュールの使用方法を示すリファレンス デザイン、アプリケーション ノート、またはサンプル プロジェクトはありますか? RT1170 エラッタ ( https://www.nxp.com/docs/en/errata/IMXRT1170ACE.pdf ) を確認し、YUV422 10 ビット形式はサポートされていないことを理解しましたが、YUV422 8 ビット操作を具体的に示す公開例や確認は見つかりませんでした。 あらゆるガイダンス、動作が確認されている構成、またはカメラ モジュールの例があれば、大変助かります。 Re: RT1170 MIPI-CSI Camera - YUV422 (8 bit) support こんにちは@mtreloarさん、 NXP MIMXRTシリーズにご興味をお持ちいただきありがとうございます。 RT1170 MIPI-CSI は YUV422 (YUYV 8 ビット) 形式をサポートします。SDK のこのサンプル プロジェクトを参照できます。 よろしくお願いします、 ギャビン
記事全体を表示
i.MX93: J-Link と SYSRESETREQ を使用した Cortex-M33 リセットが機能しない こんにちは、 Segger J-Link と gdb を使用して、i.MX93 上の Cortex-M33 のファームウェアをデバッグしようとしています。NXP の J-Link ソフトウェアのパッチを使用して SWD 接続を確立し、プロセッサを停止したり、レジスタやメモリを読み取ったりできるようになりました。 問題は、プロセッサをリセットしても機能しないことです。レジスタの内容は変更されないので、リセットは無視されるものと想定します。 (gdb) レジスタを監視する R0 = 40D000C0、R1 = 2001EFE3、R2 = 40D000C0、R3 = 00000000 R4 = 00000000、R5 = 00000000、R6 = FFFFFFFF、R7 = 2001EEE8 R8 = FFFFFFFF、R9 = FFFFFFFF、R10 = 2000F000、R11 = 00000000 R12= FFFFFFFF、R13= 2001EEE8、MSP= 2001EEE8、PSP= 00000000 R14(LR) = 0FFE219D、R15(PC) = 0FFE2248 XPSR 49000003、APSR 48000000、EPSR 01000000、IPSR 00000003 CFBP 00000000、コントロール 00、フォールトマスク 00、ベースプライ 00、プライマスク 00 セキュリティ拡張規則: MSP_S = 2001EEE8、MSPLIM_S = 00000000 PSP_S = 00000000、PSPLIM_S = 00000000 MSP_NS = 00000000、MSPLIM_NS = 00000000 PSP_NS = FFFFFFFC、PSPLIM_NS = 00000000 CONTROL_S 00、FAULTMASK_S 00、BASEPRI_S 00、PRIMASK_S 00 CONTROL_NS 00、FAULTMASK_NS 00、BASEPRI_NS 00、PRIMASK_NS 00 (gdb) モニターのリセット ターゲットをリセットする (gdb) レジスタを監視する R0 = 40D000C0、R1 = 2001EFE3、R2 = 40D000C0、R3 = 00000000 R4 = 00000000、R5 = 00000000、R6 = FFFFFFFF、R7 = 2001EEE8 R8 = FFFFFFFF、R9 = FFFFFFFF、R10 = 2000F000、R11 = 00000000 R12= FFFFFFFF、R13= 2001EEE8、MSP= 2001EEE8、PSP= 00000000 R14(LR) = 0FFE219D、R15(PC) = 0FFE2248 XPSR 49000003、APSR 48000000、EPSR 01000000、IPSR 00000003 CFBP 00000000、コントロール 00、フォールトマスク 00、ベースプライ 00、プライマスク 00 セキュリティ拡張規則: MSP_S = 2001EEE8、MSPLIM_S = 00000000 PSP_S = 00000000、PSPLIM_S = 00000000 MSP_NS = 00000000、MSPLIM_NS = 00000000 PSP_NS = FFFFFFFC、PSPLIM_NS = 00000000 CONTROL_S 00、FAULTMASK_S 00、BASEPRI_S 00、PRIMASK_S 00 CONTROL_NS 00、FAULTMASK_NS 00、BASEPRI_NS 00、PRIMASK_NS 00 J-Link からのリセット戦略では、Cortex-M33 コアのみがリセットされることになっているため、リセット信号ではなく SYSRESETREQ を使用します。デバッグ コントローラに SYSRESETREQ ビットを書き込むために必要なセキュリティ権限がない可能性はありますか? J-Link を使用して Cortex-M33 のリセットを実行する正しい方法は何ですか? よろしくお願いいたします。 マルテ Re: i.MX93: Cortex-M33 Reset using J-Link and SYSRESETREQ not working こんにちは、 [email protected] でも詳細を共有していただけますか? このトピックからすでに 1 年以上経過していますが、まだ同じ問題が残っています。 ありがとう。 Re: i.MX93: Cortex-M33 Reset using J-Link and SYSRESETREQ not working プロセッサが再び失われることはなかったという意味ではうまくいきましたが、実行時間には大きな影響がありました。その理由はわかりません。 それぞれの操作には10倍の時間がかかりました。 コールド リセットを実行しますが、デフォルトで ROM にいくつかのコード (NXP が SD カードがないことを示唆していることとは反対) を残し、実行中のものにデバッガーを接続して RAM を上書きすることは意味がありますか? Re: i.MX93: Cortex-M33 Reset using J-Link and SYSRESETREQ not working こんにちは、 この JLink スクリプトを使用することは可能ですか? https://kb.segger.com/images/8/86/Example_Reset_CortexM_Normal.JLinkScript これはCortexMの標準的な戦略です。 敬具 Re: i.MX93: Cortex-M33 Reset using J-Link and SYSRESETREQ not working こんにちは、 解決策を共有していただけますか?私も現在同じ状況に直面しています。 Re: i.MX93: Cortex-M33 Reset using J-Link and SYSRESETREQ not working こんにちは、クリストフさん。 上で述べたように、私は J-Link を使用して i.MX93 の Cortex-M33 をリセットする方法を見つけました。もしそれがあなたが探しているものであれば、喜んで詳細をお伝えします。電子メールアドレスまたは直接連絡できる他の方法を教えてください。 よろしくお願いいたします。 マルテ Re: i.MX93: Cortex-M33 Reset using J-Link and SYSRESETREQ not working こんにちは。このトピックを見つけたばかりですが、M33 を A55 から分離して操作するための信頼できる解決策を誰かがようやく見つけることができたかどうか知りたいと思いました。最近、今後のプロジェクトのために開発環境の作成を開始しましたが、すぐにソフトウェア リセットのトリガーに関する同じ問題に遭遇しました。Threadが開かれてからしばらく経ちましたが、SEGGERは現在 (v8.10) IMXターゲットを組み込んだソフトウェアを提供していますが、まだシングルコアリセットを実行できないようです。SCB (SYSRESETREQ) と SCR レジスターでいくつか実験してみましたが、安定した結果は得られませんでした。また、VSCode 用の MCUXpresso プラグインも簡単にテストしましたが、カスタムの動作するリセット戦略の実装は見つかりませんでした。 よろしくお願いいたします。 クリストフ Re: i.MX93: Cortex-M33 Reset using J-Link and SYSRESETREQ not working こんにちは、マルカイさん。私もまったく同じ問題を抱えているので、解決策にとても興味があります。解決策やアドバイスを送っていただくことは可能でしょうか?どうもありがとう。[email protected] よろしくお願いいたします。 順州 Re: i.MX93: Cortex-M33 Reset using J-Link and SYSRESETREQ not working こんにちは、マルテ 大変助かります。私のメールアドレスは[email protected]です。 よろしくお願いいたします。 ニールス Re: i.MX93: Cortex-M33 Reset using J-Link and SYSRESETREQ not working こんにちは、ニールス。 あまり役に立たない NXP サポートのおかげで、私はこの問題の解決策を見つけました。 メールアドレスまたは直接連絡できる他の方法を教えていただければ、喜んでお手伝いさせていただきます。 敬具、 マルテ・カイザー Re: i.MX93: Cortex-M33 Reset using J-Link and SYSRESETREQ not working こんにちは@Sanket_Parekh 私も原作者と全く同じ状況です。NXP が提供する JLink スクリプトは、実際には M33 コアをリセットするのではなく、停止するだけのようです。これにより、レジスタとプロセッサの状態は変更されず、障害が発生した場合、最初に Linux 経由でコアをリセットしないとデバッグを適切に続行できなくなります。 JLink デバッガーを使用して、M33 コアのこのようなリセットをトリガーする方法はありますか? よろしくお願いいたします。 ニールス Re: i.MX93: Cortex-M33 Reset using J-Link and SYSRESETREQ not working こんにちは、 Sanket_Parekhさん (1) i.MX93 Cortex-M33用のNXP J-Linkスクリプトパッチはどこで入手できますか? (2)Segger氏によると、J-Linkでi.MX93をサポートするためのロードマップはまだ存在しない。しかし、それはQ1またはQ2に発生する可能性があります。Cortex-M33 をデバッグする他の方法はありますか? BR Re: i.MX93: Cortex-M33 Reset using J-Link and SYSRESETREQ not working こんにちは@malkai 、 お元気でお過ごしでしょうか。 「NXP が i.MX93 の Cortex-M33 コアをリセットするために意図した手順は何ですか?」 -> システム リセット コントローラ (SRC) は、すべてのシステム リセット信号の生成とブート引数のラッチを担当します。 ->主な機能は次のとおりです。 • 他のモジュールからのすべてのグローバル システム リセット ソースを処理し、グローバル システム リセットを生成します。 • MIX (スライス) の電力ゲーティングとメモリの低電力制御を担当します。 ->SRCはPADとヒューズビットからPOR_Bを取得してブートシーケンスを完了し、GPCの低電力要求を 電源のダウン/アップシーケンスを完了します。 第33章「システム リセット コントローラ (SRC)」を参照してください。 https://www.nxp.com/webapp/Download?colCode=IMX93RM ありがとう、よろしく。 サンケト・パレック Re: i.MX93: Cortex-M33 Reset using J-Link and SYSRESETREQ not working こんにちは@Sanket_Parekh m、 お返事ありがとうございます。しかし、その情報は問題の解決には役立ちません。ご存知のとおり、i.MX93 の Cortex-M33 コアには Armv8-M アーキテクチャがあり、AIRCR レジスタに VECTRESET ビットがありません ( https://developer.arm.com/documentation/ddi0553/latest/の D1.2.3 を参照)。SO、唯一利用可能なリセット要求は SYSRESETREQ であり、これには Cortex-M33 コアもシステム全体も反応しません。何故ですか? 私はすでに J-Link で使用されるリセット戦略を調べました。問題は、私が言ったように、NXP からのパッチは、CPU を停止するだけでこれらを置き換えるということです。また、リセット ラインは SoC 全体をリセットするため、ここでは使用できません。 SO、問題はまだ残っています。NXP が i.MX93 の Cortex-M33 コアをリセットするために意図した手順は何でしょうか? ありがとうございます。 マルテ・カイザー Re: i.MX93: Cortex-M33 Reset using J-Link and SYSRESETREQ not working こんにちは@malkai 、 お元気でお過ごしでしょうか。 ->リセット選択は、ターゲット デバイスのリセット操作を制御します。すべてのリセット オプションは Cortex-M プロセッサ ベースのデバイスに適用され、JTAG および SWD モードで使用でき、リセット後に CPU を停止します。 ->Core - VECTRESET ビットを設定することによってのみ Cortex-M コアのリセットを実行します。オンチップペリフェラルはリセットされません。一部の Cortex-M デバイスでは、このリセット方法がリセットできる唯一の方法です。ただし、ほとんどの場合、この方法は推奨されません。これは、ほとんどのアプリケーションが一部のペリフェラル(PLL、外部メモリ インターフェイスなど)のリセット状態に依存しており、起動時にペリフェラルがすでに構成されていると混乱が生じる可能性があるためです。 ->ResetPin - J-Link は RESET ピンを低くして、コアとペリフェラルをリセットします。通常、これによりデバイスの CPU RESET ピンも低くなり、CPU とペリフェラルがリセットされます。ターゲット デバイスの RESET ピンがローにプルされていない場合、このリセット方法は失敗します。 以下のリンクのセクションのリセット戦略を参照してください。 https://community.nxp.com/ pwmxy87654/attachments/ pwmxy87654/kinetis/28743/1/ UM08001_JLink.pdf ありがとう、よろしく。 サンケト・パレック Re: i.MX93: Cortex-M33 Reset using J-Link and SYSRESETREQ not working こんにちは@Sanket_Parekhさん、 お返事ありがとうございます。残念ながら、その情報は私の問題の解決に役立ちません。その間に、私はいくつかのことを知りました: 1.i.MX93 のパッチで NXP が提供する J-Link スクリプトではリセットが実装されません。CPU をリセットするのではなく、単に停止するだけです。 2. デバッガを介して AICR.SYSRESETREQ に手動で 1 を書き込んでリセットを要求しても、Cortex-M33 コアはリセットされません。 SO、私の最初の質問は残っています: デバッガーを介して Cortex-M33 をリセットする可能性はありますか? 感謝と敬意を込めて、 マルテ Re: i.MX93: Cortex-M33 Reset using J-Link and SYSRESETREQ not working こんにちは@malkai 、 お元気でお過ごしでしょうか。 こちらのリンクを参考にしてください。役に立つと思います。 https://community.nxp.com/t5/i-MX-プロセッサ-Knowledge-Base/すべてのボード-JTAG/ta-p/1106822 ------------------------------ ------------------------------ ------------------------------ ----------------------------- 注: この投稿で質問が解決した場合は、「正解」ボタンをクリックしてください。 ------------------------------ -------------------------------- -------------------------------- ----------------------------- ありがとう、よろしく。 サンケト・パレック
記事全体を表示
RT1170 使用同步动态随机存取存储器(SDRAM) 处理堆和堆栈 我按照https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1170-debugging-when-application-is-built-for-SDRAM/m-p/1374145/highlight/true#M17210和 RT1170_BriefOverview_v210.pdf 中提到的步骤进行了操作。 我正在开发一个需要大量头部内存的应用程序。 按照提供的步骤,使用 RT1170_BriefOverview_v210.pdf 中提到的修改刷新 hello world,我可以在调试模式下使用同步动态随机存取存储器(SDRAM)。 但是在这种变化之后,同步动态随机存取存储器(SDRAM)也用于存储代码。 在我的应用程序中,我希望代码存储在闪存中,而 BOARD_SDRAM 仅用于堆和堆栈部分。 我将把我的应用程序闪存到闪存中,该应用程序的堆和栈部分将使用 BOARD_SDRAM。 请指导我进行所需的更改。 i.MX-RT1170 MIMXRT1170-EVK Re: RT1170 Use SDRAM for Heap and Stack 按照恩智浦支持中的步骤,我得以在 RT1170 EVKB 上加载多核项目(如何在 RT1176 & [RT1170] 中调试双核项目)。 当我能够从同步动态随机存取存储器(SDRAM)运行后,在 Master/Core M7 项目中,我进入了项目设置-> C/C++ 版本-> 设置-> 托管链接器脚本并禁用了 " 将应用程序链接到 RAM " 设置。 然后我得以刷新二进制文件,并确认应用程序在 RESET 时从闪存运行,并成功地将 M4 应用程序从闪存复制到同步动态随机存取存储器(SDRAM)。 Re: RT1170 Use SDRAM for Heap and Stack 你好@sibrain-himanshu、 感谢您对 NXP MIMXRT 系列的关注! 问题的根本原因在于您使用了这个步骤6: 这会将整个图像加载到 RAM 中执行,也是生成非 XIP 图像的选项。 对于您的应用场景,在启用和配置同步动态随机存取存储器(SDRAM)之后,您只需要在 MCUXpresso IDE 中正确配置 Head/Stack: 致以最诚挚的问候, Gavin Re: RT1170 Use SDRAM for Heap and Stack 你好@Gavin_Jia 在步骤 6 的基础上做了你建议的更改,并在预处理器中使用了 "XIP_BOOT_HEADER_DCD_ENABLE=1" 宏之后,我的固件使用了同步动态随机存取存储器(SDRAM)。 但我的应用程序是用 C++ 编写的,所以我最初对它进行了与 hello world C 应用程序相同的修改,但没有成功。 因此,还在 C++ 预处理器宏中添加了"USE_SDRAM" 和"XIP_BOOT_HEADER_DCD_ENABLE=1" 宏,结果成功了。 C++ 预处理器宏 C 预处理器宏 感谢您的帮助。
記事全体を表示
How to Connect the OV7673 Camera Module to the LPCXpresso55S69 Development Board? Hi I am currently in the process of learning to use the LPCXpresso55S69 development board in conjunction with the OV7673 camera module. However, I have found that I cannot find the corresponding pins. According to the documentation in the application note AN12868 from NXP (https://www.nxp.com/docs/en/application-note/AN12868.pdf) and the open-source code on GitHub (https://github.com/nxp-appcodehub/dm-lpc55s69-multi-face-detection), OV7673 D0~D7 need to be connected to P0.0~P0.7, but I found that the P0.0~P0.6 interfaces on the development board are very scattered, such as P0.0 at P19[6], P0.6 at P20[7], but P0.7 is not found, it seems P0.7 is connected to U20[4]/SD0_CLK. In addition, the D0~D7 wire connections in the official documentation image seem to be continuous. If anybody could help me make better decisions it would be highly appreciated.  Regards Mariposa Marina Re: How to Connect the OV7673 Camera Module to the LPCXpresso55S69 Development Board? Hi, @Alice_Yang  Thank you very much for your response. Certainly, changing the pin configuration didn't work. I will try other methods. Regards Mariposa Marina Re: How to Connect the OV7673 Camera Module to the LPCXpresso55S69 Development Board? Hello @Mariposa_Marina  Thank you for your detailed reply. We do not recommend changing the pins. And if you just change the pins configuration like the code above, the application will not work well. So please do not change the pins. Thanks. Best Regards, Alice Re: How to Connect the OV7673 Camera Module to the LPCXpresso55S69 Development Board? Hi, @Alice_Yang  Thank you very much for your response. I have an additional inquiry: Is it feasible to successfully run the application on the LPCXpresso55S69-EVK demo board by altering the pin connections for the OV7670 camera module? For instance, can I modify the camera_pin_Init function within the driver, specifically the IOCON->PIO settings, to change the default pins PIO0_0 to PIO0_7 to alternative pins? I am uncertain about the viability of this approach. void camera_pin_Init(void){ /* Connect trigger sources to camera engine */ INPUTMUX_Init(INPUTMUX); INPUTMUX->CAMERA_ENGINE_INPUTMUX[0] = 13; // set p0_13 as VSYNC input function pin, every edge will be responded INPUTMUX->CAMERA_ENGINE_INPUTMUX[1] = 14; // set p0_14 as HSYNC input function pin, every edge will be responded INPUTMUX->CAMERA_ENGINE_INPUTMUX[2] = 15; // set p0_15 as pixel input function pin, every edge will be responded /* Turnoff clock to inputmux to save power. Clock is only needed to make changes */ INPUTMUX_Deinit(INPUTMUX); // configure camera interface pins IOCON->PIO[0][0] = PINFUNC_CAMERA | 1<<8|1<<10|2<<4| 1<<6; //set p0_0 D0 on the camera port IOCON->PIO[0][1] = PINFUNC_CAMERA | 1<<8|2<<4| 1<<6; //set p0_1 D1 on the camera port IOCON->PIO[0][2] = PINFUNC_CAMERA | 1<<8|2<<4| 1<<6; //set p0_2 D2 on the camera port IOCON->PIO[0][3] = PINFUNC_CAMERA | 1<<8|1<<6; //set p0_3 D3 on the camera port IOCON->PIO[0][4] = PINFUNC_CAMERA | 1<<8|1<<6; //set p0_4 D4 on the camera port IOCON->PIO[0][5] = PINFUNC_CAMERA | 1<<8|2<<4|1<<6; //set p0_5 D5 on the camera port IOCON->PIO[0][6] = PINFUNC_CAMERA | 1<<8; //set p0_6 D6 on the camera port IOCON->PIO[0][7] = PINFUNC_CAMERA | 1<<8; //set p0_7 D7 on the camera port IOCON->PIO[0][18] = PINFUNC_CAMERA | 1<<8| 1<<10; //P0_18 will toggle when camera engine receive every VSYNC dege IOCON->PIO[0][14] = PINFUNC_CAMERA | 1<<8| 1<<10; //P0_14 will toggle when camera engine receive every VSYNC dege } Regards Mariposa Marina Re: How to Connect the OV7673 Camera Module to the LPCXpresso55S69 Development Board? Hello @Mariposa_Marina  Thanks for your interest in NXP Semiconductors products. The LPCXpresso55s69 - evk is just a demo board, not specifically developed for this application. So the used pins are not concentrated. You can place them as you design your hardware. For this demo board, the PIO0_7 is connected to R107 - 1 as below. BR Alice
記事全体を表示
How to change i.MX8MP kernel boot logo and yocto project splashimage to my own custom logo and image Dear NXP Support team, I would like to change all the logo and images that are displayed from the beginning of the U-Boot. When a hdmi monitor is connected to the board, I can see 4 penguins and yocto project image with a progress bar. I would like to change those images to my own custom images. Please guide me how I can make those changes. Please elaborate about the explanation if you can since I'm new to yocto linux imx. Thank you. Re: How to change i.MX8MP kernel boot logo and yocto project splashimage to my own custom logo and i Hi,@Rita_Wan Based on the 8MP_LVDS_patch, I was able to get the display working in U-Boot successfully. But when I added the kernel part, I couldn’t get a seamless transition between U-Boot and the kernel display. The kernel side shows abnormal behavior — the screen flickers — while the display in U-Boot is totally fine. Could you give me some suggestions on this? What could be causing the issue? Re: How to change i.MX8MP kernel boot logo and yocto project splashimage to my own custom logo and i Hi @bych , I found the easy way for you to try: Linux Kernel Logo Use the netpbm tool to convert png images to ppm images. $ pngtopnm linux_logo.png > linux_logo.pnm $ pnmquant 224 linux_logo.pnm > linux_logo_clut224.pnm $ pnmtoplainpnm linux_logo_clut224.pnm > logo_linux_clut224.ppm   Put the converted ppm file into the drivers/video/logo/ directory of the kernel, and replace the logo_linux_clut224.ppm file. Re-compile the kernel, and the logo will be replaced with a new picture. You can try it . Wish you have a nice day Bset Regards Rita Re: How to change i.MX8MP kernel boot logo and yocto project splashimage to my own custom logo and i I have my own custom board that is based on i.MX8M Plus Processor, but the custom board is designed as same as i.MX8M Plus EVK board. I've successfully booted up my board and the display via HDMI looks fine. But I just want change the boot logo (4 penguins) and splash screen (yocto project logo with progress bar) to my own custom logo. You provided the patches but I do not know how to apply those patches to the u-boot or kernel. Please kindly advise how I use and apply those patches. Thank you. Re: How to change i.MX8MP kernel boot logo and yocto project splashimage to my own custom logo and i What is the board in your hand? nxp board, or the board you design yourself, have you make your board boot up and display already? Re: How to change i.MX8MP kernel boot logo and yocto project splashimage to my own custom logo and i Could you kindly advise how I can apply those patches? I've never done applying patches before... Re: How to change i.MX8MP kernel boot logo and yocto project splashimage to my own custom logo and i You can refer to the patches realized in the LVDS for the u-boot and kernel, the methods are the almost the same. i.MX 8MP LVDS seamless display (连续显示) between U-boot and Kernel - NXP Community
記事全体を表示
iMX8MM CAAM errors when using 'tk(cbc(aes))' for filesystem encryption I'm getting the following error when writing to a filesystem using the CAAM for filesystem encryption with `tk(cbc(aes))`. caam_jr 30902000.jr: 4000141c: DECO: desc idx 20: DECO Watchdog timer timeout error This only happens occasionally but seems to be more prevalent when running with all cores enabled. Re: iMX8MM CAAM errors when using 'tk(cbc(aes))' for filesystem encryption Sorry for the delay in replying. We are using `linux-imx_5.15.71_2.2.2-phy5` from Phytec with patches from https://github.com/Freescale/linux-fslc/tree/5.15-2.2.x-imx up until 5.15.183.  Unfortunately the problem only occurs occasionally (less than 1 instance every 500 hours or so of CI testing across multiple units) and I haven't been able to create a simple reproducer. An initial attempt to enable `CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG` prevents our device from booting as we are using the CAAM to encrypt the root filesystem along with various data partitions and this generates too much logging. I'm looking at adding log information to a circular buffer and emitting this when the error occurs.  As this will only result in the last 1000 or so records being emitted, I'd like to know whether there are any setup messages that we should always log to support analysis. Thanks Daniel Re: iMX8MM CAAM errors when using 'tk(cbc(aes))' for filesystem encryption Can you please share the version of BSP you're working and the Steps and logs when problems occur? Regards Harvey Re: iMX8MM CAAM errors when using 'tk(cbc(aes))' for filesystem encryption Unfortunately, I've been unable to reproduce with other tools 😞 I have added logging of last 2048 CAAM log messages on failure and we are now waiting for failure to re-occur in CI.  I'll send logs as soon as I get them Re: iMX8MM CAAM errors when using 'tk(cbc(aes))' for filesystem encryption Watchdog timeout error was triggered by DECO halt on but there were multi case to make DECO halt on, such as input/output buffer address, length or etc. Can you reproduce this with stress test with "dd" or "fio" tool? If the issue can be reproduced stably, it can help us to find the root cause. Regards Harvey Re: iMX8MM CAAM errors when using 'tk(cbc(aes))' for filesystem encryption Finally had it fail with logging.  This should include the last 2048 log records from the CAAM subsystem.  Only difference to standard logging is that `src` and `dst` buffer data is not included. Re: iMX8MM CAAM errors when using 'tk(cbc(aes))' for filesystem encryption From a brief look at my log, it appears that at the point of failure, the 8th of 8 queued requests for a sequence of offsets is what generates the DECO watchdog timeout error.  In the earlier portions of the log, it appears that there are rarely any queued requests (possibly sometimes one?) even when handling other sequences of offsets.  Is this a clue? The 7 queued requests before this do seem to complete correctly so could one of the following the cause... The queue actually only supports 7 entries - in which case reducing the number of queued entries may help (where can I change this?) The DECO watchdog timeout starts when entries are added to the queue and simply expires due to the time taken to handle 8 entries - in which case extending the timeout period may help (again, if possible, where can I change this?) This specific request actually has a problem - but to me it looks equivalent to the 7 previous requests so this seems unlikely Thanks Daniel Re: iMX8MM CAAM errors when using 'tk(cbc(aes))' for filesystem encryption Note we are running the CPU and DDR at reduced speed for power saving reasons - which may impact this Re: iMX8MM CAAM errors when using 'tk(cbc(aes))' for filesystem encryption No, I haven't been able to reproduce with dd or fio.  On the system I captured the previous log from, it only happens very occasionally (once in 2 months so far).  On another system it with slightly different code, it happens at least once a day.  We believe this is when loading a large set of shared libraries during startup (which aren't used on the system I got logs from).  Unfortunately, we are not able to easily collect logs from this version - however we would be able to test a patch relatively quickly to see if the issue is resolved. Do the previous logs contain enough information for investigation purposes?  If not then what else would be required? Re: iMX8MM CAAM errors when using 'tk(cbc(aes))' for filesystem encryption Having got the logs, I decided to dig in further myself.  It appears that when the system is under high memory load but still has the DDR running at 400MT/s (or in our case sometimes 100MT/s), the CAAM will sometimes generate a watchdog error. The eMMC driver forces the DDR to 3000MT/s, but for writes, this doesn't necessarily occur until after the encryption has been performed. We have fixed this for our use case by requesting `BUS_FREQ_HIGH` in `caam_jr_enqueue()` and releasing it again via scheduled work from `caam_jr_dequeue()`. This fixes filesystem accesses, however it causes problems when called from the network stack (via xfrm for example) as `request_bus_freq()` ends up being called in atomic context (from much further up the network stack) and both `request_bus_freq()` and `clk_xxx()` calls utilise mutex's We have worked around this by disabling use of CAAM for everything but the filesystem, but a better solution would be required if upstreamed.
記事全体を表示
MaaxBoard (NXP i.MX93) で GPIO およびタイマー ピンを構成し、pinmux 設定を有効にする方法は? 私は MaaxBoard (NXP i.MX93 プロセッサベース) を使用していますが、次のユースCASEの pinmux とピン構成の設定について支援が必要です。 トリガー ピン (出力) として GPIO ピンが 1 つ必要です。 1 つのピンをタイマー入力 (TPM 入力キャプチャまたは PWM) 用に構成する必要があります。 問題は次の通りです: GPIO ピンが読み取り/書き込み操作に正しく応答しません。 pinmux 構成が欠落しているか間違っているか、デバイス ツリーが適切に更新されていないと思われます。 以下の点についてご協力いただけますでしょうか? MaaxBoard のピン配置とリファレンス マニュアルで GPIO とタイマーの正しいピン名とパッドを見つけるにはどうすればよいでしょうか? 必要なピン多重化を有効にするには、デバイス ツリー (.dts) にどのような変更を加える必要がありますか。 GPIOピンを出力用に設定し、ユーザー空間からの読み取り/書き込みを許可する タイマーピンを入力キャプチャまたはPWM用に設定する MaaxBoard で GPIO が正しく動作しない原因となる一般的な問題はありますか? 1 つの GPIO を読み取りと書き込み用に設定する方法の例はありますか?そのために、pin_mux.c や app.h など、何を更新する必要がありますか? i.MX93 #マックスボード MCX C Re: How to configure GPIO and Timer pins on MaaxBoard (NXP i.MX93) and enable pinmux settings ? こんにちは、Manjunathb MaaxBoard は Element14 によって製造およびサポートされています。所有者に問い合わせて、BSP とボードに関する詳しい情報を入手することをお勧めします。 MaaXBoard OSM93 - element14 コミュニティ MaaXBoardハードウェアデザイン - element14コミュニティ    i.MX 93 EVK 用の NXP MCUXpresso SDK も参照できます。 SDKは以下からダウンロードできます。 MCUXpresso SDK Builder パッケージ内には TPM と GPIO / タイマーのデモが含まれています。 よろしくお願いします。 ダニエル よろしくお願いします。 ダニエル Re: How to configure GPIO and Timer pins on MaaxBoard (NXP i.MX93) and enable pinmux settings ? -> ここで参考のためにコードを添付しました。1 つの GPIO を構成して読み取りおよび書き込み操作を実行するだけで、コードを次のように更新しました。   /* * 著作権 (c) 2015、Freescale Semiconductor, Inc. * 著作権 2016-2017 NXP * 無断転載を禁じます。 * * SPDXライセンス識別子: BSD-3条項 */ #include "board.h" #include "fsl_debug_console.h" #include "fsl_rgpio.h" #include "app.h" /**************************************************************************************** * 定義 **********************************************************************************/ /**************************************************************************************** * プロトタイプ **********************************************************************************/ /*! * @briefしばらく遅延します。 */ void遅延( void ); /**************************************************************************************** * 変数 **********************************************************************************/ /**************************************************************************************** * コード **********************************************************************************/ /*! * @briefメイン関数 */ int main( void ) { /*[手動で]-> GPIO入力のinit構造体を定義する*/ rgpio_pin_config_t 入力構成 = {         kRGPIO_デジタル入力、         0 , }; /* ボードピン、クロック、デバッグコンソールの初期化 */ BOARD_InitHardware(); /* 端末にメモを印刷します。*/     PRINTF ( "\r\n GPIO は状態の読み取りを開始します.....\r\n" ); /* 出力 LED GPIO を初期化します。*/ RGPIO_PinInit( BOARD_LED_RGPIO 、 BOARD_LED_RGPIO_PIN 、 &input_config);     一方( 1 )     {         uint32_t val = RGPIO_PinRead( BOARD_LED_RGPIO 、 BOARD_LED_RGPIO_PIN );         PRINTF ( "GPIO%d の現在の値は : %d\r\n" , BOARD_LED_RGPIO_PIN ,val); SDK_DelayAtLeastUs( 500000U , SystemCoreClock);    } } ######################################################## /* * 著作権 2022 NXP * * SPDXライセンス識別子: BSD-3条項 */ /******************************************************************************************************************************** * このファイルは、MCUXpresso Config Tools によって生成されました。このファイルに対して手動で行われた編集 * それぞれの MCUXpresso Config Tools を使用してこのファイルを更新すると、上書きされます。 ******************************************************************************************************************************/ /* * 以下のテキストはツールの設定として使用されます ************************************* !!グローバル情報 製品: Pins v12.0 プロセッサ: MIMX9352xxxxM パッケージID: MIMX9352DVVXM mcu_data: ksdk2_0 プロセッサバージョン: 0.12.3 * このコメントを変更する際は注意してください - これはツールの YAML 設定です *********** */ #include "pin_mux.h" /* 関数 ************************************************************************************************************ * * 関数名: BOARD_InitBootPins * 説明: 初期化関数を呼び出します。 * * 終わり ****************************************************************************************************************/ BOARD_InitBootPins を無効にします( void ) { BOARD_InitPins(); } /* * 以下のテキストはツールの設定として使用されます ************************************* ボード初期ピン: - オプション: {callFromInitBoot: 'true', coreID: cm33} - ピンリスト: - {pin_num: F20、ペリフェラル: LPUART2、信号: lpuart_rx、pin_signal: UART2_RXD、HYS: DISABLED、FSEL1: SlOW_SLEW_RATE、DSE: NO_DRIVE} - {pin_num: F21、ペリフェラル: LPUART2、信号: lpuart_tx、pin_signal: UART2_TXD、HYS: 無効、PD: 無効、FSEL1: SlOW_SLEW_RATE} - {pin_num: L17、ペリフェラル: GPIO2、信号: 'gpio_io, 04'、ピン信号: GPIO_IO04、HYS: 無効} * このコメントを変更する際は注意してください - これはツールの YAML 設定です *********** */ /* 関数 ************************************************************************************************************ * * 関数名: BOARD_InitPins * 説明: ピンのルーティングとオプションでピンの電気機能を構成します。 * * 終わり ****************************************************************************************************************/ void BOARD_InitPins( void ) { /*!< コアに割り当てられた関数: undefined[cm33] */     // IOMUXC_SetPinMux(IOMUXC_PAD_GPIO_IO04__GPIO2_IO04, 0U); IOMUXC_SetPinMux( IOMUXC_PAD_UART2_RXD__LPUART2_RX 、 0U ); IOMUXC_SetPinMux( IOMUXC_PAD_UART2_TXD__LPUART2_TX 、 0U ); /* 手動で追加 (開始)*/ IOMUXC_SetPinMux( IOMUXC_PAD_GPIO_IO13__GPIO2_IO13 , 0U ); IOMUXC_SetPinConfig( IOMUXC_PAD_GPIO_IO13__GPIO2_IO13 、 /* 手動で追加 (終了)*/     // IOMUXC_SetPinConfig(IOMUXC_PAD_GPIO_IO04__GPIO2_IO04,     // IOMUXC_PAD_PD_MASK); IOMUXC_SetPinConfig( IOMUXC_PAD_UART2_RXD__LPUART2_RX 、                         IOMUXC_PAD_PD_MASK ); IOMUXC_SetPinConfig( IOMUXC_PAD_UART2_TXD__LPUART2_TX 、                         IOMUXC_PAD_DSE ( 15U )); } /******************************************************************************************************************************** * 終了 ******************************************************************************************************************************/ /* * 著作権 2022 NXP * * SPDXライセンス識別子: BSD-3条項 */ #ifndef _APP_H_ #define _APP_H_ /**************************************************************************************** * 定義 **********************************************************************************/ /* ${macro:start} */ #BOARD_LED_RGPIOを定義します          GPIO2 #BOARD_LED_RGPIO_PINを定義します      13U #DEFINE EXAMPLE_RGPIO_CLOCK_ROOT kCLOCK_Root_BusWakeup #DEFINE EXAMPLE_RGPIO_CLOCK_GATE kCLOCK_Gpio2 /* ${macro:end} */ /**************************************************************************************** * プロトタイプ **********************************************************************************/ /* ${prototype:start} */ BOARD_InitHardware をvoidにします。 /* ${prototype:end} */ #endif /* _APP_H_ */
記事全体を表示
使用 blhost 编程/擦除 LPC54(S)0xx 闪存 注意:本文档提供了简单的描述,有关 flashloader 的详细信息可以在 SDK_2.5.0_LPCXpresso54S018\middleware\mcu-boot\doc 中的 LPC540xx Flashloader 用户指南入门.pdf 中找到 下载LPC54S0xx SDK。 编译flashloader工程,生成flashloader.bin 该项目位于sdk\boards \lpcxpresso54s018\bootloader_examples\flashloader 使用 dfu-util.exe 或 IDE 将 flashloader.bin 加载到 RAM 中。 dfu-util 可以从http://dfu-util.sourceforge.net/releases/下载 配置ISP引脚,然后复位芯片,使芯片进入USB1 DFU启动模式。 Boot mode ISP2 PIO0_6引脚 ISP1 PIO0_5引脚 ISP0 PIO0_4引脚 描述 USB1 DFU启动 低 低 高 USB DFU 类用于通过 USB1 高速端口将图像下载到 SRAM 中。 将LPC54S0xx设备USB1高速口与PC通过USB连接。以下是加载flashloader.bin的命令行: $ dfu-util.exe –D flashloader.bin   使用 blhost 编程/擦除 LPC540xxM/LPC54S0xxM 闪存 一旦下载了闪存加载程序二进制文件并在 LPC54S0xx 平台上开始执行,并且 LPC54S0xx 平台USB1(高速)和主机之间仍然保持物理 USB 连接,闪存加载程序将准备好接收命令。 blhost -u 0x1fc9,0x01a2 --获取属性 12 blhost -u 0x1fc9,0x01a2 --填充内存0x2000d000 4 0xc0000004 blhost -u 0x1fc9,0x01a2 --配置内存 0xa 0x2000d000 blhost -u 0x1fc9,0x01a2 --获取属性 25 0xa blhost -u 0x1fc9,0x01a2 -t 100000 --闪存擦除区域 0x10000000 0x100000 blhost -u 0x1fc9,0x01a2 -t 100000 --写入内存 0x10000000 xxx.bin 注: xxx.bin为需要下载到flash中的目标文件。 作者:刘浩 感谢刘浩。
記事全体を表示
NXP Rapid IoTデモ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
記事全体を表示
从 S1L 更新 S1L <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 如果您的 FDI 板上已经有S1L ,您可以按照以下步骤更新到S1L的早期版本或更高版本。此过程不应用于更新块 0 中的 kickstart 加载程序。 步骤 1:启动系统至S1L提示符。准备好S1L的更新版本。 第 2 步:在S1L提示符下,键入“load term raw 0x90000000”以启动新图像的S1L中的二进制接收。在您的终端程序上,将S1L文件(即 s1l_from_kick_gnu.bin)作为二进制文件发送到开发板。 步骤 3:传输完成后,向主板发送中断以返回提示。在TeraTerm中,可以从控制菜单或按 ALT-B 发送中断。 步骤4:擦除FLASH中用于S1L存储的块。这些是块 1 至 24。要非常小心,不要擦除用于 klickstart 加载程序的块 0。可以使用“erase 1 24”命令来擦除块。 步骤 5:将加载的S1L图像写入从块 1 开始的S1L区域。S1L图像通常在 56K 到 80K 之间,因此它很容易容纳在 1 个块中。命令“write 0x90000000 64 64”将执行此操作。写入命令占用扇区(而不是块) - 扇区 64 是块 1 的起始位置。 步骤 6:重置电路板以验证S1L图像是否已更新。 整个序列如下所示。您可以通过检查 S1L 启动时的构建日期来查看正在运行的不同版本的 S1L 。 FDI3250 快速启动 v1.00 NAND闪存初始化 正在运行第 1 阶段加载器... Future Designs, Inc. DK-xTS-LPC3250 板 构建日期:2010年9月10日 10:12:22 自动启动正在进行中,按任意键停止 linux>加载术语原始 0x90000000 开始终端下载,发送中断停止 文件加载成功 Linux>擦除 1 24 操作将覆盖引导加载程序 - 确定吗?(是/否): 起始块擦除 linux>写入 0x90000000 64 64 Linux>FDI3250 Kickstart v1.00 NAND闪存初始化 正在运行第 1 阶段加载器... 使用默认系统配置 Future Designs, Inc. DK-xTS-LPC3250 板 构建日期:2010年9月13日 11:20:12 FDI3250
記事全体を表示
SMI-N2000 固态射频电源相对于真空管的优势 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 自 20 世纪 20 年代初以来,微波能量的来源传统上一直是真空管和磁控管。尽管固态射频发电技术已经取得了许多进步,但当今的一些高功率射频应用仍然依赖真空管技术。本课程将介绍固态的技术优势,包括动态范围控制、光谱纯度、制造规模经济和产品寿命。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 自 20 世纪 20 年代初以来,微波能量的来源传统上一直是真空管和磁控管。尽管固态射频发电技术已经取得了许多进步,但当今的一些高功率射频应用仍然依赖真空管技术。本课程将介绍固态的技术优势,包括动态范围控制、光谱纯度、制造规模经济和产品寿命。 智能机械和工业自动化 回复:SMI-N2000 固态射频电源相对于真空管的优势 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我看到了射频介电加热的应用。并想制作一个像RFEM24-250一样的用于加热的仪器。ISM频段为40MHz,晶体管采用MRFE6VP6300H或MRFE6VP5150N。 我想找到参考设计
記事全体を表示
Zephyr 的内存详情 如果您对这些资源有任何疑问或问题,请 提出新问题,恩智浦支持团队将为您解答。 在学习 Zephyr 时,存在许多与内存相关的问题。链接器会将代码和数据放置在何处?应用程序应如何配置以使用其他存储器? 链接器所使用的默认内存段是在设备树中进行配置的。通常,设备树会使用选定的节点来配置这些部分。以下是 MIMXRT1060-EVK 板上的一个示例: chosen { zephyr,flash = &is25wp064; zephyr,sram = &sdram0; }; 这些选定节点的名称可能会造成误导。 zephyr,flash 指向链接器用于所有代码(.text)和只读数据段的节点。通常,这指向物理闪存,例如,在这块板上,它被放置在外部 QSPI 闪存中,但它也可以位于非闪存的内存中。 zephyr,sram 指向链接器用于所有 .data和 .bss部分的节点。这应该位于 RAM 中,但不一定在 SRAM 中。在该板上,它位于外部 SDRAM 中。应用程序可以将这些节点指向最适合该应用程序的其他内存。其他常用的内存节点包括 &dtcm 、 &itcm 或 &ocram 。 通常,这些选定的节点在电路板设备树文件中进行设置。但是在学习 Zephyr 以及使用设备树时,最好在应用程序构建过程中生成的设备树文件中确认设备树设置,请参阅实验室指南:设备树和 VS Code 设备树查看器。 i.MX RT内存 大多数内存问题来自使用 i.MX RT 设备的用户。这些微控制器(MCU)是高性能无闪存设备,具备多种内部和外部存储选项,以最大化应用程序的性能和灵活性。以下是一些专门针对 i.MX RT 设备的有用资源: i.MX RT 应用说明: AN12437 i.MX RT系列性能优化 AN12077 使用 i.MX RT FlexRAM AN13970 Zephyr 中的 RT 系列内存重定位 ROM 中的引导加载程序在启动时需要 Flash 配置块(FCB),并且可以选择添加设备配置数据 (DCD) 或外部存储器配置数据 (XMCD),这些数据通常用于启用 SDRAM。这篇文章提供了更多关于在哪里可以找到这些结构,以及如何将它们包含在开发板中的详细信息。 不支持 SDRAM 的情况说明:Zephyr 对配备外部 SDRAM 的实时开发板的支持,通常会将数据存储在 SDRAM 中。ROM 引导加载程序会在 Zephyr 应用程序执行之前,通过 DCD 或 XMCD 配置 SDRAM 接口。这篇文章讨论了如何移除定制主板的 SDRAM。 如需配置 FlexRAM,调整 ITCM、DTCM 或 OCRAM 的大小,请参阅 AN13970 Zephyr 中的 RT 系列内存重定位 将代码重新定位到 RAM 中 将代码移至 RAM 是一个常见需求,例如,为了最大化性能或降低功耗。借助 Zephyr,应用程序可以将所有代码或部分代码迁移到 RAM 中。以下是一些有用的搬迁资源: AN13970 Zephyr 中的 RT 系列内存重定位 Zephyr代码和数据重定位API 重新定位代码的示例应用: 简单示例SDRAM_hello_world.zip将整个应用程序移动到 SDRAM,并在启动时使用 ROM 引导程序加载 RAM,然后再执行应用程序。 Zperf 示例:此 Zephyr 网络示例将网络堆栈和以太网驱动程序代码迁移至 ITCM,以提高在 MIMXRT1170-EVK 上构建时的性能。其余代码保留在默认的外部 QSPI 闪存中。 NXP SmartWatch 演示和网络研讨会:将大部分代码重新定位到内部 SRAM 以降低功耗,同时将图形资产保留在闪存中。 将数据加载到 RAM 在 Zephyr 中,所有数据、变量和堆栈的默认位置都位于 zephyr,sram 节点。然而,某些应用程序希望将特定数据放置在其他位置。例如,将数据放置在 DTCM 中以最大化性能,将 DMA 缓冲区放置在不可缓存的内存中,或将显示的大型帧缓冲区移动到外部 RAM。以下是一些有助于指定数据放置的资源: 静态变量的声明可以包含链接器段标签,以便将它们放置在特定段中。一个参考示例是dma_mcux_edma.c驱动程序,它将 dma_tcdpool 结构放置在 __dtcm_noinit_section 或 __nocache 部分。 静态变量的另一种选择是在变量声明中使用设备树节点,从而将其放置在特定的部分中。一个可以参考的例子是恩智浦的面部检测演示。此演示在设备树中添加选定的节点 zephyr,modelbuf ,该节点指向内存部分节点 sramx 。要使用此方法,内存段节点需要具备属性 zephyr,memory-region 。在源代码中, model_input_buf 缓冲区是用 zephyr_modelbuf 节点声明的。然后,链接程序将 model_input_buf 放置在 sramx 部分。 整个源文件或库中的 data 和 bss 部分可以重定位到其他 RAM,详情请参阅 Zephyr代码和数据重定位 API。 Zephyr 可以使用一个特殊的固定区域,将中断堆栈和主堆栈放置在不同的 RAM 区段中。简单示例pinned_hello_world.zip在 DTCM 中固定中断和主堆栈。   其他内存资源 示例调整内存节点大小,利用 NXP LPC5500 中的所有 SRAM 返回Zephyr知识中心
記事全体を表示
S32K3 FLEXIO data exception I am using S32K314 RTD400 SAI0 (host) and FLEXIO analog I2S (slave) communication, SAI only use d0, MUX_DISABLE, word width of 16, found that the data received by the slave is the host's data cycle to move one bit left to get the data, such as sending 0x8002, in the code inside the slave get the data is 0x5, change a lot of configuration is useless, finally check the Enable User Mode Support in the figure below, the data is normal. For example, if you send 0x8002, the data received by the slave in the code is 0x5. After changing a lot of configurations, the data is normal after checking Enable User Mode Support in the following figure. The SAI configuration is as follows Re: S32K3 FLEXIO数据异常 Hi@Jason22 I checked the compilation results, this option you check or uncheck does not affect the results of the run at all. According to the project you provided, the compilation I got with Enable User Mode Support checked and unchecked is exactly the same, which means it doesn't cause the problem you described. Re: S32K3 FLEXIO数据异常 Compile no problem, there is no "Mcal.h" file, if so, clear the project, compile again and there will be no problem (I do not know if this is the IDE version of the problem, S32DS 3.6 does not seem to have this error). If it's not this error, can you tell me what's wrong with the compilation? Re: S32K3 FLEXIO数据异常 Hi@Jason22 Sorry, I read it wrong, it's not the IDE version, it's that I read Enable User Mode Support as Enable Flexio Common Support Can you double check the project you provided, I can't get it to compile successfully. Re: S32K3 FLEXIO数据异常 没有勾选“Enable User Mode Support”,配置还是有效 不勾选"Enable Flexio Common Support",配置才无效,我使用的是S32DS 3.5.14,这和S32DS版本有关嘛 Re: S32K3 FLEXIO数据异常 Hi@Jason22 你不勾选“Enable User Mode Support”下面的配置不是不生效了嘛 Re: S32K3 FLEXIO数据异常 Hi@Jason22 Logic analyzer yourself to test if the data you're sending out is correct or not Re: S32K3 FLEXIO数据异常 I also compared it and found the same thing, re-ran the program and found that after checking the box, the data looped left again, but the first time I checked the box, the data did go normal, and repeated the run a few times and it was normal, so I don't know what factors are causing this. Then I would like to ask, is it my configuration or the code has a problem, why the data received by the slave is just the result of the data sent by the host cyclic left shift? Thanks for your help. Data sent by the host Data received from the slave
記事全体を表示