Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
S32K312 BootLoader UDSonCAN in RTD300 SDS3.5 Issue I used the NXP official Bootloader routine to develop the BootLoader_UDSonCAN of S32K312 in RTD3.0.0 environment, and encountered problems in the following steps when updating with ECU According to the log, the program restarted when responding to 31 01 FF 00 (erase), and the restart reason is 18, corresponding to SWT0-RESET. I want to know what the possible reason is, and debugging with SEGGER did not catch any problems. Is it because FlsDrv.bin for RTD1.0.0 does not work directly with RTD3.0.0? Re: S32K312 BootLoader UDSonCAN in RTD300 SDS3.5 Issue Hi,  I am using the project "S32K344_Can_bootloader_RTD200" in the microprocessor S32K344. I want to download an application with the program of bootloader. I have achieved the jump from program to application but I have different questions. 1. I want to use #define EN_DELAY_TIME but when I uncomment the command in the folder "public_in", the program has different errors. My target to use "Backdoor", that is to say, I want to check if the program has to enter to bootloader or not. I don´t know the process and the different functions that I have to use to achieve the target. I want to use the function "Boot_CheckReqBootloaderMode(void)" but when I debug the program, it never enters to the "if". Could you explain me the process and the steps to achieve the target. I add different functions that I think are important.  2. I don´t know if I have to modificate the parameters of "static tJumpAppDelayTimeInfo gs_stJumpAPPDelayTimeInfo = {FALSE, 0u};". I have to change this structure ? You can see all structure in one of the next pictures.  I need the reply as soon as possible since I have to send a project very soon.  Thank you for all,  Jon Ander Amante Jorge Re: S32K312 BootLoader UDSonCAN in RTD300 SDS3.5 Issue Thank you for your reply. I finally found the reason. I did not synchronize the modification items of c40_ip.c under the environment of rtd300, so there may have been ecc errors when executing flash operations. Re: S32K312 BootLoader UDSonCAN in RTD300 SDS3.5 Issue Hi, looks like reset from watchdog timer (SWT), so be sure you have it either disabled or service it periodically. Anyway; I’m sorry to say that Unified bootloader shared on the community is only unofficial demo provided AS IS with no guarantees and no support. Currently we do not have resources to support this demo. We apologize for any inconvenience. BR, Petr Re: S32K312 BootLoader UDSonCAN in RTD300 SDS3.5 Issue
查看全文
SEGGER J Linkを介してS32K146にELFファイルをフラッシュしました。今、私は他のSWをフラッシュしたり、消去したりすることさえできません コミュニティメンバーの皆さん、こんにちは。 私たちは、Segger J Link Liteバージョンを介してELFファイルを使用してS32K146で独自のハードウェアボードをフラッシュしました。ファイルが添付されています。 さて、私は別のSWで別の motファイルを フラッシュしようとしていましたが、チップをプログラムすることはできません。チップ全体を消去しようともしましたが 、「CPUを停止できませんでした」というエラーが表示されます。 (ボードを流れる消費電流は約です。0.6A、デジタル出力が1つだけ構成されている場合。約 20 の IO と 20 の CAN メッセージを持つ他の SW では、消費電流は通常 0.13A です。 Segger-jlink SWツールまたはその他のSWを使用してチップを消去できる他の方法はありますか? また 、s32k146 プロジェクト用に S32DS から .hex/.bin ファイル を生成できますか? Re:SEGGER J Linkを介してS32K146にELFファイルをフラッシュしました。今、私は他のSWや時代を点滅させることができません @Julián_AragónMサポートしてくれてありがとう、それは私が現在.hex / .binファイル生成を作成する際に直面している問題を解決するのに本当に役立ちます。 @Julián_AragónMあなたが参照した手動プログラミングを使用してチップからデータを消去しようとしましたが、Erase ChipをクリックしてもCPUに接続されていません。「CPUを停止できません」のようなメッセージをスローしています。 チップを消去する他の方法を参照してください。 ありがとうございます Coding_Torque-SDRSの
查看全文
RT106XまたはRT1170で2セットのイーサネットを同時に使用するにはどうすればよいですか? HI 2つのイーサネットインターフェイスを使用し、両方を動作させる必要があります。SDKに関連する例は見つかりませんでした。 ありがとうございます。 i.MXRT 106倍 回复:RT106XまたはRT1170で2セットのイーサネットを同時に使用するにはどうすればよいですか? こんにちはGavin_Jia、 NXPは2イーサネットインターフェースEVBをリリースする予定はありますか? よろしくお願いいたします ケビン Re:RT106XまたはRT1170で2セットのイーサネットを同時に使用する方法は? こんにちは i.MX RT 106xについては、柔軟なネットワークソリューションをサポートするuTaskerプロジェクトをご覧ください。 複数のインターフェイス上の複数のネットワーク - シングルまたはデュアルイーサネット - Wi-Fi接続 - テザリングUSB https://www.utasker.com/index.html https://www.utasker.com/docs/uTasker/uTaskerNetworking.pdf https://www.utasker.com/docs/iMX/uTaskerV1.4_iMX.pdf https://www.utasker.com/docs/uTasker/uTaskerRNDIS.pdf https://www.utasker.com/docs/uTasker/uTaskerWIFI.pdf 完全なプロジェクト開発を可能にし、VisualStudioを使用したRTシミュレーション i.MX(エミュレートされた i.MX RT上のTCP/IPスタックをリアルタイムで含む)。 よろしく マーク(uTaskerプロジェクトリーダー) 割引価格の i.MX およびKinetisの在庫状況については、 以下をご覧ください https://www.utasker.com/Shop/semi.html
查看全文
如何在RT106X或RT1170上同时使用两组以太网? HI 我需要使用两个以太网接口并使它们都能运行。我在SDK中没有找到相关的例子。 谢谢。 i.MXRT 106x 回复: 如何在RT106X或者RT1170上同时使用两组以太网? 你好, Gavin_Jia , NXP 是否有计划发布双以太网接口 EVB? 此致, 凯文 回复:如何在RT106X或RT1170上同时使用两组以太网? 你好 对于 i.MX RT 106x,请查看支持灵活网络解决方案的 uTasker 项目: 多个接口上的多个网络 - 单或双以太网 - 无线上网 - 连接 USB https://www.utasker.com/index.html https://www.uTasker.com/docs/uTasker/uTaskerNetworking.pdf https://www.utasker.com/docs/iMX/uTaskerV1.4_iMX.pdf https://www.uTasker.com/docs/uTasker/uTaskerRNDIS.pdf https://www.uTasker.com/docs/uTasker/uTaskerWIFI.pdf 允许完整的项目开发和使用 VisualStudio 的 i.MX RT 模拟(包括实时模拟 i.MX RT 上的 TCP/IP 堆栈)。 问候 Mark(uTasker 项目负责人) 有关我们的折扣 i.MX 和 Kinetis 生产库存情况,请参阅https://www.utasker.com/Shop/semi.html
查看全文
反馈: tabview控件标题显示中文出错 版本: V1.7.1 Re: 反馈: tabview控件标题显示中文出错 感谢回答!可以了 Re: 反馈: tabview控件标题显示中文出错 Hi, @ccx_lan  您好,main不是tab的的标题,需要选择Items,Default是默认状态,check是在当前Tab状态,需要将下面的字体设为汉字字体即可,如下图: Best regards, Alex
查看全文
S32K3 SHEキーの更新 1.K3 HSE_B Firmware RMドキュメントでは、FIDは6ビットで定義されているため、K3はFID-5ビットをサポートしていませんよね?[でK146チップは、FIDは6ビットだけでなく5ビットにも対応しています。 では、S32K3では、FID-5bitでM1-M3を生成すると、SHEキーは更新できないのですね。 2. S32K3 MCALの暗号ドライバでは、SHEキーのM4はキーエレメント2(CRYPTO_KE_MAC_PROOF)に格納され、M5はキーエレメント6(CRYPTO_KE_CIPHER_PROOF)に格納されます。しかし、私の知る限り、M4M5は要素6ではなく、重要な要素2に格納する必要があります。NXPの暗号コードはAUTOSAR規格に準拠していませんか? Re:S32K3 SHEキーの更新 こんにちは、ルカサドラパ、 あなたの図 1.In、S32K3にはS32K1のようなSFEフラグがないため、FID 6ビットのみをサポートし、VERIFY_ONLYビットを構成する必要があるため、FID 5ビットを満たすことはできません。NXPはFID 5bitの使用をサポートするHSEファームウェアを提供していますか? 2.次のRTDはいつ提供されますか?現在のRTDの関連コードを変更する方法を提供できますか?現在、このRTDを使用してSWを開発しており、すでにこの機能を使用する必要があります。
查看全文
iMXRT: "ExportedGlobal" being defined as bss, not data Hello, I have calibration values that I'd like to edit offline, therefore I'd like the labels to be first saved to flash, before being transferred to RAM. For all of the values I define as "ExportedGlobal" with an initial value of "0", they are then being defined as bss, not data and not being stored in Flash. The data type doesn't matter, boolean, unit8, single. How can I easily ensure that labels are defined as data, not bss? Re: iMXRT: "ExportedGlobal" being defined as bss, not data Hi, Would you please double check if '.my_data' initalzation has been done during boot? some comments as blow. 1. check function SectionTableAddr  with trace log. // startup_mimxrt1062.c while (SectionTableAddr < &__data_section_table_end) { LoadAddr = *SectionTableAddr++; ExeAddr = *SectionTableAddr++; SectionLen = *SectionTableAddr++; data_init(LoadAddr, ExeAddr, SectionLen); // Debug output __asm volatile("bkpt #0"); // Breakpoint for debugging printf("LoadAddr: 0x%08X, ExeAddr: 0x%08X, SectionLen: 0x%08X\n", LoadAddr, ExeAddr, SectionLen); } 2. check __data_section_table, you can print it out. 3. check ld script with '.my_data' section. SECTIONS { /* MAIN DATA SECTION */ .data : ALIGN(4) { FILL(0xff) _data = . ; PROVIDE(__start_data_RAM = .) ; PROVIDE(__start_data_SRAM_DTC = .) ; *(vtable) *(.ramfunc*) KEEP(*(CodeQuickAccess)) KEEP(*(DataQuickAccess)) *(RamFunction) *(NonCacheable.init) *(.data*) *(.my_data*) /* Added custom section for .my_data */ . = ALIGN(4) ; _edata = . ; PROVIDE(__end_data_RAM = .) ; PROVIDE(__end_data_SRAM_DTC = .) ; } > SRAM_DTC AT>BOARD_FLASH } Re: iMXRT: "ExportedGlobal" being defined as bss, not data Hello @Sam_Gao  Any chance of further help? Re: iMXRT: "ExportedGlobal" being defined as bss, not data Hell  @Sam_Gao  That worked great, but I don't have the correct values appearing at the ram addresses.  In model.c /* Storage class 'OiidaData' */ __attribute__((section(".my_data"))) uint8_T AirBoxTemp_Swi_RefVal_C = 0U; __attribute__((section(".my_data"))) uint8_T LED_Switch_C = 0U; When reviewing my .map file: .my_data 0x200090dc 0x2 load address .my_data 0x200090dc 0x2 Oiida.o 0x200090dc AirBoxTemp_Swi_RefVal_C 0x200090dd LED_Switch_C Perfect, looks good.  When I look at my hex file: 0x60061a90: 01 01 ff ff 00 00 -- -- -- -- -- -- -- -- -- -- Perfect, looks good (AirBoxTemp_Swi_RefVal_C and LED_Switch_C are both unit8 "0"). But when reviewing the Ram addresses: 0x200090dc AirBoxTemp_Swi_RefVal_C: 111 0x200090dd LED_Switch_C: 88 I looked through the startup_mimxrt1062.c, and it appears to be coping flash to ram as expected: __attribute__ ((section(".after_vectors.init_data"))) void data_init(unsigned int romstart, unsigned int start, unsigned int len) {     unsigned int *pulDest = (unsigned int*) start;     unsigned int *pulSrc = (unsigned int*) romstart;     unsigned int loop;     for (loop = 0; loop < len; loop = loop + 4)         *pulDest++ = *pulSrc++; }     // Copy the data sections from flash to SRAM.     while (SectionTableAddr < &__data_section_table_end) {         LoadAddr = *SectionTableAddr++;         ExeAddr = *SectionTableAddr++;         SectionLen = *SectionTableAddr++;         data_init(LoadAddr, ExeAddr, SectionLen);     } Attached my linker script. What am I missing? Re: iMXRT: "ExportedGlobal" being defined as bss, not data Hi @Sam_ECU  I am not sure what's the root cause becasue no any sample code from you. I would like to share my understanding and comments below. 1. If you initialize  GlobalVar  with a non-zero value, it will be placed in the  .data  section: uint8_t GlobalVar = 1; // Initialize with a non-zero value 2. You can modify your linker script to force the variable into the  .data  section. Here is an example of how you can do this: uint8_t GlobalVar __attribute__((section(".my_data"))) = 0; SECTIONS { .text : { *(.text*) } > FLASH .data : { *(.data*) *(.my_data*) // Add your custom section here } > RAM AT > FLASH .bss : { *(.bss*) *(COMMON) } > RAM } 3. If you prefer not to modify the linker script, you can initialize the variable in a custom initialization function that runs before  main : uint8_t GlobalVar; void __attribute__((constructor)) initialize_global_var(void) { GlobalVar = 0; // Initialize with a non-zero value if needed } // main.c #include // Define GlobalVar in the .my_data section uint8_t GlobalVar __attribute__((section(".my_data"))) = 0; int main() { // Your application code while (1) { // Do something } return 0; } SECTIONS { .text : { *(.text*) } > FLASH .data : { *(.data*) *(.my_data*) // Add your custom section here } > RAM AT > FLASH .bss : { *(.bss*) *(COMMON) } > RAM } Re: iMXRT: "ExportedGlobal" being defined as bss, not data Hello @Sam_Gao , Using the terminology from the example: https://mirzafahad.github.io/2021-05-08-text-data-bss/ My GlobalVar is defined in my initial code as "0" and therefore has no initialisation value and lands in bss.  Examples from my .map: As they are being automatically defined as bss, I can't find them in flash and can't edit the .hex file offline to change a value, for example, from 0 to 1. I'd like the ability to define, that unit8 GlobalVar that initially have the value "0" are defined as .data and not as .bss. Re: iMXRT: "ExportedGlobal" being defined as bss, not data Hi, what's your meaning of 'For all of the values I define as "ExportedGlobal" with an initial value of "0", they are then being defined as bss, not data and not being stored in Flash.' ? would you please check and give example to explain it. https://mirzafahad.github.io/2021-05-08-text-data-bss/ https://stackoverflow.com/questions/16557677/difference-between-data-section-and-the-bss-section-in-c
查看全文
How to add library of libnfc-nci into yocto imge I'm about going to use libnfc-nci to driver PN7160-EVK on IMX8MPLUS-EVK. And I want to add libnfc-nci into yocto image and the sdk for imx-image-multimedia. Is any clue for me? Actually i cannot build libnfc-nci in on IMX8MPLUS-EVK with image of imx-image-multimedia. Therefore, I want add it into yocto image directly. Thanks very much! Re: How to add library of libnfc-nci into yocto imge Thank you for your response. I solved the issue by changing the VBAT voltage from 3.3V to 5V. It worked after that. By the way, it should also work with both VBAT and VDD-PAD at 3.3V if the TXLDO check is disabled. Re: How to add library of libnfc-nci into yocto imge Could you tell me which version BSP are you using?  I will confirmed with our NFC engineer tomorrow and then give you update. Re: How to add library of libnfc-nci into yocto imge The nfcDemo now can work, and it can init PN7160 module successfully. But it stop due to some I2C read error. Please refer to the attached log file for more details. Re: How to add library of libnfc-nci into yocto imge Thank you for your response. I followed the guide to port the PN7160 NFC module, which is connected to the 8MPLUS-EVK via the I2C interface. The device is detected by i2cdetect at address 0x28, but I cannot read any data from the I2C bus using i2cdump. I also tried running the nfcDemo, but it didn't work correctly either. The logs showed that the IRQ, DWD, and VEN pins were verified successfully, but I encountered a phTmlNfc_Init_Failed error with code 262. Could you please provide some advice? Thanks a lot! Re: How to add library of libnfc-nci into yocto imge You can following this AN
查看全文
PWM Hello, I am using the iMXRT1176DVMAA for PWM output, I have noticed that the maximum period I can produce is approx 34ms (src clock 240MHz with prescalar : DIV_BY_128, fclk = 1.875 Mhz ) what if I want to generate a 50 ms period ? note that I have used the driver SDK example and MCUXpresso IDE. thank you. Re: PWM Hi @D_D97 , Thank you for your interest in the NXP MIMXRT product, I would  like to provide service for you. I import a SDK demo"evkbmimxrt1170_pwm_cm7" , use MIMXRT1170-EVKB board. 1:  Modify PWM1 root clock(BUS_CLK_ROOT) as  24MHz; 2: Modify code " #define APP_DEFAULT_PWM_FREQUENCY (20UL)//(1000UL)"  3: Used an oscilloscope to test J25-7 pin, and the PWM cycle of this pin is 50ms, 20Hz. I think you can refer to what I did above. Wish it helps you. If you still have question about it, please kindly let me know. Best Regards mayliu
查看全文
How to enable VCU CAN on RD-K358BMU Hi NXP forum! We purchased NXP’s 800 V Battery Management System (BMS) Reference Designs Using ETPL (https://www.nxp.com/design/design-center/development-boards-and-designs/800-v-battery-management-system-bms-reference-designs-using-etpl:RD-HVBMSCT800BUN) since we wanted a proper BMS to validate and test our battery emulator against. Works great, currently we have been using FreeMaster and the example that exists for the reference design, referring to HVBMS_800_StartUp_FreeMASTER.pmpx, all measurements done by the BMS looks spot-on and as expected, same with the temperatures that we emulate through another board we have developed. We have received a CAN database from support at NXP that we were told would work with the reference design BMU, see screenshot below, we have used the NXP_BMS_QPHY_V1.dbc. We have connected our external CAN to the VCU_CAN port (that supports partial networking wake-up) on the RD-K358BMU using the DSUB connector that was included on the J1 connector cabling, according to the manual, to enable the VCU_CAN one can achieve it using the WUP on the SBC, or more specifically SBC WAKE1 input on the SBC. No matter what we do we cannot see anything on the CAN bus, even when using a sniffer, so apparently, we have missed something fundamental. The manual states: “Vehicle control unit CAN (VCU CAN) is the main CAN interface equipped with high-speed TJA1145ATK/FD partial networking transceiver. This transceiver supports CAN partial networking by means of a selective wake-up function. The transceiver inhibit pin is connected to the SBC wake1 signal, which wakes up the system when the wake-up command is received on the VCU CAN port. To configure VCU CAN transceiver, use LPSPI5 PCS2.” The last sentence is what I do not get, I understand that it is an onboard SPI node (node name: VCU CAN TJA1145A, IC Reference: U20, SPI Instance: LPSPI5, Peripheral chip selects: PCS2, Max Clk Speed: 2.5), but how should it be used and how do I get CAN communication going? Thanks in advance for your help and guidance! Regards, JWA74 Re: How to enable VCU CAN on RD-K358BMU Hi, the TJA1145 enters Standby mode after power on, to put device into Normal mode an SPI command have to be issued. Another command is needed as well to activate CAN transceiver. Some time ago I tested CANs on RD-K344BMU board. Attached is modified S32DS3.4 demo project, I used RTD2.0.3.  It uses FlexCAN4 which drives CMU_CAN (TJA1443) on the board.  FlexCAN0 is added as well, which drives VCU_CAN (TJA1145) on the board.  Basic transceiver init via LPSPI5 is done to activate VCU_CAN part. Example waits for std ID=0x14 message on each CAN and resends it back using callback. BR, Petr
查看全文
libnfc-nciのライブラリをyocto imgeに追加する方法 libnfc-nci を使用して、IMX8MPLUS-EVK で PN7160-EVK をドライバーに使用したいと思います。そして、libnfc-nciをyocto imageとimx-image-multimediaのSDKに追加したいと思います。何か手がかりはありますか? 実際には、imx-image-multimediaのイメージを使用してIMX8MPLUS-EVKにlibnfc-nciをビルドすることはできません。したがって、私はそれをyocto画像に直接追加したいと思います。 どうもありがとうございました! Re: libnfc-nci のライブラリを yocto imge に追加する方法 返信ありがとうございます。 VBAT電圧を3.3Vから5Vに変更することで問題を解決しました。その後はうまくいきました。ちなみに、TXLDOチェックが無効になっている場合は、3.3VでVBATとVDD-PADの両方でも動作するはずです。 Re: libnfc-nci のライブラリを yocto imge に追加する方法 BSPのバージョンを教えてください。明日、NFCエンジニアに確認し、最新情報をお伝えします。 Re: libnfc-nci のライブラリを yocto imge に追加する方法 nfcDemoが動作し、PN7160モジュールを正常に初期化できるようになりました。しかし、I2C読み取りエラーのために停止します。詳細については、添付のログファイルを参照してください。 Re: libnfc-nci のライブラリを yocto imge に追加する方法 返信ありがとうございます。 ガイドに従って、I2Cインターフェースを介して8MPLUS-EVKに接続されているPN7160 NFCモジュールを移植しました。デバイスはアドレス 0x28 で i2cdetect によって検出されますが、i2cdump を使用して I2C バスからデータを読み取ることができません。 nfcDemoも実行してみましたが、これも正しく動作しませんでした。ログには IRQ、DWD、および VEN ピンが正常に検証されたことが示されていましたが、コード 262 でphTmlNfc_Init_Failedエラーが発生しました。 何かアドバイスをいただけますか?どうもありがとうございます! Re: libnfc-nci のライブラリを yocto imge に追加する方法 このANをフォローできます
查看全文
s32k3 how to install hse firmware in mass prodction? Hi Nxp,     i used to install by S32DS and HSE_Install_FW_312 project, it's ok. but it's seems not suitable for mass production, since this project not have boot header("0xA55AA55A"),  then the app cant run.  i guess this is prior to 0XD5 header.  so is there a best practice solution for install hse fw in production? 回复: s32k3 how to install hse firmware in mass prodction? i think use jtag to write utest and program hse to flash and reboot is the practice way to do.  and thank for your jlink script for reference. Re: s32k3 how to install hse firmware in mass prodction? Hi victory, There is one-time programming of HSE FW (FULL_MEM or AB_SWAP) and APP on the production line, the demo projects based on S32DS 3.4.3 and RTD 2.0.0 for S32K312 and S32K3x4 which using PE CYCLONE to install the latest HSE FW (update SBAF if needed). But you may need to contact GC CAS(FAE). They may share the attachment "MassProduction_1_0_1.zip" which includes the demo projects and the user guide. Best Regards, Robin ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. -------------------------------------------------------------------------------
查看全文
IMX8MP debug port change to uart4 on Android Hi, In imx8mp on customer board. I have already change debug port from uart2 to uart4 on yocto(Linux 6.1.1_1.0.1 BSP). And type cmd is OK. The same modify on Android (Android 13.0.0_2.0.0 (L6.1.22_2.0.0 BSP)), after booting finish(hdmi show android launcher),debug console can show message but can't type anything. I have compare yocto and android modify. There are 2 file I can't find in Android BSP. \sources\meta-freescale\conf\machine\include\imx-base.inc \sources\meta-freescale\conf\machine\include\imx8mp-evk.inc How to fix it? Thanks. Re: IMX8MP debug port change to uart4 on Android Hello, You are looking for Yocto specific files, that are not available on Android. For Android you'll need to patch Linux/Uboot/ATF the same way you did for the Linux system you built using Yocto. Best regards/Saludos, Aldo.
查看全文
如何将 libnfc-nci 库添加到 yocto imge 我打算使用 libnfc-nci 来驱动 IMX8MPLUS-EVK 上的 PN7160-EVK。我想将 libnfc-nci 添加到 yocto 图像和 imx-image-multimedia 的 sdk 中。对我而言有什么线索吗? 实际上,我无法使用imx-image-multimedia的图像在imx8mplus-evk上构建libnfc-nci。因此,我想直接将其添加到yocto图像中。 非常感谢! 回复:如何将 libnfc-nci 库添加到 yocto imge 中 谢谢您的回复。 我通过将 VBAT 电压从 3.3V 更改为 5V 解决了这个问题。此后它就起作用了。顺便说一句,如果禁用 TXLDO 检查,它还应该在 3.3V 下与 VBAT 和 VDD-PAD 一起工作。 回复:如何将 libnfc-nci 库添加到 yocto imge 中 你能告诉我你使用的是哪个版本的 BSP 吗?我明天会与我们的 NFC 工程师确认,然后向您提供最新消息。 回复:如何将 libnfc-nci 库添加到 yocto imge 中 nfcDemo 现在可以工作了,并且可以成功初始化 PN7160 模块。但由于某些 I2C 读取错误,它停止了。请参阅附件日志文件以了解更多详细信息。 回复:如何将 libnfc-nci 库添加到 yocto imge 中 谢谢您的回复。 我按照指南移植 PN7160 NFC 模块,该模块通过 I2C 接口连接到 8MPLUS-EVK。该设备由地址 0x28 处的 i2cdetect 检测到,但我无法使用 i2cdump 从 I2C 总线读取任何数据。 我也尝试运行 nfcDemo,但它也无法正常工作。日志显示 IRQ、DWD 和 VEN 引脚已成功验证,但我遇到了代码为 262 的 phTmlNfc_Init_Failed 错误。 您能提供一些建议吗?多谢! 回复:如何将 libnfc-nci 库添加到 yocto imge 中 您可以关注此 AN
查看全文
KS20 core lockup reset exiting stop mode I'm using KS22 and trying to get LLS2 to function.  I've tried using the fsl_smc.c routines and I've tried writing my own.  I have all clock monitors disabled, and low voltage dropout disabled.  I've then disabled sysTick (shouldn't matter), global interrupts, and flash prefetch.  I've also ensured that any pending interrupt is serviced and no other interrupts are pending. I can get the board to enter low power mode via WFI instruction, however, as soon as I activate one of the LLWU pins, I get a system reset.  Looking at the reset source, it is a core lockup reset.  There is little to no documentation on the NXP side, and looking at the Arm site, there isn't much there either.  I've submitted a help ticket but it has gone unanswered so hoping the community can lend some advice.  Once the software determines it's time to sleep, these routines are called: void prepareForSleep(void) { disableSystemTickTimer(); // Disable system tick to allow sleep/stop modes SCB->SCR = 0x00000004; // Enable Deep sleep mode clearWakeSource(); // Clear the wake source before we go to sleep NVIC_EnableIRQ(LLWU_IRQ); // Enable global interrupt for LLWU g_savedPrimask = DisableGlobalIRQ(); // __disable_irq(); // Disable Global interrupts to avoid entering flash vector table __ISB(); // Synchronize any pre-fetched instructions configureFlashPreFetch(false); // Disable instruction & data pre-fetch } void goToSleep(void) { __DSB(); // Clear the pipeline instructions __WFI(); // Go to sleep and wait for Event __ISB(); // Synchronize fetched instructions } void wakeFromSleep(void) { configureFlashPreFetch(true); // Enable instruction & data pre-fetch EnableGlobalIRQ(g_savedPrimask); // __enable_irq(); // Enable Global interrupts __ISB(); // Synchronize any pre-fetched instructions clearWakeSource(); // Clear the wake source once we are awake SCB->SCR = 0x00000000; // Disable Deep sleep mode NVIC_DisableIRQ(LLWU_IRQ); // Enable global interrupt for LLWU initializeSystemTickTimer(); // Re enable system tick timer } Re: KS20 core lockup reset exiting stop mode Ok, that was actually the solution!  The program does return from the bottom of the while loop, I had disabled an output led which led to that confusion. In the end, here is what I learned.  If you want to use low power mode, you have to call the sleep function from highest execution loop and not from within 1 or 2 layers.  Very strange and nowhere is this documented.  Clearly, either the registers or part of the stack is corrupt or overwritten. Re: KS20 core lockup reset exiting stop mode Ok, this is getting stranger by the hour.  As shown above, I have 3 routines.  What really happens is in the main() routine, it calls a single function called applicationStart().  ApplicationStart() contains all the setup code and a while(1) loop with the program function calls.  The last call in the list is checkForSleep() and if that detects the correct conditions, it calls the 3 sleep routines (prepare, sleep, and wake).  What appears to be happening is the board does indeed sleep and does actually wake and execute.  It resumes from wake and returns to checkForSleep, which then calls wake.  Wake executes and returns. But, when the system tries to return from checkForSleep to the ApplicationStart() routine, I get a reset.  That tells me that the stack is messed up and the LR gets corrupted.  I moved all the code to inside the while(1) loop in ApplicationStart and a similar thing happens that upon wake, I can execute any code that I want, but when it finally hits the end of the while(1) loop, it never returns to the top of the loop.  The reset is gone, but I have no idea where the program is at. Of course, this would be way easier if you could run the debugger through low power modes like you can with an ST part.    More to come
查看全文
S32K3 SHE key update 1. In K3 HSE_B Firmware RM document, FID is defined by 6 bit, so K3 not support to FID-5bit, right?[In K146 chip, FID not only support to 6 bit, but also 5 bit.] So, in S32K3, if use FID-5bit to generate M1-M3, SHE key cannot be updated, right? 2. In S32K3 MCAL's crypto driver, SHE key's M4 stored in key element 2(CRYPTO_KE_MAC_PROOF), and M5 stored in key element 6(CRYPTO_KE_CIPHER_PROOF). but, As far as I know, M4M5 should store in key element 2, not element 6. Does NXP's crypto code not comply with autosar standard? Re: S32K3 SHE key update 1. There's no difference. According to SHE specification, FID is used only for M2 calculation and it looks like this: So, M2 is the CBC-encrypted concatenation of the new counter value CID, the according flags FID, a pattern to fill the first block with ‘0’ bits and the new key KID. VERIFY_ONLY extension flag is added to the end of FID - it replaces the first zero in that 95bits padding. If you keep VERIFY_ONLY zero, it meets SHE specification. No other changes are necessary, no specific HSE firmware is needed. The behavior will correspond to SHE spec without this extension. 2. As I wrote, this was reported short time ago, it's not resolved yet. I expect that only the CRYPTO_KE_CIPHER_PROOF definition will be changed from 6 to 2 as required by the standard. And because it's not resolved yet, I can't provide expected release date. Regards, Lukas Re: S32K3 SHE key update Hi,lukaszadrapa, 1.In your figure, S32K3 don't have SFE flag like S32K1, so it only support to FID 6 bit, can not meet to FID 5bit, because it must configure VERIFY_ONLY bit. Wether NXP provide HSE firmware to support to use FID 5bit? 2.when is the next RTD provide? Can you provide a way to modify the relevant code in the current RTD? We‘re using this RTD to develop SW currently and already need to use this function. Re: S32K3 SHE key update Hi @JiayuZhou  1. This extension of SHE spec is available on both CSEc on K1 and HSE on K3. It’s up to you if you will use it or not. Both options are possible: From AN5401 for S32K1:  From HSE FW RM for S32K3: 2. Yes, you are right. I can see that this was already reported short time ago. This will be fixed in next RTD versions in the near future. Regards, Lukas
查看全文
Clarification on Zigbee Protocol Support and Linux Driver for IW612 I'm currently working with the NXP MAYA-W271-00B (IW612)  , and I wanted to confirm whether it supports the Zigbee protocol in addition to Wi-Fi and Bluetooth. If Zigbee is supported, could anyone point me to the appropriate resources or provide guidance on where I might find the Linux driver or any necessary integration details? Any help or direction would be greatly appreciated! Thanks in advance! OS LINUX Protocol: Zigbee Re: Clarification on Zigbee Protocol Support and Linux Driver for IW612 Hi, @Abhilasha  As my previous comments,  To get the latest IW612's Wi-Fi driver, you can download it through below link: https://github.com/nxp-imx/mwifiex/tree/lf-6.6.36_2.1.0 To get the latest IW612's FW, you can download it through below link: https://github.com/nxp-imx/imx-firmware/tree/lf-6.6.36_2.1.0/nxp/FwImage_IW612_SD The 802.15.4 subsystem is only supported on IW612 evaluation board (EVB) with i.MX 8M Mini(8MMINILPD4-EVK@2020) host platform. Are you using our I.MX8MMini as your host platform? If yes, please refer to below guide: Section 7 7 Bring-up of 802.15.4 and Section 8 Bring-up of ZigBee on i.MX 8M Mini. Getting Started with NXP-based Wireless Modules on i.MX 8M Quad EVK Running Linux OS - User manual If no, I worry Zigbee is not supported on your other host platform currently. We also have below user manual as a guidance for customers to download and build our Wi-Fi drivers: How to Download and Build NXP Wi-Fi Drivers - User manual (restricted) About device tree, I think you can refer to our I.MX8MMini's device tree to configure yours according to your SDIO interface hardware connections: https://github.com/nxp-imx/linux-imx/blob/lf-6.6.y/arch/arm64/boot/dts/freescale/imx8mm-evk-usd-wifi.dts Hope it can help you somehow. Have a nice day~ Best regards, Christine. Re: Clarification on Zigbee Protocol Support and Linux Driver for IW612 I've found clarity on the IW612 Bluetooth driver in the Linux kernel, specifically at this link: btnxpuart.c.https://github.com/torvalds/linux/blob/v6.12-rc2/drivers/bluetooth/btnxpuart.c However, I still haven't located information regarding the Wi-Fi and Zigbee drivers for the IW612. Additionally, I would appreciate any insights on device tree support for these functionalities. If anyone can point me in the right direction, I would greatly appreciate it! Thank you! Re: Clarification on Zigbee Protocol Support and Linux Driver for IW612 Hi, @Abhilasha  The driver link I shared to you yesterday should include drivers which supports Zigbee. But I checked the information in our user manual, it mentioned that: 8 Bring-up of ZigBee on i.MX 8M Mini This section shows how to bring up ZigBee on i.MX 8M Mini EVK platform. Note: The 802.15.4 subsystem is only supported on IW612 evaluation board (EVB) with i.MX 8M Mini(8MMINILPD4-EVK@2020) host platform. This section describes the steps to bring up the 802.15.4 interface of NXP-based IW612 module on i.MX 8M Mini platform, and for Zigbee-only mode. Zigbee dual-pan mode is not supported. So, please make sure whether you are using our I.Mx8M Mini (8MMINILPD4-EVK@2020) host platform. If not, I worry, it might not support. Sorry for the inconvenience to you. Best regards, Christine. Re: Clarification on Zigbee Protocol Support and Linux Driver for IW612 Can you provide me the link for driver that supports zigbee protocol ? Re: Clarification on Zigbee Protocol Support and Linux Driver for IW612 Hi, @Abhilasha  It needs secure files access to get download permission. You can download the driver and FW through my given links, which doesn't need secure files access. Best regards, Christine. Re: Clarification on Zigbee Protocol Support and Linux Driver for IW612 trying to download  https://www.nxp.com/webapp/sps/download/license.jsp?colCode=IW612-6623-IMX8-18993-P10-MM6X18437-P21&appType=file1&DOWNLOAD_ID=null  unable to dowload this !! Re: Clarification on Zigbee Protocol Support and Linux Driver for IW612 Hi, @Abhilasha  Thanks for creating case to us. For IW612, yes, except Bluetooth and Wi-Fi, it also supported Zigbee which is based on 802.15.4. To use IW612's Zigbee based on Linux, you can refer to below guide:  Getting Started with NXP-based Wireless Modules on i.MX 8M Quad EVK Running Linux OS - User manual  To get the latest IW612's driver, you can download it through below link: https://github.com/nxp-imx/mwifiex/tree/lf-6.6.36_2.1.0 To get the latest IW612's FW, you can download it through below link: https://github.com/nxp-imx/imx-firmware/tree/lf-6.6.36_2.1.0/nxp/FwImage_IW612_SD Please do not hesitate to mark my answer as a solution, if it really does help for you. For other topic's queries or questions, please feel free to create new case to us. Have a nice day~ Best regards, Christine.
查看全文
[ls1046a] Concerns and questions about using Fuse Provisioning Image to enable secure boot Hello, I am trying to create a procedure for enabling secure boot on our products using the fuse provisioning image provided by the TF-A. I am following these 3 guides: LLDPUG 5.15 Fuse Provisioning on LS1046ARDB TF-A Fuse Provisioning Here is my issue,  In all these guides, it specifies to use the following compile command: make all fip pbl PLAT=ls1046ardb BOOT_MODE=qspi RCW=../rcw_1600_qspiboot.bin BL33=../uboot_ls1046ardb_tfa.bin fip_fuse FUSE_PROG=1 FUSE_PROV_FILE=../cst/fuse_scr.bin This command works, however my concern is that it does not enable TRUSTED_BOARD_BOOT. As a result, the BL2 will not be signed with the CSF header. This seems like it would brick the card, assuming that ITS is set? If we provision the fuses, and then reboot with an unsigned BL2, the card will not boot, right? The troubling part is none of these guides emphasize that point. Imo it seems highly risky to provision the fuses without first having a CST signed BL2 ready for the next boot. There is always the risk that the card loses power or reboots before the user has a chance to correctly download and install a secure BL2 image. It seems reasonable that the BL2 image should be signed with the CSF header as well as be able to provision the fuses. Therefore, I tried to use this command instead: make all fip pbl PLAT=ls1046ardb BOOT_MODE=qspi RCW=../rcw_1600_qspiboot.bin BL33=../uboot_ls1046ardb_tfa.bin fip_fuse FUSE_PROG=1 FUSE_PROV_FILE=../cst/fuse_scr.bin TRUSTED_BOARD_BOOT=1 This way, the fuse provisioning will be enabled, and the BL2 will be signed. I also set SB_EN=1 in the rcw, so that the fuse provisioning BL2 will authenticated on the first boot. However, this does not work. I get the following error messages: ERROR: Failed to add dynamic memory region. ERROR: Failed to load FUSE PRIV image ERROR: FUSE Barker code mismatch. After some debugging, I found out that it was failing to dynamically mmap the memory, because the CSF header requires a dynamic mmap but it fully overlaps with the DRAM0 region. This excerpt is my debug statement in mmap_add_region_check(this is in v2.6 of the qoriq-atf btw): 742 /* 743 * Full VA overlaps are only allowed if both regions are 744 * identity mapped (zero offset) or have the same VA to PA 745 * offset. Also, make sure that it's not the exact same area. 746 * This can only be done with static regions. 747 */ 748 if (fully_overlapped_va) { 749 750 #if PLAT_XLAT_TABLES_DYNAMIC 751 if (((mm->attr & MT_DYNAMIC) != 0U) || 752 ((mm_cursor->attr & MT_DYNAMIC) != 0U)) { 753 ERROR("DEBUG: Dynamic!\n"); 754 return -EPERM; 755 } 756 #endif /* PLAT_XLAT_TABLES_DYNAMIC */ DRAM0 starts at 0x8000_0000 but the FUSE_BUF begins at 0x8100_0000: plat/nxp/common/include/default/plat_default_def.h:#define FUSE_BUF ULL(0x81000000) This causes a conflict and the FUSE_BUF can't be allocated. As a result, it seems that FUSE_PROG and TRUSTED_BOARD_BOOT cannot both be enabled in the same BL2 image. What is the intended solution here? Should I just modify the FUSE_BUF addr to be outside of DRAM0? Should I disable PLAT_XLAT_TABLES_DYNAMIC? Thank you for your help, James Re: [ls1046a] Concerns and questions about using Fuse Provisioning Image to enable secure boot Thank you yipingwang. In our case we unfortunately are strictly limited to qspi boot with a single bank. It sounds like we will have to exercise caution and ensure we program the qspi correctly before rebooting. Would it be possible for us to prepare a fuse provisioning pbl image which contains an unsigned BL2, but which also contains an alternate signed BL2? We would need the pbi to load both BL2's and then load a pointer to the signed one in SCRATCHRW3. This way, in case the card reboots before re-programming the qspi, we have a signed alternate image to fallback on. This seems like a bit of a reach, I'm not sure if there's something I'm overlooking which would prevent this from working. Re: [ls1046a] Concerns and questions about using Fuse Provisioning Image to enable secure boot Fuse Provisioning image is normal boot image not secure boot image, it is used to blow OPTMK and SRKHR keys to fuse array on the target.  FUSE_PROG and TRUSTED_BOARD_BOOT should not be enabled at the same time. You could deploy secure boot boot image on bank 0 of QSPI NOR flash, and fuse provisioning image on the alternate bank or SD card. After booting from alternate bank or SD card to do fuse provisioning, then reboot the target board to do secure boot. If you only have one QSPI NOR flash bank, after running fuse provisioning boot image and check the status, please don't reset the target board, please deploy the secure boot image on the NOR flash, then reset the target board.
查看全文
S32K3 SHE密钥更新 1.在K3 HSE_B Firmware RM文档中,FID定义为6位,所以K3不支持FID-5bit,对吗?[在K146芯片,FID不仅支持到6位,还支持到5位。] 所以,在S32K3中,如果使用FID-5bit生成M1-M3,SHE密钥无法更新,对吗? 2.在S32K3 MCAL的加密驱动程序中,SHE密钥的M4存储在密钥元素2(CRYPTO_KE_MAC_PROOF)中,M5存储在密钥元素6(CRYPTO_KE_CIPHER_PROOF)中。但是,据我所知,M4M5应该存储在密钥元素2中,而不是元素6中。NXP的加密代码不符合autosar标准吗? 回复:S32K3 SHE 密钥更新 你好,lukaszadrapa, 1.在你的图中,S32K3没有像S32K1那样的SFE标志,所以它只支持FID 6位,不能满足FID 5位,因为它必须配置VERIFY_ONLY位。NXP是否提供HSE固件支持使用FID 5bit? 2. 下一次 RTD 什么时候提供?您能提供修改当前 RTD 中相关代码的方法吗?我们目前正在使用这个 RTD 开发软件,已经需要使用这个功能了。
查看全文
Request for Baremetal TCP Client Example Using LwIP Stack on MIMXRT1180-EVK Hello, I am working with the MIMXRT1180-EVK board and would like to implement a baremetal TCP client using the LwIP stack. Could you kindly provide an example or point me toward resources that would help me achieve this? I am looking for a basic setup that includes Ethernet initialization and a simple TCP client communication implementation. Any assistance would be greatly appreciated! Thank you. Re: Request for Baremetal TCP Client Example Using LwIP Stack on MIMXRT1180-EVK HI @PavanKumarS  Sorry, i forgot it. ethernetif_input(&netif) is responsible for processing incoming packets. Without this function being called, your application doesn’t receive Ethernet frames from the network interface. If you remove the loop, network events like incoming packets or timeouts won’t be handled, so the connection won’t be properly maintained. If you want to avoid relying on this polling loop, you can use LwIP with an operating system (like FreeRTOS) to handle network events asynchronously through interrupts and tasks. BR Hang Re: Request for Baremetal TCP Client Example Using LwIP Stack on MIMXRT1180-EVK Hi @Harry_Zhang, I followed the steps provided and implemented the TCP client as described, but I encountered an issue where the connection wasn't being established with the server. However, when I added the line ethernetif_input(&netif); in the main while loop, the connection worked. the loop: while (1) { ethernetif_input(&netif); // LwIP needs to be continuously polled to handle network events sys_check_timeouts(); } I’m trying to understand why this loop is necessary. Is there a way to isolate the connection functionality so that it doesn't rely on the loop? How can I make the connection part independent of this polling mechanism? Re: Request for Baremetal TCP Client Example Using LwIP Stack on MIMXRT1180-EVK Hi @PavanKumarS  To implement a baremetal TCP client on the MIMXRT1180-EVK using the LwIP stack, Import the lwip_ping_bm_cm33 example. This examples include the necessary Ethernet initialization, which you can adapt to create a TCP client. Then you will add client codes. Here’s a basic example for creating a TCP client. You need to set up a connection and manage sending and receiving data using callbacks. #include "lwip/tcp.h" static struct tcp_pcb *tcp_client_pcb; // Callback when data is received err_t tcp_client_recv(void *arg, struct tcp_pcb *tpcb, struct pbuf *p, err_t err) { if (p == NULL) { // Connection closed tcp_close(tpcb); return ERR_OK; } // Process received data tcp_recved(tpcb, p->len); pbuf_free(p); return ERR_OK; } // Callback when a TCP connection is established err_t tcp_client_connected(void *arg, struct tcp_pcb *tpcb, err_t err) { if (err == ERR_OK) { // Connection successful // Set the receive callback tcp_recv(tpcb, tcp_client_recv); // Send some data const char *data = "Hello, Server!"; tcp_write(tpcb, data, strlen(data), TCP_WRITE_FLAG_COPY); } else { // Handle connection error tcp_close(tpcb); } return err; } // Initiate the TCP connection void tcp_client_connect(void) { ip_addr_t server_ip; IP4_ADDR(&server_ip, 192, 168, 1, 100); // Set the server's IP address // Create a new TCP control block tcp_client_pcb = tcp_new(); // Connect to the server on port 80 (you can change this to your desired port) tcp_connect(tcp_client_pcb, &server_ip, 80, tcp_client_connected); } Integrate everything in the main() function of your application. int main(void) { // Board initialization (clocks, Ethernet, etc.) BOARD_InitBootPins(); BOARD_InitBootClocks(); BOARD_InitBootPeripherals(); BOARD_InitDebugConsole(); // Initialize the LwIP stack and network interface lwip_init_function(); // Start the TCP client tcp_client_connect(); while (1) { // LwIP needs to be continuously polled to handle network events sys_check_timeouts(); } return 0; } BR Hang Re: Request for Baremetal TCP Client Example Using LwIP Stack on MIMXRT1180-EVK Hi @Harry_Zhang, I have checked the SDK, but I was not able to find the bare metal TCP client example. Could you kindly provide an example or point me towards the resources that could help. Re: Request for Baremetal TCP Client Example Using LwIP Stack on MIMXRT1180-EVK Hi @PavanKumarS  You can download the MIMXRT1180-EVK SDK. Select Board | MCUXpresso SDK Builder (nxp.com) And you can refer to lwip examples. BR Hang
查看全文