Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
When I create a Device Tree, I get "Missing #address-cels" in the imx7s.dtsi file Hello. The imx7s.dtsi file is included to create the Device Tree. A warning message appears saying "imx7s.dtsi: Missing #address-cels in interrupt provider". imx7d.dtsi gives the warning "usbphynop2: missing or empty reg/range property".   usbphynop2: usbphynop2 {       compatible = "usb-nop-xceiv";       clocks = <&clks IMX7D_USB_PHY2_CLK>;       clock-names = "main_clk";   }; Why are these warnings appearing if this was made for the SABRE board? Thank you. Re: When I create a Device Tree, I get "Missing #address-cels" in the imx7s.dtsi file You are welcome, any question contact us freely. Wish you have a nice day Re: When I create a Device Tree, I get "Missing #address-cels" in the imx7s.dtsi file Thank you. I understand that the warning can be ignored. I'm still debugging, so I haven't checked the warning part yet. Anything without warnings is working fine. If I have any problems debugging the warning part, I'll ask again. Best regards. Re: When I create a Device Tree, I get "Missing #address-cels" in the imx7s.dtsi file For the warnings you can ignore it, are you met the error in your side?
查看全文
IPパワーダウン例外制御レジスタ2、3、4、6の説明 次の SOC リファレンス マニュアルでは、IPPDEXPCR0、IPPDEXPCR1、および IPPDEXPCR5 の説明のみが提供されているようですが、DTS では 7 つのレジスタがリストされています。これらのレジスタの説明はどこにありますか? https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi rcpm: ウェイクアップコントローラ@1e34040 { 互換性 = "fsl,lx2160a-rcpm", "fsl,qoriq-rcpm-2.1+"; レジスタ = <0x0 0x1e34040 0x0 0x1c>; #fsl、rcpm-wakeup-cells = <7>; リトルエンディアン; }; ftm_alarm0: rtc@2800000 { 互換性 = "fsl,lx2160a-ftm-alarm"; レジスタ = <0x0 0x2800000 0x0 0x10000>; fsl、rcpm-wakeup = <&rcpm 0x0 0x0 0x0 0x0 0x4000 0x0 0x0>; 割り込み = ; }; QorIQ LX2160A リファレンスマニュアル LX2120AおよびLX2080Aをサポート(Rev. 1、2021年10月) Re: description of IP powerdown exception control register 2, 3, 4, 6 こんにちは、 fsl-lx2160a.dtsi に記載されているように、レジスタ IPPDEXPCR4 (0x1e34050) に 0x4000 を書き込むと、スリープ中にフレックス タイマーの電源が切れるのを防ぐことができることを確認しました。残念ながら、NXP は隠しレジスタに関する文書を共有できません。ただし、この機能は LSDKUG に文書化されています。関連する章を添付しましたので、お役に立てれば幸いです。 よろしくお願いします。 Re: description of IP powerdown exception control register 2, 3, 4, 6 問題は、ls2060ARDB の場合、サスペンド状態 (suspend-to-ram 機能) 中に FTM モジュールの電源を維持するように PMU を構成する必要があることです。設定によると、これはIPPDEXPCR4(以下の設定をご確認ください)レジスタでのみ実行可能なため、IPPDEXPCR4は内部テスト用ではないと思われます。少なくとも、これはsuspend-to-ram機能の依存関係です。別のサポート担当者は、LS2160A RDBでsuspend-to-ramが動作することを確認済みだと主張しています。これらのレジスタの説明を明確にして、ご提供ください。 fsl、rcpm-wakeup = <&rcpm 0x0 0x0 0x0 0x0 0x4000 0x0 0x0>; Re: description of IP powerdown exception control register 2, 3, 4, 6 こんにちは、 正解です。RM (リファレンス マニュアル) には、レジスタ IPPDEXPCR0、IPPDEXPCR1、および IPPDEXPCR5 のみが記載されています。これは、LX2160A に適用可能なレジスタはこれらだけだからです。残りのレジスタは内部テスト目的のみを目的としており、お客様が使用できるように文書化されていません。これらは DTSI ファイルに含まれていますが、内部参照専用です。 Re: description of IP powerdown exception control register 2, 3, 4, 6 こんにちは、 現在これに取り組んでいますので、更新があればお知らせします。 よろしくお願いします。
查看全文
S32K344 eMIOS ICU信号測定デューティサイクル100% こんにちは、 eMIOS ICU ドライバを使用して、入力 PWM 信号のデューティ サイクルを測定しようとしています。 私はRTD600、S32DS 3.6.2を使用しています。S32K3X4EVB-T172-RevB 評価キットを使用します。 私の立ち上げの目的のため、出力ピンを 50% のデューティ サイクルで PWM 信号として切り替えるだけの PIT を使用しています。オシロスコープを使用して出力動作が意図したとおりであることを確認しました。 プロジェクトをデバッグ モードで実行すると、検出されたデューティ サイクルは 100%、アクティブ時間と周期時間は 65536 のみが表示されます。その他の値はありません。 参考までに、設定のスクリーンショット、コードのスニペット、プロジェクト自体を添付します。 私は、 https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K344-eMIOS-DS3-5-RTD500/ta-p/1992245?profile.language=en 同じように。 SAIC モードと IPWM モードを試しましたが、どちらも効果がありませんでした。(提供されている例からプロジェクトを実行してみましたが、ICUピンからPWM信号を切断しても、読み取り値はすべて100%のデューティサイクルでした) 誰かが私を助けてくれて、私が何を間違っているのか教えてくれるとありがたいです。 Re: S32K344 eMIOS ICU signal measurement duty cycle at 100% こんにちは@PetrS 、 ご返信ありがとうございます! あなたのアドバイスに従って、MCL で共通 eMIOS バスを構成しましたが、SAIC モードでは適切な読み取り値が得られましたが、IPWM モードでは得られませんでした。 たとえば、IPWM モードで 100 回の読み取りを行った場合、最初の 73 回程度の読み取りは 100% のデューティ サイクル、74 番目の読み取りは 340%、残りは 24% になりますが、これはやや不明瞭な値であり、意味を理解できません。説明のために、IPWM モードでは、毎回 Emios_Icu_Ip_GetDutyCycleValues を呼び出す前に Emios_Icu_Ip_GetPulseWidth を呼び出しており、ICU 構成で IcuSignalMeasureWithoutInterrupt が有効になっています。 SAICモード(IcuSignalMeasureWithoutInterruptが無効で、Emios_Icu_Ip_GetPulseWidthを呼び出さない)では、49~50%前後で推移する適切な値が得られます。 どちらの場合も、返された periodTime が 0 の場合、Emios_Icu_Ip_GetDutyCycleValues の結果を無視します。 IPWMモードに関して何か間違っているのでしょうか?eMIOS ICUとして設定した特定のチャネルに何か制限があるのでしょうか? これまでのサポートに大変感謝しています。少なくとも SAIC モードが動作しているようで嬉しいです! Re: S32K344 eMIOS ICU signal measurement duty cycle at 100% こんにちは、 チャネルの内部カウンターが開始されていません。これは、モジュールの GBTE ビットが設定されておらず、チャネルがプリスケール クロックを使用しているために発生します。したがって、グローバル プリスケーラも有効にする必要があります。 理想的には、MCL設定でeMIOS共通サポートを有効にします。 コード内で Emios_Mcl_Ip_Init(INST_EMIOS_0, &Emios_Mcl_Ip_Sa_0_Config) を呼び出します。 BR、ペトル Re: S32K344 eMIOS ICU signal measurement duty cycle at 100% NXP またはコミュニティの誰かがこの件で私を助けてくれることを願っています。残念ながらまだここに留まっている
查看全文
SPD and DMA modules are used at the same time, a hardfault will occur Hi team, I encountered some problems when testing SPD. As long as I use DMA and SPD modules at the same time, the program will enter hardfault. The strange thing is that I didn't even include these drivers, but I still encountered such errors. Attached is the test project, which is actually the routine in S32 DS (S32 DS V3.5 + RTD 5.0.0+SPD 1.0.5), adding SPD components and DMA. thanks for you help always. BR,jim. RTD S32_CONFIG_TOOL S32DS Safety_SW Re: SPD and DMA modules are used at the same time, a hardfault will occur Hi @cuongnguyenphu  one more finding: RTD Port example enables MPU in the startup, when you disable MPU, the bus fault is not happening. This is instruction causing the issue: as you can see it resides in MPU Region 6 where I don't see any issue with that. If I do write into the address 0x2040938 via Lauterbach it's not a problem. Anyway disabling MPU helped, so not sure what's going on now. I'm leaving for vacation today so I can't support until 1st August. Kind Regards, Radoslav Re: SPD and DMA modules are used at the same time, a hardfault will occur Hi@ @cuongnguyenphu  Thanks for your help, is there any way we can avoid this problem or how to explain it to customers? Or is this a bug? Re: SPD and DMA modules are used at the same time, a hardfault will occur Hi @cuongnguyenphu , when adding the SAF drivers, I'd add correctly SAF mem sections into linker file (not relying on default placement) and maybe examine size of regions if there is enough reserve. I can now confirm just the fact that original SIUL2 example + SAF does work, but + DMA doesn't. Kind Regards, Radoslav Re: SPD and DMA modules are used at the same time, a hardfault will occur Hi @RadoslavB , I see the hardfault happend when I add eMCEM and SafetyBase to our working project, even we doesn't call any APIs from it SPD APIs. When deeper investigate, I see it raised a Bus fault error when trying to access 0x20430938. I'm wonder did I missed any steps when include eMCEM and SafetyBase module? Below is my debugging screenshot and .map file 1. Add eMCeM and SafetyBase: 2. SBC->BFAR: 3. Program counter when Hardfault: 4. Map file: Re: SPD and DMA modules are used at the same time, a hardfault will occur Hi @Senlent  Yes I can reporduce the issue at my side. it jumped to hardfault when trying to access exclusive area. It seems that when adding SPD/DMA, there're memory protection of the address exclusive area Re: SPD and DMA modules are used at the same time, a hardfault will occur Hi@ cuongnguyenphu Thank you very much for your help, could you please let me know if you can reproduce the problem? Re: SPD and DMA modules are used at the same time, a hardfault will occur Hi @Senlent  Let me check this issue and feedback to you soon
查看全文
i.MX RT1060 の Zephyr で MCUboot RAM ロードを使用する 現在、i.MX RT1060 用の Zephyr で MCUboot を使用して RAM の読み込みを動作させようとしていますが、ブートローダーでイメージを起動できません。これまでに行った手順は次のとおりです。 「samples/sysbuild/with_mcuboot/sysbuild.conf」に、SB_CONFIG_MCUBOOT_MODE_RAM_LOAD=y を追加しました。 samples/sysbuild/with_mcuboot-sysbuild/mcuboot.conf で CONFIG_SRAM_SIZE=128 を設定します。 生成された.configファイルを見ると、CONFIG_SRAM_BASE_ADDRESS=0x80000000 となっており、正しいようです。しかし、MCUboot はアプリケーションを起動する代わりに、「起動可能なイメージが見つかりません」というエラー メッセージを報告します。 私は Zephyr リリース 4.1.0 を使用しています。 他に何か変更する必要はありますか? ありがとうございます。 イルディコ Re: Using MCUboot RAM loading with Zephyr for i.MX RT1060 参考までに@ildiko_pocsaiと@Omar_Anguiano 、 この記事には、RT1060 EVK で RAM ロードを有効にするための手順と Git パッチが記載されています。https ://community.nxp.com/t5/Zephyr-Project-Knowledge-Base/MCUboot-RAM-Loading-with-Zephyr/ta-p/2139539を参照してください。 よろしくお願いいたします。 Re: Using MCUboot RAM loading with Zephyr for i.MX RT1060 Secure Provisioning Tool や MCUBootUtility などのツールを使用してイメージに DCD を追加し、生成されたバイナリから DCD を追加できます。まだ dcd がない場合は、ConfigTools で生成できます。 よろしくお願いします、 オマール Re: Using MCUboot RAM loading with Zephyr for i.MX RT1060 こんにちは、オマールさん。 ご返信ありがとうございます。はい、外部 SDRAM を使用したいと思います。Zephyr でイメージに DCD を追加する方法を教えてください。私は、MCUboot と、MCUboot imgtool を使用してイメージに署名するアプリケーションをビルドするために、Zephyr の sysbuild ビルド システムを使用しています。しかし、DCD を追加するための imgtool のオプションが見つかりません。 ありがとうございます。 イルディコ Re: Using MCUboot RAM loading with Zephyr for i.MX RT1060 こんにちは。お元気でお過ごしでしょうか。 アドレス0x80000000 は外部 SDRAM 用です。この SDRAM にイメージをロードしますか? そのCASEは、イメージに DCD を追加して、ブート時に SDRAM が初期化されるようにする必要があります。SOすれば、コードが SDRAM に移動されたときに実行できるようになります。 よろしくお願いします、 オマール
查看全文
[enersys][Nextracker]Regarding the AES key provisioned via EL2Go Hello Experts, There are some follow ups from Enersys and Nextracker, Please kindly refer to the following for details. Enersys: Well, that’s good news that this is a bug that can be fixed. However… it may be too late for us to use this key, as we already have devices provisioned and out in the field. Is there any way to apply this read policy after the fact? I did see some policy-related commands in the ssscli documentation, but I’m not sure how to use them. Nextracker:  Reading the response, I am a bit confused on current status – We already flashed close to 1000 elements, are these recoverable? Or do we need to scrap them all? Also, am I understanding correctly that there is nothing we can do on our side to fix this (i.e. we are blocked until El2go it fixed by NXP)? Last but not least, this response worries me of El2g0 maturity – using AES and secure provisioning seems to me  pretty basic SE functionality, if I understand correctly the response, it seems this was never used by any customer?? As I would expect this bug to arise for anyone trying to use it. I have told them the policy can not be updated unless they delete the AES key and re-provision them manually or via EL2Go, but wondering if there is any better solution for this case, would you please advise?  Best Regards, Kan Re: [enersys][Nextracker]Regarding the AES key provisioned via EL2Go Hi Kan,  like discussed earlier one option is provisioning new aes key with correct policies to new object id. For other option(more details), where, if we want to use already provisioned aes key (which cannot be read), this example code can be used.  Please find below two files: one is AES_key_without_read.cpp (changed to .c format as .cpp is not allowed to upload here) and other is aes_key_without_readtype_logs.txt.   If you use the code as mentioned in AES_key_without_read.cpp, it will just use checkobjectexist APDU and cipheroneshot apdu and will not use the readtype apdu as shown in aes_key_without_readtype_logs.txt.   So, using this you can use the already provisioned key without reading it.   One of the two options can be used. Kind regards, Parth Re: [enersys][Nextracker]Regarding the AES key provisioned via EL2Go Hi @nxg11900 , Thanks for the info! I will share with the customer.  Best Regards, Kan Re: [enersys][Nextracker]Regarding the AES key provisioned via EL2Go Hello Kan, At Elgo portal now Read policy can be selected, this issue is fixed. It was small error, where for this one particular product type(se050) and for this one particular secure object, read policy was not not selectable and which is fixed now.  It is not possible to change policy of secure object once it's already created in El2go or provisioned in device, with certain policies. And this ssscli policy related commands (for Enersys) are to create policy file which can be used/assigned  to an object when we create an object or display policy(referred by dump in MW doc: AN13030).  These two options can be suggested for now, for the devices which are already in field: 1. Creating new AES key with right policies and provisioning it to a different object id. 2. for the already provisioned key instead of using "sss api" use "se05x api"( which is one layer below sss) and not read the AES secure object. Kan, i will also see if we can work with sss api also for the already provisioned AES key. Kind regards, Parth
查看全文
imxrt1061 Hard fault points to clock API call Good day I use imxrt1061 running ThreadX RTOS in my project. During the stability runs we occasionally can catch hard fault. It is hard to reproduce it and it occurs under unknown circumstances. It may occur approximately one time per 5000 test runs. Usually it happens after controlled reboot - all activities are done, reboot initiated, main application (init thread) starts and during init thread execution it may fail Here is a listing part (all functions inside CLOCK_SetLowSpeed call are located in I-TCM RAM) 601020d0 : 601020d0: b580 push {r7, lr} 601020d2: af00 add r7, sp, #0 601020d4: f14c fd80 bl 6024ebd8 <__CLOCK_SystemCoreClockSwitchLowPower_veneer> 601020d8: f14c fd82 bl 6024ebe0 <__CLOCK_DeinitArmPll_veneer> 601020dc: f7ff ff8a bl 60101ff4 601020e0: 2000 movs r0, #0 601020e2: f14c fd3d bl 6024eb60 <__CLOCK_DeinitSysPfd_veneer> 601020e6: 2001 movs r0, #1 601020e8: f14c fd3a bl 6024eb60 <__CLOCK_DeinitSysPfd_veneer> 601020ec: 2118 movs r1, #24 601020ee: 2002 movs r0, #2 601020f0: f14c fd56 bl 6024eba0 <__CLOCK_InitSysPfd_veneer> 601020f4: 2003 movs r0, #3 601020f6: f14c fd33 bl 6024eb60 <__CLOCK_DeinitSysPfd_veneer> 601020fa: f14c fd55 bl 6024eba8 <__CLOCK_DeinitUsb2Pll_veneer> 601020fe: f14c fd1b bl 6024eb38 <__CLOCK_DeinitAudioPll_veneer> 60102102: f14c fd11 bl 6024eb28 <__CLOCK_DeinitVideoPll_veneer> 60102106: f14c fce3 bl 6024ead0 <__CLOCK_DeinitEnetPll_veneer> 6010210a: f14c fd5d bl 6024ebc8 <__CLOCK_SystemCoreClockSwitchLowSpeed_veneer> 6010210e: 46bd mov sp, r7 60102110: e8bd 4080 ldmia.w sp!, {r7, lr} 60102114: f05f be04 b.w 60161d20 and a stack printout REBOOT OCCURED\n", TYPE: HARD FAULT\n", --- Stack frame -------------------------------------------------------\n", IPSR= 0x00000003 >>>>> HardFault <<<<\n", R0 = 0x00000008\n", R1 = 0x5018505B\n", R2 = 0x400D8000\n", R3 = 0x00000080\n", R12 = 0x00000280\n", LR = 0x601020E7\n", PC = 0x60102100\n", PSR = 0x0100000E\n", SP (when faulted) = 0x20077F08\n", --- System Control Block (SCB) ----------------------------------------\n", 0x00080000 - CFSR - Configurable Fault Status Register\n", > The processor has attempted to access a coprocessor\n", 0x40000000 - HFSR - HardFault Status Register\n", > Forced HardFault\n", 0x411FC271 - CPUID - CPUID Base Register\n", 0x00481003 - ICSR - Interrupt Control and State Register\n", 0x60100400 - VTOR - Vector Table Offset Register\n", 0xFA050000 - AIRCR - Application Interrupt and Reset Control Register\n", 0x00000000 - SCR - System Control Register\n", 0x00070200 - CCR - Configuration Control Register\n", 0x00F00000 - CPACR - Coprocessor Access Control Register\n", Please advise how this issue can be localized. Any suggestions are appreciated. Thank you Re: imxrt1061 Hard fault points to clock API call @EdwinHz The question is actually not about ThreadX but more about xip approach and its limitations so due to we use xip approach in our project are there any document which describes memory access limitations when using xip and external QSPI flash ? Re: imxrt1061 Hard fault points to clock API call Hi @swisst, Unfortunately, ThreadX is no longer supported by us. I highly recommend you look for support of this OS on the ThreadX services and support website: Eclipse ThreadX Services and Support | The Eclipse Foundation I apologize for the inconvenience this may cause. BR, Edwin. Re: imxrt1061 Hard fault points to clock API call Hi @EdwinHz  I do understand that the amount of information provided in the ticket is very limited but anyway that's all I have. So the issue is still here unfortunately We got another hard fault during runtime with backtrace that points to memcpy function implemented in fsl_memcpy.S. So I checked several times that over code is linked exactly with fsl_memcpy implementation and not using library implementation. 00002e48 : 2e48: b5f1 push {r0, r4, r5, r6, r7, lr} 2e4a: 2a00 cmp r2, #0 2e4c: d04b beq.n 2ee6 00002e4e : 2e4e: f011 0303 ands.w r3, r1, #3 2e52: d006 beq.n 2e62 2e54: f811 4b01 ldrb.w r4, [r1], #1 2e58: 3a01 subs r2, #1 2e5a: f800 4b01 strb.w r4, [r0], #1 2e5e: d042 beq.n 2ee6 2e60: e7f5 b.n 2e4e memcpy is placed in ITCM memory and PC held 0x00002E54 value when hard fault occurred. I reviewed implementation of this function and see no differences with latest SDK. I accidentally noticed that ticket so question arise and I could not find the answer -so due to we use xip approach in our project are there any document which describes memory access limitations when using xip and external QSPI flash ? Thank you Re: imxrt1061 Hard fault points to clock API call @EdwinHz  Sorry for a late reply I would say only our specific application because we already went too far from examples. As you can see the main problem is unstable reproduce of the issue. We use NXP USB middleware (CDC class device) so we have our logger and shell input/output over USB. My first assumption was that clock peripheral section was not de-initialized correctly before reboot. Reboot is controlled so some actions are performed in software (stop services, close connections) and NVIC reset request at the end. But from other side all peripherals should reset to default values on reset. Re: imxrt1061 Hard fault points to clock API call Hi @swisst, Do you also see this happening with example codes we provide for ThreadX on your board? Or only with that specific application you are running?
查看全文
Bluetooth Configuration (bt_vendor.conf) for the libbt in Android 11 Hi, Currently I'm working on imx8mp with android 11. We have our bluetooth module rtl8822bu ,which  we have connected it to the imx8mp based evk through the mini PCIe port which is internally connected to the USB. We are trying to bring up the bluetooth module and could see the bt_vendor.conf file under the directory path android_build/hardware/nxp/libbt/conf/nxp/evk_8mp, that is related to UART. bt_vendor.conf: mchar_port = /dev/ttymxc0 pFileName_helper = /vendor/firmware/mrvl/helper_uart_3000000.bin pFileName_image = /vendor/firmware/mrvl/uart8997_bt_v4.bin baudrate_dl_helper = 115200 baudrate_dl_image = 3000000 iSecondBaudrate = 0 baudrate_fw_init = 115200 baudrate_bt = 3000000 enable_download_fw=0 here we could see the configuration are related to the UART but not to the USB. What are the changes that has to be done in this bt_vendor.conf file, to bring-up  the bluetooth module? Please provide your inputs. Thanks. Android i.MX 8 Family | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: Bluetooth Configuration (bt_vendor.conf) for the libbt in Android 11 Hi @ducho7783  @Dhruvit  We're encountering the same issue with the QCA9377 WiFi/BT USB module. It works successfully on kernel version 5.4.70, but we're facing problems when using it with Android 11. Could you please share how you resolved this issue? Thanks and regards, Deepak Kumar Beniya Re: Bluetooth Configuration (bt_vendor.conf) for the libbt in Android 11 Hi @ducho7783, I hope you are doing well. Thanks for the clarification. But still, there is Vendor HAL integration is required in Android to make your chipset work. ->Please make sure to add the HAL libraries at the below-given location. ->Edit mek_8q.mk located at “ /device/fsl/ imx8q/mek_8q/”, and add the product package. ->I have shared the example based on the NXP reference, please select realtek HAL libraries and the package that is provided. For example purpose:- # WiFi NXP HAL libraries PRODUCT_PACKAGES += \  libbt-vendor \  lib_driver_cmd_nxp # Bluetooth HAL PRODUCT_PACKAGES += \  android.hardware.bluetooth@1. 0-impl \  wifilogd \  wificond Thanks & Regards, Dhruvit Vasavada Re: Bluetooth Configuration (bt_vendor.conf) for the libbt in Android 11 Hi @Dhruvit , Thanks for your response, So as I'm seeing this issue is occurred in android but same thing I did in Linux platform and It is working fine, I loaded same driver and same firmware, even I checked Bluetooth logs from Dmesg that is also same. See here (both android and linux logs), ///////////////////////////////////////Android logs /////////////////////////////////////////////////////////////////////////////// phyboard_pollux:/ # dmesg |grep Bluetooth [ 0.145549] Bluetooth: Core ver 2.22 [ 0.145576] Bluetooth: HCI device and connection manager initialized [ 0.145585] Bluetooth: HCI socket layer initialized [ 0.145592] Bluetooth: L2CAP socket layer initialized [ 0.145599] Bluetooth: SCO socket layer initialized [ 2.078613] Bluetooth: HCI UART driver ver 2.3 [ 2.083076] Bluetooth: HCI UART protocol H4 registered [ 2.088223] Bluetooth: HCI UART protocol BCSP registered [ 2.093577] Bluetooth: HCI UART protocol LL registered [ 2.098724] Bluetooth: HCI UART protocol ATH3K registered [ 2.104156] Bluetooth: HCI UART protocol Three-wire (H5) registered [ 2.110670] Bluetooth: HCI UART protocol Broadcom registered [ 2.116360] Bluetooth: HCI UART protocol QCA registered [ 2.543073] Bluetooth: RFCOMM TTY layer initialized [ 2.547968] Bluetooth: RFCOMM socket layer initialized [ 2.553113] Bluetooth: RFCOMM ver 1.11 [ 2.556871] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 2.562189] Bluetooth: BNEP filters: protocol multicast [ 2.567441] Bluetooth: BNEP socket layer initialized [ 2.572420] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 [ 2.578352] Bluetooth: HIDP socket layer initialized [ 5.287075] Bluetooth: hci0: command 0xfc18 tx timeout [ 7.582211] Bluetooth: hci1: RTL: examining hci_ver=07 hci_rev=000b lmp_ver=07 lmp_subver=8822 [ 7.596121] Bluetooth: hci1: RTL: rom_version status=0 version=2 [ 7.602203] Bluetooth: hci1: RTL: loading rtl_bt/rtl8822b_fw.bin [ 7.616147] Bluetooth: hci1: RTL: loading rtl_bt/rtl8822b_config.bin [ 7.626129] Bluetooth: hci1: RTL: cfg_sz 14, total sz 20270 [ 8.383877] Bluetooth: hci1: RTL: fw version 0xab6b705c [ 13.283103] Bluetooth: hci0: BCM: failed to write update baudrate (-110) [ 13.289865] Bluetooth: hci0: Failed to set baudrate [ 15.299101] Bluetooth: hci0: command 0x0c03 tx timeout [ 23.523087] Bluetooth: hci0: BCM: Reset failed (-110) //////////////////////////////////////////////////Linux logs /////////////////////////////////////////////////////////////////////////// root@phyboard-pollux-imx8mp-2:~# root@phyboard-pollux-imx8mp-2:~# root@phyboard-pollux-imx8mp-2:~# dmesg | grep Bluetooth [ 0.085671] Bluetooth: Core ver 2.22 [ 0.085701] Bluetooth: HCI device and connection manager initialized [ 0.085709] Bluetooth: HCI socket layer initialized [ 0.085718] Bluetooth: L2CAP socket layer initialized [ 0.085731] Bluetooth: SCO socket layer initialized [ 1.660212] Bluetooth: HCI UART driver ver 2.3 [ 1.664671] Bluetooth: HCI UART protocol H4 registered [ 1.669816] Bluetooth: HCI UART protocol BCSP registered [ 1.675165] Bluetooth: HCI UART protocol LL registered [ 1.680308] Bluetooth: HCI UART protocol ATH3K registered [ 1.685733] Bluetooth: HCI UART protocol Three-wire (H5) registered [ 1.692124] Bluetooth: HCI UART protocol Broadcom registered [ 1.697814] Bluetooth: HCI UART protocol QCA registered [ 1.703047] Bluetooth: HCI UART protocol AG6XX registered [ 2.187207] Bluetooth: RFCOMM TTY layer initialized [ 2.192100] Bluetooth: RFCOMM socket layer initialized [ 2.197263] Bluetooth: RFCOMM ver 1.11 [ 2.201039] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 2.206356] Bluetooth: BNEP filters: protocol multicast [ 2.211590] Bluetooth: BNEP socket layer initialized [ 2.216561] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 [ 2.222489] Bluetooth: HIDP socket layer initialized [ 4.393652] Bluetooth: hci1: RTL: examining hci_ver=07 hci_rev=000b lmp_ver=07 lmp_subver=8822 [ 4.403608] Bluetooth: hci1: RTL: rom_version status=0 version=2 [ 4.409633] Bluetooth: hci1: RTL: loading rtl_bt/rtl8822b_fw.bin [ 4.420974] Bluetooth: hci1: RTL: loading rtl_bt/rtl8822b_config.bin [ 4.428100] Bluetooth: hci1: RTL: cfg_sz 14, total sz 20270 [ 5.178236] Bluetooth: hci1: RTL: fw version 0xab6b705c [ 5.374577] Bluetooth: hci0: command 0xfc18 tx timeout [ 13.534838] Bluetooth: hci0: BCM: failed to write update baudrate (-110) [ 13.541560] Bluetooth: hci0: Failed to set baudrate [ 15.550852] Bluetooth: hci0: command 0x0c03 tx timeout [ 23.774857] Bluetooth: hci0: BCM: Reset failed (-110) Can you give some input here basis on this. Thanks . Re: Bluetooth Configuration (bt_vendor.conf) for the libbt in Android 11 Hi @ducho7783, I hope you are doing well. If one is not using NXP Wifi/Bt chipset for the same then one has to integrate that chip with the custom board and for that purpose Please Contact Realtek vendor. Because It is seen from the logs that the chipset is not getting bonded and that is the reason for its service getting shut down every time. Please contact the chipset vendor for the same. Thanks & Regards. Dhruvit Vasavada Re: Bluetooth Configuration (bt_vendor.conf) for the libbt in Android 11 Hi @Dhruvit , Thanks for your support. The board that we are using is phycore i.mx 8M plus and we don't have any wifi/bt modules integrated in that. We are using the separate BT/Wifi module(rtl8822bu) which from the vendor Realtek. And we tried the way that you have mentioned i.e. setenforce permissive for giving the permission. Still we stuck with the same issue. Please help in resolving the issue. Thanks. Re: Bluetooth Configuration (bt_vendor.conf) for the libbt in Android 11 Hi @ducho7783, I hope you are doing well. And we are using USB so why add hci_uart.ko? ->It is because the nxp chipset provides wifi and bt support, where wifi is accessible via sdio, PCIe & bt is accessible via uart and that is recommended & for that I recommended. From the logs, it is seen that the bt service tried to start but it received signal 6 and got dead. It may be an issue of permission. Please check with the below command to give all permission to let the service start and nothing can restrict them. setenforce permissive Then also check the permission status by giving the below command. getenforce Thanks & Regards. Dhruvit Vasavada Re: Bluetooth Configuration (bt_vendor.conf) for the libbt in Android 11 Hi @Dhruvit, Thanks for your response. Here we are working with btusb driver so we added btintel.ko and btusb.ko in Boardconfig.mk file BOARD_VENDOR_KERNEL_MODULES += \ $(KERNEL_OUT)/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko \ $(KERNEL_OUT)/drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil.ko \ $(KERNEL_OUT)/drivers/bluetooth/btintel.ko\ $(KERNEL_OUT)/drivers/bluetooth/btusb.ko. And we are using USB so why to add hci_uart.ko ? we have also configured bt_vendor.conf file as below, which is in the path hardware/nxp/libbt/conf/nxp/evk_8mp/bt_vendor.conf. mchar_port = /dev/ttyUSB0 is_uart_port = 1 baudrate_bt = 115200 baudrate_fw_init = 3000000 bd_address = 00:0E:8E:BA:9C:C3  and we tried service call bluetooth_manager 6  but still we are getting the same issue, phyboard_pollux:/ # [ 130.613196] binder: release 381:381 transaction 102338 in, still active [ 130.618284] init: Untracked pid 2068 exited with status 0 [ 130.624843] binder: send failed reply for transaction 102338 to 2019:2063 [ 130.625756] init: Service 'vendor.bluetooth-1-0' (pid 381) received signal 6 [ 130.639905] init: Sending signal 9 to service 'vendor.bluetooth-1-0' (pid 381) process group... [ 130.649573] libprocessgroup: Successfully killed process cgroup uid 1002 pid 381 in 0ms [ 130.663488] init: Untracked pid 2070 exited with status 0 [ 130.671540] init: starting service 'vendor.bluetooth-1-0'... [ 132.170331] init: Untracked pid 2077 exited with status 0 [ 132.183551] init: Untracked pid 2080 exited with status 0 [ 132.189615] binder: undelivered death notification, b400fbe68b305430 [ 132.975210] init: Untracked pid 2138 exited with status 0 [ 132.982704] binder: release 2078:2082 transaction 117792 in, still active [ 132.989946] init: Service 'vendor.bluetooth-1-0' (pid 2078) received signal 6 [ 132.997356] binder: send failed reply for transaction 117792 to 2090:2133 [ 133.803851] binder: undelivered death notification, b400fbe68b304b40 [ 135.033733] binder: release 2203:2204 transaction 134781 in, still active [ 135.040654] binder: send failed reply for transaction 134781 to 2157:2199 [ 135.817674] init: Untracked pid 2218 exited with status 0 [ 135.829812] init: Untracked pid 2220 exited with status 0 [ 135.852323] binder: undelivered death notification, b400fbe68b305590 [ 137.110735] init: starting service 'vendor.bluetooth-1-0'... [ 137.119695] init: Control message: Processed ctl.interface_start for '[email protected]::IBluetoothHci/default' from pid: 242 (/system/bin/hwservicemanager) [ 137.135703] init: Control message: Processed ctl.interface_start for '[email protected]::IBluetoothHci/default' from pid: 242 (/system/bin/hwservicemanager) [ 137.229808] init: Untracked pid 2281 exited with status 0 [ 137.233920] binder: release 2275:2275 transaction 150957 in, still active [ 137.235522] init: Service 'vendor.bluetooth-1-0' (pid 2275) received signal 6 [ 137.249332] init: Sending signal 9 to service 'vendor.bluetooth-1-0' (pid 2275) process group... [ 137.250210] binder: send failed reply for transaction 150957 to 2229:2271 [ 137.258604] libprocessgroup: Successfully killed process cgroup uid 1002 pid 2275 in 0ms [ 137.276012] init: Untracked pid 2283 exited with status 0 [ 138.018302] binder: undelivered death notification, b400fbe68b30cff0 [ 139.744951] AidlLazyServiceRegistrar: Trying to shut down the service. No clients in use for any service in process. [ 139.756441] AidlLazyServiceRegistrar: Unregistered all clients and exiting [ 139.766204] printk: Binder:310_3: 221 output lines suppressed due to ratelimiting [ 140.235868] binder: release 2346:2348 transaction 151341 in, still active [ 140.242779] binder: send failed reply for transaction 151341 to 2300:2342 [ 140.982090] init: Untracked pid 2362 exited with status 0 [ 140.993324] init: Untracked pid 2364 exited with status 0 [ 141.006019] binder: undelivered death notification, b400fbe68b306560 [ 142.256253] init: starting service 'vendor.bluetooth-1-0'... [ 142.264741] init: Control message: Processed ctl.interface_start for '[email protected]::IBluetoothHci/default' from pid: 242 (/system/bin/hwservicemanager) [ 142.280467] init: Control message: Processed ctl.interface_start for '[email protected]::IBluetoothHci/default' from pid: 242 (/system/bin/hwservicemanager) [ 142.373321] init: Untracked pid 2424 exited with status 0 [ 142.380679] binder: release 2418:2418 transaction 151673 in, still active [ 142.380978] init: Service 'vendor.bluetooth-1-0' (pid 2418) received signal 6 [ 142.387502] binder: send failed reply for transaction 151673 to 2372:2414 [ 142.401996] init: Sending signal 9 to service 'vendor.bluetooth-1-0' (pid 2418) process group... [ 142.411619] libprocessgroup: Successfully killed process cgroup uid 1002 pid 2418 in 0ms [ 142.420565] init: updatable process 'vendor.bluetooth-1-0' exited 4 times in 4 minutes [ 143.146742] binder: undelivered death notification, b400fbe68b30a080 [ 147.267761] init: starting service 'vendor.bluetooth-1-0'... Please help us in resolving the issue. Thanks. Re: Bluetooth Configuration (bt_vendor.conf) for the libbt in Android 11 Hi @ducho7783, I hope you are doing well. ->Please check File: android_build/device/fsl/ imx8m/evk_8mq/BoardConfig.mk has below settings made. BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_OUT)/drivers/net/ wireless/marvell/mrvl8887/ muart_src/hci_uart.ko BOARD_HAVE_BLUETOOTH := true ->One can set an early init config file to load the Bluetooth driver on early boot insmod vendor/lib/modules/hci_uart.ko ->Please make sure the bt_vendor.conf file has a configuration like the below example. mchar_port = /dev/ttyUSB0 is_uart_port = 1 baudrate_bt = 115200 baudrate_fw_init = 3000000 bd_address = 12:34:56:78:9a:bc ->One can use the below command to enable Bluetooth adb shell service call bluetooth_manager 6 Thanks & Regards, Dhruvit Vasavada Re: Bluetooth Configuration (bt_vendor.conf) for the libbt in Android 11 Hi @Dhruvit, Thanks for your support. We tried configuration changes whatever you provided, but still we are not able to enable bluetooth. Is there any other way  that we can fix this issue,so please provide us. Thanks, Re: Bluetooth Configuration (bt_vendor.conf) for the libbt in Android 11 Hi @ducho7783, I hope you are doing well. AOSP includes the HCI UART as an embedded driver in the kernel. NXP provides a modified version of this code. To enable HCI UART driver one needs to include some changes in the code parameters. These parameters can include different compile options, like m or y, and need to be set as shown in the snippet below.    Note that the configuration parameter option CONFIG_USB_SERIAL_FTDI_SIO is only necessary if you are accessing the UART interface over FTDI.   File: android_build/vendor/nxp- opensource/kernel_imx/arch/ arm/configs/imx_v7_android_ defconfig CONFIG_BT_HCIUART=m CONFIG_USB_SERIAL=y CONFIG_USB_SERIAL_FTDI_SIO=y Please make sure to do these needful changes. Thanks & Regards. Dhruvit Vasavada
查看全文
Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi All,      I am trying to import a "lpcxpresso54s018_hello_world_qspi_xip" to my custom board. But I got an error message "File 'lpcxpresso54s018_hello_world_qspi_xip_HelloWorldSPIFI004.bin' load failure: Ef(11). No flash configured at the specified address." . The goal is to upload an image to the EXT SPI FLASH and the MCU will boot from the EXT SPI FLASH.      Can anyone please give an advice on how to fix the issue?   Error Message: Executing flash operation 'Program' (Program file into flash: lpcxpresso54s018_hello_world_qspi_xip_HelloWorldSPIFI004.bin) - Mon Jun 16 10:48:33 PDT 2025 Checking MCU info... Scanning for targets... Executing flash action... LinkServer RedlinkMulti Driver v24.12 (Dec 18 2024 18:34:07 - crt_emu_cm_redlink.exe build 869) ( 0) Reading remote configuration Wc(03). No cache support. Found chip XML file in C:/Users/tsangm/Documents/MCUXpressoIDE_24.12.148/workspace/lpcxpresso54s018_hello_world_qspi_xip_HelloWorldSPIFI004/Debug\LPC54S018.xml ( 5) Remote configuration complete Reconnected to existing LinkServer process. Probe Firmware: MCU-LINK Pro (r0CF) CMSIS-DAP V3.153 (NXP Semiconductors) Serial Number: F4ON0DG121ZHK VID:PID: 1FC9:0143 USB Path: 0001:000f:00 Using memory from core 0 after searching for a good core On debug connection - use system reset, stalling when 0x40000040 is accessed Retask read watchpoint 1 at 0x40000040 to use for boot ROM stall Boot ROM stalled - at read watch #1 address 0x40000040 ( 30) Emulator Connected ( 40) Debug Halt ( 50) CPU ID debug interface type = CoreSight DP (DAP DP ID 2BA01477) over SWD TAP 0 processor type = Cortex-M4 (CPU ID 00000C24) on DAP AP 0 number of h/w breakpoints = 6 number of flash patches = 2 number of h/w watchpoints = 4 Probe(0): Connected&Reset. DpID: 2BA01477. CpuID: 00000C24. Info: Debug protocol: SWD. RTCK: Disabled. Vector catch: Enabled. Content of CoreSight Debug ROM(s): RBASE E00FF000: CID B105100D PID 04000BB4C4 ROM (type 0x1) ROM 1 E000E000: CID B105E00D PID 04000BB00C Gen SCS (type 0x0) ROM 1 E0001000: CID B105E00D PID 04003BB002 Gen DWT (type 0x0) ROM 1 E0002000: CID B105E00D PID 04002BB003 Gen FPB (type 0x0) ROM 1 E0000000: CID B105E00D PID 04003BB001 Gen ITM (type 0x0) ROM 1 E0040000: CID B105900D PID 04000BB9A1 CSt TPIU type 0x11 Trace Sink - TPIU ROM 1 E0041000: CID B105900D PID 04000BB925 CSt ETM type 0x13 Trace Source - Core NXP: LPC54S018 DAP stride is 4096 bytes (1024 words) ( 65) Chip Setup Complete Connected: was_reset=false. was_stopped=true ( 70) License Check Complete File 'lpcxpresso54s018_hello_world_qspi_xip_HelloWorldSPIFI004.bin' load failure: Ef(11). No flash configured at the specified address. (100) Target Operation Failed Unable to perform operation! Command failed with exit code 1 Thanks, 6/16/2025 LPC54xxx Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi Harry,      Thanks for your advice on the PIO0_4,5,6!      Although I am unable to see the "hello world" message in the "lpc54018iotmodule_led_blinky_Custom Board 000", I followed your instruction on PIO0_4,5,6, and I am able to run the "lpcxpresso54s018_led_blinky_lpc_blinky_Custom Board 000". I also disconnect the SWD and power on the custom board and the blink still on going, this should be enough to proof the SPI BOOT is working right?        How do I view the "Hello World" message for the "lpc54018iotmodule_led_blinky_Custom Board 000" project?         For the PIO0_4,5,6, if I set it to all high so it should be in auto-boot mode, I wonder why it will prevent from uploading .bin file to the SPI NOR FLASH?        Also, can I use the MCU-LINK PRO and the MCUExpresso IDE for production programming?   Thanks, 7/25/2025 Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi @mtsang  I got some new idea from our internal team. You can check the ISP pins, to ensure that the chip boot type is SPIFI flash boot. And they suggest to refer to the AN12122 . You can use lpcxpresso54s018_hello_world_qspi_xip this demo. BR Harry Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi Harry,      Thank you so much for your help and please give me an update if you got a result from the internal team. How soon will I hear back from you or the internal team?      Can you think of any other part of the schematics/code that will cause the board to be able to upload/erase code to the SPI NOR Flash but not able to boot and debug? I will double check base on your suggestion.      Currently I am using "lpc54018iotmodule_hello_world" example. Thanks, 7/15/2025 Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi @mtsang  I think this may be due to an incorrect SPI Descriptor, but unfortunately, I don't have a flash chip(IS25LP128F-JBLA3) on hand, so i can not test it, i will seek help from internal team.  I will inform you as soon as there is a result. Thanks for  your understanding. BR Harry Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi Harry,      I can't debug the unit. It has below error output. LinkServer RedlinkMulti Driver v24.12 (Dec 18 2024 18:34:07 - crt_emu_cm_redlink build 869) Found chip XML file in C:/Users/tsangm/Documents/MCUXpressoIDE_24.12.148/workspace/lpc54018iotmodule_hello_world_lpc54018iotmodule/Debug\LPC54018.xml ( 5) Remote configuration complete Reconnected to existing LinkServer process. Probe Firmware: MCU-LINK Pro (r0CF) CMSIS-DAP V3.153 (NXP Semiconductors) Serial Number: F4ON0DG121ZHK VID:PID: 1FC9:0143 USB Path: 0001:0009:00 Using memory from core 0 after searching for a good core On debug connection - use system reset, stalling when 0x40000040 is accessed Retask read watchpoint 1 at 0x40000040 to use for boot ROM stall Waiting for target to stop... Warning - processor did not halt - gave up waiting debug interface type = CoreSight DP (DAP DP ID 2BA01477) over SWD TAP 0 processor type = Cortex-M4 (CPU ID 00000C24) on DAP AP 0 number of h/w breakpoints = 6 number of flash patches = 2 number of h/w watchpoints = 4 Probe(0): Connected&Reset. DpID: 2BA01477. CpuID: 00000C24. Info: Debug protocol: SWD. RTCK: Disabled. Vector catch: Enabled. Content of CoreSight Debug ROM(s): RBASE E00FF000: CID B105100D PID 04000BB4C4 ROM (type 0x1) ROM 1 E000E000: CID B105E00D PID 04000BB00C Gen SCS (type 0x0) ROM 1 E0001000: CID B105E00D PID 04003BB002 Gen DWT (type 0x0) ROM 1 E0002000: CID B105E00D PID 04002BB003 Gen FPB (type 0x0) ROM 1 E0000000: CID B105E00D PID 04003BB001 Gen ITM (type 0x0) ROM 1 E0040000: CID B105900D PID 04000BB9A1 CSt TPIU type 0x11 Trace Sink - TPIU ROM 1 E0041000: CID B105900D PID 04000BB925 CSt ETM type 0x13 Trace Source - Core NXP: LPC54018 DAP stride is 4096 bytes (1024 words) Inspected v.2 External Flash Device on SPI LPC540xx_SPIFI_SFDP.cfx Image 'LPC540xx_JEDEC_SFDP Dec 18 2024 17:26:01' Opening flash driver LPC540xx_SPIFI_SFDP.cfx Sending SYSRESETREQ to run flash driver rst - Boot ROM stall address was not accessed (but we entered debug on VectorCatch anyway) There was a problem after we succesfully downloaded flash driver code to the target, so we are going to compare the flash driver code with the memory where it was loaded. Note that, after driver initialization, some difference is normal in 'generic' drivers. Driver from AXF file: //------------------ //Flash Data //------------------ AFTER driver startup timeout (302 5ms retries) Driver Addresses Start: 00000000 Entry: 0000009D End: 0000128C Stack: 00002290 Mailbox:0000A290 Driver Register State R0: 00000000 R1: 200273F8 R2: 0300AF21 R3: 00000000 R4: 40000000 R5: 00000000 R6: 00000000 R7: 00000000 R8: 00000000 R9: 00000000 R10: 00000000 R11: 00000000 R12: 00000000 SP: 00002288 LR: 0300BBA5 PC: 0300BDF2 xPSR: 21000000 MSP: 00002288 PSP: 00002290 CFBP: 00000001 (CONTROL=0x0, FAULTMASK=0x0, BASEPRI=0x0, PRIMASK=0x1) Flash Driver V.2 startup failed - rc Ef(34): Timed-out initializing flash. chip initialization failed - Ef(34): Timed-out initializing flash. failed to initialize flash driver LPC540xx_SPIFI_SFDP.cfx I click on "Attach to running target using Link server", and there what I got: I clicked on the "Verify Only" in the GUI Flash Tool and it seems to be able to download the .bin file to the SPI NOR Flash Executing flash operation 'Program' (Program file into flash: lpc54018iotmodule_hello_world_lpc54018iotmodule.bin) - Mon Jul 14 15:05:56 PDT 2025 Checking MCU info... Scanning for targets... Executing flash action... LinkServer RedlinkMulti Driver v24.12 (Dec 18 2024 18:34:07 - crt_emu_cm_redlink.exe build 869) ( 0) Reading remote configuration Wc(03). No cache support. Found chip XML file in C:/Users/tsangm/Documents/MCUXpressoIDE_24.12.148/workspace/lpc54018iotmodule_hello_world_lpc54018iotmodule/Debug\LPC54018.xml ( 5) Remote configuration complete Reconnected to existing LinkServer process. Probe Firmware: MCU-LINK Pro (r0CF) CMSIS-DAP V3.153 (NXP Semiconductors) Serial Number: F4ON0DG121ZHK VID:PID: 1FC9:0143 USB Path: 0001:0009:00 Using memory from core 0 after searching for a good core On debug connection - use system reset, stalling when 0x40000040 is accessed Retask read watchpoint 1 at 0x40000040 to use for boot ROM stall Waiting for target to stop... Warning - processor did not halt - gave up waiting ( 30) Emulator Connected ( 40) Debug Halt ( 50) CPU ID debug interface type = CoreSight DP (DAP DP ID 2BA01477) over SWD TAP 0 processor type = Cortex-M4 (CPU ID 00000C24) on DAP AP 0 number of h/w breakpoints = 6 number of flash patches = 2 number of h/w watchpoints = 4 Probe(0): Connected&Reset. DpID: 2BA01477. CpuID: 00000C24. Info: Debug protocol: SWD. RTCK: Disabled. Vector catch: Enabled. Content of CoreSight Debug ROM(s): RBASE E00FF000: CID B105100D PID 04000BB4C4 ROM (type 0x1) ROM 1 E000E000: CID B105E00D PID 04000BB00C Gen SCS (type 0x0) ROM 1 E0001000: CID B105E00D PID 04003BB002 Gen DWT (type 0x0) ROM 1 E0002000: CID B105E00D PID 04002BB003 Gen FPB (type 0x0) ROM 1 E0000000: CID B105E00D PID 04003BB001 Gen ITM (type 0x0) ROM 1 E0040000: CID B105900D PID 04000BB9A1 CSt TPIU type 0x11 Trace Sink - TPIU ROM 1 E0041000: CID B105900D PID 04000BB925 CSt ETM type 0x13 Trace Source - Core NXP: LPC54018 DAP stride is 4096 bytes (1024 words) Inspected v.2 External Flash Device on SPI LPC540xx_SPIFI_SFDP.cfx Image 'LPC540xx_JEDEC_SFDP Dec 18 2024 17:26:01' Opening flash driver LPC540xx_SPIFI_SFDP.cfx Using SOFT reset to run the flash driver rst - Boot ROM stall address was not accessed (but we entered debug on Halt anyway) Flash variant 'JEDEC_SFDP_9D6018' detected (16MB = 256*64K at 0x10000000) Closing flash driver LPC540xx_SPIFI_SFDP.cfx ( 65) Chip Setup Complete Connected: was_reset=false. was_stopped=false ( 70) License Check Complete Verifying 'lpc54018iotmodule_hello_world_lpc54018iotmodule.bin' Binary section 0 at 0x10000000 len 0x3BA4 Opening flash driver LPC540xx_SPIFI_SFDP.cfx (already resident) Using SOFT reset to run the flash driver Flash variant 'JEDEC_SFDP_9D6018' detected (16MB = 256*64K at 0x10000000) ( 0) Comparing Flash against file at 0x10000000 Closing flash driver LPC540xx_SPIFI_SFDP.cfx (100) File matches flash. Read 0x3BA4 bytes in 43ms (about 355kB/s) - verify succeeded Thanks, 7/14/2025 Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi @mtsang  Can you debug successfully? BR Harry Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi Harry,      I used the SPIFI descriptor you posted, but still it has the same problem. I got the following error message after I clicked on "Debug with Linkserver Probes" LinkServer RedlinkMulti Driver v24.12 (Dec 18 2024 18:34:07 - crt_emu_cm_redlink build 869) Found chip XML file in C:/Users/tsangm/Documents/MCUXpressoIDE_24.12.148/workspace/lpc54018iotmodule_hello_world_lpc54018iotmodule/Debug\LPC54018.xml ( 5) Remote configuration complete Reconnected to existing LinkServer process. Probe Firmware: MCU-LINK Pro (r0CF) CMSIS-DAP V3.153 (NXP Semiconductors) Serial Number: F4ON0DG121ZHK VID:PID: 1FC9:0143 USB Path: 0001:0014:00 Using memory from core 0 after searching for a good core On debug connection - use system reset, stalling when 0x40000040 is accessed Retask read watchpoint 1 at 0x40000040 to use for boot ROM stall Boot ROM stalled - at read watch #1 address 0x40000040 debug interface type = CoreSight DP (DAP DP ID 2BA01477) over SWD TAP 0 processor type = Cortex-M4 (CPU ID 00000C24) on DAP AP 0 number of h/w breakpoints = 6 number of flash patches = 2 number of h/w watchpoints = 4 Probe(0): Connected&Reset. DpID: 2BA01477. CpuID: 00000C24. Info: Debug protocol: SWD. RTCK: Disabled. Vector catch: Enabled. Content of CoreSight Debug ROM(s): RBASE E00FF000: CID B105100D PID 04000BB4C4 ROM (type 0x1) ROM 1 E000E000: CID B105E00D PID 04000BB00C Gen SCS (type 0x0) ROM 1 E0001000: CID B105E00D PID 04003BB002 Gen DWT (type 0x0) ROM 1 E0002000: CID B105E00D PID 04002BB003 Gen FPB (type 0x0) ROM 1 E0000000: CID B105E00D PID 04003BB001 Gen ITM (type 0x0) ROM 1 E0040000: CID B105900D PID 04000BB9A1 CSt TPIU type 0x11 Trace Sink - TPIU ROM 1 E0041000: CID B105900D PID 04000BB925 CSt ETM type 0x13 Trace Source - Core NXP: LPC54018 DAP stride is 4096 bytes (1024 words) Inspected v.2 External Flash Device on SPI LPC540xx_SPIFI_SFDP.cfx Image 'LPC540xx_JEDEC_SFDP Dec 18 2024 17:26:01' Opening flash driver LPC540xx_SPIFI_SFDP.cfx SYSRESETREQ reset omitted - already reset Flash variant 'JEDEC_SFDP_9D6018' detected (16MB = 256*64K at 0x10000000) Closing flash driver LPC540xx_SPIFI_SFDP.cfx Connected: was_reset=false. was_stopped=true Awaiting telnet connection to port 3330 ... GDB nonstop mode enabled Opening flash driver LPC540xx_SPIFI_SFDP.cfx (already resident) Retask watch 0 address 0x0 (unused) for boot rom stall Sending SYSRESETREQ to run flash driver Boot ROM stalled accessing address 0x40000040 (restoring watchpoint 1) AFTER driver startup timeout (302 5ms retries) Driver Addresses Start: 00000000 Entry: 0000009D End: 0000128C Stack: 00002290 Mailbox:0000A290 Driver Register State R0: 0000A290 R1: 00000000 R2: 00000000 R3: 00000000 R4: 00000000 R5: 00000000 R6: 00000000 R7: 00000000 R8: 00000000 R9: 00000000 R10: 00000000 R11: 00000000 R12: 00000000 SP: 00002290 LR: 0000009D PC: 000000A0 xPSR: 61000000 MSP: 00002290 PSP: 00002290 CFBP: 00010001 (CONTROL=0x0, FAULTMASK=0x1, BASEPRI=0x0, PRIMASK=0x1) Flash Driver V.2 startup failed - rc Ef(34): Timed-out initializing flash. (100) Writing Flash ended with an error. Target error from Commit Flash write: Ef(34): Timed-out initializing flash. GDB stub (C:\nxp\LinkServer_24.12.21\binaries\crt_emu_cm_redlink) terminating - GDB protocol problem: Pipe has been closed by GDB. Thanks, 7/10/2025 Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi @mtsang  If you want to XIP. Did you try to change to it in startup_lpc54s018.c? #ifdef IS25LP128F-JBLA3 /* SPI Descriptor - IS25LP128F-JBLA3 */ (void (*)(void))0x00000000, // 0xFFFFFFFF to default 1-bit SPI mode ;DevStrAdr (void (*)(void))0x0018609D, // mfgId + extCount (void (*)(void))0x00000000, // extid 0-3 (void (*)(void))0x00000000, // reserved (void (*)(void))0x1301001D, // caps (void (*)(void))0x00000100, // Blks + RESV1 (void (*)(void))0x00010000, // blkSize (void (*)(void))0x00000000, // reserved (void (*)(void))0x00000100, // pageSize + RESV2 (void (*)(void))0x00003F00, // maxReadSize (void (*)(void))0x68506850, // maxClkRate,maxReadRate,maxHSReadRate,maxProgramRate (void (*)(void))0x06020050, // maxHSProgramRate,initDeInitFxId,clearStatusFxId,getStatusFxId (void (*)(void))0x14110F0B, // setStatusFxId,setOptionsFxId,getReadCmdFxId,getWriteCmdFxId #endif BR Harry Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi Harry,      Thanks for the schematics correction! However it seems like I am able to flash the .bin file to the SPI NOR Flash, but the MCU is not able to boot from the SPI NOR Flash. I installed and removed PIO0_6 pull-up resistor but it didnt help. Flash the SPI NOR FLASH Executing flash operation 'Program' (Program file into flash: Debug\lpc54018iotmodule_hello_world_lpc54018iotmodule.axf) - Wed Jul 09 16:39:19 PDT 2025 Checking MCU info... Scanning for targets... Executing flash action... LinkServer RedlinkMulti Driver v24.12 (Dec 18 2024 18:34:07 - crt_emu_cm_redlink.exe build 869) ( 0) Reading remote configuration Wc(03). No cache support. Found chip XML file in C:/Users/tsangm/Documents/MCUXpressoIDE_24.12.148/workspace/lpc54018iotmodule_hello_world_lpc54018iotmodule/Debug\LPC54018.xml ( 5) Remote configuration complete Reconnected to existing LinkServer process. Probe Firmware: MCU-LINK Pro (r0CF) CMSIS-DAP V3.153 (NXP Semiconductors) Serial Number: F4ON0DG121ZHK VID:PID: 1FC9:0143 USB Path: 0001:000b:00 Using memory from core 0 after searching for a good core On debug connection - use system reset, stalling when 0x40000040 is accessed Retask read watchpoint 1 at 0x40000040 to use for boot ROM stall Waiting for target to stop... Warning - processor did not halt - gave up waiting ( 30) Emulator Connected ( 40) Debug Halt ( 50) CPU ID debug interface type = CoreSight DP (DAP DP ID 2BA01477) over SWD TAP 0 processor type = Cortex-M4 (CPU ID 00000C24) on DAP AP 0 number of h/w breakpoints = 6 number of flash patches = 2 number of h/w watchpoints = 4 Probe(0): Connected&Reset. DpID: 2BA01477. CpuID: 00000C24. Info: Debug protocol: SWD. RTCK: Disabled. Vector catch: Enabled. Content of CoreSight Debug ROM(s): RBASE E00FF000: CID B105100D PID 04000BB4C4 ROM (type 0x1) ROM 1 E000E000: CID B105E00D PID 04000BB00C Gen SCS (type 0x0) ROM 1 E0001000: CID B105E00D PID 04003BB002 Gen DWT (type 0x0) ROM 1 E0002000: CID B105E00D PID 04002BB003 Gen FPB (type 0x0) ROM 1 E0000000: CID B105E00D PID 04003BB001 Gen ITM (type 0x0) ROM 1 E0040000: CID B105900D PID 04000BB9A1 CSt TPIU type 0x11 Trace Sink - TPIU ROM 1 E0041000: CID B105900D PID 04000BB925 CSt ETM type 0x13 Trace Source - Core NXP: LPC54018 DAP stride is 4096 bytes (1024 words) Inspected v.2 External Flash Device on SPI LPC540xx_SPIFI_SFDP.cfx Image 'LPC540xx_JEDEC_SFDP Dec 18 2024 17:26:01' Opening flash driver LPC540xx_SPIFI_SFDP.cfx Using SOFT reset to run the flash driver rst - Boot ROM stall address was not accessed (but we entered debug on Halt anyway) Flash variant 'JEDEC_SFDP_9D6018' detected (16MB = 256*64K at 0x10000000) Closing flash driver LPC540xx_SPIFI_SFDP.cfx ( 65) Chip Setup Complete Connected: was_reset=false. was_stopped=false ( 70) License Check Complete Loading 'lpc54018iotmodule_hello_world_lpc54018iotmodule.axf' ELF 0x10000000 len 0x3BA4 Opening flash driver LPC540xx_SPIFI_SFDP.cfx (already resident) Using SOFT reset to run the flash driver Flash variant 'JEDEC_SFDP_9D6018' detected (16MB = 256*64K at 0x10000000) Writing 15268 bytes to address 0x10000000 in Flash 1 of 1 ( 0) Writing sectors 0-0 at 0x10000000 with 15268 bytes ( 0) at 10000000: 0 bytes - 0/15268 (100) at 10000000: 65536 bytes - 65536/15268 Sectors written: 0, unchanged: 1, total: 1 Erased/Wrote sector 0-0 with 15268 bytes in 30msec Closing flash driver LPC540xx_SPIFI_SFDP.cfx (100) Finished writing Flash successfully. Flash Write Done Loaded 0x3BA4 bytes in 89ms (about 171kB/s) Reset target (romstall) Starting execution using system reset with a stall address Retask read watchpoint 1 at 0x40000040 to use for boot ROM stall Boot ROM stalled accessing address 0x40000040 (restoring watchpoint 1) Stopped (Was Reset) [Reset from Unknown]: Watchpoint (Temp) #1 - read watchpoint at 0x40000040 Data watch for bootloader stall restart on reset Verify the SPI NOR FLASH's content Executing flash operation 'Program' (Program file into flash: lpc54018iotmodule_hello_world_lpc54018iotmodule.bin) - Wed Jul 09 16:43:17 PDT 2025 Checking MCU info... Scanning for targets... Executing flash action... LinkServer RedlinkMulti Driver v24.12 (Dec 18 2024 18:34:07 - crt_emu_cm_redlink.exe build 869) ( 0) Reading remote configuration Wc(03). No cache support. Found chip XML file in C:/Users/tsangm/Documents/MCUXpressoIDE_24.12.148/workspace/lpc54018iotmodule_hello_world_lpc54018iotmodule/Debug\LPC54018.xml ( 5) Remote configuration complete Reconnected to existing LinkServer process. Probe Firmware: MCU-LINK Pro (r0CF) CMSIS-DAP V3.153 (NXP Semiconductors) Serial Number: F4ON0DG121ZHK VID:PID: 1FC9:0143 USB Path: 0001:000b:00 Using memory from core 0 after searching for a good core On debug connection - use system reset, stalling when 0x40000040 is accessed Retask read watchpoint 1 at 0x40000040 to use for boot ROM stall Boot ROM stalled - at read watch #1 address 0x40000040 ( 30) Emulator Connected ( 40) Debug Halt ( 50) CPU ID debug interface type = CoreSight DP (DAP DP ID 2BA01477) over SWD TAP 0 processor type = Cortex-M4 (CPU ID 00000C24) on DAP AP 0 number of h/w breakpoints = 6 number of flash patches = 2 number of h/w watchpoints = 4 Probe(0): Connected&Reset. DpID: 2BA01477. CpuID: 00000C24. Info: Debug protocol: SWD. RTCK: Disabled. Vector catch: Enabled. Content of CoreSight Debug ROM(s): RBASE E00FF000: CID B105100D PID 04000BB4C4 ROM (type 0x1) ROM 1 E000E000: CID B105E00D PID 04000BB00C Gen SCS (type 0x0) ROM 1 E0001000: CID B105E00D PID 04003BB002 Gen DWT (type 0x0) ROM 1 E0002000: CID B105E00D PID 04002BB003 Gen FPB (type 0x0) ROM 1 E0000000: CID B105E00D PID 04003BB001 Gen ITM (type 0x0) ROM 1 E0040000: CID B105900D PID 04000BB9A1 CSt TPIU type 0x11 Trace Sink - TPIU ROM 1 E0041000: CID B105900D PID 04000BB925 CSt ETM type 0x13 Trace Source - Core NXP: LPC54018 DAP stride is 4096 bytes (1024 words) Inspected v.2 External Flash Device on SPI LPC540xx_SPIFI_SFDP.cfx Image 'LPC540xx_JEDEC_SFDP Dec 18 2024 17:26:01' Opening flash driver LPC540xx_SPIFI_SFDP.cfx Using SOFT reset to run the flash driver Flash variant 'JEDEC_SFDP_9D6018' detected (16MB = 256*64K at 0x10000000) Closing flash driver LPC540xx_SPIFI_SFDP.cfx ( 65) Chip Setup Complete Connected: was_reset=false. was_stopped=true ( 70) License Check Complete Verifying 'lpc54018iotmodule_hello_world_lpc54018iotmodule.bin' Binary section 0 at 0x10000000 len 0x3BA4 Opening flash driver LPC540xx_SPIFI_SFDP.cfx (already resident) Using SOFT reset to run the flash driver Flash variant 'JEDEC_SFDP_9D6018' detected (16MB = 256*64K at 0x10000000) ( 0) Comparing Flash against file at 0x10000000 Closing flash driver LPC540xx_SPIFI_SFDP.cfx (100) File matches flash. Read 0x3BA4 bytes in 41ms (about 372kB/s) - verify succeeded Thanks, 7/9/2025 Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi Harry,      I am terribly sorry I didn't check the SPI NOR Flash pin out. Thanks for your catch!!! I used jumper cable to fix the problem for now.      Seems like I am able to program and mass erase the custom board right now. At least it didnt show any error message.      I am using "lpc54018iotmodule_hello_world_virtual_com_xip" as an example. Is there anything I can do to verify the SPI boot function? Also where the "HELLO WORLD" message will shows up? Thanks a lot! 7/8/2025 Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi @mtsang  I think your schematics of the SPI NOR FLASH is wrong. In the NOR FLASH Data sheet. PIN 5 SI should be connected IO0. PIN 2 SO should be connected IO1. But in your schematic. PIN 5 SI is connected IO1. BR Harry Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi Harry,      Sure! Attached is the schematics of the SPI NOR FLASH. SPIFI_CSN -> LPC54S018JET180E_N7 SPIFI_IO0 -> LPC54S018JET180E_M7 SPIFI_IO1 -> LPC54S018JET180E_K8 SPIFI_IO2 -> LPC54S018JET180E_M9 SPIFI_IO3 -> LPC54S018JET180E_L9 SPIFI_SCK -> LPC54S018JET180E_M13 Thanks, 7/7/2025 Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi @mtsang  Can you share your schematic about the flash? BR Harry Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi Harry, Thanks for your detailed response, but I am still getting the same error. Executing flash operation 'Program' (Program file into flash: Debug\lpc54018iotmodule_hello_world_lpc54018iotmodule.axf) - Thu Jul 03 14:29:23 PDT 2025 Checking MCU info... Scanning for targets... Executing flash action... LinkServer RedlinkMulti Driver v24.12 (Dec 18 2024 18:34:07 - crt_emu_cm_redlink.exe build 869) ( 0) Reading remote configuration Wc(03). No cache support. Found chip XML file in C:/Users/tsangm/Documents/MCUXpressoIDE_24.12.148/workspace/lpc54018iotmodule_hello_world_lpc54018iotmodule/Debug\LPC54018.xml ( 5) Remote configuration complete Reconnected to existing LinkServer process. Probe Firmware: MCU-LINK Pro (r0CF) CMSIS-DAP V3.153 (NXP Semiconductors) Serial Number: F4ON0DG121ZHK VID:PID: 1FC9:0143 USB Path: 0001:001a:00 Using memory from core 0 after searching for a good core On debug connection - use system reset, stalling when 0x40000040 is accessed Retask read watchpoint 1 at 0x40000040 to use for boot ROM stall Waiting for target to stop... Warning - processor did not halt - gave up waiting ( 30) Emulator Connected ( 40) Debug Halt ( 50) CPU ID debug interface type = CoreSight DP (DAP DP ID 2BA01477) over SWD TAP 0 processor type = Cortex-M4 (CPU ID 00000C24) on DAP AP 0 number of h/w breakpoints = 6 number of flash patches = 2 number of h/w watchpoints = 4 Probe(0): Connected&Reset. DpID: 2BA01477. CpuID: 00000C24. Info: Debug protocol: SWD. RTCK: Disabled. Vector catch: Enabled. Content of CoreSight Debug ROM(s): RBASE E00FF000: CID B105100D PID 04000BB4C4 ROM (type 0x1) ROM 1 E000E000: CID B105E00D PID 04000BB00C Gen SCS (type 0x0) ROM 1 E0001000: CID B105E00D PID 04003BB002 Gen DWT (type 0x0) ROM 1 E0002000: CID B105E00D PID 04002BB003 Gen FPB (type 0x0) ROM 1 E0000000: CID B105E00D PID 04003BB001 Gen ITM (type 0x0) ROM 1 E0040000: CID B105900D PID 04000BB9A1 CSt TPIU type 0x11 Trace Sink - TPIU ROM 1 E0041000: CID B105900D PID 04000BB925 CSt ETM type 0x13 Trace Source - Core NXP: LPC54018 DAP stride is 4096 bytes (1024 words) Inspected v.2 External Flash Device on SPI LPC540xx_SPIFI_SFDP.cfx Image 'LPC540xx_JEDEC_SFDP Dec 18 2024 17:26:01' Opening flash driver LPC540xx_SPIFI_SFDP.cfx Using SOFT reset to run the flash driver rst - Boot ROM stall address was not accessed (but we entered debug on Halt anyway) Driver V.2 dynamic startup failed - driver Init provided no flash parameters Flash Driver V.2 startup failed - rc Ef(55): Dynamic flash driver startup failed to provide flash parameters. Terminate (0x0, 0x0, 0x0) status 0x40 - driver reports init failure - EXTSPI driver rc 15 (0xF) chip initialization failed - Ef(55): Dynamic flash driver startup failed to provide flash parameters. failed to initialize flash driver LPC540xx_SPIFI_SFDP.cfx ( 65) Chip Setup Complete (100) Target Operation Failed Unable to perform operation! Command failed with exit code 1 Thanks, 7/3/2025 Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi @mtsang  About the different register define. I think you can refer to the UM11060 Table 12. Image header for the LPC540xx devices. I checked the IS25LP128F-JBLA3 DATA SHEET. Regarding how to configure relevant parameters, let me give an example to illustrate. 1. So setStatusFxId is 0B. 2. So setOptionsFxId is 0F 3. So the getReadCmdFxId is 0x11. 4. So getStatusFxId is 06. And so on. And i write one based on the  IS25LP128F-JBLA3 data sheet and the  SDK startup_lpc54s018.c #ifdef IS25LP128F-JBLA3 /* SPI Descriptor - IS25LP128F-JBLA3 */ (void (*)(void))0x00000000, // 0xFFFFFFFF to default 1-bit SPI mode ;DevStrAdr (void (*)(void))0x0018609D, // mfgId + extCount (void (*)(void))0x00000000, // extid 0-3 (void (*)(void))0x00000000, // reserved (void (*)(void))0x1301001D, // caps (void (*)(void))0x00000100, // Blks + RESV1 (void (*)(void))0x00010000, // blkSize (void (*)(void))0x00000000, // reserved (void (*)(void))0x00000100, // pageSize + RESV2 (void (*)(void))0x00003F00, // maxReadSize (void (*)(void))0x68506850, // maxClkRate,maxReadRate,maxHSReadRate,maxProgramRate (void (*)(void))0x06020050, // maxHSProgramRate,initDeInitFxId,clearStatusFxId,getStatusFxId (void (*)(void))0x14110F0B, // setStatusFxId,setOptionsFxId,getReadCmdFxId,getWriteCmdFxId #endif You can double check. And then  You can replace it with IS25LP128F-JBLA3. BR Harry Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi Harry,      Sorry for the late reply and thanks for the infos.      I am still confused about how to find the info marked with BOLD Text. Can you please provide advice on how to find those infos in the IS25LP128F datasheet.      Also for the macro marked with BOLD text. Once I changed the macro, is there anything I need to change to the entire project setup like (Project Setting, 'startup_lpc54018.c', etc) What I found so far, please double check if I am correct //maxClkRate,maxReadRate,maxHSReadRate,maxProgramRate Clock Frequency except for fast read: 166Mhz (A3h) Clock Frequency for read (03h): 80Mhz (50h) #ifdef IS25LP128F-JBLA3 /* SPIFI Descriptor - IS25LP128F-JBLA3 */ (void (*)(void))0x00000000, // 0xFFFFFFFF to default 1-bit SPI mode ;DevStrAdr (void (*)(void))0x0018609D, // mfgId + extCount (void (*)(void))0x00000000, // extid 0-3 (void (*)(void))0x00000000, // extid 4-7 (void (*)(void))0x0001001D, // caps (void (*)(void))0x00000100, // Blks + RESV1 (void (*)(void))0x00010000, // blkSize (void (*)(void))0x00000000, // subBlks + subBlkSize (void (*)(void))0x00000100, // pageSize + RESV2 (void (*)(void))0x00003F00, // maxReadSize (void (*)(void))0x68506850, // maxClkRate,maxReadRate,maxHSReadRate,maxProgramRate (void (*)(void))0x04030050, // maxHSProgramRate,initDeInitFxId,clearStatusFxId,getStatusFxId, (void (*)(void))0x14110D09, // setStatusFxId,setOptionsFxId,getReadCmdFxId,getWriteCmdFxId #endif Thanks, 6/30/2025 Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi Harry,      Sorry for the late reply and thanks for the info.      However I am still confused about how to find the info marked with Red Text. Can you please provide advice on how to find those infos in the IS25LP128F datasheet.      Also for the macro marked with blue text. Once I changed the macro, is there anything I need to change to the entire project setup like (Project Setting, 'startup_lpc54018.c', etc) Here's what I found, please double check if they are correct: //maxClkRate,maxReadRate,maxHSReadRate,maxProgramRate Clock Frequency except for fast read: 166Mhz (A3h) Clock Frequency for read (03h): 80Mhz (50h) #ifdef IS25LP128F-JBLA3 /* SPIFI Descriptor - IS25LP128F-JBLA3 */ (void (*)(void))0x00000000, // 0xFFFFFFFF to default 1-bit SPI mode ;DevStrAdr (void (*)(void))0x0018609D, // mfgId + extCount (void (*)(void))0x00000000, // extid 0-3 (void (*)(void))0x00000000, // extid 4-7 (void (*)(void))0x0001001D, // caps (void (*)(void))0x00000100, // Blks + RESV1 (void (*)(void))0x00010000, // blkSize (void (*)(void))0x00000000, // subBlks + subBlkSize (void (*)(void))0x00000100, // pageSize + RESV2 (void (*)(void))0x00003F00, // maxReadSize (void (*)(void))0x68506850, // maxClkRate,maxReadRate,maxHSReadRate,maxProgramRate (void (*)(void))0x04030050, // maxHSProgramRate,initDeInitFxId,clearStatusFxId,getStatusFxId, (void (*)(void))0x14110D09, // setStatusFxId,setOptionsFxId,getReadCmdFxId,getWriteCmdFxId #endif Thanks, 6/30/2025 Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi @mtsang  You are right. You need to modify the SPIFI Descriptor. You currently have: (void (*)(void))0x001870EF, // mfgId + extCount This corresponds to: mfgId = 0xEF (Winbond, not correct for IS25LP128F) device ID = 0x70 (part of JEDEC ID for W25Q128) But for IS25LP128F, the JEDEC ID is:   Manufacturer ID = 0x9D (ISSI) Memory type = 0x60 Capacity = 0x18   So you should change:   (void (*)(void))0x0018609D, // mfgId + extCount (extCount = 1, mfgId = 0x9D, memType = 0x60, capacity = 0x18)   And you should also verify (void (*)(void))0x04030050, // maxHSProgramRate,initDeInitFxId,clearStatusFxId,getStatusFxId, (void (*)(void))0x14110D09, // setStatusFxId,setOptionsFxId,getReadCmdFxId,getWriteCmdFxId BR Harry Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi Harry,      Thank you so much for the reply!      I am using "IS25LP128F-JBLA3" for the custom board. According to the datasheet(please see attached IS25LP128F-JBLA3 datasheet), it seems to support SFDP. I am switching back to "LPC540xx_SPIFI_SFDP.cfx" for memory config.    I checked the "SPIFI Descriptor"  in the "LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip" startup_lpc54018.c I saw the SPIFI Descriptor : #ifdef W25Q128JVFM /* SPIFI Descriptor - W25Q128JVFM */ (void (*)(void))0x00000000, // 0xFFFFFFFF to default 1-bit SPI mode ;DevStrAdr (void (*)(void))0x001870EF, // mfgId + extCount (void (*)(void))0x00000000, // extid 0-3 (void (*)(void))0x00000000, // extid 4-7 (void (*)(void))0x0001001D, // caps (void (*)(void))0x00000100, // Blks + RESV1 (void (*)(void))0x00010000, // blkSize (void (*)(void))0x00000000, // subBlks + subBlkSize (void (*)(void))0x00000100, // pageSize + RESV2 (void (*)(void))0x00003F00, // maxReadSize (void (*)(void))0x68506850, // maxClkRate,maxReadRate,maxHSReadRate,maxProgramRate (void (*)(void))0x04030050, // maxHSProgramRate,initDeInitFxId,clearStatusFxId,getStatusFxId, (void (*)(void))0x14110D09, // setStatusFxId,setOptionsFxId,getReadCmdFxId,getWriteCmdFxId #endif      Should I change the SPIFI Descriptor(I modified the Bold Text)? Also I am unsure what to change for the under-line section. What else I need to change in order to make the example project works on my custom board: #ifdef IS25LP128F-JBLA3 /* SPIFI Descriptor - IS25LP128F-JBLA3 */ (void (*)(void))0x00000000, // 0xFFFFFFFF to default 1-bit SPI mode ;DevStrAdr (void (*)(void))0x001870EF, // mfgId + extCount (void (*)(void))0x00000000, // extid 0-3 (void (*)(void))0x00000000, // extid 4-7 (void (*)(void))0x0001001D, // caps (void (*)(void))0x00000100, // Blks + RESV1 (void (*)(void))0x00010000, // blkSize (void (*)(void))0x00000000, // subBlks + subBlkSize (void (*)(void))0x00000100, // pageSize + RESV2 (void (*)(void))0x00003F00, // maxReadSize (void (*)(void))0x68506850, // maxClkRate,maxReadRate,maxHSReadRate,maxProgramRate (void (*)(void))0x04030050, // maxHSProgramRate,initDeInitFxId,clearStatusFxId,getStatusFxId, (void (*)(void))0x14110D09, // setStatusFxId,setOptionsFxId,getReadCmdFxId,getWriteCmdFxId #endif Thanks, 6/23/2025 Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi @mtsang  From your log: Flash Driver V.2 startup failed - rc Ef(55): Dynamic flash driver startup failed to provide flash parameters. The SPIFI  flash driver attempted to probe your external flash device via SFDP, but failed to identify valid parameters for your flash. What is the exact part number of the flash IC on your custom board? Check its datasheet for SFDP support — not all parts provide SFDP data. BR Harry Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi Harry,      I deselect the "Link Application to RAM" and I got the below error message: Executing flash operation 'Program' (Program file into flash: Debug\lpcxpresso54s018_hello_world_qspi_xip_HelloWorldSPIFI003.axf) - Tue Jun 17 12:17:21 PDT 2025 Checking MCU info... Scanning for targets... Executing flash action... LinkServer RedlinkMulti Driver v24.12 (Dec 18 2024 18:34:07 - crt_emu_cm_redlink.exe build 869) ( 0) Reading remote configuration Wc(03). No cache support. Found chip XML file in C:/Users/tsangm/Documents/MCUXpressoIDE_24.12.148/workspace/lpcxpresso54s018_hello_world_qspi_xip_HelloWorldSPIFI003/Debug\LPC54S018.xml ( 5) Remote configuration complete Reconnected to existing LinkServer process. Probe Firmware: MCU-LINK Pro (r0CF) CMSIS-DAP V3.153 (NXP Semiconductors) Serial Number: F4ON0DG121ZHK VID:PID: 1FC9:0143 USB Path: 0001:0018:00 Using memory from core 0 after searching for a good core On debug connection - use system reset, stalling when 0x40000040 is accessed Retask read watchpoint 1 at 0x40000040 to use for boot ROM stall Waiting for target to stop... Warning - processor did not halt - gave up waiting ( 30) Emulator Connected ( 40) Debug Halt ( 50) CPU ID debug interface type = CoreSight DP (DAP DP ID 2BA01477) over SWD TAP 0 processor type = Cortex-M4 (CPU ID 00000C24) on DAP AP 0 number of h/w breakpoints = 6 number of flash patches = 2 number of h/w watchpoints = 4 Probe(0): Connected&Reset. DpID: 2BA01477. CpuID: 00000C24. Info: Debug protocol: SWD. RTCK: Disabled. Vector catch: Enabled. Content of CoreSight Debug ROM(s): RBASE E00FF000: CID B105100D PID 04000BB4C4 ROM (type 0x1) ROM 1 E000E000: CID B105E00D PID 04000BB00C Gen SCS (type 0x0) ROM 1 E0001000: CID B105E00D PID 04003BB002 Gen DWT (type 0x0) ROM 1 E0002000: CID B105E00D PID 04002BB003 Gen FPB (type 0x0) ROM 1 E0000000: CID B105E00D PID 04003BB001 Gen ITM (type 0x0) ROM 1 E0040000: CID B105900D PID 04000BB9A1 CSt TPIU type 0x11 Trace Sink - TPIU ROM 1 E0041000: CID B105900D PID 04000BB925 CSt ETM type 0x13 Trace Source - Core NXP: LPC54S018 DAP stride is 4096 bytes (1024 words) Inspected v.2 External Flash Device on SPI LPC540xx_SPIFI_SFDP.cfx Image 'LPC540xx_JEDEC_SFDP Dec 18 2024 17:26:01' Opening flash driver LPC540xx_SPIFI_SFDP.cfx Using SOFT reset to run the flash driver rst - Boot ROM stall address was not accessed (but we entered debug on Halt anyway) Driver V.2 dynamic startup failed - driver Init provided no flash parameters Flash Driver V.2 startup failed - rc Ef(55): Dynamic flash driver startup failed to provide flash parameters. Terminate (0x0, 0x0, 0x0) status 0x40 - driver reports init failure - EXTSPI driver rc 15 (0xF) chip initialization failed - Ef(55): Dynamic flash driver startup failed to provide flash parameters. failed to initialize flash driver LPC540xx_SPIFI_SFDP.cfx ( 65) Chip Setup Complete (100) Target Operation Failed Unable to perform operation! Command failed with exit code 1 Thanks, 6/17/2025 Re: Custom Board LPC54S018JET180E lpcxpresso54s018_hello_world_qspi_xip Question Hi @mtsang  I have a question. According to your need. Why you select the "link application to ram" You can deselect this, and try again. BR Harry
查看全文
Import of Simulink created Project to S32DS Currently working with the S32K144 EVB and utilizing MATLAB Model-Based Design (MBD) for code generation, issues are being encountered while trying to import the generated project into S32 Design Studio. Despite following all instructions and references from NXP community forums and official documentation, the project fails to import into the development environment. Other manually created projects can be successfully built, imported, and deployed without any issues, but Simulink-generated projects consistently encounter this problem. Details regarding the issue: MATLAB/Simulink Version: MATLAB 2024a MBD Toolbox Version: v4.2.0 S32 Design Studio Version: S32DS v3.5 Steps taken: Guidelines from community resources have been followed.    The generated ProjectInfo.xml file has been verified. Compatibility between the MBD Toolbox and S32 Design Studio has been checked. How to export Generated Code to S32 Design Studio IDE (applicable for MBDT for MPC5744P v2.0) - NXP Community Re: How to export S32K144 MBDT Generated Code to S32 Design Studio - NXP Community A snapshot highlighting the specific point of the issue is attached for reference. Re: Import of Simulink created Project to S32DS I'm also facing same issue while importing xml file to s32ds. I'm using S32DS version 3.5 and MATLAB R2021b. Someone please help me with this
查看全文
LPC55S36 I3C Slave Speed Limitation Two LPC55S36 boards were connected for I3C communication, with one configured as the I3C Master and the other as the I3C Slave. When the Master’s push-pull baud rate is set to 1.25 Mbps, communication proceeds without issues. However, increasing the baud rate to 2.0 Mbps causes the Slave to fail in receiving data properly, resulting in a NACK response. The question is whether there are any configuration parameters or tuning methods available that would allow the I3C Slave to reliably handle higher baud rates. Note: The sample code being used employs the function I3C_BusMasterDoTransferToI3CDev, which is defined in the fsl_component_i3c_adapter.h header. This function performs a write to the device address followed by a read, even during read operations. In contrast, the SDK example lpcxpresso55s36_i3c_polling_b2b_transfer_master uses the function I3C_MasterTransferBlocking, which performs a pure read operation during reads. Due to this behavioral difference, the latter example (I3C_MasterTransferBlocking) is able to operate correctly at 2.0 Mbps, whereas the former (I3C_BusMasterDoTransferToI3CDev) leads to reception failures at the same baud rate. At even higher baud rates, both approaches result in failed receptions on the Slave side. Re: LPC55S36 I3C Slave Speed Limitation Thank you for the explanation. As you noted, when the speed is too high, the Slave does not have sufficient time to fill the TX FIFO, so it responds with a NACK. Re: LPC55S36 I3C Slave Speed Limitation Hi @bell_huang  I have debugged the slave code. I add one toggle signal. The start address header uses open-drain baudrate (typically less than 2MHz), allowing the target more time to fill the TX FIFO and thereby achieve ACK. However, the repeated start address header uses push-pull baudrate, and if set above 4MHz, the target doesn't have sufficient time to fill the TX FIFO, resulting in NACK. Based on current MCU performance, if we want to achieve higher rates, we need to optimize the target code to accelerate its response speed. BR Harry Re: LPC55S36 I3C Slave Speed Limitation Hi @Harry_Zhang , Thank you for the information about setting the optimization level to O3. After adjusting the Slave configuration, the Master now appears to reach 4 Mbps. (I’m not sure why, but after a Slave reset the Master’s first Read fails, while subsequent Reads succeed.) Could you confirm whether 4 Mbps is indeed the limit on the Slave side? As mentioned earlier, the I3C specification allows up to 12.5 Mbps; even the Building an I3C Sensor Network Using LPC553x/LPC55S3x example operates at 10 Mbps. Re: LPC55S36 I3C Slave Speed Limitation Hi @bell_huang  I have tested it. When the PP Baud is setted to 2M. baudrate_config.i3cPushPullBaud = 2000000; baudrate_config.i3cOpenDrainBaud = 625000; You can try to improve the optimization level of the code. It can work. BR Harry Re: LPC55S36 I3C Slave Speed Limitation As mentioned in the note of my first post: The simple examples in the SDK (such as lpcxpresso55s36_i3c_polling_b2b_transfer_master) use a Single message format, which means: Write: Slave Address (RnW = 0) → Data Read: Slave Address (RnW = 1) → Data However, almost all sensors in the industry (for example, lpcxpresso55s36_i3c_master_read_sensor_icm42688p) use a Combined format, which means: Write: Slave Address (RnW = 0) → Register Address → Data Read: Slave Address (RnW = 0) → Register Address → repeated START → Slave Address (RnW = 1) → Data This explains why your Single message example can reach up to 2.0 Mbps, while my Combined format example can only achieve a maximum of 1.25 Mbps. In lpcxpresso55s36_i3c_polling_b2b_transfer_master, if you modify masterXfer to use the Combined format by adding the following code, it will switch to the Combined format. Then you will observe that the maximum achievable speed drops to 1.25 Mbps. Please refer to the attachment in this reply. masterXfer.subaddress = 0x34; masterXfer.subaddressSize = 1; Additionally, the most important point is that the I3C specification defines the baud rate to support up to 12.5 Mbps. Both Single message (Max = 2.0 Mbps) and Combined format (Max = 1.25 Mbps) are far below this limit. This is why I would like to know if there is any way to improve the Slave’s capability to accept higher baud rates. Re: LPC55S36 I3C Slave Speed Limitation Hi @bell_huang  I tested the lpc5536 SDK i3c example. I changed the EXAMPLE_I3C_PP_BAUDRATE #define EXAMPLE_I3C_PP_BAUDRATE 2000000 It can work. So it  proves that it can work at this speed. BR Harry Re: LPC55S36 I3C Slave Speed Limitation Hi @Harry_Zhang , Test steps: (1) Reset slave board (2) Reset master board Also check out the speed configuration in master code: baudrate_config.i3cPushPullBaud = 1250000; baudrate_config.i3cOpenDrainBaud = 625000; If we modify i3cPushPullBaud to 2000000, then the master cannot read correct data. Re: LPC55S36 I3C Slave Speed Limitation Hi @bell_huang  Can you share your project? So I can reproduce this issue. BR Harry
查看全文
Inquiry on Cryptographic Features of LX2160A RDB I hope this message finds you well. I am evaluating the LX2160A Reference Design Board (RDB) for a secure networking application and would appreciate clarification on some aspects related to its cryptographic capabilities. Specifically, I would like to know: Cryptographic Boundary: Does the cryptographic engine within the LX2160A SoC have a defined cryptographic boundary in line with security certification frameworks (e.g., FIPS 140-2)? Code and Memory Isolation: Is the cryptographic code logically isolated from other software components? Is there any form of physical separation between the crypto code and the rest of the system? Does the SoC reserve dedicated memory for cryptographic operations? Sandbagging Support: Does the platform support any kind of sandbagging—i.e., deliberate buffering, obfuscation, or timing equalization to mitigate side-channel attacks? FIPS 140-2 Level 3: Is it possible to achieve FIPS 140-2 Level 3 compliance using the LX2160A platform, either directly or through integration with external secure elements? Documentation: Are there any white papers, application notes, or security architecture documents available that detail the cryptographic and isolation mechanisms implemented in the LX2160A or the RDB? Re: Inquiry on Cryptographic Features of LX2160A RDB Hey. While the answer satisfied my query, i need a clarification. Are the cryptographic algorithms implemented within the chip or is it just a blank accelerator where i have to implement the algorithms myself by writing a crypto code. I'll clarify by mentioning that i wish to implement DES, 3DES, AES-128, AES-256, RSA(748, 1024, 2048 bit), ECDSA (256/384 bit). MD5, SHA, SHA-256, SHA-384, SHA-512. Are these already available in the chip or a code has to be written for its implementation in software? Re: Inquiry on Cryptographic Features of LX2160A RDB We have FSLNISTCAVP.pdf, but as far as I know, we don't have an update. FSLNISTCAVP, NIST Crypto Algorithm Validation Program Certifications for NXP® Cryptographic Accelerators - White Paper   We have been telling customers to check the individual crypto suites that they need.  Because the LX2160 uses the same engine as the LS processors. If you have a particular algorithm that you are interested in, I can check with our internal team about it. But as this is related to the SEC, please create a case https://support.nxp.com/s/?language=en_US And confirm you have a NDA in place. Thanks
查看全文
LX2160A RDBの暗号化機能に関するお問い合わせ このメッセージがあなたに届いて、お元気でいらっしゃることを願っております。私は、安全なネットワーク アプリケーション用にLX2160A リファレンス デザイン ボード (RDB)を評価しており、その暗号化機能に関連するいくつかの側面について明確に説明していただければ幸いです。 具体的には、次の点を知りたいです。 暗号化境界: LX2160A SoC 内の暗号化エンジンには、セキュリティ認証フレームワーク (FIPS 140-2 など) に準拠した暗号化境界が定義されていますか? コードとメモリのアイソレータ: 暗号化コードは他のソフトウェア コンポーネントから論理的に分離されていますか? 暗号コードとシステムの残りの部分の間には、何らかの物理的な分離がありますか? SoC は暗号化操作用に専用のメモリを予約していますか? サンドバッギングのサポート: プラットフォームは、サイドチャネル攻撃を軽減するための意図的なバッファリング、難読化、タイミング均等化など、あらゆる種類のサンドバッギングをサポートしていますか? FIPS 140-2 レベル 3 : LX2160A プラットフォームを直接使用して、または外部のセキュア エレメントと統合して、 FIPS 140-2 レベル 3 準拠を達成することは可能ですか? ドキュメント: LX2160A または RDB に実装されている暗号化およびアイソレータメカニズムの詳細を説明したホワイト ペーパー、アプリケーションノート、またはセキュリティ アーキテクチャ ドキュメントはありますか? Re: Inquiry on Cryptographic Features of LX2160A RDB おい。回答は私の質問に満足しましたが、説明が必要です。暗号アルゴリズムはチップ内に実装されていますか、それとも暗号コードを記述して自分でアルゴリズムを実装する必要がある単なる空のアクセラレータですか。DES、3DES、AES-128、AES-256、RSA (748、1024、2048 ビット)、ECDSA (256/384 ビット) を実装したいということを明記しておきます。MD5、SHA、SHA-256、SHA-384、SHA-512。これらはすでにチップ内で利用可能でしょうか、それともソフトウェアで実装するためにコードを書く必要がありますか? Re: Inquiry on Cryptographic Features of LX2160A RDB FSLNISTCAVP.pdfがあります。しかし、私の知る限り、更新情報はありません。 FSLNISTCAVP、NXP ®暗号アクセラレータ向け NIST 暗号アルゴリズム検証プログラム認証 - ホワイトペーパー お客様には、必要な個別の暗号スイートを確認するようご案内しています。LX2160 は LS プロセッサと同じエンジンを使用しているためです。 特定のアルゴリズムにご興味がある場合は、弊社の社内チームに CAN 確認させていただきます。 しかし、これはSECに関係しているので、CASEを作成してください https://support.nxp.com/s/?language=en_US また、NDA が締結されていることを確認してください。 よろしくお願いします。
查看全文
Crypto_43_HSE 错误的配置导出 你好 我使用的是 Crypto_43_HSE RTD 驱动程序 v5.0.0。 我在 EB Tresos 中配置了驱动程序,然后执行输出程序生成 .arxml文件,以便将其导入外部工具(达芬奇配置器) 不过,生成器创建导出文件的方式似乎有些问题。更具体地说,在导出的 ARXML 中,参数 HseKeyCatalogGroupRef 被定义为 upper multiplicity = lower multiplicity = 1,因此这意味着必须始终填写该参数。 但在有些情况下,这种情况是不可能发生的。 例如,当我定义 KeyElementId=2 和 6 的 KeyElements SHE Mac Proof 和 SHE Cipher Proof 时,我没有选择 "Use Hse Key"(使用 HSE 密钥)选项,因为这些密钥不能链接到 HSE 密钥槽,因此 HseKeyCatalogGroupRef 仍然为空(并发出警告) 所以、既然存在 HseKeyCatalogGroupRef 可能为空的情况,我认为导出程序以多重性 = (1,1) 的方式生成参数是错误的,因为这意味着必须始终定义该参数。 事实上,当我通过 .arxml文件时,该工具会抱怨 HseKeyCatalogGroupRef 参数为空,原因如上所述。 此致敬礼, Re: Crypto_43_HSE wrong configuration export 你好 看得出来,问题似乎还没有解决。 例如,分析与最新 Crypto_43_HSE 模块捆绑在一起的 Crypto_43_HSE_s32k312_hdqfp100.epd 文件,可以看到该参数的上多重性 = 下多重性 = 1: DaVinci 配置器从该文件中提取定义信息,正如我所说,我不得不对其进行配置。 Re: Crypto_43_HSE wrong configuration export 你好@strofald 很抱歉延迟回复。我刚刚收到以下反馈: " 开发团队已经确认,在最新的代码库中,hsekeyCatalogGroupref 的多重性配置正确,使其成为可选的。这意味着多重性有效,并且允许在不适用时将该字段留空。" "在密码配置中,HseKeyCatalogGroupRef 没有添加多重性,而工具本身默认将下多重性和上多重性添加为 1。" 此致, Lukas Re: Crypto_43_HSE wrong configuration export 你好@strofald 很抱歉延迟回复。 我已经向 SW 团队询问了这个问题,稍后会让你们知道他们的反馈。感谢您的耐心等待。 此致, Lukas
查看全文
RT1170: Using MIPI-CSI with grayscale or raw image sensors Dear all, according to another topic here on the forum the MIPI-CSI2 peripheral on the RT1170 does not support grayscale and RAW image sensors due to a silicon bug. Since this is a major issue for anyone using the MCU for e.g. computer vision applications it would be great to discuss possible work-arounds or solutions in this topic. More specifically, could someone from NXP please comment on the following questions: Are there any work-arounds/hacks to make a grayscale/RAW8 sensor work with the RT1170? Maybe even by using additional hardware, or tricks in software? Will this bug be fixed in a future revision of the silicon, and if yes, is there a rough timeline on when an updated RT1170 MCU will be available? Again, I'd like to emphasize how bad this issue is. This is not just an "inconvenience" but instead will prevent the MCU from being used for many applications in computer vision, where it would otherwise be a perfect fit! Please, NXP, treat this issue with the importance it deserves! If anyone else has any tipps or suggestions I'd be happy to hear them! Unless I find a fix for this issue, this will kill the product I am working on. Best, Michael Re: RT1170: Using MIPI-CSI with grayscale or raw image sensors   Hi Michael-parthei, Did you get this "lying" trick working? Re: RT1170: Using MIPI-CSI with grayscale or raw image sensors Is RGB mode working ? Re: RT1170: Using MIPI-CSI with grayscale or raw image sensors Hi @michael_parthei Did you manage to capture RAW8 data using MIPI CSI-2? If not did you find a workaround? Best regards Re: RT1170: Using MIPI-CSI with grayscale or raw image sensors Dear @kerryzhou, Can you please advise if our iMXRT1170 has fixed the video mux bug, that prevented the MIPI-CSI2 from supporting the 14-bit raw data? Waiting for your kind feedback, many thanks. Regards, Shai Re: RT1170: Using MIPI-CSI with grayscale or raw image sensors hi nxp ! any update regarding the problem we use rt1176 and we need 14bit raw data support!!!!!! the camera support only raw format   workaround ? new silicon rev fixes it? Re: RT1170: Using MIPI-CSI with grayscale or raw image sensors Hi michael_parthei,   You are welcome. 1. About your idea, I think you can use it, you can use the RGB mode to receive your raw data, then try to display it, whether the result is Ok or not, you can test it at first, just to confirm the thought. 2. About 8bit-grayscale/RAW image sensors, sorry, I didn't use that type of convert sensor in the previous time. RT1170 already has the CSI interface, that is the parallel interface, which is not the MIPI_CSI2. Wish it helps you! Best Regards, Kerry Re: RT1170: Using MIPI-CSI with grayscale or raw image sensors Thanks Kerry for your help! It would be great to get your input on the following possible solutions: Would it work to use the MIPI CSI peripheral in RGB mode with a 8-bit RAW camera sensor by "lying" about the resolution? For instance: let's say the camera sensor is 640x480 with 8-bit grayscale values. Could one configure the MIPI CSI peripheral on the MCU to use RGB565 (that is, two bytes per pixel) with 320x480 resolution? In the end, this would result in the same about of data send per frame (actually, even same amount for each image row), and I'd say the MIPI CSI peripheral shouldn't really care about the interpretation of that data. Would this approach work, or am I missing something? The camera parallel interface of the RT1170 supports 8bit-grayscale/RAW image sensors, correct?  Do you have any experience with using a dedicated MIPI CSI-to-parallel converter IC like the STMIPID02? Can you recommend any other chips that act as such a bridge, and are confirmed to work with the RT1170? Best, Michael Re: RT1170: Using MIPI-CSI with grayscale or raw image sensors Hello michael_parthei,    Thanks for your new question post.    Today, I help you to confirm it internally again.   RT1170 due to the video mux bug, the MIPI-CSI2 can't support the raw data, and no workaround now.   If customer want to use the raw data method, they can use the parallel CSI interface instead of the mipi-csi.   Until now, RT1170 still doesn't have the fixed plan for it, maybe in the next RT version, it will be fixed.   BTW, do you meet these issues when you design your company's product?   If yes, I suggest you use your company and product information to create the account and create a nxp internal case, then I will help you to report it internally, now, in this post, you just use the 3rd part email. Case create process: 1. Open below SUPPORT site, click blue "Go to Tickets" in the middle. http://www.nxp.com/support/support:SUPPORTHOME 2.Then you will be requested to Login, if you have no an account, please first Register with your business email. 3.After login, please "Create New Cases" button in the middle, then you can submit your question. Please note, use the company email! Best Regards, Kerry Re: RT1170: Using MIPI-CSI with grayscale or raw image sensors Michael, I am also interested in this NXP MCU RT1170, and I hope there will a solution so I can use AR1335 with it. Any hope guys?
查看全文
Software reset error when adapting TJA1120 driver to linux 5.15, error code -110 I'm having problems with software reset when adapting TJA1120 driver (from Linux 6.6) to Linux 5.15 with error code -110, I'm not sure about the cause as well as I don't know how to fix this problem. I refer to this post NXP_C45_TJA11XX Driver Soft Reset Issue, made changes to nxp_c45_soft_reset, but it has no effect, the code is as follows. static int nxp_c45_soft_reset(struct phy_device *phydev) { int ret; ret = phy_write_mmd(phydev, MDIO_MMD_VEND1, VEND1_DEVICE_CONTROL, DEVICE_CONTROL_RESET); if (ret) return ret; usleep_range(2000, 2050); return phy_read_mmd_poll_timeout(phydev, MDIO_MMD_VEND1, VEND1_DEVICE_CONTROL, ret, !(ret & DEVICE_CONTROL_RESET), 20000, 240000, true); }: Error. [ 6.188117] sunxi-mdio 4500048.mdio0. sunxi_mdio_probe() BEGIN [ 6.265731] sunxi-mdio 4500048.mdio0. phy id: 0x001bb031, adr: 0x1b, device: 4500048.mdio0-mii:1b, DRIVER: NXP C45 TJA1120 [ 6.278218] sunxi-mdio 4500048.mdio0. sunxi_mdio_probe() SUCCESS [ 47.166283] NXP C45 TJA1120 4500048.mdio0-mii:1b:. nxp_c45_soft_reset failed: -110 Re: TJA1120驱动适配linux5.15时出现软件复位错误,错误码-110 Hello, As far as I know, tja1120 is not supported on 5.15. So did you backport the driver from the latest bsp? Is it working? Thanks! Best Regards. Re: TJA1120驱动适配linux5.15时出现软件复位错误,错误码-110 Hello @miipo , I can help only from device point of view. Can you distinguish if the error code has been generated by phy_write_mmd or by phy_read_mmd_poll_timeout ? Have you tried to increase time in usleep_range ? Best regards, Pavel
查看全文
SPD eMcem Init I am using S32K344 to run SPD demo V1.0.4. I found that the first calling eMcem_Init fuction always fail, what's the problem? It seems that Could not acquire exclusiveaccess to FCCU. Re: SPD eMcem Init I'm using lauterbach and I'm also having the problem with how to modify the T32 script @RadoslavB  Re: SPD eMcem Init This RCCU error is most likely caused by the debugger. AFAIK the debugger disables the RCCU functionality after attaching to the core, causing those FCCU errors. For Lauterbach I have tested working workaround to force functional reset and then attach to the core using Trace32 commands. For PE Micro I can't test, but here is advice I have received: Customer need to download firmware first. Then press reset button.  Then reconnect PE debugger with attach option: uncheck "Load Executable", and check "Attach to Running Target" in the debug configuration "Startup" tab. Please let me know if that solution works for you. Kind Regards, Radoslav Re: SPD eMcem Init OK, so it's Lockstep error, for specific root cause please share also DCMROD3, DCMROD4 and DCMROD8 register values. Are you using Lauterbach or another debugger? Is it happening only after POR or external reset or even after SW functional reset? Kind Regards, Radoslav Re: SPD eMcem Init before and after: Re: SPD eMcem Init Hello @WeiC, the diagnostic info implies that there is some FCCU fault pending before eMcem init and it's not possible to clear the fault. Therefore, it's some permanent fault where we need to find the root cause (might be wrong HW setup, lockstep error etc.). Please could you share screenshot with FCCU status registers - NCF_S[]. Also please try to investigate when the fault occurred, if it's right in the beginning of startup after reset, or after some memory init in the startup, after some RTD init function etc. Kind Regards, Radoslav
查看全文
是 S32K3 TCPIP RTM 1.0.1HF1基于 S32K3 RTD RTM2.0.0 或基于 S32K3 RTD RTM2.0.1 我使用 S32K3_T_BOX_LWIP_for_S32K3.zip 测试了 S32K3-T-BOX。我安装了 S32K3 RTD RTM2.0.0 和 FreeRTOS2.0.0,但无法安装 TCPIP RTM 1.0.1HF1(它无法安装 TCPIP RTM 1.0.1HF1)。提示我安装 S32K3 RTD RTM2.0.1)。 不过,恩智浦 WEB 支持的代码依赖于 S32K3 RTD RTM2.0.0。 我在 nxp 网站上找不到不带 HF1 的 TCPIP RTM 1.0.1,只有 TCPIP RTM 1.0.1HF1。 能否提供基于 S32K3 RTD RTM2.0.1 或不带 HF1 的 TCPIP RTM 1.0.1 的代码? Re: Is S32K3 TCPIP RTM 1.0.1HF1 based on S32K3 RTD RTM2.0.0 or based on S32K3 RTD RTM2.0.1 你好,@xMaryAES、 请通过 支持票单 输入 支持 案例。 Re: Is S32K3 TCPIP RTM 1.0.1HF1 based on S32K3 RTD RTM2.0.0 or based on S32K3 RTD RTM2.0.1 你好@Julián_AragónM、 能否与我分享不含 HF1 的 TCP/IP RTM 1.0.1 版,或告诉我在哪里可以找到? S32K3-T-BOX 谢谢!此致问候 Re: Is S32K3 TCPIP RTM 1.0.1HF1 based on S32K3 RTD RTM2.0.0 or based on S32K3 RTD RTM2.0.1 你好@Julián_AragónM、 能否与我分享与 S32K3 RTD RTM2.0.0 兼容的不含 HF1 的 TCP/IP RTM 1.0.1? 此致, T1AES Re: Is S32K3 TCPIP RTM 1.0.1HF1 based on S32K3 RTD RTM2.0.0 or based on S32K3 RTD RTM2.0.1 能否将不含 hf1 的 S32K3 TCPIP RTM 1.0.1 发送给我?谢谢。 Re: Is S32K3 TCPIP RTM 1.0.1HF1 based on S32K3 RTD RTM2.0.0 or based on S32K3 RTD RTM2.0.1 嗨,@SCoder41、 我不确定 Flexera 中的可见性,但我已向您发送了一条私人信息,其中包含 TCP/IP RTM 1.0.1(不含 HF1)的 UpdateSite。 致以最诚挚的问候, Julián
查看全文
一个 arduino 中的 2 个 mpr121 传感器 -> 串行通信 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我正在尝试连接 2 个(0x5A、0x5B)地址。 在代码和数据表中,只需将 addr 引脚连接到(默认为 3.3v)就可以进行通信。 Arduino 可以识别其他传感器,但无法同时读取两个触摸传感器。只是告诉我 i=0 ~ 11 如何让 i=12~23 运行? 如何在代码中区分两个传感器? mpr121 传感器与 mpr121 传感器之间可以通信吗? 我非常想知道如何在一个 arduino 中连接两个传感器。 我还尝试用 i2c 扫描仪检查线路 奇怪的是,串行监测只告诉我一个传感器。 这是我的代码 我是否应该在第一处添加一些定义以示区别? 或 转换环 为{ } 请尽快告诉我 X( ------------------------------------------------------------------------------------------------------------------------------------ #include"SoftwareSerial.h" //#define defaultPatch 15 //악기 초기화 버튼 설정 악기호 SoftwareSerial mySerial(2, 3); //SW시리얼핀 정의 D3이 MIDI신호 전송용, D2는 미사용 字节音符 = 0; //MIDI 音符 () 字节 resetMIDI = 4;//VS1053 重置字节 LED 引脚 = 13; //MIDI 音符 LED LED LED #include #include"Adafruit_MPR121.h" #ifndef _BV #define _BV(bit) (1<< (bit)) #endif Adafruit_MPR121 cap = Adafruit_MPR121(); #define MPR121addr 0x5A #define MPR121addr 0x5B uint16_t lasttouched = 0; uint16_t currtouched = 0; #include int btn[]={60, 62, 64, 65, 67,69, 71, 72, 74, 76, 77, 79, 81, 83, 84, 86, 88, 89, 91, 93, 95, 96, 98, 100}; 字节字节数据; void setup() { Serial.begin(9600); mySerial.begin(9600); /* while (!Serial) { // 需要防止 leonardo/micro 启动过快! delay(10); } */ Serial.println("Adafruit MPR121 电容式触摸传感器测试"); // 默认地址为 0x5A,如果绑在 3.3V 上,则为 0x5B // 如果绑在 SDA 上,则为 0x5C,如果绑在 SCL 上,则为 0x5D if (!cap.begin(0x5A)) { Serial.println("MPR121-A未找到,请检查接线?"); while (1); } Serial.println("MPR121-Afound!"); // if (!cap.begin(0x5B)){ Serial.println("MPR121-B未找到,请检查接线?"); while (1); } Serial.println("MPR121-B"); //重置 VS1053 pinMode(重置 MIDI,输出); digitalWrite(重置 MIDI,LOW); 延迟(100);dig italWrite(重置 MIDI,HIGH);延 迟(100); } void loop () {currtouched = cap.touched (); for (uint8_t i=0; i<12; i++) { // it if *is* touched and *wasnt* touched before, alert! if ((currtouched& _BV(i))&& !(lasttouched& _BV(i)) ){ Serial.print(i);Serial.println("touched"); // tone(0, btn[i],100); noteOn(0, btn[i],100); //tone(buzzerPin, frequency[i], 330); } } for (uint8_t i=12; i<24; i++) { // 如果*被*触及且*之前未*触及,则发出警报! if ((currtouched& _BV(i))&& !(lasttouched& _BV(i)) ){ Serial.print(i); Serial.println(" touched"); // tone(0, btn[i],100); noteOn(0, btn[i],100); //tone(buzzerPin, frequency[i], 330); } } //*************** MIDI LOOPBACK ******************// if(Serial.available()> 0) { byteData = Serial.read(); mySerial.write(byteData); } lasttouched = currtouched; 返回; } //发送 MIDI 音符开启信息。就像按下钢琴键一样 //通道范围从 0-15 void noteOn(字节通道、字节音符、字节攻击力度){t alkMIDI ((0x90 | 通道)、音符、attack_velocity);} //发送 MIDI 音符关闭信息。比如释放钢琴键 void noteOff(字节通道、字节音符、字节释放_速度){t alkMIDI ((0x80 | 通道)、音符、release_velocity);} //播放一个 MIDI 音符。不检查 cmd 是否大于 127,或者数据值是否小于 127 void talkMIDI(字节 cmd,字节数据 1,字节数据 2){d igitalWrite(ledPin,HIGH);mySerial.Write (cmd) ); mySerial.write(data1); //有些命令只有一个数据字节。所有小于 0xBN 的命令都有 2 个数据字节 //(有点像:http://253.ccarh.org/handout/midiprotocol/) if( (cmd& 0xF0)<= 0xB0) mySerial.write(data2)); digitalWrite(ledPin, LOW); } 触摸传感器 Re: 2 mpr121 sensors in one arduino -> serial communication 我只有一个 MPR121,所以无法尝试代码,但我认为应该像下面这样更改: for (uint8_t i=0; i<12; i++) { // it if *is* touched and *wasnt* touched before, alert! if ((currtouched& _BV(i))&& !(lasttouched& _BV(i)) ){ Serial.print(i);Serial.println("touched"); // tone(0, btn[i],100); noteOn(0, btn[i],100); //tone(buzzerPin, frequency[i], 330); } } for (uint8_t i=0; i<12; i++) { // it if *is* touched and *wasnt* touched before, alert! if ((currtouched2 & _BV(i))&& !(lasttouched2& _BV(i)) ){ //when sensor is touched do something Serial.print(i+12);Serial.println("touched"); noteOn(0, btn[i],100); } } MPR121 有 12 个输入端,"_BV(bit) "位参数应始终介于 0-12 之间,然后使用currtouched2选择不同的 ADDR。 Lib's line-230:https://github.com/adafruit/Adafruit_MPR121/blob/master/Adafruit_MPR121.cpp Re: 2 mpr121 sensors in one arduino -> serial communication 我已经将两个 MPR121 板连接到我的 Arduino Uno,地址为 0x5C 和 0x5A。板可以正确识别。但是,我想了解如何将两块板设置为自动配置模式,以及如何调整两块板上每个传感器的触摸和版本阈值。目前我使用.CPP 文件进行这些设置,但它似乎只能在 0x5a 地址板上使用。谢谢! Re: 2 mpr121 sensors in one arduino -> serial communication <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,金、 很高兴听到你设法将所有四个 MPR121 传感器连接在同一 I2C 总线上。 我不太清楚您当前的问题,但我想您可以根据当前与之通信的传感器地址,在 sw 中轻松完成。 顺祝商祺! 托马斯 Re: 2 mpr121 sensors in one arduino -> serial communication <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 瓦切尔卡先生 非常感谢 联系的可能性让我松了一口气。 感谢您的热情回复,我成功连接了所有 4 个 mpr121 传感器!.....! 我面临的最后一个问题是,"将触摸按钮的数量扩展到 24 个。" 每个触摸传感器都会给出 0 到 11 的数值。 我怎样才能做到 0-11、12-23、24-35、36-47? ----------------------------------------------------------------------------------------------------------------------------------------------------- #include"SoftwareSerial.h" //#define defaultPatch 15 //악기 초기화 버튼 설 정 악기호 SoftwareSerial mySerial(2, 3); //SW시리얼핀 정의 D3이 MIDI신호 전송용, D2는 미사용 字节音符 = 0; //MIDI 音符 () 字节 resetMIDI = 4;//VS1053 重置字节 LED 引脚 = 13; //MIDI 音符 LED LED LED #include #include"Adafruit_MPR121.h" #ifndef _BV #define _BV(bit) (1<< (bit)) #endif //一条 i2c 总线上最多可以有 4 个,但一根足够测试! adafruit_mpr121 上限 = adafruit_mpr121 ();adafruit_mpr121 cap2 = adafruit_mpr121 ();adafruit_mpr121 cap3 = adafruit_mpr121 (); adafruit_mpr121 cap4 = Adafruit_mpr121 (); //记录上次触摸的引脚/ /这样我们就知道按钮何时 “版本” uint16_t lasttouched = 0; uint16_t currtouched = 0; uint16_t currtouched = 0; uint16_t lasttouched2 = 0; uint16_t currtouched2 = 0; uint16_t lasttouched3 = 0; uint16_t currtouched3 = 0; uint16_t lasttouched4 = 0; uint16_t currtouched4 = 0; int btn[]={21, 23, 24, 26, 28, 29, 31, 33, 35, 36, 38, 40, 41, 43, 45, 47, 48, 50, 52, 53, 55, 57, 59, 60, 62, 64, 65, 67,69, 71, 72, 74, 76, 77, 79, 81, 83, 84, 86, 88, 89, 91, 93, 95, 96, 98, 100, 101}; 字节字节数据; void setup() { Serial.begin(9600); mySerial.begin(9600); while (!Serial) { // 需要防止 leonardo/micro 启动过快! delay(10); } Serial.println("Adafruit MPR121 电容式触摸传感器测试"); // 默认地址为 0x5A,如果绑在 3.3V 上,则为 0x5B // 如果绑在 SDA 上,则为 0x5C,如果绑在 SCL 上,则为 0x5D if (!cap.begin(0x5A)) { Serial.println("MPR121-A未找到,请检查接线?"); while (1); } Serial.println("MPR121-Afound!"); // 如果 (!cap2.begin(0x5B)){ Serial.println("MPR121-B未找到,请检查接线?"); while (1); } Serial.println("MPR121-Bfound!"); // 如果 (!cap3.begin(0x5C)){ Serial.println("MPR121-C未找到,请检查接线?"); while (1); } Serial.println("MPR121-Cfound!"); // 如果 (!cap4.begin(0x5D)){ Serial.println("MPR121-D未找到,请检查接线?"); while (1); } Serial.println("MPR121-D找到了!"); //RESET VS1053 pinMode(RESET MIDI,输出); digitalWrite(resetMIDI,LOW); 延迟(100); digitalWrite(resetMIDI,HIGH); 延迟(100); //这是循环内部所以你可以热插板 //如果你不需要热插件你可以把它放到设置中 () cap.begin (0x5A);cap2.begin (0x5B) ; cap3.begin(0x5C); cap4.begin(0x5D); } void loop() { // 获取当前触摸的焊盘 currtouched = cap.touched(); currtouched2 = cap2.touched(); currtouched3 = cap3.touched(); currtouched4 = cap4.touched(); f@@ or (uint8_t i=0; i < 48; i++) { //如果 *被*触摸过而且 *以前没有*触摸过,警报! i f ((currtouched & _BV (i)) & &!(las t touched & _BV (i))) {Serial.Print (i);Serial.println (" touched "); //音调 (0,btn [i] ,100);/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////i f ((currtouched2 & _BV (i)) & &!(lasttouched2 & _BV (i))) {//当触摸传感器时做点什么 Serial.print (i);Serial.println (" touched ");n oteOn (0,btn [i] ,100);}/////////////////////////////////////////////////////////////////////////////////////////////////////////////V (i)) && &!(lasttouched3 & _BV (i))) {//当触摸传感器时做点什么 Serial.print (i);Serial.println (" touched ");n oteOn (0,btn [i] ,100);}//////////////////////////////////////////////////////////////////////////////////////////////////////////////(i)) && &!(lasttouched4 & _BV (i))) { //当触摸传感器时做点什么 Serial.print (i); Serial.println (" 触摸 "); n oteOn (0, btn [i] ,100); } } //RESET我们上次触摸的状态 = currtouched2; lasttouched3 = currtouched3; lasttouched4 = currtouched4; retur n; //***************** MIDI LOOPBACK ********************/// if (Serial.Available > 0) { byteData = Serial.read(); mySerial.write(byteData); } } //发送 MIDI 音符开启信息。就像按下钢琴键一样 //通道范围从 0-15 void noteOn(字节通道、字节音符、字节攻击力度){t alkMIDI ((0x90 | 通道)、音符、attack_velocity);} //发送 MIDI 音符关闭信息。比如释放钢琴键 void noteOff(字节通道、字节音符、字节释放_速度){t alkMIDI ((0x80 | 通道)、音符、release_velocity);} //播放一个 MIDI 音符。不检查 cmd 是否大于 127,或者数据值是否小于 127 void talkMIDI(字节 cmd,字节数据 1,字节数据 2){d igitalWrite(ledPin,HIGH);mySerial.Write (cmd) ); mySerial.write(data1); //有些命令只有一个数据字节。所有小于 0xBN 的命令都有 2 个数据字节 //(有点像:http://253.ccarh.org/handout/midiprotocol/) if( (cmd& 0xF0)<= 0xB0) mySerial.write(data2)); digitalWrite(ledPin, LOW); }   Re: 2 mpr121 sensors in one arduino -> serial communication <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,金、 是的,可以与同一 I2C 总线上的两个 MPR121 传感器通信,以便将触摸按钮的数量扩展到 24 个。 实际上,根据 ADDR 引脚的连接情况,您可以为 MPR121 分配四个 I2C 地址:   例如,当 ADDR=VDD(写入时转换为 0xB4,读取时转换为 0xB5)时,一个 MPR121 从属服务器的 7 位 I2C 地址为 0x5A,当一个 ADDR=GND 时,另一个从 I2C 地址为 0x5B(写入转换为 0xB6,读取时转换为 0xB7)。 希望对你有所帮助! 顺祝商祺! 托马斯
查看全文
NTAG424 DNA で CMAC、UID、COUNTER、RAND を有効にするにはどうすればいいですか? 最新の Android SDKs ライブラリを使用して、AES キーに基づいて動的 URL を設定しようとしていますが、できません。 nxpnfcandroidlib-release-protected.aar これは私のコードです override fun onNewIntent(intent: Intent) { Log.i("NFC", "Intent action: ${intent.action}") super.onNewIntent(intent) Log.i("MainActivity", "NFC tag discovered") val cardType = libInstance.getCardType(intent) Log.i("MainActivity", "Detected card type: $cardType") if (cardType == CardType.NTAG424DNA) { val ntag424DNA: INTAG424DNA = DESFireFactory.getInstance().getNTAG424DNA(libInstance.customModules) val reader: IReader = ntag424DNA.reader try { if (!reader.isConnected) { reader.connect() } ntag424DNA.isoSelectApplicationByDFName(NTAG424DNA_APP_NAME) Log.i("NFC", "ISO selected app by DF Name ✅") authenticateTag(ntag424DNA, KEY_AES128_DEFAULT) creatingNDEFmessage(ntag424DNA) authenticateTag(ntag424DNA, KEY_AES128_DEFAULT) changeFileSettings(ntag424DNA, 0x01) authenticateTag(ntag424DNA, KEY_AES128_DEFAULT) ntag424DNA.setPICCConfiguration(true) Log.i("MainActivity", "✅ PICC Configuration updated to enable SDM globally.") authenticateTag(ntag424DNA, KEY_AES128_DEFAULT) changeSDMFileSettings(ntag424DNA, 0x01) if (reader.isConnected) { reader.close() } } catch (e: Exception) { e.printStackTrace() } } } private fun creatingNDEFmessage(ntag424DNA: INTAG424DNA) { // 1. Creating URI NDEF message val msg = NdefMessageWrapper( NdefRecordWrapper( NdefRecordWrapper.TNF_ABSOLUTE_URI, "https://domain.com?uid=04BB38D2AA1191&ctr=0001&cmac=3ab665b76b795cb9bf76a17956cc9fb3&rand=422def08-8a1c-49c9-9138-434cde858faa".toByteArray( Charset.forName("US-ASCII") ), ByteArray(0), ByteArray(0) ) ) ntag424DNA.writeNDEF(msg); Log.i("MainActivity", "URI NDEF message written successful ✅") val ndefRead = ntag424DNA.readNDEF() Log.i("MainActivity", "Read URI NDEF message ${CustomModules.getUtility().dumpBytes(ndefRead.toByteArray())}") } private fun changeFileSettings(ntag424DNA: INTAG424DNA, fileNumber: Int) { // 3. Create NTAG 424 DNA file settings for E104 val fileSettings = NTAG424DNAFileSettings( MFPCard.CommunicationMode.Encrypted, // = 0x03 = Full ENC + CMAC (SUN) 0x0E.toByte(), // Read access = key slot 0x00 maybe 0x01 0x0E.toByte(), // Write access = always 0x0E.toByte(), // RW access = always 0x0E.toByte() // Change access = always ) Log.i("MainActivity", "Prepare for saving changes in file $fileNumber") ntag424DNA.changeFileSettings(fileNumber, fileSettings) Log.i("NFC", "🔐 File settings updated $fileNumber") } private fun changeSDMFileSettings(ntag424DNA: INTAG424DNA, fileNumber: Int) { val fileSettings = ntag424DNA.getFileSettings(fileNumber); fileSettings.isSDMEnabled = true; fileSettings.isUIDMirroringEnabled = true; fileSettings.piccDataOffset = intTo2ByteArray(51) fileSettings.sdmMacOffset = intTo2ByteArray(51) fileSettings.sdmMacInputOffset = intTo2ByteArray(51) fileSettings.sdmReadCounterOffset = intTo2ByteArray(51) fileSettings.uidOffset = intTo2ByteArray(51) fileSettings.sdmAccessRights = byteArrayOf(0x00, 0x00) Log.i("MainActivity", "Prepare for saving SDM changes in file $fileNumber") ntag424DNA.changeFileSettings(fileNumber, fileSettings) Log.i("NFC", "🔐 File settings updated: SUN CMAC enabled on $fileNumber") } private fun intTo2ByteArray(value: Int): ByteArray { return byteArrayOf( ((value shr 😎 and 0xFF).toByte(), (value and 0xFF).toByte() ) } オフセット番号が URL 内のポジショニングと一致しないことはわかっていますが、何を変更してもこのエラーが発生します。何らかの理由で、この方法ではこれらの設定を保存できないようです。 ntag424DNA.changeFileSettings(fileNumber, fileSettings) これはエラーメッセージです com.nxp.nfclib.exceptions.UsageException: Invalid Parameters! {Invalid Value for PICC Offset} コード・サンプル Re: How can i enable CMAC, UID, COUNTER and RAND in NTAG424 DNA? この問題はオフセット値が間違っているために発生しました。ntag は 21 のデフォルト インデックスを予約しているようです。今、ファクトリー128 AESキーを変更しようとしていますが、changekey()関数は機能しませんでした。 @ukcas Re: How can i enable CMAC, UID, COUNTER and RAND in NTAG424 DNA? ちょっと、そこ、 このThreadに従って JSON データを設定していますが、うまくいきません。ハードウェアを扱うのは初めてなので、非常に困難になっています。私は、NXP Android ライブラリと、ここからのサンプル Android アプリケーションを使用しています: https://www.nxp.com/design/design-center/software/rfid-developer-resources/taplinx-software-development-kit-sdk:TAPLINX 以下はSample_Application_Android/src/main/java/com/nxp/sampletaplinx/WriteActivity.java内のコードです。 public static byte[] intTo2ByteArray(int value) { return new byte[] { (byte) (value & 0xFF), // LSB (byte) ((value >> 8) & 0xFF), // middle byte (byte) ((value >> 16) & 0xFF) // MSB }; } private void tag424DNACardLogic(INTAG424DNA ntag424DNA) { byte[] KEY_AES128_DEFAULT = new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, }; byte[] NTAG424DNA_APP_NAME = {(byte) 0xD2, (byte) 0x76, 0x00, 0x00, (byte) 0x85, 0x01, 0x01}; byte[] data ={ 0x73, 0x75, 0x73, 0x68, 0x69, 0x6C }; mStringBuilder.append("\n\n"); int timeOut = 2000; try { ntag424DNA.isoSelectApplicationByDFName(NTAG424DNA_APP_NAME); KeyData aesKeyData = new KeyData(); Key keyDefault = new SecretKeySpec(KEY_AES128_DEFAULT, "AES"); aesKeyData.setKey(keyDefault); ntag424DNA.authenticateEV2First(0, aesKeyData, null); mStringBuilder.append(getString(R.string.Authentication_status_true)); mStringBuilder.append("\n\n"); ntag424DNA.setPICCConfiguration(true); String jsonTemplate = "{\"uuid\":\"00000000000000\",\"counter\":\"000000\",\"cmac\":\"0000000000000000\",\"domain1\":" + 1 + ",\"domain2\":" + 1 + "}"; byte[] jsonBytes = jsonTemplate.getBytes("UTF-8"); NTAG424DNAFileSettings fs = new NTAG424DNAFileSettings( CommunicationMode.Plain, // or MAC/ENC depending on your security (byte) 0x0E, // Read access: Key 0 (byte) 0x0E, // Write access: Key 0 (byte) 0x0E, // Read/Write: Key 0 (byte) 0x00 // Change access: Free ); byte[] type = "U".getBytes("US-ASCII"); fs.setSDMEnabled(true); fs.setUIDMirroringEnabled(true); fs.setSDMReadCounterEnabled(true); byte[] bytes = new byte[] { (byte)0xE0, (byte)0x00, (byte)0x00 }; fs.setSdmAccessRights(bytes); byte[] uuidOffset = intTo2ByteArray(8); fs.setUidOffset(uuidOffset); byte[] readCounterOffset = intTo2ByteArray(35); fs.setSdmReadCounterOffset(readCounterOffset); byte[] macOffset = intTo2ByteArray(51); fs.setSdmMacInputOffset(uuidOffset); fs.setSdmMacOffset(macOffset); ntag424DNA.changeFileSettings(FILE_NUMBER, fs); // Create NDEF record NdefRecordWrapper record = new NdefRecordWrapper( NdefRecordWrapper.TNF_WELL_KNOWN, type, new byte[0], // empty ID jsonBytes // payload (your JSON) ); // Wrap record into NDEF message NdefMessageWrapper msg = new NdefMessageWrapper(record); ntag424DNA.writeNDEF(msg); NxpLogUtils.save(); } catch (Exception e) { writeFailedMessage(); mStringBuilder.append(e.getMessage()); Log.i("MainActivity", "URI NDEF message written successful $msg " + e.getMessage() ); showMessage(mStringBuilder.toString(), PRINT); NxpLogUtils.save(); } } 誰かがこれを手伝ってCANととても助かります Re: How can i enable CMAC, UID, COUNTER and RAND in NTAG424 DNA? 助けてくれてありがとう!私のオフセットの値が間違っているというのはその通りです。変更した内容はこれで、設定を保存CANようになりました。 override fun onNewIntent(intent: Intent) { Log.i("NFC", "Intent action: ${intent.action}") super.onNewIntent(intent) Log.i("MainActivity", "NFC tag discovered") val cardType = libInstance.getCardType(intent) Log.i("MainActivity", "Detected card type: $cardType") if (cardType == CardType.NTAG424DNA) { val ntag424DNA: INTAG424DNA = DESFireFactory.getInstance().getNTAG424DNA(libInstance.customModules) val reader: IReader = ntag424DNA.reader try { if (!reader.isConnected) { reader.connect() } ntag424DNA.isoSelectApplicationByDFName(NTAG424DNA_APP_NAME) Log.i("NFC", "ISO selected app by DF Name ✅") authenticateTag(0x00, ntag424DNA, KEY_AES128_DEFAULT) creatingNDEFmessage(ntag424DNA) authenticateTag(0x00, ntag424DNA, KEY_AES128_DEFAULT) changeFileSettings(ntag424DNA, 0x02) if (reader.isConnected) { reader.close() } } catch (e: Exception) { Log.e("MainActivity", e.localizedMessage ?: "No Error Message"); e.printStackTrace() } } } private fun changeFileSettings(ntag424DNA: INTAG424DNA, fileNumber: Int) { // 3. Create NTAG 424 DNA file settings for E104 val fileSettings = NTAG424DNAFileSettings( MFPCard.CommunicationMode.Plain, // = 0x03 = Full ENC + CMAC (SUN) 0x0E.toByte(), // Read access = key slot 0x00 maybe 0x01 0x0E.toByte(), // Write access = always 0x0E.toByte(), // RW access = always 0x00.toByte() // Change access = always ) fileSettings.isSDMEnabled = true fileSettings.isUIDMirroringEnabled = true fileSettings.isSDMReadCounterEnabled = true fileSettings.sdmAccessRights = byteArrayOf(0xfe.toByte(), 0xe1.toByte()) fileSettings.uidOffset = byteArrayOf(0x1A, 0x00, 0x00) fileSettings.sdmReadCounterOffset = byteArrayOf(0x2d, 0x00, 0x00) fileSettings.sdmMacOffset = byteArrayOf(0x39, 0x00, 0x00) fileSettings.sdmMacInputOffset = byteArrayOf(0x39, 0x00, 0x00) Log.i("MainActivity", "Prepare for saving changes in file $fileNumber") ntag424DNA.changeFileSettings(fileNumber, fileSettings) Log.i("MainActivity", "🔐 File settings updated $fileNumber") } private fun creatingNDEFmessage(ntag424DNA: INTAG424DNA) { // 1. Creating URI NDEF message val payload = byteArrayOf(0x04) + "noexample.xxxx?uid=00000000000000&ctr=000000&cmac=0000000000000000".toByteArray() val msg = NdefMessageWrapper( NdefRecordWrapper( NdefRecordWrapper.TNF_WELL_KNOWN, "U".toByteArray(StandardCharsets.US_ASCII), ByteArray(0), payload ) ) ntag424DNA.writeNDEF(msg); Log.i("MainActivity", "URI NDEF message written successful ✅") val ndefRead = ntag424DNA.readNDEF() Log.i("MainActivity", "Read URI NDEF message ${CustomModules.getUtility().dumpBytes(ndefRead.toByteArray())}") } Re: How can i enable CMAC, UID, COUNTER and RAND in NTAG424 DNA? 親愛なるロッキー2様 jimmyvhan が参照しているドキュメントとデータシートを確認してください。 オフセットが重複していますが、これはデータシートでは許可されていません。 ご希望のURLを検討中です。NFCCounter のスペースが 3 バイトと少なすぎます。SO、以下の設定は修正された URL に適しています。 https://domain.com?uid=04BB38D2AA1191&ctr=000001&cmac=3ab665b76b795cb9bf76a17956cc9fb3&rand=422def08-8a1c-49c9-9138-434cde858faa SDM 構成にはこれらのパラメータを使用する必要があります。CMAC 計算のための入力データも決定します。この例では、UIDOffset を出発点として使用しました。 fileSettings.sdmMacOffset = intTo2ByteArray(53) fileSettings.sdmMacInputOffset = intTo2ByteArray(22) fileSettings.sdmReadCounterOffset = intTo2ByteArray(41) fileSettings.uidOffset = intTo2ByteArray(22) よろしくお願いします、 TapLinxチーム Re: How can i enable CMAC, UID, COUNTER and RAND in NTAG424 DNA? この文書はあなたにとって役に立つかもしれません。 NTAG 424 DNAとNTAG 424 DNA TagTamperの機能とヒント
查看全文