Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
How to use mfgtools2.0 to burn root.tar.zst format files on IMX6ULL? Hello everyone: How can I burn the .tar.zst file I compiled using Yocto? The original method is to burn the .tar.bz2 file. I tried to modify the ucl2.xml file to: but it cannot be burned in Sending and writting rootfs Request help. Re: IMX6ULL怎么使用mfgtools2.0烧录root.tar.zst格式的文件? Hello @yangx  As the MFGtools is not more supported, could you please refer to the UUU tool? Best regards, Salas.
查看全文
S32K312EVB-Q172通用开发板 是否可以通过Uart口进行烧录 你好: 请问S32K312EVB-Q172通用开发板 是否可以通过Uart口进行烧录Image,还是需要烧录工具进行烧录? Thanks! Re: S32K312EVB-Q172通用开发板 是否可以通过Uart口进行烧录 Hi@Bert2023 S32K312EVB-Q172的USB属于OpenSDA接口,即可作为Uart口使用也可作为调试接口使用。 OpenSDA: https://www.nxp.com.cn/design/design-center/software/sensor-toolbox/opensda-serial-and-debug-adapter:OPENSDA?lang=cn 你可以直接使用USB线连接到这个USB口进行烧录调试,当然你可以可以用其它调试器,S32K312EVB上有额外的SWD调试接口
查看全文
S32K312EVB-Q172 汎用開発ボードは Uart ポート経由でプログラムできますか? こんにちは: S32K312EVB-Q172 汎用開発ボードは、Uart ポート経由でイメージを書き込むことができますか? それとも書き込みツールが必要ですか? ありがとう!
查看全文
mfgtools2.0 を使用して IMX6ULL に root.tar.zst 形式のファイルを書き込む方法は? こんにちは、みんな: Yocto を使用してコンパイルした .tar.zst ファイルを書き込むにはどうすればよいでしょうか? 本来の方法は、.tar.bz2 ファイルを書き込むことです。 ucl2.xmlファイルを次のように変更しようとしましたが、書き込むことができません Sending and writting rootfs 助けを要請する。
查看全文
sysfs経由でSNVSにアクセスする方法はありますか? 私がしたいのは、ロールバック保護のための単調なカウンタへのアクセス/処理です。 sysfsを介してこの単調なカウンターにアクセスする方法はありますか? それが不可能な場合、ユーザースペースプログラムからモノトニックタイマーにアクセスするための推奨される方法は何ですか? Re:sysfsを介してSNVSにアクセスする方法はありますか? ご説明ありがとうございます。
查看全文
PN512 上的 RX 引脚以及该引脚上的 ADC I 和 Q 通道的用途是什么? 我不明白 PN512 上的 ADC I 和 Q 通道的用途。PN512 提供了一种通过读取寄存器 0x3b 来读取值的方法,但我不明白我得到的值应该代表什么。 关闭该字段后,我得到的值为 0x88。 打开该字段后,我得到的值是 0xf0,有时是 0xff。 如果有人能提供解释,那就太好了。 谢谢 NFC 前端解决方案 NFC读卡器库 回复:PN512 上的 RX 引脚以及该引脚上的 ADC I 和 Q 通道的用途是什么? 感谢你的回复, 接下来,当我读取寄存器 0x3B 时,该寄存器中的值代表什么?电压?当前的? PN512文档简单地将其描述为“ADC I/Q通道的实际值”。它有什么样的价值? 有没有办法使用该值来检测标签的存在? 谢谢
查看全文
What is the purpose of the RX Pin and the ADC I and Q channels, at that pin, on the PN512? I do not understand the purpose of the ADC I and Q channels on the PN512. PN512 provides a way of reading the value by reading register 0x3b but I don't understand what the values I am getting are supposed to represent. With the Field turned off I get a value of 0x88. With the Field turned on I get a value of 0xf0, sometimes 0xff. If someone could provide an explanation, that would be great. Thank You NFC Frontend Solutions NFC Reader Library Re: What is the purpose of the RX Pin and the ADC I and Q channels, at that pin, on the PN512? Hi, ADC_I and ADC_Q, both are just ADC sampling values, indicating the variation of a noise into RX. For a device featuring LPCD functionality, please consider our latest focus products from our NFC Readers portfolio. Regards, Eduardo. Re: What is the purpose of the RX Pin and the ADC I and Q channels, at that pin, on the PN512? Thank you for your reply,  To follow up, when I am reading register 0x3B what do the values in that register represent? Voltage? Current?  The PN512 document simply describes it as "the actual value of ADC I/Q channel". What kind of value is it?  Is there a way to use that value to detect the presence of a tag?  Thank You Re: What is the purpose of the RX Pin and the ADC I and Q channels, at that pin, on the PN512? Hello @user_leo, Hope you are doing well. I and Q are part of the RX section of the device: These two signals could be taken to judge the overall RX signal quality. You can see an example of ADC I channel behavior in AN11038 Fast Verification of PN512 and amplifier, Section 3.1.1. Regards, Eduardo.
查看全文
PT2001 Vboost shortcut questions PT2001SWUG Rev 3.0 says "Note that in order to use the async or sync mode, the low-side use for DCDC has to be set as shortcut 2 (ex: dfsct undef ls7 undef). " Yet no examples of firmware use that line of code. Is statement true, is it another hangover from PT2000? Solenoid Controller Re: PT2001 Vboost shortcut questions See Vboost using PWM (manual) NOT hysteretic. Set LS7 Slewrates to max, very clean waveforms at 100kHz 🙂 Re: PT2001 Vboost shortcut questions Yes close. Can you link these conversations. I do not want to "fall between two stools", I am surprised that this is a new question, considering the age of the MC33816. Please pick up the "baton", RafaR. Sorry for the English idioms. Re: PT2001 Vboost shortcut questions Hi Fast Since Rafael Rojas supported to you before please directly contact with him for continuous support. Rafael is my colleague I think he will help you continuously. Thanks!   Re: PT2001 Vboost shortcut questions Good morning guoweisun, Please see the conversation with RafaR. I am looking for guidance on DCDC code using the PWM mode ( AKA manual mode) , all microcode. That is not using the resonant mode since PT2001 cannot support on LS7 as no Vds sensing. I am led to believe that in PWM mode, and with Vboost capacitor grounded, so Vboost not effected by Iboost phase at injector which disturbs current control. Re: PT2001 Vboost shortcut questions Hi Fast Could you please give more explain about your issue/questions? That's difficult for understanding!
查看全文
SIUL書き込みピン時間 こんにちは SIUL出力として設定されたピンを使用して機能時間を測定しようとしていますが、ピンのHIGHとLOWを実行するには1.8usから2.2us(オシロスコープを使用して測定)かかることがわかります。RTD ドライバーで定義されている関数 Siul2_Dio_Ip_WritePin を使用しています。MCUは160MHzで動作するS32K311で、SIULペリフェラルは30MHzで動作します。 データシートでは、ピンの立ち上がり/立ち下がり時間(hw)が1〜18nsであると指定されているため、残りの時間はRTDドライバーによって消費される必要があり、分解を確認すると、この機能にあまり時間が必要ないとは思われません。何かが足りないのでしょうか?なぜMCUはWrite pinコマンドを実行するために~2usが必要なのですか? Re:SIUL書き込みピン時間 さて、Siul2_Dio_Ip_WritePin機能のLOCK / UNLOCKセクションを削除しましたが、現在は265nsかかります。 おっしゃるように、各命令が5サイクルかかり、REGISTER SETセクションに10の命令が必要な場合、それは400nsでなければならず、これは測定された265nsとほぼ一致します。 サポートしてくれてありがとう! Re:SIUL書き込みピン時間 次のコードを想定します。 while(1) { Siul2_Dio_Ip_WritePin(DEBUG_1_PORT, DEBUG_1_PIN, 0); Siul2_Dio_Ip_WritePin(DEBUG_1_PORT, DEBUG_1_PIN, 1); } Siul RTD ドライバーに足を踏み入れると、次のようになります。 void Siul2_Dio_Ip_WritePin(... args ...) { ... empty asserts ... /* LOCK code */ SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_01(); /* End LOCK code /* REGISTER SET code Siul2_Dio_Ip_PinsChannelType pinsValues = (Siul2_Dio_Ip_PinsChannelType)base->PGPDO; pinsValues &= (Siul2_Dio_Ip_PinsChannelType)(~((Siul2_Dio_Ip_PinsChannelType)1U << (15U - pin))); pinsValues |= (Siul2_Dio_Ip_PinsChannelType)(((Siul2_Dio_Ip_PinsChannelType)value & 1U) << (15U - pin)); base->PGPDO = pinsValues; /* End REGISTER SET code /* UNLOCK code */ SchM_Exit_Dio_DIO_EXCLUSIVE_AREA_01(); /* End UNLOCK code */ } REGISTER SET中に行われた操作をリストすると、LOCK + REGISTER SET + UNLOCKの3つのセクションに分割します。 1 x メモリ読み取り 2 x サブトラクション 2 x ビットシフト 4 x ロジック演算 1 x メモリ書き込み Cortex M7(S32K311)を使用すると、120MHzのコアクロック== 83nsで、1回の操作で1サイクルあたり約10サイクルかかると仮定しています(間違っている場合は訂正してください)。 ですから、私が見る2usの時間のほとんどは、LOCK / UNLOCKセクションから来ていると思います。 コードが上記のように単純であると仮定して、RTDからLOCK / UNLOCKセクションを削除できますか?
查看全文
FRDM-MCXN947: Detection of Disconnection of USB1_HS Hi, I would like to ask, on the FRDM-MCXN947 board I am using USB1_HS with OTG USB, I am trying to detect the connection and disconnection of this USB. Connection detection works fine, so I use this function: usb_device_notification_t USB_State(usb_device_struct_t *pDeviceHandle) { usb_device_ehci_state_struct_t *ehciState; ehciState = (usb_device_ehci_state_struct_t *)(pDeviceHandle->controllerHandle); if (0U != (ehciState->registerBase->OTGSC & USBHS_OTGSC_BSV_MASK)) { return kUSB_DeviceNotifyAttach; } return kUSB_DeviceNotifyDetach; } However, for some reason this USB OTG register does not detect the disconnection correctly. Is it possible to use some other register to detect the disconnection? Thank you for any advise! John Adams MCXN Re: FRDM-MCXN947: Detection of Disconnection of USB1_HS Hi @John_Adams, Please refer to the following community post on how to enable the detach detection: What is the best way to detect attaching and detaching of an usb cable between RT1020 (device) and a host computer? - NXP Community It is referring an RT1020, but it is the same process for the MCXN947. BR, Edwin.
查看全文
SJA1110 port 2 PHY to MAC Hi, I have an SJA1110 connected to an external microcontroller via SPI and RMII. Managed to get the switch working vie SPI configuration upload. It seems, that the microcontroller is able to use the RMII interface, I can read out MII_PHYSID1  and MII_PHYSID2 as 0x001BB012. However, whatever I do, I cannot get the link status to "up". The PHY is connected via Ethernet cable to my computer. After writing the very large manuals, it is still unclear to me if I need to configure the port 2 PHY in any special way for use with the RMII interface. Is there some kind of power down which needs to be disabled? Does someone know, if the general procedure is comparable to the TJA1100? Thanks Re: SJA1110 port 2 PHY to MAC It works now. The RGMII Tx clock is generated by the external CPU, in the firmware was the wrong clock source selected. Setting it to a correctly configured clock source, made ethernet work for rx and tx. Re: SJA1110 port 2 PHY to MAC Hi Pavel, sorry, still open. Also, I think there was some misunderstanding how the switch port 2 MAC / PHY work together with the SMI and the RGMII. I hope I understand it right, that the switch port 2 with "phyless" use simply uses a SMI for configuration and RGMII for data transfer? When I read out via generic PHY functions the PHYID1/PHYID2 via SMI, I get 0x001B and 0xB012. Where does this come from? I checked "phyless", so is this info the PHY interface of the integrated CPU in the SJA1110? Meanwhile, I can receive UDP broadcast frames. Reading out the  // Read ACU port 2 status register ret = boardSJA1110_read_reg(0x1C4441, &cfg_stat); tells me, that Tx of the RGMII (connected to Rx of my CPU, correct? So Rx SJA1110 -> Tx external CPU and Tx SJA1110 -> Rx external CPU) is fine and clock present. However, it also tells that the Rx clock of the SJA1110 port 2 RGMII could not be detected, which may be the reason why I can not send and only receive frames. Unfortunately, the board I have received does give poor access to the Rx clock line of the RGMII, so I have a hard time to check what is happening there via oszi. As I understand, the external CPU should deliver a Tx clock signal to the Rx clock pin of the SJA1110 when RGMII is used. Grabbing the configuration code of the SJA1110 SDK for ACU_SJA1110_cfgPinMiix_t setting the clock source from the preconfigured "auto" to other options did not help, also playing around with ACU_SJA1110_cfgPinMiixId_t delay setting did not help. The configuration registers says always, that the RGMII of port 2 of the SJA1110 does not see a Rx clock. Should this clock be always there or just when something is sent? Best regards, Rainer Re: SJA1110 port 2 PHY to MAC Hi Rainer, I answered to your questions by email. Best regards, Pavel
查看全文
SIUL 写入引脚时间 你好 我正在尝试使用配置为 SIUL 输出的引脚来测量我的功能时间,但我意识到运行引脚高电平和低电平需要 1.8us 到 2.2us(使用示波器测量)。我正在使用 RTD 驱动程序中定义的函数 Siul2_Dio_Ip_WritePin。MCU 是运行频率为 160MHz 的 S32K311,SIUL 外设运行频率为 30MHz。 数据表指定引脚上升/下降时间(hw)在 1 到 18ns 之间,因此剩余时间必须由 RTD 驱动程序消耗,检查反汇编似乎不需要此功能太多时间。我遗漏了什么吗?为什么 MCU 需要~2us 来运行写入引脚命令? 回复:SIUL 写入引脚时间 好的,我删除了 Siul2_Dio_Ip_WritePin 函数的 LOCK/UNLOCK 部分,现在需要 265ns。 正如您所说,如果每条指令需要 5 个周期,而 REGISTER SET 部分需要 10 条指令,则它必须是 400ns,这或多或少与测量的 265ns 相匹配。 谢谢支持! 回复:SIUL 写入引脚时间 假设以下代码: while(1) { Siul2_Dio_Ip_WritePin(DEBUG_1_PORT, DEBUG_1_PIN, 0); Siul2_Dio_Ip_WritePin(DEBUG_1_PORT, DEBUG_1_PIN, 1); } 进入 Siul RTD 驱动程序: void Siul2_Dio_Ip_WritePin(... args ...) { ... empty asserts ... /* LOCK code */ SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_01(); /* End LOCK code /* REGISTER SET code Siul2_Dio_Ip_PinsChannelType pinsValues = (Siul2_Dio_Ip_PinsChannelType)base->PGPDO; pinsValues &= (Siul2_Dio_Ip_PinsChannelType)(~((Siul2_Dio_Ip_PinsChannelType)1U << (15U - pin))); pinsValues |= (Siul2_Dio_Ip_PinsChannelType)(((Siul2_Dio_Ip_PinsChannelType)value & 1U) << (15U - pin)); base->PGPDO = pinsValues; /* End REGISTER SET code /* UNLOCK code */ SchM_Exit_Dio_DIO_EXCLUSIVE_AREA_01(); /* End UNLOCK code */ } 我将其分为3个部分,LOCK + REGISTER SET + UNLOCK,如果我列出在 REGISTER SET 期间完成的操作: 1 x 内存读取 2 x 减法 2 x 位移位 4 个逻辑运算 1 x 内存写入 使用 Cortex M7(S32K311),我假设每个操作的一个周期大约需要 10 个周期,核心时钟为 120MHz == 83ns(如果我错了,请纠正我)。 因此我认为我看到的 2us 时间大部分来自 LOCK/UNLOCK 部分。 假设代码如上所示简单,我可以从 RTD 中删除 LOCK/UNLOCK 部分吗?
查看全文
Touch Sensing Example with usafa key detector not working any more Hello Everyone, I am facing a strange problem due to the NXP Touch Library available with the NXP SDK. I am using NXP FRDM-KE15Z with MKE15Z256 micro-controller. if I use the version 2.10 version of the SDK, the touch_sensing example project works very well with usafa key detector algorithm, below are the screen shot from the FreeMASTER tool. But in the latest version of the SDK i.e. 2.16, I see there is a new key detector mbw and the project is updated to use this key detector. And when I use this project everything works fine. But due to some reason I still want to use usafa key detector, so I copied the usafa key detector settings/tuning values from version 2.10 project to version 2.16 example project, and also updated the Electrode_1 and Electrode_2 to use the usafa key detector, and when I started this project, I see that the touch is not working, and the reason is clear, whenever I am touching the electrodes the signal is not crossing the deadband signal, and that's not detected. I want to understand what exactly is changed in this touch sensing library which is causing this strange behavior (atleast for me), as per my understanding the same parameters should produce same results, as I am using the "usafa" key detector only. The following is the screen shot of FreeMASTER with SDK version 2.16 and Electrode 1 and 2 updated to use usafa electrode with settings/tuning values copied from version 2.10 Also as I can see the values are also different. I am also sharing the updated nt_setup.c file, just wanted to inform you guys that, I am just testing on two onboard electrodes i.e. Electrode 1 and Electrode, I don't have Freedom Touch board, and in project I have set this "#define NT_FRDM_TOUCH_SUPPORT 0". The changes I did are just adding these lines. // Keydetector with usafa key detector const struct nt_keydetector_usafa nt_keydetector_usafa_El_1 = { .signal_filter.coef1 = 2, .base_avrg.n2_order = 12, .non_activity_avrg.n2_order = 15, .entry_event_cnt = 4, .deadband_cnt = 4, .signal_to_noise_ratio = 6, .min_noise_limit = 100, .dc_track_enabled = 1, .dc_track_cnt = 100, }; // Update the electrode with usafa instead of mbw key detector and copied the tuning // values from version 2.10 version of SDK const struct nt_electrode El_1 = { .shielding_electrode = NULL, .multiplier = 0, .divider = 0, .shield_threshold = 5, .shield_gain = 30, .shield_attn = 1, .shield_sens = 800, .keydetector_params.usafa = &nt_keydetector_usafa_El_1, .keydetector_interface = &nt_keydetector_usafa_interface, .pin_input = FRDM_TOUCH_BOARD_TSI_1, .gpio_input = {GPIO_PTC0}, .baseline_level = 57593, }; // Update the electrode with usafa instead of mbw key detector and copied the tuning // values from version 2.10 version of SDK const struct nt_electrode El_2 = { .shielding_electrode = NULL, .multiplier = 0, .divider = 0, .shield_threshold = 5, .shield_gain = 30, .shield_attn = 1, .shield_sens = 800, .keydetector_params.usafa = &nt_keydetector_usafa_El_1, .keydetector_interface = &nt_keydetector_usafa_interface, .pin_input = FRDM_TOUCH_BOARD_TSI_2, .gpio_input = {GPIO_PTC1}, .baseline_level = 58346, }; And the content of the complete file is as below. /* * Copyright 2013 - 2016, Freescale Semiconductor, Inc. * Copyright 2016-2021 NXP * All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ /* Static configuration c file for the NXP Touch Library generated by the NXP Touch GUI Tool */ #include "nt_setup.h" #include "board.h" int16_t actMat[NT_XTALK_NSENSORS * NT_XTALK_NSENSORS] = { 32767, 15342, 19509, 12501, 10826, 32767, 16167, 9671, 4189, 3630, 32767, 6795 , 5213, 7894, 16532, 32767, }; // Keydetector with usafa key detector const struct nt_keydetector_usafa nt_keydetector_usafa_El_1 = { .signal_filter.coef1 = 2, .base_avrg.n2_order = 12, .non_activity_avrg.n2_order = 15, .entry_event_cnt = 4, .deadband_cnt = 4, .signal_to_noise_ratio = 6, .min_noise_limit = 100, .dc_track_enabled = 1, .dc_track_cnt = 100, }; const struct nt_keydetector_mbw nt_keydetector_mbw_El_1 = { .signal_filter.coef1 = 0, .base_avrg.n2_order = 12, .non_activity_avrg.n2_order = 15, .entry_event_cnt = 4, .deadband_cnt = 4, .signal_to_noise_ratio = 6, .min_noise_limit = 200, .baseline_track_window = 2000, .baseline_track_window_touch= 8000, .touch_limit = 3, .tau_smooth_signal = 50, .tau_smooth_baseline = 1000, .debounce_length = 0, }; const struct nt_keydetector_mbw nt_keydetector_mbw_El_3 = { .signal_filter.coef1 = 0, .base_avrg.n2_order = 12, .non_activity_avrg.n2_order = 15, .entry_event_cnt = 4, .deadband_cnt = 5, .signal_to_noise_ratio = 4, .min_noise_limit = 30, .baseline_track_window = 2000, .baseline_track_window_touch= 8000, .touch_limit = 3, .tau_smooth_signal = 10, .tau_smooth_baseline = 1000, .debounce_length = 5, }; const struct nt_keydetector_mbw nt_keydetector_mbw_El_7 = { .signal_filter.coef1 = 0, .base_avrg.n2_order = 14, .non_activity_avrg.n2_order = 15, .entry_event_cnt = 4, .deadband_cnt = 4, .signal_to_noise_ratio = 3, .min_noise_limit = 60, .baseline_track_window = 2000, .baseline_track_window_touch= 8000, .touch_limit = 0, .tau_smooth_signal = 10, .tau_smooth_baseline = 1000, .debounce_length = 0, }; // Update the electrode with usafa instead of mbw key detector and copied the tuning // values from version 2.10 version of SDK const struct nt_electrode El_1 = { .shielding_electrode = NULL, .multiplier = 0, .divider = 0, .shield_threshold = 5, .shield_gain = 30, .shield_attn = 1, .shield_sens = 800, .keydetector_params.usafa = &nt_keydetector_usafa_El_1, .keydetector_interface = &nt_keydetector_usafa_interface, .pin_input = FRDM_TOUCH_BOARD_TSI_1, .gpio_input = {GPIO_PTC0}, .baseline_level = 57593, }; // Update the electrode with usafa instead of mbw key detector and copied the tuning // values from version 2.10 version of SDK const struct nt_electrode El_2 = { .shielding_electrode = NULL, .multiplier = 0, .divider = 0, .shield_threshold = 5, .shield_gain = 30, .shield_attn = 1, .shield_sens = 800, .keydetector_params.usafa = &nt_keydetector_usafa_El_1, .keydetector_interface = &nt_keydetector_usafa_interface, .pin_input = FRDM_TOUCH_BOARD_TSI_2, .gpio_input = {GPIO_PTC1}, .baseline_level = 58346, }; const struct nt_electrode El_3 = { .shielding_electrode = NULL, .multiplier = 0, .divider = 0, .delta_limit = 500, .shield_threshold = 5, .shield_gain = 30, .shield_attn = 1, .shield_sens = 800, .keydetector_params.mbw = &nt_keydetector_mbw_El_3, .keydetector_interface = &nt_keydetector_mbw_interface, .pin_input = FRDM_TOUCH_BOARD_TSI_MUTUAL_ELECTRODE_1, .gpio_input = {GPIO_PTD5, GPIO_PTE11}, .baseline_level = 11640, }; const struct nt_electrode El_4 = { .shielding_electrode = NULL, .multiplier = 0, .divider = 0, .delta_limit = 500, .shield_threshold = 5, .shield_gain = 30, .shield_attn = 1, .shield_sens = 800, .keydetector_params.mbw = &nt_keydetector_mbw_El_3, .keydetector_interface = &nt_keydetector_mbw_interface, .pin_input = FRDM_TOUCH_BOARD_TSI_MUTUAL_ELECTRODE_2, .gpio_input = {GPIO_PTD6, GPIO_PTE11}, .baseline_level = 11557, }; const struct nt_electrode El_5 = { .shielding_electrode = NULL, .multiplier = 0, .divider = 0, .delta_limit = 500, .shield_threshold = 5, .shield_gain = 30, .shield_attn = 1, .shield_sens = 800, .keydetector_params.mbw = &nt_keydetector_mbw_El_3, .keydetector_interface = &nt_keydetector_mbw_interface, .pin_input = FRDM_TOUCH_BOARD_TSI_MUTUAL_ELECTRODE_3, .gpio_input = {GPIO_PTD5, GPIO_PTE10}, .baseline_level = 14512, }; const struct nt_electrode El_6 = { .shielding_electrode = NULL, .multiplier = 0, .divider = 0, .delta_limit = 500, .shield_threshold = 5, .shield_gain = 30, .shield_attn = 1, .shield_sens = 800, .keydetector_params.mbw = &nt_keydetector_mbw_El_3, .keydetector_interface = &nt_keydetector_mbw_interface, .pin_input = FRDM_TOUCH_BOARD_TSI_MUTUAL_ELECTRODE_4, .gpio_input = {GPIO_PTD6, GPIO_PTE10}, .baseline_level = 14512, }; const struct nt_electrode El_7 = { .shielding_electrode = NULL, .multiplier = 0, .divider = 0, .delta_limit = 1500, .shield_threshold = 5, .shield_gain = 30, .shield_attn = 1, .shield_sens = 800, .tsicnt_shift = 6, .keydetector_params.mbw = &nt_keydetector_mbw_El_7, .keydetector_interface = &nt_keydetector_mbw_interface, .pin_input = FRDM_TOUCH_BOARD_TSI_SLIDER_ELECTRODE_1, .gpio_input = {GPIO_PTD7}, .baseline_level = 55358, }; const struct nt_electrode El_8 = { .shielding_electrode = NULL, .multiplier = 0, .divider = 0, .delta_limit = 1500, .shield_threshold = 5, .shield_gain = 30, .shield_attn = 1, .shield_sens = 800, .tsicnt_shift = 6, .keydetector_params.mbw = &nt_keydetector_mbw_El_7, .keydetector_interface = &nt_keydetector_mbw_interface, .pin_input = FRDM_TOUCH_BOARD_TSI_SLIDER_ELECTRODE_2, .gpio_input = {GPIO_PTD1}, .baseline_level = 55247, }; const struct nt_electrode El_9 = { .shielding_electrode = NULL, .multiplier = 0, .divider = 0, .delta_limit = 1000, .shield_threshold = 5, .shield_gain = 30, .shield_attn = 1, .shield_sens = 800, .tsicnt_shift = 6, .keydetector_params.mbw = &nt_keydetector_mbw_El_7, .keydetector_interface = &nt_keydetector_mbw_interface, .pin_input = FRDM_TOUCH_BOARD_TSI_ROTARY_ELECTRODE_1, .gpio_input = {GPIO_PTE5}, .baseline_level = 50554, }; const struct nt_electrode El_10 = { .shielding_electrode = NULL, .multiplier = 0, .divider = 0, .delta_limit = 1000, .shield_threshold = 5, .shield_gain = 30, .shield_attn = 1, .shield_sens = 800, .tsicnt_shift = 6, .keydetector_params.mbw = &nt_keydetector_mbw_El_7, .keydetector_interface = &nt_keydetector_mbw_interface, .pin_input = FRDM_TOUCH_BOARD_TSI_ROTARY_ELECTRODE_2, .gpio_input = {GPIO_PTE4}, .baseline_level = 52651, }; const struct nt_electrode El_11 = { .shielding_electrode = NULL, .multiplier = 0, .divider = 0, .delta_limit = 1000, .shield_threshold = 5, .shield_gain = 30, .shield_attn = 1, .shield_sens = 800, .tsicnt_shift = 6, .keydetector_params.mbw = &nt_keydetector_mbw_El_7, .keydetector_interface = &nt_keydetector_mbw_interface, .pin_input = FRDM_TOUCH_BOARD_TSI_ROTARY_ELECTRODE_3, .gpio_input = {GPIO_PTB5}, .baseline_level = 53261, }; const struct nt_electrode El_12 = { .shielding_electrode = NULL, .multiplier = 0, .divider = 0, .delta_limit = 1000, .shield_threshold = 5, .shield_gain = 30, .shield_attn = 1, .shield_sens = 800, .tsicnt_shift = 6, .keydetector_params.mbw = &nt_keydetector_mbw_El_7, .keydetector_interface = &nt_keydetector_mbw_interface, .pin_input = FRDM_TOUCH_BOARD_TSI_ROTARY_ELECTRODE_4, .gpio_input = {GPIO_PTB4}, .baseline_level = 53803, }; const tsi_config_t tsi_hw_config = { .configSelfCap.commonConfig.mainClock = kTSI_MainClockSlection_0, .configSelfCap.commonConfig.ssc_mode = kTSI_ssc_prbs_method, .configSelfCap.commonConfig.mode = kTSI_SensingModeSlection_Self, .configSelfCap.commonConfig.dvolt = kTSI_DvoltOption_3, .configSelfCap.commonConfig.cutoff = kTSI_SincCutoffDiv_1, .configSelfCap.commonConfig.order = kTSI_SincFilterOrder_2, .configSelfCap.commonConfig.decimation = kTSI_SincDecimationValue_4, .configSelfCap.commonConfig.chargeNum = kTSI_SscChargeNumValue_4, .configSelfCap.commonConfig.prbsOutsel = kTSI_SscPrbsOutsel_2, .configSelfCap.commonConfig.noChargeNum = kTSI_SscNoChargeNumValue_2, .configSelfCap.commonConfig.ssc_prescaler = kTSI_ssc_div_by_2, .configSelfCap.enableSensitivity = true, .configSelfCap.enableShield = kTSI_shieldAllOff, .configSelfCap.xdn = kTSI_SensitivityXdnOption_3, .configSelfCap.ctrim = kTSI_SensitivityCtrimOption_0, .configSelfCap.inputCurrent = kTSI_CurrentMultipleInputValue_0, .configSelfCap.chargeCurrent = kTSI_CurrentMultipleChargeValue_0, .configMutual.commonConfig.mainClock = kTSI_MainClockSlection_0, .configMutual.commonConfig.ssc_mode = kTSI_ssc_prbs_method, .configMutual.commonConfig.mode = kTSI_SensingModeSlection_Mutual, .configMutual.commonConfig.dvolt = kTSI_DvoltOption_3, .configMutual.commonConfig.cutoff = kTSI_SincCutoffDiv_1, .configMutual.commonConfig.order = kTSI_SincFilterOrder_2, .configMutual.commonConfig.decimation = kTSI_SincDecimationValue_4, .configMutual.commonConfig.chargeNum = kTSI_SscChargeNumValue_4, .configMutual.commonConfig.noChargeNum = kTSI_SscNoChargeNumValue_2, .configMutual.commonConfig.prbsOutsel = kTSI_SscPrbsOutsel_2, .configMutual.commonConfig.ssc_prescaler = kTSI_ssc_div_by_2, .configMutual.preCurrent = kTSI_MutualPreCurrent_4uA, .configMutual.preResistor = kTSI_MutualPreResistor_4k, .configMutual.senseResistor = kTSI_MutualSenseResistor_10k, .configMutual.boostCurrent = kTSI_MutualSenseBoostCurrent_0uA, .configMutual.txDriveMode = kTSI_MutualTxDriveModeOption_0, .configMutual.pmosLeftCurrent = kTSI_MutualPmosCurrentMirrorLeft_32, .configMutual.pmosRightCurrent = kTSI_MutualPmosCurrentMirrorRight_1, .configMutual.enableNmosMirror = true, .configMutual.nmosCurrent = kTSI_MutualNmosCurrentMirror_1, .thresl = 0, .thresh = 65535, .newCalc = true, }; const struct nt_tsi_recalib_config recalib_configuration = { .SelfRangeMin = 50000, .SelfRangeMax = 62000, .SelfRangeDeltaMin = 150, .SelfRangeDeltaMax = 7000, .MutRangeMin = 9000, .MutRangeMax = 16000, .MutRangeDeltaMin = 150, .MutRangeDeltaMax = 7000, }; const struct nt_module_safety_gpio_params my_safety_params = { .delay_interval = 0, .user_interface = &gpio_interface, }; const struct nt_system_xtalk_params my_xtalk_params= { .actMat =(uint16_t*)actMat, .nt_xtalk_neighbours = 4, .nt_xtalk_adapt_touch_time = 25, }; const struct nt_electrode *const Keypad_1_controls[] = {&El_1, &El_2, &El_3, &El_4, &El_5, &El_6, NULL}; const struct nt_electrode *const ASlider_2_controls[] = {&El_7, &El_8, NULL}; const struct nt_electrode *const ARotary_3_controls[] = {&El_9, &El_10, &El_11, &El_12, NULL}; const struct nt_control_arotary nt_control_arotary_ARotary_3 = { .range = 72, }; const struct nt_control_aslider nt_control_aslider_ASlider_2 = { .range = 160, .insensitivity = 2, }; const struct nt_control_keypad nt_control_keypad_Keypad_1 = { .groups = NULL, .groups_size = 0, .multi_touch = (uint32_t[]){0x0C, 0x18, 0x30, 0x24, 0x3C, 0x03, 0}, .multi_touch_size = 6, }; const struct nt_control Keypad_1 = { .electrodes = &Keypad_1_controls[0], .control_params.keypad = &nt_control_keypad_Keypad_1, .interface = &nt_control_keypad_interface, .adjacent_electrodes = kAdj_grounding, }; const struct nt_control ASlider_2 = { .electrodes = &ASlider_2_controls[0], .control_params.aslider = &nt_control_aslider_ASlider_2, .interface = &nt_control_aslider_interface, }; const struct nt_control ARotary_3 = { .electrodes = &ARotary_3_controls[0], .control_params.arotary = &nt_control_arotary_ARotary_3, .interface = &nt_control_arotary_interface, }; const struct nt_electrode *const nt_tsi_module_electrodes[] = {&El_1, &El_2, &El_3, &El_4, &El_5, &El_6, &El_7, &El_8, &El_9, &El_10, &El_11, &El_12, NULL}; const struct nt_electrode *const nt_tsi_module_xtalk_electrodes[] = {&El_3, &El_4, &El_5, &El_6, NULL}; const struct nt_module nt_tsi_module = { .interface = &nt_module_tsi_interface, .wtrmark_hi = 65535, .wtrmark_lo = 0, .config = (void *)&tsi_hw_config, .instance = 0, .electrodes = &nt_tsi_module_electrodes[0], .safety_interface = &nt_safety_interface, .safety_params.gpio = (void *)&my_safety_params, .recalib_config = (void *)&recalib_configuration, .elec_random_order = true, }; const struct nt_control *const System_0_controls[] = {&Keypad_1, &ASlider_2, &ARotary_3, NULL}; const struct nt_module *const System_0_modules[] = {&nt_tsi_module, NULL}; const struct nt_system System_0 = { .time_period = 5, .init_time = 400, .safety_period_multiple = 0, .safety_crc_hw = true, .controls = &System_0_controls[0], .modules = &System_0_modules[0], .xtalk_interface = &nt_system_xtalk_interface, .xtalk_params = (void *)&my_xtalk_params, .xtalk_electrodes = &nt_tsi_module_xtalk_electrodes[0], }; void nt_enable(void) { nt_electrode_enable(&El_1, 0); nt_electrode_enable(&El_2, 0); nt_electrode_enable(&El_3, 0); nt_electrode_enable(&El_4, 0); nt_electrode_enable(&El_5, 0); nt_electrode_enable(&El_6, 0); nt_electrode_enable(&El_7, 0); nt_electrode_enable(&El_8, 0); nt_electrode_enable(&El_9, 0); nt_electrode_enable(&El_10, 0); nt_electrode_enable(&El_11, 0); nt_electrode_enable(&El_12, 0); nt_control_enable(&Keypad_1); nt_control_enable(&ASlider_2); nt_control_enable(&ARotary_3); } // Following functions are generate, copy them to your application and implement there behaviour of events /* Call on the TSI CNTR overflow 16-bit range (65535) */ /*void system_0_callback_template(uint32_t event, union nt_system_event_context * context) { switch(event) { case NT_SYSTEM_EVENT_OVERRUN: // your code break; case NT_SYSTEM_EVENT_DATA_READY: // your code break; case NT_SYSTEM_EVENT_MODULE_DATA_READY: // your code break; case NT_SYSTEM_EVENT_DATA_OVERFLOW: // your code break; case NT_SYSTEM_EVENT_SIGNAL_LOW: // your code break; case NT_SYSTEM_EVENT_SIGNAL_HIGH: // your code break; case NT_SYSTEM_EVENT_ELEC_SHORT_VDD: // your code break; case NT_SYSTEM_EVENT_ELEC_SHORT_GND: // your code break; case NT_SYSTEM_EVENT_ELEC_SHORT_ADJ: // your code break; } } */ /*static void Keypad_1_callback_template(const struct nt_control *control, enum nt_control_keypad_event event, uint32_t index) { switch(event) { case NT_KEYPAD_RELEASE: switch (index) { case 0: // your code break; case 1: // your code break; case 2: // your code break; case 3: // your code break; default: // your code break; } break; case NT_KEYPAD_TOUCH: switch (index) { case 0: // your code break; case 1: // your code break; case 2: // your code break; case 3: // your code break; default: // your code } break; } } */ /*static void ASlider_2_callback_template(const struct nt_control *control, enum nt_control_aslider_event event, uint32_t position) { switch(event) { case NT_ASLIDER_MOVEMENT: // your code break; case NT_ASLIDER_ALL_RELEASE: // your code break; case NT_ASLIDER_INITIAL_TOUCH: // your code default: // your code break; } } */ /*static void ASlider_2_callback_template(const struct nt_control *control, enum nt_control_aslider_event event, uint32_t position) { switch(event) { case NT_ASLIDER_MOVEMENT: // your code break; case NT_ASLIDER_ALL_RELEASE: // your code break; case NT_ASLIDER_INITIAL_TOUCH: // your code default: // your code break; } } */ Can someone please explain, why this is happening? Thanks in advance. NXP-TOUCH-SOFTWARE FRDM-TOUCH  Freedom Development Platform Kinetis E Series MCUs Re: Touch Sensing Example with usafa key detector not working any more I found the issue why with previous parameters touch is not working, it is due to the fact that in the touch library there is a new setting which is "newCalc". const tsi_config_t tsi_hw_config; typedef struct { tsi_selfCap_config_t configSelfCap; /*!< Hardware configuration for self capacitance measurement */ tsi_mutualCap_config_t configMutual; /*!< Hardware configuration for mutual capacitance measurement */ uint16_t thresl; /*!< Low threshold for out-of-range interrupt (wake-up from low-power) */ uint16_t thresh; /*!< High threshold for out-of-range interrupt (wake-up from low-power) */ bool newCalc; /*!< Use new calculation for Self cap */ } tsi_config_t; And in the project it was set to "true", and due to this things was not working. I updated this to "false" and touch started working fine. I need to understand what impact is this "true" is doing, in case someone can explain it will be really helpful.
查看全文
SJA1110ポート2 PHYからMAC こんにちは SPIとRMIIを介して外部マイクロコントローラに接続されたSJA1110を持っています。 SPI設定のアップロードにより、スイッチを動作させることができました。 どうやら、マイコンはRMIIインターフェースを使用できるようで、MII_PHYSID1を読み出してMII_PHYSID2 0x001BB012。 ただし、何をしても、リンクステータスを「アップ」にすることはできません。PHYはイーサネットケーブルでコンピューターに接続されています。 非常に長いマニュアルを書いた後でも、RMII インターフェイスで使用するためにポート 2 PHY を特別な方法で設定する必要があるかどうかは、まだ私には不明です。 無効にする必要がある電源オフのようなものはありますか? 一般的な手順がTJA1100に匹敵するかどうか、誰かが知っていますか? ありがとうございます Re:SJA1110ポート2PHYからMACへ 今はうまくいっています。RGMII Tx クロックは外部 CPU によって生成され、ファームウェアで間違ったクロック ソースが選択されています。正しく設定されたクロック ソースに設定すると、イーサネットが rx と tx で機能するようになりました。
查看全文
PN512のRXピンと、そのピンにあるADCのIおよびQチャネルの目的は何ですか? PN512のADC IおよびQチャネルの目的がわかりません。PN512は、レジスタ0x3bを読み取ることによって値を読み取る方法を提供しますが、取得している値が何を表しているのか理解できません。 フィールドをオフにすると、値は 0x88 になります。 フィールドをオンにすると、0xf0、場合によっては0xffの値が得られます。 どなたかご説明をいただければ幸いです。 ありがとうございます NFCフロントエンド・ソリューション NFCリーダー・ライブラリ Re: PN512 の RX ピンと、そのピンにある ADC の I チャネルと Q チャネルの目的は何ですか? ご返信ありがとうございます、 フォローアップとして、レジスタを読み出しているときに、そのレジスタの値は何を表しています0x3B電圧。現在の。 PN512のドキュメントでは、単に「ADC I/Qチャネルの実際の値」と説明しています。どんな価値があるの? その値を使用してタグの存在を検出する方法はありますか? ありがとうございます
查看全文
SIUL write pin time Hello I'm trying to measure my function time using a pin configured as SIUL output, but I realize that running a pin HIGH and LOW takes between 1.8us and 2.2us (measured using an oscilloscope). I'm using the function Siul2_Dio_Ip_WritePin defined in the RTD drivers. The MCU is the S32K311 running at 160MHz and SIUL peripheral at 30MHz.  The datasheet specifies that the pin rising/falling time (hw) is between 1 and 18ns, so the rest of time must be in consumed by the RTD driver, checking the disassembly it doesn't seem that this function needs too much time. Am I missing something? Why does the MCU need ~2us to run a write pin command? Re: SIUL write pin time Ok, I removed the LOCK/UNLOCK section of the Siul2_Dio_Ip_WritePin function and now it takes 265ns. As you said if each instruction takes 5 cycles and REGISTER SET section needs 10 instructions it must be 400ns, which more or less matches with the 265ns measured. Thanks for the support! Re: SIUL write pin time Hello, Well, even if you do it in OPCODE you will need some load /store instructions executed. So it will be like: 1. load data into core registers 2. load address of periphery 3.. store the data into periphery register So you will need approximately 5 instructions with average of 5 cycles each. so in final 5x5 = 25 cycles. For exact calculations refer to the core programming manual where instruction cycles are explained. But since you are using RTD drivers, you wont mix them with custom code, as you will have hard time doing so. Simply there is too much overhead as people these days do not want to understand the device from low level and optimize the code. They want simple and fast way how to program their application and therefore it creates such overhead and require us to create more and more powerful devices to be able handle such overhead. Best regards, Peter Re: SIUL write pin time Assuming the following code: while(1) { Siul2_Dio_Ip_WritePin(DEBUG_1_PORT, DEBUG_1_PIN, 0); Siul2_Dio_Ip_WritePin(DEBUG_1_PORT, DEBUG_1_PIN, 1); } Stepping into the Siul RTD drivers: void Siul2_Dio_Ip_WritePin(... args ...) { ... empty asserts ... /* LOCK code */ SchM_Enter_Dio_DIO_EXCLUSIVE_AREA_01(); /* End LOCK code /* REGISTER SET code Siul2_Dio_Ip_PinsChannelType pinsValues = (Siul2_Dio_Ip_PinsChannelType)base->PGPDO; pinsValues &= (Siul2_Dio_Ip_PinsChannelType)(~((Siul2_Dio_Ip_PinsChannelType)1U << (15U - pin))); pinsValues |= (Siul2_Dio_Ip_PinsChannelType)(((Siul2_Dio_Ip_PinsChannelType)value & 1U) << (15U - pin)); base->PGPDO = pinsValues; /* End REGISTER SET code /* UNLOCK code */ SchM_Exit_Dio_DIO_EXCLUSIVE_AREA_01(); /* End UNLOCK code */ } I split into 3 sections, LOCK + REGISTER SET + UNLOCK, if I list the operations done during REGISTER SET: 1 x memory read 2 x substractions 2 x bit shift 4 x logic operations 1 x memory write Using a Cortex M7 (S32K311) I assume one cycle per operation will take aprox 10 cycles, at 120MHz core clock == 83ns (correct me if I'm wrong). So I assume that most of that 2us time I see comes from the LOCK/UNLOCK sections. Can I remove theLOCK/UNLOCK sections from RTD assuming the code is as simple as shown above? Re: SIUL write pin time Hello, The datasheet specifies that the pin rising/falling time (hw) is between 1 and 18ns This is the switch of pin level time when your SW ask for it and the micro deliver the signal to the port pin. Also it depends how do you measure the event. Fastest way is to simply which it via GPDO in debugger which will do the direct write to the register. RTDs are not efficient, and if you are running the switch in interrupt or in some OS task is even worse. I would say, that 2us is reasonable time, considering all that added SW and measurement delay. Best regards, Peter
查看全文
有没有办法通过 sysfs 访问 SNVS? 我想要的是访问/处理单调计数器以进行回滚保护。 有什么方法可以通过 sysfs 访问这个单调计数器吗? 如果不可能的话,建议从用户空间程序访问单调计时器的方法是什么? 回复:有没有办法通过 sysfs 访问 SNVS? 感谢您的澄清。
查看全文
PCA6416A HI Team, Can PCA6416A  IO pins be driven before VCC is applied? Kindly confirm. Thanks, Vidhya Re: PCA9539RBS,118 Thanks Tomas. I hope I can use PCA9539RPW,118 which meets IO pins driven before VCC is applied. Regards, Vidhya Re: PCA9539RBS,118 Hi Vidhya, The support ticket (case) can be created here: https://support.nxp.com/s/?language=en_US BRs, Tomas Re: PCA6416A Hi Michs,  PCA9539RBS,118 meets my requirement of IO pins driven before VCC is applied. Can you confirm the same? Thanks and Regards, Vidhya Re: PCA9539RBS,118 Hi Tomas, what is your feedback on 1st point? Can you share link to raise support ticket? Thanks and Regards, Vidhya Re: PCA9539RBS,118 Hi Thomas, Any feedback on the 1st point? Thanks, Vidhya Re: PCA9539RBS,118 Hi Vidhya, Regarding the longevity and details in the second question, please create a standard support ticket for my colleagues dealing with such non-technical questions. BRs, Tomas Re: PCA9539RBS,118 Hi Tomas, ok. PCA9539RBS,118 meets my requirement of IO pins driven before VCC is applied. 1. But there is a response from NXP that this part will be WIT?? Kindly confirm if this part can be used? or is there any other series for my requirement? 2. I need the following details of the selected part Confirmation on whether this part is currently ACTIVE REACH ROHS FIT (Failure In Time) MSL ECCN FINISH EOL Part Availability for 10 years Kindly revert. Thanks and Regards, Vidhya Re: PCA6416A Hi Vidhya, Yes, it does. BRs, Tomas Re: PCA6416A Hi Tomas,  Does PCA9539 allows IO pins driven before VCC is applied? Kindly confirm. Regards, Vidhya Re: PCA6416A HI Tomas, can you suggest an I2C based 16bit NXP IO expander part which supports IO pins available before VDD? Thanks, Vidhya Re: PCA6416A Hi Vidhya, The statement in the AN469 regarding PCA9501 IO pins being driven before VCC is specific to that device. The PCA6416A's internal structure differ from the PCA9501 and we do not really recommend applying voltage to I/O pins before VDD(P). BRs, Tomas Re: PCA6416A HI Team, Refer to the link below, https://www.nxp.com/docs/en/application-note/AN469.pdf page no: 37, question No:5 specifies it is ok to drive IO pins before VCC is applied. Kindly clarify. Thanks, Vidhya Re: PCA6416A No, the IO pins of the PCA6416A should not be driven before applying VCC. Driving them without power can damage the device and lead to unpredictable AZ DMV behavior. Always apply VCC first, allow for stabilization, and then drive the I/O pins. Refer to the datasheet for specific guidelines and operating ranges. Re: PCA6416A Hi Vidhya, The I/O pins should not be driven before VDD(P) is applied as this could lead to unintended behavior or damage. All I/Os are initialized as inputs at power-on and are only functional after VDD(P) reaches its operating level​. BRs, Tomas Re: PCA6416A No, the IO pins of the PCA6416A should not be driven before applying VCC. Driving them without power can damage the device and lead to unpredictable behavior. Always apply VCC first, allow for stabilization, and then drive the I/O pins. Refer to the datasheet for specific guidelines and operating ranges.
查看全文
Yocto での i.MX8MP のパイプワイヤ インプリメンテーション A2DPとHFPを実装するために、これらのプロファイルにパイプワイヤーとワイヤー配管工を実装しているこのUM11490マニュアルに従っていました。現在、yoctoの5.15ブランチを使用しています。pipewireとwireplumberのパッケージを追加しましたが、pipewireサービスを開始できず、ログは次のとおりです。 root@imx8mp-lpddr4-evk:~# journalctl -xeu pipewire.service > log.txt root@imx8mp-lpddr4-evk:~# cat log.txt Apr 28 20:13:56 imx8mp-lpddr4-evk pipewire[445]: [W][00006.220577] pw.context | [ context.c: 374 pw_context_new()] 0xaaaae7d41a40: can't load dbus library: support/libspa-dbus Apr 28 20:13:56 imx8mp-lpddr4-evk pipewire[445]: [E][00006.696141] pw.module | [ impl-module.c: 278 pw_context_load_module()] No module "libpipewire-module-rt" was found Apr 28 20:13:56 imx8mp-lpddr4-evk pipewire[445]: [E][00006.713110] pw.module | [ impl-module.c: 278 pw_context_load_module()] No module "libpipewire-module-profiler" was found Apr 28 20:13:56 imx8mp-lpddr4-evk pipewire[445]: [E][00006.713160] pw.conf | [ conf.c: 560 load_module()] 0xaaaae7d41a40: could not load mandatory module "libpipewire-module-profiler": No such file or directory Apr 28 20:13:56 imx8mp-lpddr4-evk systemd[1]: pipewire.service: Failed with result 'exit-code'. -- Subject: Unit failed -- Defined-By: systemd -- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- The unit pipewire.service has entered the 'failed' state with result 'exit-code'. Apr 28 20:13:58 imx8mp-lpddr4-evk systemd[1]: Failed to start PipeWire Multimedia Service. -- Subject: A start job for unit pipewire.service has failed -- Defined-By: systemd -- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- A start job for unit pipewire.service has finished with a failure. -- -- The job identifier is 642 and the job result is failed. これらのエラーの原因となっている欠落しているパッケージは何ですか? ありがとうございます! よろしくお願いいたします。 Re: Yocto での i.MX8MP のパイプ配線実装 おかげで、Pulseaudioで実行することができました。 Re: Yocto での i.MX8MP のパイプ配線実装 こんにちは、返信が遅れてしまい申し訳ございません。 5.15 Linux BSP はデフォルトで PulseAudio を使用し、L6.6.3_1.0.0 リリース以降は PipeWire に置き換えられています。PipeWireの実装には追加のレイヤーが必要ですが、このレシピを取得するための参照として最新のリリースを使用するか、PipeWireがすでに実装されている最後のリリースを直接使用できます。 ユーザーは、ブートアップ後に初めて次のコマンドを実行して PipeWire を起動する必要があります。 systemctl --user --now enable pipewire wireplumber pipewire-pulse よろしくお願いいたします。 Re: Yocto での i.MX8MP のパイプ配線実装 こんにちは、カスタムボード、i.MX8MPは、私たちのディストリビューションと5.15カーネルバージョンのkirkstoneブランチにyoctoを使用しています。モジュールは AW-CM358 は NXP ベースの 88W8987 です。これがbbappendです DISTRO_FEATURES:append = " pulseaudio bluetooth bluez-lc3 パイプワイヤー" パイプワイヤーパイプパルスワイヤー配管工 \ " パルスオーディオ \ DISTRO_FEATURES:append = " pulseaudio bluetooth bluez-lc3 パイプワイヤー" モジュールはHFPをサポートしていると仮定しますが、私の場合、なぜパイプワイヤーを使用できないのか、以前に提供したログによると欠落しているパッケージは何ですか?
查看全文
S32K392:符合 EASA CM SWCEH 001 的产品服务体验 (PSE) 嗨,恩智浦团队, 我们希望在我们的新 DO-254 DAL C 航空航天应用中使用 S32K392 设备。 为了对其进行认证,我需要了解该设备的“产品服务体验 (PSE)”。 PSE 是 EASA CM 的一项要求, https://www.easa.europa.eu/sites/default/files/dfu/certification-docs-certification-memorandum-EASA-CM-SWCEH-001-Development-Assurance-of-Airborne-Electronic-Hardware.pdf ,有关 PSE 要求,请参阅 CM 第 46 页。 该文件指出: 对于分配了 DAL C 的组件,如果满足以下标准,则产品服务体验为“足够的 PSE”[...]: [飞机应用 + 安全应用 + 其他应用的小时数] >10^5" 事实上我必须证明,该设备在任何应用中的使用时间都超过 10^5 小时。能否向我发送有关该设备销售数据的官方声明(保密协议已经到位)?我现在不需要这些数字,因为开发才刚刚开始,但在 2026 年,在认证阶段,我需要这些数字。通过这些数字,我可以估算出 PSE(即PSE ~ 销售设备数量 * 10 分钟操作/天)。 我愿意接受任何其他能够阐明充分的 PSE 的提议。 如果无法证明足够的 PSE 等级,我们就不能使用该处理器。但最好在项目开始时就得到这个答案(=现在 😉 )。 感谢您的支持。 阿恩 回复:S32K392:产品服务体验 (PSE) 符合 EASA CM SWCEH 001 对于档案和未来的读者: EASA 刚刚告诉我们 CM SWCEH 001 不再有效,但 AMC20-152A( https://www.easa.europa.eu/en/document-library/easy-access-rules/online-publications/easy-access-rules-acceptable-means?page=25 )第 6 节仍然有效。 S32K396 是一种复杂的 COTS 设备(第 6.4 节),并且根据 DAL,必须满足 COTS-1 至 COTS-8 的目标。 回复:S32K396:产品服务体验 (PSE) 符合 EASA CM SWCEH 001 抱歉,我的零件编号打错了。我们计划使用S32K396
查看全文