Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
S32K148 Enabling CSEc Issues The problem I'm having is this: The board has been programmed and executed, and the previous program did not have CSEc enabled, so the value of uCSEcKeySize is set to 0 when initializing the EEP time zone. Now to enable CSEc, use AES-128-CMAC to verify the firmware, because this time I run S32_SDK_S32K1xx_RTM_4.0.2\examples\S32K148\driver_examples\system\csec_keyconfig to repartition and use Debug_ RAM configuration for compilation and debugging, the return value of FLASH_DRV_EraseAllBlock is successful, FLASH_DRV_DEFlashPartition fails because the value of the ACCERR bit of FTFC- >FSTAT in the FLASH_DRV_CommandSequence function is 1. Also I used jlink's erase chip feature to erase the data with the same result. What can I do about it? Re: S32K148启用CSEc问题 The parameters seem to be correct.  What is the meaning of this? uint8_t cseKeySize = *(volatile uint8_t *)0x40020005U; if (flashSSDConfig.EEESize == 0 || cseKeySize == 0U) { This is an address of FCC0B2 register. I can't see a reason to read the register here.  Could you read the content of FCFG1 register in SIM module? If Erase All Blocks command was successful, the EEERAMSIZE and DEPART bit fields should be reset to '1's after next reset.  Are any flash blocks protected? Could you take a screenshot of flash configuration field at 0x400 - 0x40F? Regards, Lukas Re: S32K148启用CSEc问题 Hi Lukas, The contents of my `initFlashForCsecOperation` function are as follows: void initFlashForCsecOperation(void) {     flash_ssd_config_t flashSSDConfig;     status_t status = FLASH_DRV_Init(&flash1_InitConfig0, &flashSSDConfig);     if (status != STATUS_SUCCESS) {         return;     }     uint8_t cseKeySize = *(volatile uint8_t *)0x40020005U;     if (flashSSDConfig.EEESize == 0 || cseKeySize == 0U)  { #ifdef FLASH_TARGET         PINS_DRV_ClearPins(LED_PORT, 1 << LED_OK); #else         uint32_t address;         uint32_t size; #if (FEATURE_FLS_HAS_PROGRAM_PHRASE_CMD == 1u)         uint8_t unsecure_key[FTFx_PHRASE_SIZE] = {0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFEu, 0xFFu, 0xFFu, 0xFFu}; #else   /* FEATURE_FLASH_HAS_PROGRAM_LONGWORD_CMD */         uint8_t unsecure_key[FTFx_LONGWORD_SIZE] = {0xFEu, 0xFFu, 0xFFu, 0xFFu}; #endif  /* FEATURE_FLS_HAS_PROGRAM_PHRASE_CMD */           status = FLASH_DRV_EraseAllBlock(&flashSSDConfig);         if (status != STATUS_SUCCESS) {             return;         }         status = FLASH_DRV_Init(&flash1_InitConfig0, &flashSSDConfig); #if (FEATURE_FLS_HAS_PROGRAM_PHRASE_CMD == 1u)         address = 0x408u;         size = FTFx_PHRASE_SIZE; #else   /* FEATURE_FLASH_HAS_PROGRAM_LONGWORD_CMD == 1u */         address = 0x40Cu;         size = FTFx_LONGWORD_SIZE; #endif /* FEATURE_FLS_HAS_PROGRAM_PHRASE_CMD */         status = FLASH_DRV_Program(&flashSSDConfig, address, size, unsecure_key);         if (status != STATUS_SUCCESS) {             return;         }         status = FLASH_DRV_DEFlashPartition(&flashSSDConfig, 0x2, 0x4, 0x3, true, true);         if (status != STATUS_SUCCESS) {             return;         } #endif /* FLASH_TARGET */     } } I use the chip as shown in the figure below: Re: S32K148启用CSEc问题 Hi @AllanZhou  How did you set parameters for FLASH_DRV_DEFlashPartition? There’s a list of possible issues when this command returns ACCERR: Regards, Lukas Re: S32K148启用CSEc问题 Hi  lukaszadrapa, My goal is to read the value of `uCSEcKeySize` from the last partitioning operation; if it is 0, I will perform the partitioning again. The value of the FCFG1 register is 0xFF32F000 Re: S32K148启用CSEc问题 Yes, SIM->FCFG1 0xFF32F000 is correct default value when the device is not partitioned yet. After partitioning using these parameters, you should see 0xFF324000. So, the EraseAllBlocks command obviously works, there’s no problem. The parameters for FLASH_DRV_DEFlashPartition are correct. The code is running from RAM. There are not many options now. Could you try to hide all flash memory windows in your debugger to ensure that the debugger does not access flash memory while the device is being partitioned? Do you have more boards? Are you facing the same behavior on all of them? Regards, Lukas Re: S32K148启用CSEc问题 Hi  lukaszadrapa, I've already replaced the board, but I'm still having the same issue. Does this have anything to do with the chip model I'm using? Does the second “F” in FS32K148HFVLQ indicate that there is no security module? Re: S32K148启用CSEc问题 Hi @AllanZhou  You are absolutely right, I'm sorry for confusion. I was somehow under impression that S32K148 has always  security feature but I was wrong, my memory betrayed me: Yes, you need to order a derivative which has Security feature.  Regards, Lukas 
查看全文
S32K AUTOSAR Simulink (MBDT) と S32DS を組み合わせて、AUTOSAR 準拠のコードを生成することは可能でしょうか?それとも、EB Tresosを使用する場合のみ、Simulink(MBDT)を使用することが必須なのでしょうか?さらに、S32K3のRTDはAUTOSARの仕様に準拠していますか? Re: S32K Autosar こんにちは、 Simulink (MBDT) と S32DS を組み合わせて使用しても、AUTOSAR に準拠したコードを直接生成することはできません。 下記のリンクをご覧ください。 https://www.nxp.com/design/design-center/training/TIP-AUTOSAR-SOFTWARE-NXP-S32K3-MATHWORKS-TOOLS#:~:text=In %20this% 20webinar %2C% 20NXP %20and,S32K3% 20microcontrollers %20for% 20general%20purpose . それとも、EB Tresosを使用する場合のみ、Simulink(MBDT)を使用することが必須なのでしょうか? MBDTを使用するためにEBトレソスは必須ではありません。 さらに、S32K3のRTDはAUTOSARの仕様に準拠していますか? いいえ、S32K3 RTD単体ではAUTOSARに完全に準拠しているわけではありません。RTDはAUTOSARアプリケーションと非AUTOSARアプリケーションの両方をサポートしています。 AUTOSAR準拠のECUソフトウェアにするには、フルスタックが必要です。 アプリケーション(SWC)、RTE、BSW(サービス、ECU抽象化)、MCAL https://www.nxp.com/design/design-center/software/automotive-software-and-tools/real-time-drivers-rtd:AUTOMOTIVE-RTD よろしくお願いします、 ピーター
查看全文
S32E288 Pythonスクリプトの実行中にエラーが発生しました こんにちは、NXPのエキスパートの皆様。 S32 Design StudioでS32プラットフォームバージョン3.6.7用の新しいS32E288 M33プロジェクトを作成し、ビルドしてS32デバッガーで実行しようとしました。 でも私は この問題の原因を理解するのを手伝ってください。 よろしくお願いします。       Re: S32E288 Failure during execution of python script こんにちは、 @cszhang さん。 お問い合わせいただきありがとうございます。ご質問の件ですが、ご利用のRTDのバージョンを教えていただけますでしょうか?そして、もし可能であれば、サンプルコードをデバッグしてみてください。 よろしくお願いします。 Re: S32E288 Failure during execution of python script RTDは また、 もテストしましたが、同じ問題が発生しました。 次に、デバッガータブの をクリックすると、SIul2サンプルプロジェクトが構成生成を実行しました。JTAG VTREF値を測定したところ、3.297Vでした。 E2-JTAGコネクタには、基板上に33オームの抵抗器が搭載されています。 Re: S32E288 Failure during execution of python script 迅速なご対応ありがとうございます。同僚がハードウェアについて調べているのですが、どうやらFS86 PMICの動作が良くないようです。 Re: S32E288 Failure during execution of python script こんにちは、 @cszhang さん。 情報提供ありがとうございました。S32DS 3.6.7がRTD 2.0.1と互換性があるかどうかを確認する必要があります。公式にサポートされているバージョンは3.6.1です。 しかし、 AN12530に従うと、33オームの抵抗器を使用するのは最善の方法ではなく、セクション7の回路図例に示されている推奨接続では、0オームの抵抗器が直列に接続されています。 0オームの抵抗器を使ってみて、動作が変わるかどうか教えてください。 問題が解決しない場合は、基板上のBOOTMODピンの状態をお知らせください。 ありがとうございます。 Re: S32E288 Failure during execution of python script こんにちは、 @cszhang さん。 FS86に関する推奨事項については 、S32E HW設計ガイドライン のセクション 3.1「電源に関する推奨事項」 をご覧ください。また、S32E288-975EVBの 設計ファイル では、S32E EVBがFS86をどのように使用しているかを確認できます。 設計ファイルには回路図のPDFファイルが含まれていないことに注意してください。そのファイルが必要な場合は、NXPサポートケースポータルのチュートリアルに従って、プライベートサポートチケットを開いてください。その際は、この投稿へのリンクと私のユーザー名を記載してください。そうすれば私が対応し、ファイルをお送りできます。 いずれにしても、他に何かお手伝いできることがあれば、遠慮なくお申し付けください。 Re: S32E288 Failure during execution of python script こんにちは、 @cszhang さん。 PMICに関する問題は解決できましたか?私の方では、S32DS 3.6.7 でSiul2_Dio_Ip_Example_S32Z2XX_SMUサンプルプロジェクトのデバッグを行うことができました。S32Z280-594EVBを使用しています。したがって、ソフトウェア環境は問題にならないはずです。 いずれにしても、他に何かお手伝いできることがあればお知らせください。 敬具。
查看全文
S32K344のSTMタイマー用AUTOSAR GPTモジュールでハードフォルトが発生しました こんにちは、NXPさん。 S32 Design Studio上で、AUTOSARのGPTモジュールとSTMタイマーを組み合わせて使用しようと試みました。クロックソースの変更、通知コールバックの削除など、構成変更を何度も試みましたが、常にハードフォルトが発生します。これは、Stm_Ip_DebugMode() が実行され、GPT の SchM 排他領域に入るための API が呼び出されているときに発生します。この問題の解決にサポートをお願いいたします。 S32K344-WB Re: Hardfault occurred with AUTOSAR GPT module for STM Timer in S32K344 こんにちは、 @VaneB さん。 私はAUTOSAR 4.7規格をサポートするリアルタイム・ドライバのバージョン6.0.0を使用しています。 Re: Hardfault occurred with AUTOSAR GPT module for STM Timer in S32K344 こんにちは、 @a1g1さん お使いのRTDのバージョンが古いようです。バグ修正、改善、新機能が含まれているため、最新のRTDリリースを使用することをお勧めします。 最新バージョンでお試しいただき、問題が解決するかどうかお知らせいただけますでしょうか? 状況をより正確に分析するために、現在ご利用のRTDの正確なバージョンをお知らせいただけると幸いです。 BR、VaneB Re: Hardfault occurred with AUTOSAR GPT module for STM Timer in S32K344 こんにちは、 @a1g1さん ご説明いただきありがとうございます。また、先ほどの混乱についてお詫び申し上げます。 .mexファイルをレビューしましたあなたが共有してくれたファイルについて、いくつか気づいた点があります。 MCUドライバでは、ペリフェラルクロックは有効になっていません。これは、MCUドライバ → McuModuleConfiguration → McuModeSettingConf → McuPeripheral で設定する必要があります。 クロックツールで、STM0クロックソースとしてFIRC_CLKを選択しました。しかし、MCUドライバ → McuModuleConfiguration → McuClockSettingConfig → McuClockReferencePointには、定義されている参照が1つしかありません(AIPS_SLOW_CLK)。FIRC_CLKを使用して新しいクロック参照を追加し、Gpt Driver → GptDriverConfiguration → GptClockReferencePointでそれをGptClockReferencePointとして選択してください。 GPTドライバでは、GptNotificationが設定されていません。さらに、このコードでは依然としてPIT関連の名前(Gpt_PitNotification)を持つ通知関数が使用されているため、これを更新する必要があります。 参考のために、メインファイルと.mexファイルを添付します。私が使用した設定を記載しましたので、そちらでも比較してみてください。 Re: Hardfault occurred with AUTOSAR GPT module for STM Timer in S32K344 こんにちは、 @VaneB さん。 ちょっと確認してみます。ありがとう! BR @a1g1 Re: Hardfault occurred with AUTOSAR GPT module for STM Timer in S32K344 こんにちは、 @VaneB さん。 サポートありがとうございます。今は正常に動作しています。あなたが提案してくれた設定変更を行った後、あなたのコードを確認したところ、私がMcu_SetMode APIを呼び出していなかったことがわかりました。これにより、コードがハードフォールトに陥るのを防ぐことができた。 ありがとうございます。よろしくお願いいたします。 @a1g1
查看全文
Wrong MDC frequency RW612 frdm_rw612 Hi all! During development I encountered Ethernet connection stability issues. After some investigation using both rw612 custom board and frdm_rw612, it occured that frequency on MDC pin was wrong. Instead of 2.5MHz, it is 13 MHz. As Ethernet module ksz8081 allows up to 10 MHz MDC frequency, it is just luck that eth is working stable on frdm_rw612 (you can flash any eth sample from Zephyr and see that frequency on MDC pin on frdm_rw612 is 13 MHz) Getting deeper, it seems that issue root cause is in ethernet MSCR register, which for MII_SPEED calculation uses fixed 50MHz clock value. I found it in Zephyr under CLOCK_GetTddrMciEnetClkFreq(void) function in mcux/mcux-sdk/devices/RW612/drivers/fsl_clock.c. When i calculate this register value using M33 processor frequency (260 MHz), then I see correct MDC frequency - 2.5MHz. According to RW612 datasheet frequency in code (50 MHz) seems to be correct, but in reality it uses 260 MHz clock as reference to calculations. Initially I changed returned value from CLOCK_GetTddrMciEnetClkFreq to 260 MHz, but I'm not sure that it won't influence on other part of code but it now works. Could You please confirm that issue exists and help me where to fix it? RW612 Re: Wrong MDC frequency RW612 frdm_rw612 Kudos! @Maciej_Jj  Thank you for finding and solving this issue! my project is also based on zephyr and got stuck due to this issue. Re: Wrong MDC frequency RW612 frdm_rw612 Hello Maciej, I was going through all your inputs and yes you find the relevant issue which need to be fixed. As a quick fix you can change the value of CLOCK_MHZ as you did to 260MHz in the function CLOCK_GetTddrMciEnetClkFreq. You can continue work and we will work on the update on GitHub repository. Best regards, Pavel Krenek Re: Wrong MDC frequency RW612 frdm_rw612 Hello Ricardo, are there any updates? Re: Wrong MDC frequency RW612 frdm_rw612 It seems that in MCUxpresso sample 260 MHz frequency is being used to calculate MSCR register values: Re: Wrong MDC frequency RW612 frdm_rw612 Hi, No problem, I've flashed frdmrw612_enet_txrx_transfer sample using MCUXpresso IDE 24.9.25 and here everything seems to work fine, measured frequency on MDC pin is 2.5 MHz Re: Wrong MDC frequency RW612 frdm_rw612 Hello, I know that you are using Zephyr, but could you please help us check if this issue is also present when using the MCUXpresso SDK? I also will be checking the Zephyr example in the meantime. Regards, Ricardo Re: Wrong MDC frequency RW612 frdm_rw612 Here I attach measuring MDC frequency with changed CLOCK_GetTddrMciEnetClkFreq to 260 MHz: Re: Wrong MDC frequency RW612 frdm_rw612 Hello Ricardo, With our product we are working on Zephyr 3.7 but to be sure that this issue is reproducible I set up Zephyr 4.1.0.rc3, it uses zephyrSdk 0.17.0 and in west.yml I see that it points to HAL NXP rev. 9dc7449014a7380355612453b31be479cb3a6833 (https://github.com/zephyrproject-rtos/hal_nxp/commits/9dc7449014a7380355612453b31be479cb3a6833). I build dhcpv4 example from Zephyr samples using the following command: west build -b frdm_rw612 samples/net/dhcpv4_client/ -p After flashing, I see on console that this example starts correctly. I measured frequency on GPIO56 (exactly on R31 on frdm_rw612 board). Please see image from frdm_rw612 schematic:   Measured frequency is ~13 MHz. According to ksz8081 datasheet it shall not exceed 10MHz and optimal conditions is if this frequency is 2.5 MHz: Looking into MSCR register, it seems to have correct value, but in reality it has to be recalculated using 260 MHz frequency, not 50 MHz. Because of that MSCR MII_SPEED is 13MHz instead of 2.5MHz and MSCR HOLDTIME is set to 0 causing connection issues. I've made some work-around in enet devicetree, but it can't be like that. Using the following method leaves HOLDTIME value wrong and there are still some communication issues. I didn't tried eth example from mcuexpresso as we are using Zephyr for our development Re: Wrong MDC frequency RW612 frdm_rw612 Hello, Hope you are doing well. Could you please give us more details about your setup? What SDK version are you using? Did you try with the ethernet example from the SDK? How are you measuring this with the FRDM? Best Regards, Ricardo
查看全文
LA9310 设计文件/硬件布局示例 是否有 LA9310 的设计示例(原理图/板布局)?
查看全文
LA9310 Design file/hardware layout examples Are there design examples available (schematic/board layout) for the LA9310? 
查看全文
在 uboot 中运行 CM7 固件后,IMX8MP 内核报错 嗨,恩智浦支持、 我在 u-boot 中使用这个命令来驱动 M7 的固件。在进入 Linux 系统时,发生了以下错误。该固件来自 " 板\ evkmimx8mp\ driver_examples\ pwm " 项目。 我的主板使用 1GB 的 DDR。我还对 DTS(如下所示)和 M7 固件项目做了相应修改(见 MIMX8ML8xxxLZ_ram.icf.txt)。 命令: > mmc dev 2;fatload mmc 2:1 0x48000000 'ipwm_cm7.bin';cp.b 0x48000000 0x7e0000 0x20000;bootaux 0x7e0000 > 启动 错误日志: 内存的 DTS 节点: 内存@40000000 { device_type ="内存" ; reg =<0x0 0x40000000 0 0x40000000> ; };   预留内存 { #address-cells =<2> ; #size-cells =<2> ; 范围;   /* 为在 CM7 上运行的 RTOS 预留 16MB */ m7_reserved: m7@70000000 { 无地图 reg =<0 0x70000000 0 0x1000000> ; };   vdev0vring0: vdev0vring0@55000000 { reg =<0 0x55000000 0 0x8000> ; 无地图 };   vdev0vring1: vdev0vring1@55008000 { reg =<0 0x55008000 0 0x8000> ; 无地图 };   vdevbuffer: vdevbuffer@55400000 { compatible ="shared-dma-pool" ; reg =<0 0x55400000 0 0x100000> ; 无地图 };   rsc_table: rsc-table@550ff000 { reg =<0 0x550ff000 0 0x1000> ; 无地图 }; };   IMX8MP-CM7 { 兼容 ="FSL,imx8mn-cm7" ; rsc-da =<0x55000000> ; clocks =<& clk IMX8MP_CLK_M7_DIV> ; clock-names ="core" ; mbox-names ="tx","rx","rxdb" ; mboxes =<& mu 0 1 μ 1 1 μ 3 1> ; memory-region =<& vdevbuffer>,<& vdev0vring0>,<& vdev0vring1>,<& rsc_table> ; status ="okay" ; fsl,startup-delay-ms =<500> ; }; Re: IMX8MP kernel reports an error after run CM7 FW in uboot Hi @Dzen  这种错一般是访问权限问题,你可以看一下uboot/arch/arm/dts/imx8mp-evk-u-boot.dtsi,里面有一个mcu_rdc节点,默认是把SAI3给了M7,你可以删除SAI3以及对应的SDMA3权限定义。 Best Regards, Zhiming Re: IMX8MP kernel reports an error after run CM7 FW in uboot 我很疑惑,在 boards\evkmimx8mp\driver_examples\pwm 示例代码中并没有用到SAI或者I2S。 Re: IMX8MP kernel reports an error after run CM7 FW in uboot hi Zhiming, SAI3 需要在A53核上使用,不能disable掉的。 Re: IMX8MP kernel reports an error after run CM7 FW in uboot Hi @Dzen  可以参考内核中的arch/arm64/boot/dts/freescale/imx8mp-evk-rpmsg.dts,将sai3 disable掉。 Best Regards, Zhiming
查看全文
Jlink経由でPN7642に接続できません 皆さん、こんにちは。 J-Link経由でソフトウェアをアップデートした際に、接続の問題が発生しました。MCUXpressIO IDE のデモサンプル pnev7642fama_led_blinky と pnev7642fama_lpuart_polling を使用しました。pnev7642fama_led_blinky デモでは正常に動作しましたが、pnev7642fama_lpuart_polling を更新してデバッグを開始すると、関数LPUART_Init(EXAMPLE_LPUART_BASEADDR, &config, DEMO_LPUART_CLOCK_FREQ); で停止しました。 当社のボードで使用されている水晶発振器は27.12MHzですが、デモで使用されているSystemCoreClockは45MHzであることを確認しました。これがMCUがロックされた理由ですか? この問題を解決するにはどうすれば良いでしょうか?よろしくお願いします。 Re: Cannot connect to PN7642 via Jlink こんにちは、KaiLiさん。 迅速なご対応ありがとうございます。 ソースコードには何も変更はありません。SDKのサンプルをインポートしてビルドし、ボードにアップロードしました。さらに、別のデモ例であるpnev7642fama_NfcrdlibEx4_MIFAREClassic_Freertos_Pubを試してみましたが、そのような問題は発生しませんでした。 しかし、関数phacDiscLoop_Run の戻り値は 0x210 でした。 以下に、当社の基板の完全な回路図を示します。原因の確認にご協力ください。ありがとう。 よろしくお願いいたします。 イーサン。 Re: Cannot connect to PN7642 via Jlink こんにちは@wangea ソースコードを修正しましたか?そうでない場合は、回路図全体をアップロードしてください。何が起こっているのか確認してみましょう!
查看全文
COO ,COD of MF3D8301DUD/00 能否帮助确认 MF3D8301DUD/00 的 COO 和 COD? Re: COO ,COD of MF3D8301DUD/00 请帮助提供 MF3D8301DUD/00 的 COO 和 COD。 Re: COO ,COD of MF3D8301DUD/00 你好@ 巴顿 COO = 原产国 COD = 传播国
查看全文
i.MXRT1170:有关 ENET_QOS(此处为 DMA_CHx_RXDESC_TAIL_POINTER)的问题 你好 我只是想了解 ENET_QOS 的 DMA 功能。我现在的 DMA_CHx_RXDESC_TAIL_POINTER 寄存器有问题。在登记册的描述中,我在参考手册中找到了以下内容: 61.7.1.479.2功能 通道 0 Rx 描述符尾部指针指向基站的偏移量,表示最后一个有效描述符的位置。 因此,应在此处输入最后一个有效描述符的地址。如果环中有 8 个条目,则最后一个条目为 7。从 0 数到 7。 但是,如果我看看 ENET_QOS_ReadFrame 的结尾,这里使用了下面一行代码: /* Always try to start receive, in case it had stopped */ rxDescTail = (uint32_t)(uintptr_t)&rxBdRing->rxBdBase[rxBdRing->rxRingLen]; #if defined(FSL_FEATURE_MEMORY_HAS_ADDRESS_OFFSET) && FSL_FEATURE_MEMORY_HAS_ADDRESS_OFFSET rxDescTail = MEMORY_ConvertMemoryMapAddress(rxDescTail, kMEMORY_Local2DMA); #endif base->DMA_CH[channel].DMA_CHX_RXDESC_TAIL_PTR = rxDescTail; base->DMA_CH[channel].DMA_CHX_RX_CTRL |= ENET_QOS_DMA_CHX_RX_CTRL_SR_MASK; 但此处 rxDescTail 并未设置为有效描述符,而是使用了"境外" 访问。rxBdRing->rxRingLen 是环的大小。 这种情况也发生在其他地方。是这里出错了,还是 DMA_CHx_RXDESC_TAIL_POINTER 究竟应该如何使用? 致以最诚挚的问候, Michael Re: i.MXRT1170: question about ENET_QOS, here DMA_CHx_RXDESC_TAIL_POINTER 你好@Gavin_Jia、 "MCUXpresso SDK 将其设置为单快结束,以防止 Rx DMA 因电流 == 尾端而停止;" 因此,尾部指针被设置在环外,这样,如果电流 == 尾部,DMA 就不会停止。 然而,ENET_QOS_SendFrame 的情况却令人困惑。在这里,尾部指针比当前指针前移一个条目。这样做是为了在发送完当前帧后停止 DMA 吗?这意味着,如果发送环的大小也是 8,而要发送的新帧位于索引 5 中,则尾指针将被设置为 6。 但如果要发送的新帧在索引 7 中,尾指针将不会设置为索引 0,而是设置为索引 8。 之后,如果在 7 之后使用索引 0,尾部指针将设回 x+1,即 0+1。 我完全不明白为什么要在这里设置尾指针。在这种情况下,将其设置为索引 8 不就可以了吗?因为如果没有为下一个索引设置 OWN 位,DMA 就不会在发送后继续运行。 致以最诚挚的问候, Michael Re: i.MXRT1170: question about ENET_QOS, here DMA_CHx_RXDESC_TAIL_POINTER 嗨,@michael_fischer、 感谢您对 NXP MIMXRT 系列的关注! SDK 代码是有意为之。&rxBdBase[rxRingLen]用作单次快结束尾边界/门铃值,而不是用作软件或 DMA 访问的描述符。在 ENET_QOS DMA 环模式下,描述符环长度寄存器定义实际有效的描述符范围,而尾部指针用于指示边界,并在 DMA 停止时重新启动。 因此,对于 8 个描述符的环,有效描述符仍然是索引 0~7,而&rxBdBase[8] 的值仅用作尾部边界。 《参考手册》中的 “最后一个有效描述符” 的措辞很容易被误解。更精确的描述是,尾指针标记描述符边界/DMA 恢复点。MCUXpresso SDK 将其设置为单次快结束,以防止 Rx DMA 因当前 == 尾端而停止;DMA 仍根据编程的环长度缠绕,并且不会获取超出绑定的描述符。 致以最诚挚的问候, Gavin Re: i.MXRT1170: question about ENET_QOS, here DMA_CHx_RXDESC_TAIL_POINTER 你好@Gavin_Jia、 是否有关于 ENET_QOS_SendFrameFunktion 的新信息? 致以最诚挚的问候, Michael Re: i.MXRT1170: question about ENET_QOS, here DMA_CHx_RXDESC_TAIL_POINTER 嗨,@michael_fischer、 很抱歉这么晚才回复,几天前我休假不在办公室。请接受我诚挚的歉意。 您对 Rx 端的理解是正确的:SDK 使用 Rx 环的单次传送结束地址作为尾部边界。这并不意味着 DMA 访问了一个越界描述符。 对于 Tx 路径,在 ENET_QOS_SendFrame() 中动态更新尾指针也是有意为之。在 ENET_QOS 环模式下,描述符尾指针应理解为 DMA 可用描述符窗口的结束边界,而不是 DMA 必须获取的描述符。DMA 处理的描述符最多但不包括尾指针。当当前描述符指针到达尾部指针时,DMA 会暂停或等待软件发布更多描述符。 例如,Tx 环有 8 个描述符: - 有效描述符:索引 0 至索引 7 - 单快端边界:&ring[8]   如果软件只准备传输描述符索引 5,尾部指针将设置为 &ring[6] 。这意味着允许 DMA 处理 [5, 6) 的范围,因此它只处理描述符 5。之后,当前指针到达尾部边界,DMA 等待下一次尾部更新。 如果软件准备了描述符索引 7,尾部指针将设置为 &ring[8] 。 &ring[8] 的值只是一个单播端边界地址。它不是 DMA 抓取的有效描述符。实际的环绕由已编程的描述符环长度控制,因此有效的描述符仍然是索引 0 至索引 7。 环包络后,软件随后准备描述符索引 0,新提交的范围变为 [0, 1) ,因此尾指针更新为 &ring[1] 。 关于 OWN 位:OWN 位和尾部指针的作用不同。OWN 位表示单个描述符是属于 DMA 还是属于应用程序。尾指针定义软件向 DMA 发布描述符的距离,在响铃模式下,写入尾指针还可用作门铃/恢复指示。 因此,将 Tx 尾指针永久保留在 &ring[8] 与 SDK 的实现方式不同,也不是推荐的解释。尽管 DMA 在到达 OWN 位未设置的描述符时可能会停止,但仍需要更新尾指针以发布新准备的 Tx 描述符,并通知/恢复 DMA。 总结: 在 Rx 上,整个环通常预先准备好用于 DMA,因此尾部通常保持在 &ring[ringLen] 。 在 Tx 上,描述符是按需准备的,因此驱动程序将尾部立即前进到新提交的描述符之后的位置。 尾指针是一个边界值,不一定是要获取的描述符。 OWN 位不会取代尾指针;两者都是 DMA 环控制机制的一部分。 致以最诚挚的问候, Gavin Re: i.MXRT1170: question about ENET_QOS, here DMA_CHx_RXDESC_TAIL_POINTER 你好@Gavin_Jia、 非常感谢你的详细解释。 致以最诚挚的问候, Michael
查看全文
i.MXRT1170: ENET_QOSに関する質問、ここでDMA_CHx_RXDESC_TAIL_POINTER こんにちは、 ENET_QOSのDMAの機能について理解しようとしているだけです。現在、DMA_CHx_RXDESC_TAIL_POINTERレジスタに問題が発生しています。レジスターの説明の中で、リファレンスマニュアルに以下の記述を見つけました。 61.7.1.479.2関数 チャネル0の受信ディスクリプタの末尾ポインタは、ベースからのオフセットを指し、最後に有効なディスクリプタの位置を示します。 したがって、ここに最後に有効なディスクリプタのアドレスを入力する必要があります。8つのエントリーがあるリングの場合、最後のエントリーはここでは7番目になります。0から7まで数える。 しかし、ENET_QOS_ReadFrameの末尾を見てみると、次のコード行が使用されています。 /* Always try to start receive, in case it had stopped */ rxDescTail = (uint32_t)(uintptr_t)&rxBdRing->rxBdBase[rxBdRing->rxRingLen]; #if defined(FSL_FEATURE_MEMORY_HAS_ADDRESS_OFFSET) && FSL_FEATURE_MEMORY_HAS_ADDRESS_OFFSET rxDescTail = MEMORY_ConvertMemoryMapAddress(rxDescTail, kMEMORY_Local2DMA); #endif base->DMA_CH[channel].DMA_CHX_RXDESC_TAIL_PTR = rxDescTail; base->DMA_CH[channel].DMA_CHX_RX_CTRL |= ENET_QOS_DMA_CHX_RX_CTRL_SR_MASK; しかし、ここでは rxDescTail に有効な記述子が設定されておらず、「範囲外」アクセスが使用されています。rxBdRing ->rxRingLenはリングのサイズです。 これは他の場所でも起こっている。これは間違いでしょうか、それともDMA_CHx_RXDESC_TAIL_POINTERは正確にはどのように使用すべきでしょうか? よろしくお願いします、 マイケル Re: i.MXRT1170: question about ENET_QOS, here DMA_CHx_RXDESC_TAIL_POINTER こんにちは、 @Gavin_Jia さん。 「MCUXpresso SDKは、Current == TailによってRx DMAが停止しないように、これをone past-endに設定します。」 したがって、テールポインタはリングの外側に設定されるため、 Current == Tail の場合でも DMA は停止しません。 しかし、ENET_QOS_SendFrame の場合は、これは紛らわしい。そこでは、末尾ポインタは現在のエントリより1つ先のエントリに配置されます。これは、現在のフレームが送信された時点でDMA処理を停止させるための措置なのでしょうか?つまり、例えば送信リングのサイズも8で、送信する新しいフレームがインデックス5にある場合、テールポインタは6に設定されます。 しかし、送信する新しいフレームがインデックス 7 にある場合、テール ポインタはインデックス 0 には設定されず、インデックス 8 に設定されます。その後、7の後にインデックス0が使用されると、末尾ポインタはx+1、つまり0+1にリセットされます。 なぜここでテールポインタが設定されているのか、全く理解できません。この場合も、インデックスを8に設定するだけで十分ではないでしょうか?次のインデックスに対してOWNビットが設定されていない場合、DMAは送信後に実行を継続しないためです。 よろしくお願いします、 マイケル Re: i.MXRT1170: question about ENET_QOS, here DMA_CHx_RXDESC_TAIL_POINTER こんにちは、 @michael_fischer さん。 NXP MIMXRTシリーズにご関心をお寄せいただきありがとうございます! SDKのコードは意図的に作成されたものです。&rxBdBase[rxRingLen] は、ソフトウェアや DMA によってアクセスされる記述子としてではなく、終端の 1 つ過ぎたテール境界/ドアベル値として使用されます。ENET_QOS DMAリングモードでは、ディスクリプタリング長レジスタが実際の有効なディスクリプタ範囲を定義し、テールポインタは境界を示すため、またDMAが停止した場合に再起動するために使用されます。 したがって、8 つの記述子のリングの場合、有効な記述子は依然としてインデックス 0~7 であり、値 &rxBdBase[8] は末尾境界としてのみ使用されます。 リファレンスマニュアルの「最後に有効な記述子」という表現は、誤解を招きやすい。より正確に言うと、テールポインタはディスクリプタの境界/DMA再開ポイントを示すものです。MCUXpresso SDKは、Current == TailによってRx DMAが停止しないように、これをone-past-endに設定します。DMAはプログラムされたリング長に従ってラップアラウンドし、範囲外のディスクリプタをフェッチしません。 よろしくお願いします、 ギャビン Re: i.MXRT1170: question about ENET_QOS, here DMA_CHx_RXDESC_TAIL_POINTER こんにちは、 @Gavin_Jia さん。 ENET_QOS_SendFrameFunktionに関連して、この件に関して何か新しい情報はありますか? よろしくお願いします、 マイケル Re: i.MXRT1170: question about ENET_QOS, here DMA_CHx_RXDESC_TAIL_POINTER こんにちは、 @Gavin_Jia さん。 詳細なご説明をありがとうございました。 よろしくお願いします、 マイケル Re: i.MXRT1170: question about ENET_QOS, here DMA_CHx_RXDESC_TAIL_POINTER こんにちは、 @michael_fischer さん。 返信が遅くなり申し訳ありません。数日前から休暇でオフィスを不在にしていました。心よりお詫び申し上げます。 受信側に関するあなたの理解は正しいです。SDKは受信リングの終端アドレスの1つ先のアドレスを終端境界として使用します。これは、DMAが範囲外の記述子にアクセスすることを意味するものではありません。 Tx パスの場合、 ENET_QOS_SendFrame() のテール ポインタの動的な更新も意図的なものです。ENET_QOSリングモードでは、ディスクリプタの末尾ポインタは、DMAがフェッチしなければならないディスクリプタではなく、DMAが利用可能なディスクリプタウィンドウの終了境界として理解されるべきです。DMAは、末尾ポインタまでの記述子を処理しますが、末尾ポインタ自体は処理しません。現在のディスクリプタポインタがテールポインタに到達すると、DMAはソフトウェアがさらにディスクリプタを発行するまで一時停止または待機します。 例えば、8つの記述子からなるTxリングの場合: - 有効な記述子: インデックス 0 ~ インデックス 7 - 1つ先の終端境界: &ring[8]   ソフトウェアが送信用に記述子インデックス 5 のみを準備する場合、テールポインタは &ring[6] に設定されます。これは、DMAが範囲 [5, 6) を処理することが許可されていることを意味するため、記述子5のみを処理します。その後、現在のポインタがテール境界に到達し、DMAは次のテール更新を待ちます。 ソフトウェアが記述子インデックス 7 を準備する場合、テール ポインタは &ring[8] に設定されます。値 &ring[8] は、末尾の1つ先の境界アドレスに過ぎません。これはDMAによって取得できる有効な記述子ではありません。実際のラップアラウンドはプログラムされた記述子のリング長によって制御されるため、有効な記述子はインデックス0からインデックス7までとなります。 リングがラップされ、ソフトウェアが後で記述子インデックス 0 を準備すると、新しい送信範囲は [0, 1) になり、したがってテール ポインタは &ring[1] に更新されます。 OWNビットについて:OWNビットとテールポインタは異なる役割を担っています。OWNビットは、個々のディスクリプタがDMAによって所有されているか、アプリケーションによって所有されているかを示します。テールポインタは、ソフトウェアがDMAにディスクリプタをどれだけ公開したかを定義するものであり、テールポインタを書き込むことは、リングモードでのドアベル/再開表示としても機能します。 したがって、Tx テール ポインタを常に &ring[8] に保持することは、SDK の実装と同等ではなく、推奨される解釈ではありません。DMAはOWNビットが設定されていないディスクリプタに到達すると停止する可能性がありますが、新しく準備されたTxディスクリプタを公開し、DMAを通知/再開するためには、テールポインタの更新が依然として必要です。 要約すると: Rxでは、通常、リング全体がDMA用に事前に準備されているため、テールは一般的に &ring[ringLen] に保たれます。 送信時には、記述子は要求に応じて準備されるため、ドライバは新しく送信された記述子の直後の位置までテールを進めます。 末尾ポインタは境界値であり、必ずしも取得すべき記述子ではありません。 OWNビットはテールポインタを置き換えるものではありません。どちらもDMAリング制御機構の一部です。 よろしくお願いします、 ギャビン
查看全文
i.MX8M Mini vpudec RTSP HDストリーム — IDRフレームで周期的なグリッチ/フラッシュが発生する プラットフォーム: iMX8 (Hantro VPU)、GStreamer 1.18、Wayland ソース: iMX6 RTSPサーバーがUSBカメラ(Sonix 0c45:6366)からH.264をストリーミング配信 説明: HD (1280x720) で H.264 RTSP ストリームを受信し、vpudec / imxvpudec_h264 でデコードすると、IDR フレームごとに周期的な視覚的なグリッチ (黒いフラッシュ) が発生します。 受信パイプライン(iMX8): gst-launch-1.0rtspsrc location=rtsp:// :554/h264 latency=200 \ !rtph264depay \ !h264parse \ !imxvpudec_h264 \ !imxg2dvideotransform \ !waylandsink sync=false 観察結果: グリッチは各IDRフレームで正確に発生する。これは、カメラベンダーツール(sonixapp --xuset-gop)を使用してGOPサイズを増やすことで確認された。 GOP=14(デフォルト)の場合:15fpsで約1秒ごとにグリッチが発生する GOP=150の場合:約10秒ごとにグリッチが発生する GOP=4095の場合:約4.5分ごとにグリッチが発生する 同じパイプラインとカメラを使用した場合、フルHD(1920x1080)で不具合は発生しません。Sonixファームウェアは1080pでより大きなデフォルトGOPを使用します。 ソフトウェアデコーダーavdec_h264に不具合なし → 問題はimxvpudec_h264のDPBフラッシュ動作に特有のものです 根本原因仮説: imxvpudec_h264は、H.264規格の要件に従って、各IDRフレームで内部のデコード画像バッファ(DPB)をフラッシュします。このフラッシュ処理により、Waylandディスプレイ上に黒い画面またはフリーズした画面が表示されます。ソフトウェアデコーダーは、目に見えるアーティファクトなしに、このフラッシュ処理をよりスムーズに行います。 質問: imxvpudec_h264 / vpudec には、目に見える不具合なしに IDR フラッシュを処理するためのプロパティまたは設定はありますか? IDR周波数を制御できないRTSPライブストリームに対する既知の回避策はありますか? 同じデコーダーを使用しているのに、720pと1080pで動作が異なるのはなぜですか? GStreamerバージョン: 1.18.4 i.MX 8M | i.MX 8M Mini | i.MX 8M Nano
查看全文
Urban Companyで苦情を申し立てるにはどうすればよいですか? Urban Companyに苦情を申し立てるには? 8453-2013+97 Re: How to raise a complaint in Urban Company? Urban Companyに苦情を申し立てるには?0845-320-1397
查看全文
imx8mp 将 csi、isp、dsi 与 M7 cortex 绑定。 你好: 我们正在开发一款需要在最多几秒钟内在屏幕上显示相机画面的设备。 我想知道是否有可能将显示界面(CSI、ISP 和 DSI)绑定到 M7 皮层并快速启动 RTOS。 谢谢 i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus Re: imx8mp bind csi, isp, dsi to M7 cortex. is it possible? @sanjanaa, 我没有这样做 Re: imx8mp bind csi, isp, dsi to M7 cortex. is it possible? 嗨,@arthurb,@efly、 问题问得晚了,但你们关于在 M7 上运行 ISP 驱动程序的问题得到答复了吗?这可能吗? 我也想做同样的事情,但似乎由于 ISP 驱动程序是闭源的,所以 ISP 只能配置为在 A 核上运行? Re: imx8mp bind csi, isp, dsi to M7 cortex. is it possible? 你好@arthurb、 您可以在 RT1180 SDK 中找到 mipi csi 和 dsi 驱动程序。 但 SDK 中没有 ISP 驱动程序。 谢谢您! 此致 特里 Re: imx8mp bind csi, isp, dsi to M7 cortex. is it possible? 你好@terry_lv, ,我在任何 M7 SDK 中都找不到 CSI+ISP 驱动程序。(使用了 MCUXpresso SDK 生成器)。 如果有链接,能否给我指一下。 Re: imx8mp bind csi, isp, dsi to M7 cortex. is it possible? 嗨,看起来不像是硬件限制。@efly指出了 IMX8MN 上用于 M7 的 MIPI-DSI 驱动程序。 有没有用于 M7 SDK 的 CSI+ISP 驱动程序? Re: imx8mp bind csi, isp, dsi to M7 cortex. is it possible? 嗨,efly、 你可以参考两个 AN 来快速启动内核: AN14093(https://www.nxp.com/docs/en/application-note/AN14093.pdf) AN14113(https://www.nxp.com/webapp/Download?colCode=AN14113&location=null) 两者都描述了在 u-boot 中实现猎鹰模式以缩短启动时间的不同方法。此外,AN14093 还谈到了内核优化。 希望能帮到你。 谢谢您! 此致 特里 Re: imx8mp bind csi, isp, dsi to M7 cortex. is it possible? 我想在这个阶段最好把精力放在缩短 linux 启动时间上。 非常感谢@terry_lv , E。 Re: imx8mp bind csi, isp, dsi to M7 cortex. is it possible? 您好, 从您提供的图表来看,您似乎想用 M7 同时处理摄像头和显示屏? 事实上,我不太确定这是否可行,也不确定实现起来有多难。 在我看来,这里有三个问题需要解决: 快速启动 M7 内核。 CSI、ISP 和 DSI 的 SDK 驱动程序。 M7 内核和 DDR 性能。 对于 1、 我认为没问题,您可以参考 AN4049: https://www.nxp.com/webapp/Download?colCode=AN14049&location=null 对于 2,我注意到 8MP SDK 中没有 CSI、ISP 和 DSI 驱动程序。因此,你可能需要从其他 SoC 的 SDK、u-boot 或内核中移植这些驱动程序。 我还检查了 i.MX RT SDK,看来这些驱动程序没有实现。可以从 u-boot 移植 DSI 驱动程序。CSI 和 ISP 驱动程序需要从内核移植。确实需要付出一些努力。 通常,移植的难度是其他 SDK < u-boot < 内核 。 3,在这种情况下,中医应该是不够的。我不确定 DDR 和核心性能是否足够。我们应该做一些测试来确认。 谢谢您! 此致 特里 Re: imx8mp bind csi, isp, dsi to M7 cortex. is it possible? @terry_lv如果您能对此提供帮助,我们将不胜感激。 😄 ! Re: imx8mp bind csi, isp, dsi to M7 cortex. is it possible? 谢谢你的答复,约瑟夫。 这是软件限制还是硬件限制? 我在 IMX8MN https://community.nxp.com/t5/i-MX-Processors/Use-M7-core-to-control-display-on-iMX8MN/m-p/1208041上找到了这篇帖子 Re: imx8mp bind csi, isp, dsi to M7 cortex. is it possible? 您好, 感谢您对恩智浦半导体产品的关注, 在 Cortex-M 中无法处理 CSI 或 DSI,只能处理 Cortex-A。 此致
查看全文
Warner International Live Customer Service Phone Number 15368832624
查看全文
Slave response frame cannot be received in LIN master mode on S32K314. Based on the S32K388 EVB to learn LIN routines, in the attached routine Master Send Data, Slave Node Receive OK Learn Master Recive Slave node data and discover: 1、Slave Node has responded to Master Send PID, and the oscilloscope can see the data feedback from Slave Node. 2. debug Code, Master Node found that the return value of Lpuart_Lin_Ip_GetStatus() function is not LPUART_LIN_IP_STATUS_RX_OK. 3, debug Code, Lin's callback function LinMasterCallback () has not been into the Not sure which payment configurations are incorrect for that copy of the routine, please help based on the Re: S32K314 的 LIN 主站模式下无法接收从站响应帧 Hi@Ryan_xjl I checked your project, but I can't test it because you are using LPUART0 and the S32K388EVB should not support that port as LIN. I don't see anything wrong with your configuration, only what I said, LPUART0 is not a LIN port on the S32K388EVB, there is no LIN transceiver. Re: S32K314 的 LIN 主站模式下无法接收从站响应帧 Thank you very much for your assistance, the response frame from the Slave Node is currently received and the data is parsed correctly! But found a problem, if the Master continues to send, adhere to a period of time will not be able to receive Salve data, Lpuart_Lin_Ip_GetStatus () return value for LPUART_LIN_IP_STATUS_RX_NO_RESPONSE The Code section of the Continuous Hair Modification is: Debug Code and found that the Master sends a period of time with the status: Master restart can last for a while again after that, not sure if there is a guide that can be given, if you need a modified routine, say Re: S32K314 的 LIN 主站模式下无法接收从站响应帧 Hi, my current board does use UART0 as LIN, and there is no problem with LIN Master Send, which means the hardware is OK, as follows Can you share a routine to support LIN Master receive program (support Callback), the routine can be based on RTD is fine! I'm fine with modifying and learning on my own, thanks again Re: S32K314 的 LIN 主站模式下无法接收从站响应帧 Hi@Ryan_xjl If your transmission is normal and you change the following place to TX, then you can enter the callback, the corresponding event should be "LPUART_LIN_IP_TX_COMPLETED". The attachment is based on the S32K344EVB modification, I can access the callback Re: S32K314 的 LIN 主站模式下无法接收从站响应帧 Hi@Ryan_xjl You need to use an oscilloscope or logic analyzer to see if the data sent by the master is normal and if the slave side is responding. It feels like the slave side is not responding. Re: S32K314 的 LIN 主站模式下无法接收从站响应帧 Hello, I found a phenomenon, I am not sure if it has anything to do with the Slave device, I have 2 LIN (Slave) devices and 1 LIN simulator. When the LIN Master hardware and the corresponding firmware remain unchanged (the previous routine), the LIN simulator and one of the LIN Slave are normal, the Master receives the data is normal, but the other LIN Slave device has the above phenomenon (running for a period of time, no LIN Slave feedback data), the oscilloscope measurement found that the Master does not send data (frame header), the Master does not send data (frame header). Slave device appears the above phenomenon (running for a period of time can not receive LIN Slave feedback data), oscilloscope measurements found that the Master did not send data (frame header) Re: S32K314 的 LIN 主站模式下无法接收从站响应帧 Hi@Ryan_xjl Just from your description of the phenomenon, it may be related to the slave. But with this information you can not locate the specific cause of this phenomenon, you still need to use the debugger and logic analyzer tools to capture the state when the problem occurs to locate the cause of the problem.
查看全文
MCXE316におけるFPUクラッシュの問題(UFSR NOCP) 電源(5Vリニア)とMCXE316デバイスのみを搭載したシンプルな基板を起動しようとしています。PE Micro Multilink Universalを使用してコードを添付およびロードすることはできますが、プロセッサが実行を開始するとすぐにsemihost_hardfaultエラーでクラッシュします。デバッガによると、エラーの原因はFPコプロセッサを有効化せずに使用したことである。このクラッシュは毎回発生し、同じ場所に複数のハードウェアボードを設置した場合でも同様の結果となる。 インターネットで調べたところ、浮動小数点演算を行う前に浮動小数点コプロセッサを初期化する必要があることがわかりました(コプロセッサが有効になっていないとVFPレジスタが使用できないため)。私が使用しているテストコードは、基本的にMCUxpressoによってMCXE316用に自動生成されたSDKコードです。コード内では浮動小数点演算は使用されていませんが、この不具合は必ずコードをハードウェアにロードした後に発生します。 __FPU_PRESENT=1 が定義済みシンボルに含まれていることを確認しました。含まれていなかったので追加しました (プロジェクトプロパティ->C/C++ ビルド->設定->ツール設定->MCU C コンパイラ->プリプロセッサ)。SystemInit() の起動コード (system_MCXE316.c 内)生成されたファイル)は、FPユニットを有効にするためにこれをチェックします。 #if ((__FPU_PRESENT == 1) && (__FPU_USED == 1)) SCB -> CPACR |= ((3UL << 10 * 2) | (3UL << 11 * 2)); /* CP10、CP11 にフルアクセスを設定 */ #endif さて、テストのために、条件なしでこのレジスタ設定を強制的に適用してみましたが、同じエラーが発生しました。 プロセッサに障害が発生した際、デバッガは私に次のようなメッセージを表示します。 MCXE316_ハードフォルトHFSR 強制 (30) 設定可能な優先度を持つ障害のエスカレーションによって発生した、強制的なハード障害を示します。 使用エラー (UFSR) NOCP(3) コプロセッサがありません UsageFault。このプロセッサはコプロセッサ命令をサポートしていません 障害ステータスレジスタ: IPSR - 0x00000003 - 例外ステータスレジスタ(ハードフォルト) CFSR - 0x00080000 - 設定可能な障害ステータスレジスタ UFSR - 0x00000008 - ユーザー障害ステータスレジスタ HFSR - 0x40000000 - ハードフォルトステータスレジスタ DFSR - 0x00000008 - デバッグ障害ステータスレジスタ ABFSR - 0x00000000 - 補助バス障害レジスタ スタック MCXE316_SDK.axf スレッド #1 (中断: シグナル: SIGTRAP:トレース/ブレークポイントトラップ) semihost_hardfault.c:53 の HardFault_Handler() 0x40677c() 0xfffffff9 ram_init_done() (0x40145c)() 0xffffffff そこで質問なのですが、初期化に関して何か見落としている点はあるでしょうか?デフォルトのMCUxpressoの定型コードは、そのままハードウェア上で動作するはずだと私は考えています。ハードウェアの問題である可能性も考えられますが、デバッガーツールでは接続とコードのダウンロードが正しく行われていると表示されており、複数のハードウェアで試してみましたが、結果は同じでした。 問題は、MCXE316デバイスを明示的に使用する評価ボードがどこにも存在しないことです。市販されているボードはすべて、上位互換デバイスであるMCXE31Bを使用しています。つまり、ツールの問題なのか、ハードウェアの問題なのか、設定の問題なのか、よく分からないのです。 工場でMCXE316ハードウェアが稼働している場合、MCUxpressoで新しいSDKプロジェクトを作成し、そのハードウェア上で動作するかどうかを確認していただけますでしょうか?もしそうであれば、そのプロジェクトを公開できますか?これは問題解決に大いに役立つだろう。今のところ、私は手探り状態だ。 よろしくお願いします! ボード設計 コアとメモリ Re: MCXE316 Issues with FPU crash (UFSR NOCP) こんにちは、 @brucebowling さん、 投稿ありがとうございます。現在ご利用のSDKのバージョンを確認させてください。さらに、「新しいC/C++プロジェクトを作成する」を使用して空のプロジェクトを作成した場合にも、同じエラーが発生するかどうか確認していただけますでしょうか?   さらに、問題が解決しない場合は、弊社側にMCXE316 FRDMボードがないため、社内チームに連絡して追加のテストを実施する必要があります。弊社の手順に基づき、お客様にはエンドカスタマーとエンドアプリケーション名について、ご連絡いただく前に以下の情報をご提供いただく必要がございます。ご理解とご協力ありがとうございます!   良い1日を。 BR セレステ   Re: MCXE316 Issues with FPU crash (UFSR NOCP) ご回答とご協力ありがとうございました。あなたの提案に従って、MCXE316 用の新しい C/C++ プロジェクトを作成し、それを(変更せずに)コンパイルして、この空のプロジェクトを読み込んで実行しようとしました。結果は同じで、以前と同じようにコプロセッサのエラーが発生しています。 C/C++プロジェクトの作成者によると、SDKのバージョンはSDK 26.03.00、ビルド番号は2026年3月27日です。 基板を点検し、コア電圧とV2.5電圧が正しく測定されていること、および回路がリファレンスマニュアルに記載されている情報に従っていることを確認しました。いずれの場合も、P&Eツールはフラッシュメモリのダウンロードとプログラミング、正しいチェックサム応答の取得を行っていることを示していますが、実行時にエラーが発生します。実行中に基板の電圧を監視しましたが、安定していました。 メールアドレスを教えていただければ、顧客情報とプロジェクト情報をお送りします。私は現地の販売代理店のFAE(フィールドアプリケーションエンジニア)とNXPのセールスエンジニアと協力しており、彼らは私のプロジェクトを認識しています。サポートのために、返信メールに彼らをCCに追加します。 ご協力ありがとうございました。 Re: MCXE316 Issues with FPU crash (UFSR NOCP) こんにちは、 @brucebowling さん、 検査にご協力いただき、また結果を共有していただき、ありがとうございました。この問題をソフトウェアチームに報告し、さらなる検証へのサポートを依頼します。 お客様とプロジェクトに関してですが、お客様専用のCASEを作成し、メールにてご連絡いたします。その後も、そこでフォローアップや返信を続けることができます。 BR セレステ Re: MCXE316 Issues with FPU crash (UFSR NOCP) こんにちは、 この問題は解決しました。他の人の参考になるように、修正方法をここに共有します。 回避策としては、startup_MCXE316.c の「void Reset_Handler(void)」関数の末尾の前に以下のコードを追加する方法があります。 // Call Reset_Handler_C __asm volatile ("LDR R0, =Reset_Handler_C \n" "BLX R0 \n" ); 下の画像をご覧ください。 この問題は次回のSDKリリースで修正いたします。ご質問がございましたら、いつでもお気軽にお問い合わせください。 BR セレステ
查看全文
Self-powering RFID transponder chip latched output I want a self-powering RFID transponder chip with a latched output.  i found two parts.  https://www.digikey.com/en/products/detail/nxp-usa-inc/SL3S1013FTB0-115/3431036 https://www.mouser.com/ProductDetail/NXP-Semiconductors/SL2S2602FTBX?qs=chTDxNqvsykDXo2K%2F0nslQ%3D%... Please let me know if these parts are suitable for me. if no please suggest new parts.  Re: Self-powering RFID transponder chip latched output Hello @pragashsangaran  If only passive RFID identification is required in the 800–900 MHz frequency band, NXP UCODE G2iM or G2iM+ (UCODE G2iM and G2iM+ | NXP Semiconductors)would be a suitable choice. The chips do not require batteries and are fully powered by RF energy.  However, it should be noted that this type of UHF tag only supports data storage and reading, and does not have the capability for latch output. NXP does not have RFID products with latch output capability. Re: Self-powering RFID transponder chip latched output hello, You again suggested the wrong part. I wanted an RFID tag with an operating frequency from 840 MHz to 960 MHz. Your suggested RFID tag's operating frequency is 13.56 MHz.  Re: Self-powering RFID transponder chip latched output Hi KaiLi, The suggested chip is not suitable because it's not 800 MHz to 900 MHz. I prefer a high-frequency RFID transponder chip. sorry for not being clear on my request.  Re: Self-powering RFID transponder chip latched output Hello @pragashsangaran  We recommend ICODE SLIX2 NFC Forum Type 5 Tag with originality signature | NXP Semiconductors to you. This is a passive tag, it does not require power external and its energy comes from the RF field.
查看全文
自供电 RFID 应答器芯片锁存输出 我想要一款带锁存输出的自供电 RFID 应答器芯片。 我找到了两部分。 https://www.digikey.com/en/products/detail/nxp-usa-inc/SL3S1013FTB0-115/3431036 https://www.mouser.com/ProductDetail/NXP-Semiconductors/SL2S2602FTBX?qs=chTDxNqvsykDXo2K%2F0nslQ%3D%... 请告诉我这些部件是否适合我。如果没有,请建议更换新部件。 Re: Self-powering RFID transponder chip latched output 你好@pragashsangaran 如果只需要在800—900 MHz频段内进行被动射频识别,那么恩智浦UCODE G2im或G2im+(UCODE G2im和G2im+ | 恩智浦半导体)将是一个合适的选择。这些芯片无需电池,完全由射频能量供电。 但需要注意的是,这种超高频标签只支持数据存储和读取,不具备锁存输出功能。恩智浦没有具备锁存输出功能的 RFID 产品。 Re: Self-powering RFID transponder chip latched output 你好 你又提出了错误的部分。我想要一个工作频率为 840 MHz 至 960 MHz 的 RFID 标签。 您建议的 RFID 标签工作频率为 13.56 MHz。 Re: Self-powering RFID transponder chip latched output 你好 凯莉, 建议的芯片不合适,因为它的频率不是 800 MHz 至 900 MHz。我更喜欢高频 RFID 转发器芯片。对不起,我没有说清楚我的要求。 Re: Self-powering RFID transponder chip latched output 你好@pragashsangaran 我们向您推荐带有原创签名的 ICODE SLIX2 NFC 论坛类型 5 标签 | 恩智浦半导体。这是一种被动标签,它不需要外部电源,其能量来自射频场。
查看全文