Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
IMX415カメラ移植 imx8mplus こんにちは、 私は、Sony IMX415 カメラ センサを NXP i.MX8M Plus (IMX8MP) プラットフォームに移植する作業に取り組んでいます。 移植プロセス中に、ISP チューニング ツールを使用してXML ファイルを生成することがいくつかの参照で言及されています。 私の質問は次のとおりです: IMX415 を IMX8M Plus で動作させるには本当に XML ファイルを生成する必要がありますか? これらの XML ファイルは、基本的なセンサの起動 (V4L2 / ISI を介したストリーミング) に必須ですか? XML 生成を回避する回避策または最小限の構成方法はありますか? IMX8Mプラス Re: IMX415 camera porting imx8mplus これは良い質問ですね。 ここでわかるように、xml 構成/キャリブレーション ファイルは依然として必要です。 -AN13712: 8MP ISP OS08A20 センサ -AN13713: 8MP ISP 新カメラ移植 しかし、NXP が最近これを削除した理由はわかりません。 Re: IMX415 camera porting imx8mplus 私見では、xml ファイルが必要です。最初は同じ解像度のものを使用して、後で微調整することCAN。 以下も参照: https://community.nxp.com/t5/i-MX-Processors/IMX8M-Plus-ISP/mp/2220156/emcs_t/S2h8ZW1haWx8dG9waWNfc3Vic2NyaXB0aW9ufE1JN0JJTUJFRVZXMTA2fDIyMjAxNTZ8U1VCU0NSSVBUSU9OU3xoSw#M242307 Re: IMX415 camera porting imx8mplus こんにちは、 その XML ファイルに関してもう一つ疑問があります。 現時点ではカメラ センサ OS08A20 の XML ファイルがありますが、同じ XML ファイルを imx415 センサに使用できますか? Re: IMX415 camera porting imx8mplus 返信ありがとうございます。しかし、最近の isp-imx プロジェクトから xml ファイルが削除されるというのはどういう意味ですか?新しいカメラセンサを移植する際にはそれらは不要になりますか? Re: IMX415 camera porting imx8mplus PS: バイパスするように設定した場合でも、Dewarp モジュールを構成する必要があるため、対応する json ファイルも必要です。 Re: IMX415 camera porting imx8mplus XML ファイルを取得するにはどうすれば CAN ますか?何かアイデアがあれば教えてください。OS08A20 の場合、「Sensor0_Entry_os08a20.cfg」という名前のファイルがあり、ファイル内には次の内容が含まれています。 名前="os08a20" drv = "os08a20.drv" モード= 0 [モード.0] xml = "OS08a20_8M_10_1080p_リニア.xml" dwe = "dewarp_config/sensor_dwe_bypass_1080P_config.json" [モード1] xml = "OS08a20_8M_10_1080p_hdr.xml" dwe = "dewarp_config/sensor_dwe_bypass_1080P_config.json" [モード2] xml = "OS08a20_8M_10_4k_linear.xml" dwe = "dewarp_config/sensor_dwe_bypass_4K_config.json" [モード3] xml = "OS08a20_8M_10_4k_hdr.xml" dwe = "dewarp_config/sensor_dwe_bypass_4K_config.json 私の疑問は、これらの json ファイルが必要かどうかということです。 Re: IMX415 camera porting imx8mplus 最近の isp-imx プロジェクトから xml ファイルは削除されましたが、以前のプロジェクトからは取得CANます。 isp-imx-4.2.2.xx.0.bin の xx を以前のバージョンに置き換えます。 例を確認してください: https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/isp-imx-4.2.2.18.0.bin https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/isp-imx-4.2.2.20.0.bin 等...
查看全文
如何根据不同的 DDR 大小调整 i.MX8MP 的预留内存? 恩智浦专家您好, 我们搜索了整个社区,但没有找到满意的答案。 以下是恩智浦 Linux 6.12 中 imx8mp.dtsi 中的预留内存节点 reserved-memory { #address-cells =<2>; #size-cells =<2>; ranges; /* * 保留给 optee 使用的内存。请勿使用。 * 如果安装了 OP-TEE,则会自动将此添加到 dtb 中。 * optee@56000000 { * reg =<0 0x56000000 0 0x2000000>; * no-map; * }; */ /* 用于连续分配的全局自动配置区域 */ linux,cma { compatible ="shared-dma-pool" ; 可重复使用; size =<0 0x3c000000>; alloc-ranges =<0 0x40000000 0 0xC0000000>; linux,cma-default; }; gpu_reserved: gpu_reserved@100000000 { no-map; reg =<0x1 0x00000000 0 0x10000000>; }; dsp_reserved: dsp@92400000 { reg =<0 0x92400000 0 0x1000000>; no-map; }; dsp_reserved_heap:dsp_reserved_heap@93400000 { reg =<0 0x93400000 0 0xef0000>; no-map; }; dsp_vdev0vring0: vdev0vring0@942f0000 { reg =<0 0x942f0000 0 0x8000>; no-map; }; dsp_vdev0vring1: vdev0vring1@942f8000 { reg =<0 0x942f8000 0 0x8000>; no-map; }; dsp_vdev0buffer: vdev0buffer@94300000 { compatible ="shared-dma-pool"; reg =<0 0x94300000 0 0x100000>; no-map; }; }; 1.i.MX8MP 的 DDR 大小为 2GB/4GB/8GB,如何调整预留内存/Linux,cma/大小和预留内存/Linux,cma/分配范围?(很明显,对于 2GB DDR 而言,大小(960MB)过大,而且分配范围也超出了 2GB DDR 的范围)。 2.Execpt linux,cma/size 和 linux,cma/alloc-ranges,在不同的 DDR 大小 2GB/4GB/8GB 时,是否还需要更改其他属性? 3. 对于 2GB ddr,gpu_reserved 节点的注册表显然 超出了范围,应该如何更改? 我们注意到恩智浦的 linux6.12 arch/arm64/启动/dts/freescale/imx8mp-tqma8mpql-mba8mpxl.dts 中的预留内存/linux、cma/size & alloc-ranges 发生了变化: reserved-memory { #address-cells =<2>; #size-cells =<2>; ranges; /* 用于连续分配的全局自动配置区域 */ linux,cma { compatible ="shared-dma-pool"; reusable; size =<0 0x38000000>; alloc-ranges =<0 0x40000000 0 0xB0000000>; linux,cma-default; }; }; 4. 是什么触发了这次修改?是因为 DDR 大小不同吗? 我们还注意到,在恩智浦的linux 6.12 arch/arm64/启动/dts/freescale/imx8mp-evk-root.dts中,节点/预留内存发生了更多变化。 &{/reserved-memory}{ jh_reserved: jh@fdc00000 { no-map; reg =<0 0xfdc00000 0x0 0x400000>; }; loader_reserved: loader@fdb00000 { no-map; reg =<0 0xfdb00000 0x0 0x00100000>; }; ivshmem_reserved: ivshmem@fda00000 { no-map; reg =<0 0xfda00000 0x0 0x00100000>; }; ivshmem2_reserved: ivshmem2@fd900000 { no-map; reg =<0 0xfd900000 0x0 0x00100000>; }; pci_reserved: pci@fd700000 { no-map; reg =<0 0xfd700000 0x0 0x00200000>; }; inmate_reserved: inmate@c0000000 { no-map; reg =<0 0xc0000000 0x0 0x3d700000>; }; }; &{/reserved-memory/linux,cma}{ size =<0 0x28000000>; alloc-ranges =<0 0x40000000 0 0x60000000>; }; 5. 在什么情况下应使用新增节点 jh_reserved/loader_reserved/ivshmem_reserved/ivshmem2_reserved/pci_reserved/inmate_reserved? 请提供详细解释,以解决我的上述疑惑。 i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: How to adjust i.MX8MP's reserved-memory accroding different DDR size? 你好,豪尔赫-卡斯、 我们非常感谢你们的帮助。 我们对 Quction6 仍有疑虑。 在我们配备 2GB/4GB/8GB DDR 的自定义 imx8mp 板中(基于带有 6GB DDR 的 imx8mpevk 板),我们为每块不同的 DDR 板单独设置了 u-boot.imx,并在 linux6.12 源代码中保留以下 “内存 @40000000” 节点不变形式 imx8mp-evk.dts。 内存 @40000000 {d evice_type = " 内存 "; reg =,;<0x0 0x40000000 0 0xc0000000> <0x1 0x00000000 0 0xc0000000>//3GB+3GB =6 GB};而且我们的 imx8mp 主板运行良好 。此外,他们还能通过洞穴夜间记忆测试。 以下是我配备 4GB DDR 的 imx8mp 板: root@router:/#free 已使用的可用共享缓冲区/缓存总数 内存3686580 159528 2914044 19536 613008 3458156 //Recognizing atotal of 3686580 KB is reasonable for 4GB DDR. 交换:0 0 0 root@router:/# /media/MCB2/memtester 3G memtester 版本 4.3.0(32 位) 版权所有 (C) 2001-2012 Charles Cazabon。 根据 GNU 通用公共许可证第 2 版(仅)授权。 pagesize 是 4096 pagesizemask 是 0xffff000 想要 3072MB(3221225472 字节)获得 3072MB(3221225 472 字节),正在尝试 mlock... 锁定。 循环 1: 卡住地址:测试 3 [3326.210063] clean_cache.sh (100707):drop_caches:1 [3326.277139] clean_cache.sh (100707):drop_caches: 2 [3326.316299] clean_cache.sh (100707):drop_caches:3 ok 随机值: ok 比较异或:ok 比较异或:ok 比较 MUL:ok 比较 DIV:好对比 DIV:好对比 DIV: 好对比比较 AND:ok 顺序增量:ok 实心位:ok 方块 顺序:ok Checkerboard:ok Bit Spread :ok ...// 通宵测试表明没有问题。 以下是 4GB DDR 设备内核启动阶段的内存信息:[0.000000] 机器型号:恩智浦 i.mx8mPlus EVK 板 [0.000000] efi:未找到 UE FI。 [ 0.000000] Reserved memory: created CMA memory pool at 0x00000000c4000000, size 960 MiB [ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool [ 0.000000] OF: reserved mem:0x00000000c4000000..0x00000000ffffffff (983040 KiB) map reusable linux,cma [ 0.000000] OF: reserved mem:0x0000000057c00000..0x0000000057ffffff (4096 KiB) nomap non-reusable optee_shm@0x57c00000 [ 0.0000000000] OF: reserved mem:0x0000000056000000..0x0000000057bfffff (28672 KiB) nomap non-reusable optee_core@0x56000000 [ 0.000000] OF: reserved mem:0x0000000100000000..0x000000010fffffff (262144 KiB) nomap non-reusable gpu_reserved@100000000 [ 0.000000] OF: reserved mem:0x0000000092400000..0x00000000933fffff (16384 KiB) nomap non-reusable dsp@92400000 [ 0.000000] OF: reserved mem:0x0000000093400000..0x00000000942effff (15296 KiB) nomap non-reusable dsp_reserved_heap@93400000 [ 0.000000] OF: reserved mem:0x00000000942f0000..0x00000000942f7fff (32 KiB) nomap non-reusable vdev0vring0@942f0000 [ 0.000000] OF: reserved mem:0x00000000942f8000..0x00000000942fffff (32 KiB) nomap non-reusable vdev0vring1@942f8000 [ 0.000000] Reserved memory: created DMA memory pool at 0x0000000094300000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node vdev0buffer@94300000, compatible id shared-dma-pool [ 0.000000] OF: reserved mem:0x0000000094300000..0x00000000943fffff (1024 KiB) nomap non-reusable vdev0buffer@94300000 [ 0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x000000013fffffff][ 0.000000] NODE_DATA(0) allocated [mem 0x13f84a840-0x13f84d3bf] [ 0.000000] 区域范围: [ 0.000000] DMA [mem 0x0000000040000000-0x00000000ffffffffff] [ 0.000000] DMA32 空 [ 0.000000] 正常 [mem 0x0000000100000000-0x000000013ffffffff] [ 0.000000] 每个节点的可移动区域起点 [ 0.000000] 早期内存节点范围 [ 0 .000000] 节点 0: [mem 0x0000000040000000-0x0000000055ffffff] [ 0.000000] 节点 0: [mem 0x0000000058000000-0x00000000923ffffff] [ 0.000000] 节点 0: [mem 0x0000000092400000-0x00000000943ffff] [ 0.000000] 节点 0: [mem 0x0000000094400000-0x0000000000ffffff] [ 0.000000] 节点 0: [mem 0x0000000100000000-0x000000010ffffff] [ 0.000000] 节点 0: [mem 0x0000000110000000-0x000000013ffffff] [ 0.000000] Initmem 设置节点 0 [mem 0x0000000040000000-0x000000013ffffff] [ 0.000000] 在节点 0 上,区域 DMA: 8192 页在不可用范围内 1。你能找出任何由实际为 4GB 的 DDR 设备的内存 @40000000 节点中的 6GB 注册内存配置造成的不合理日志吗? 2. 所以我推测内核不会仅根据 DTS 中的内存 @40000000 /reg 内存配置来计算内存范围。取而代之的是,它通过组合实际物理内存大小来全面确定范围,该大小通过 ATAG 从 U-启动 传递到内核。换句话说,我认为可能没有必要为 2GB/4GB/8GB 内存配置准备单独的 DTB 文件。你能为我们确认一下吗? 再次感谢您。 Re: How to adjust i.MX8MP's reserved-memory accroding different DDR size? 你好 1. 没有具体的文档可以调整设备树中的预留内存节点,因为这些值取决于 DDR 大小和您的应用程序,唯一的限制将是参考手册内存映射中描述的为每个模块分配的最大内存区域。 以电路板支持包为单位的默认 CMA 大小可以是 960MB,正如你提到的 2GB DDR,960MB 太大了,通常的做法是将 CMA 减少到 256MB—512MB 或类似的容量。必须在有效的 DDR 空间内集中分配。 2. 无需添加其他属性。 3. 例如,您可以根据设计中的可用尺寸重新组织每个节点: gpu_reserved: gpu_reserved@70000000 { no-map; reg = <0 0x70000000 0 0x10000000>; }; 其他人的情况也类似。 4. 该设备树用于虚拟机管理程序的预留内存。 5. 这些节点用于 Jailhouse/PCIe/虚拟化,如果不使用它们,可以省略这些节点。 您可以将本文档用作参考以获取更多信息。 i.MX 虚拟化用户指南 6. 是的,它应该与每个 DDR 大小相匹配。 顺祝商祺! Re: How to adjust i.MX8MP's reserved-memory accroding different DDR size? 第 6 条:(附加 ) reg 属性是否在内存 @40000000 节点中(在 arch/arm64/启动/dts/freescale/imx8mp-evk.dts 中)是否需要根据 DDR 容量(2GB/4GB/8GB)进行修改? 内存 @40000000 {d evice_type = " 内存 "; reg<0x0 0x40000000 0 0xc0000000> <0x1 0x00000000 0 0xc0000000> =,;} ;如果是, 这是否意味着我们具有不同 DDR 大小的自定义 i.mx8M P 板需要单独的 DTB 文件? 提前思考! Re: How to adjust i.MX8MP's reserved-memory accroding different DDR size? 你好 JorgeCas, 既然内核将使用从 U-启动 传递的 DDR 大小,那么在 DTS 中配置内存 @40000000 /reg 的目的是什么? Re: How to adjust i.MX8MP's reserved-memory accroding different DDR size? 你好 感谢您提供的信息。 1. 没有错误或警告等关键日志,内核仅使用 U-启动 提供的内存范围。 2. 内核同时使用 U-boot 和 DTS 配置。 在设备树中,即使你没有足够的物理内存,你也可以分配更多的虚拟内存,但是如果你的内存使用量很大,系统可能会崩溃。 顺祝商祺! Re: How to adjust i.MX8MP's reserved-memory accroding different DDR size? 你好 我与内部团队进行了确认。 U-启动配置包含有关可用物理 DDR 内存的正确数据,但是 DTS 预留内存节点也会传递给内核,在你的情况下,你可以在节点中分配更多的虚拟内存,但是如果你用尽了所有的物理预留内存,你会因为没有可用内存、物理地址不存在或者由于它可能被其他模块使用而出现资源问题。 正如你所提到的,你需要调整预留内存以适应每块板,它可以正常工作,但是如果你的内存使用量很大,你可能会出现错误/内核错误。 我将更正上次的回复。 顺祝商祺!
查看全文
MPC5746C 中的安全模式行为 我已根据附图配置了安全模式。当 ECU 进入 "安全模式 "时,MCU 只能在下一个电源周期恢复,而不能在同一周期内恢复(这是否符合预期?)使用 SIUL2_MSCR[SMC],我可以根据应用或 ASIL 要求保留输出引脚状态。 我的问题是 在安全模式下,程序代码是否继续运行? 仅指保持最后状态(SMC===1)或高阻抗(SMC===0)的 I/O 引脚。 我试图理解这一点,因为 在安全模式下,我没有看到任何 CAN 信息传输。 在安全模式下,我无法使用 Trace32 连接 MCU。 如果应用程序在 SAFE 模式下继续运行,我如何使用 Trace32 在该模式下进行调试?或者在 SAFE 模式下,应用程序将停止& ,无法进行通信或 trace32 访问。 Re: SAFE MODE Behavior in MPC5746C 如果 PDO 位已开启,则 ECU 将进入电源模式 现在,我可以通过 trace32 进行调试。禁用 PDO 位后 关于安全模式下的时钟行为,我有几个问题: 我配置 MC_CGM.AC5_SC[SELCTL] = FXOSC,以使用稳定的外部时钟源。不过,当软件进入 SAFE 模式时,系统会自动切换到由 MC_ME 模块控制的FIRC 时钟。即使在进入 SAFE 模式后,MC_CGM.AC5_SC[SELCTL] 仍将FXOSC报告为选定的信号源。 所以我的问题是 设备进入安全模式后,我需要手动将时钟源重新配置为 FIRC 吗? 还是说,由于安全模式会自动强制使用内部 RC 振荡器,而不管 CGM 设置如何,因此没有必要这样做? 此外,我注意到 MC_CGM.SC_SS[SWTRG] = 0b100,这意味着: “由于安全模式请求或 RESET 成功,切换到 16 MHz 内部 RC 振荡器。” 此外,在安全模式下,为什么 CAN 通信在进入安全模式时不起作用。这是微控制器的默认操作吗? Re: SAFE MODE Behavior in MPC5746C 添加@rweiss 你知道设备处于安全模式时调试是否存在已知问题吗?谢谢 Re: SAFE MODE Behavior in MPC5746C 我尝试手动更改(PD0=0),但操作没有任何区别,如果我停止在 trace32 中执行,就会出现以下错误。安全模式下似乎没有程序代码运行。在 SAFE_MODE 模式下的预期行为是什么? AshokSubramani_0-1748953011213.png Re: SAFE MODE Behavior in MPC5746C 与其他模式不同,MC_ME_SAFE_MC[PDO] 应该是可写的。所以 我认为这是配置器的问题。 Re: SAFE MODE Behavior in MPC5746C 在 SAFE 模式配置中,我无法将 PD0 位设置为"0" ,因为配置器不允许我禁用 PD0 位。在验证过程中失败。 Re: SAFE MODE Behavior in MPC5746C 您可以对每个引脚进行单独配置。 davidtosenovjan_0-1748948377514.png Re: SAFE MODE Behavior in MPC5746C 如果我没有设置 PDO 位,那么安全模式的目的是什么...?根据功能安全手册,我们需要设置PDO位以启动安全模式。此外,我无法在安全模式下禁用 PDO 位。 查询 : 1.如果是,如何配置? 2.为什么我无法在安全模式下看到跟踪 32? AshokSubramani_0-1748937019398.png Re: SAFE MODE Behavior in MPC5746C 显然不应设置该位。 davidtosenovjan_0-1748934251890.png Re: SAFE MODE Behavior in MPC5746C 我附上了使用的配置供你参考,因为我试图将系统时钟开关更改为 PLL_PHI0,但它不起作用。安全模式配置的推荐配置是什么? 我的 CAN 时钟配置为 F40,因此 CAN 通信无法正常工作?要在安全模式下支持 CAN 通信,需要进行哪些配置? 它显示,一旦触发安全模式,我就无法通过trace32访问任何外围设备(lpm-st/sl(安全模式)。在安全模式下,我无法识别系统是否在运行。 AshokSubramani_0-1748866777098.png AshokSubramani_1-1748867290478.png Re: SAFE MODE Behavior in MPC5746C 当然可以,但是需要意识到,在安全模式下,设备由IRC计时,可能会影响通信外围设备的内容。 还请注意以下说明 davidtosenovjan_0-1748863858647.png 我认为当设备处于安全模式时,在 TRACE32 中进行调试不会有问题。
查看全文
S32K144 CSEc Secure Boot - Device Stuck in Secure State, Cannot Unsecure Hardware: S32K144 Development Board IDE: S32 Design Studio Programming: Direct via S32DS Issue Description: I successfully implemented CSEc secure boot on S32K144 with the following steps: Configure keys - Set up MASTER_ECU_KEY and BOOT_MAC_KEY Flash application in flash region - Used Debug_FLASH configuration via S32DS Set up secure boot - Used Debug_RAM configuration via S32DS to store BOOT_MAC After reset - Secure boot working properly Application working - Confirmed with LED indication, BOK=1 Problem: When testing negative case (failure scenario): Try to flash different application in flash region → "Device is secure. Erase to unsecure?" dialog appears Click "Yes" to erase → Same dialog keeps appearing repeatedly Tried factory reset → Still same error Cannot flash any new application Questions: Is clicking "Yes" supposed to perform mass erase automatically? Why does dialog keep reappearing? How to properly unsecure the device using S32DS only? What's the correct procedure? Can I use mass erase command in S32DS? If yes, what's the exact procedure? Is device permanently locked? Or is there a recovery method via S32DS? Current Status: Device appears stuck in secure state. Cannot flash any applications using S32DS. Need step-by-step recovery procedure to unsecure the device. Re: S32K144 CSEc Secure Boot - Device Stuck in Secure State, Cannot Unsecure Which secure boot mode did you configured? There's sequential mode, parallel mode or strict sequential mode.  If sequential or parallel boot mode fails, the only consequence is that boot protected keys cannot be used. That's the only effect, it does not affect your application, it's still executed.  If strict sequential boot mode fails, the device stays in reset forever and there's no way to recover.  ANS: Using the S32K144_CSEc_Secure_boot_add_boot_MAC_Manual example from AN5401sw, we configured serial secure boot with boot mode 1 in the BOOT_DEFINE() function. if boot mode 1 corresponds to strict sequential boot mode, this would explain the permanent reset behavior we're experiencing."   /* Step-3 Define the secure boot flavor and the BOOT_SIZE*/     csec_error = BOOT_DEFINE(128*1024*8, 1); " Did you check the reset signal? Is it released after power-on?  ANS: Yes, I have checked the reset signal. The reset signal remains active (reset LED stays on) after power-on, indicating the device is still in resetting state  Also once CSEc is enabled, mass erase (Erase All Blocks command) is locked: Kishore_14_0-1764067663149.png To enable mass erase, it is necessary to erase all keys by CMD_DBG_CHAL and CMD_DBG_AUTH commands with knowledge of MASTER_ECU_KEY.  ANS: When attempting to flash AN5401_S32K144_CSEc_Resetting_Flash_to_Factory_State, I receive "Device is secure. Erase to unsecure?" dialog. Even after clicking "Yes", the same dialog keeps appearing repeatedly S32DS has "Emergency Kinetis Device Recovery by Full Chip Erase" option. Should we use this to recover the device? Kishore_14_2-1764069429876.png Note: We don't have the debugger setup for flashing and erasing. We are using S32DS for flashing and debugging. Hence need assistance on mass erase.   Re: S32K144 CSEc Secure Boot - Device Stuck in Secure State, Cannot Unsecure Hi @Kishore_14  Which secure boot mode did you configured? There's sequential mode, parallel mode or strict sequential mode.  If sequential or parallel boot mode fails, the only consequence is that boot protected keys cannot be used. That's the only effect, it does not affect your application, it's still executed.  If strict sequential boot mode fails, the device stays in reset forever and there's no way to recover.  Did you check the reset signal? Is it released after power-on?  Also once CSEc is enabled, mass erase (Erase All Blocks command) is locked: lukaszadrapa_0-1764055246465.png To enable mass erase, it is necessary to erase all keys by CMD_DBG_CHAL and CMD_DBG_AUTH commands with knowledge of MASTER_ECU_KEY.  Regards, Lukas Re: S32K144 CSEc Secure Boot - Device Stuck in Secure State, Cannot Unsecure Strict sequential boot mode is configured when Boot Flavor parameter is set to 0: image.png But it does not make sense if you kept original sequential boot: /* Step-3 Define the secure boot flavor and the BOOT_SIZE*/ csec_error = BOOT_DEFINE(128*1024*8, 1); Even if sequential boot fails, this should definitely not cause permanent reset. Did you try to check the signal by an oscilloscope or did you watch the LED only? Isn't the reset signal toggling? If the reset signal is asserted permanently, I'm afraid there's no way to recover.  Re: S32K144 CSEc Secure Boot - Device Stuck in Secure State, Cannot Unsecure As observed directly, LED is not toggling,, It is permanently on. If it is Sequential boot mode, What could be the possibility that the device is on continuous reset when a new application is flashed? How will the device get Secured when all the Flashconfig settings in the examples are as below: /* Flash Configuration */ .section .FlashConfig, "a" .long 0xFFFFFFFF /* 8 bytes backdoor comparison key */ .long 0xFFFFFFFF /* */ .long 0xFFFFFFFF /* 4 bytes program flash protection bytes */ .long 0xFFFF7FFE /* FDPROT:FEPROT:FOPT:FSEC(0xFE = unsecured) */ Can i try Kinetis option for mass erase since no direct debugger flashing possible due to unavailablity. Note: We also observe this case for another board and posted in below link: error: Device is secure. Erase to unsecure - NXP Community Re: S32K144 CSEc Secure Boot - Device Stuck in Secure State, Cannot Unsecure Toggling on the reset pin can be so fast that it might not be visible to the naked eye. And that’s why I asked if you tried it with an oscilloscope. I can see only two reasons for permanent reset: 1. Failed strict sequential boot mode. 2. Hardware issue - typically insufficient voltage, so voltage monitors does not allow to start the device... There's no way how to force the device to permanent reset by (wrong) application. This could only be done in some kind of self-destructive way, for example by setting a GPIO to short-circuit or something similar. The message "Device is secure. Erase to unsecure?" is just general one. Most of the time, this usually means that the debugger was not able to establish the connection ever. And in this case, even if the device is secured, it would not be possible to unsecure it because mass erase operation is blocked by enabled CSEc module. Re: S32K144 CSEc Secure Boot - Device Stuck in Secure State, Cannot Unsecure hi, Toggling on the reset pin can be so fast that it might not be visible to the naked eye. And that’s why I asked if you tried it with an oscilloscope. Did you check the reset signal? Is it released after power-on?  Ans: we observed that reset pin is toggling. Kishore_14_2-1764229793234.png Does it mean that the previous application flashed is stuck in any SW /WDG reset?  can it be recovered via SWD debugger flashing?     Re: S32K144 CSEc Secure Boot - Device Stuck in Secure State, Cannot Unsecure Do you have Segger J-Link probe or Lauterbach debugger to read MDM-AP? Unfortunately that's not possible with Pemicro. There's a rare scenario when the device can be locked. Please check this thread: https://community.nxp.com/t5/S32K/Unbricking-S32K146/m-p/937227 To confirm it, it's necessary to read MDM-AP.  Re: S32K144 CSEc Secure Boot - Device Stuck in Secure State, Cannot Unsecure Unfortunately, we dont have JLink or PE Micro for flashing. We use S32DS OpenSDA for Debugging. Below was mentioned from AN12130, When launching program partition command (PGMPART), be sure to allocate CSEc key size to value different than zero. • Program CSEc keys, at least the MASTER_ECU_KEY. • Erase Keys by issuing CMD_DBG_CHAL and CMD_DBG_AUTH commands. The CMD_DBG_AUTH command will erase the data IFR thus erasing the partition code and allow mass erase to work again. If any CSEc key is ‘write-protected’ the above procedure will not work thus mass erase cannot be launched. QUestion: When we flashed a different application, it flashed successfully in the first attempt. Since the above said sequence is not followed,  upon next reset, new application might got into continuous resets? IS this right ? Re: S32K144 CSEc Secure Boot - Device Stuck in Secure State, Cannot Unsecure OpenSDA is also from Pemicro.  Normally it is possible to program new application by OpenSDA even if CSEc is enabled, even if some keys are write protected etc. That's because it erases the flash block by block, not via mass erase. I meant that AN12130 talks about issues like this: lukaszadrapa_0-1764582832674.png lukaszadrapa_1-1764582841459.png So, these are rather issues when something goes wrong during the programming - unexpected reset or something like that.  Unfortunately the only way to confirm such state is to read mentioned MDM_AP register. Then we could say if the device is locked permanently or not. But the register cannot be read by OpenSDA.  Regards, Lukas
查看全文
Arm-Linux blho <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 您好, 我使用的是 LPC55S69 芯片。 我想在下面介绍 Arm-Linux 的 blhost。 ---< blhost User's Guide.pdf(p.9) 4.1.5-s [, , , , lsb|msb] (通过 SPI 连接) 以下命令可用于通过 SPI 连接 MCU 引导加载程序。此选项对 Arm-Linux blhost 有效。该选项可以有一个、两个或五个参数。 blhost -s - command blhost --spi - command ... --- 我应该去哪里找? 谢谢! 概述 Re: Arm-Linux blhost 在此版本的版本中添加了 AArch64 2.6.7 二进制文件。更新这张旧票,以备日后对他人有所帮助。 https://github.com/gutelfuldead/blhost/releases/tag/v2.6.7 Re: Arm-Linux blhost 你好@chotto2、 我也在尝试从 ARM LINUX 环境中构建 blhost (v2.6.2),我正在使用 arm-linux-gnueabihf-g++/arm-linux-gnueabihf-g++/arm-linux-gnueabi-g++ 进行编译。blhost(v2.6.2) 中的所有 cpp 文件都已编译,但在链接时,只有一个文件 blhost.o 无法链接。 你能否指导,如何成功版本 Arm LINUX 环境中的 blhost (v2.6.2)? 谢谢! 阿比杰特 Re: Arm-Linux blhost <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,萨宾娜、 谢谢您的回答。 我解决了一些问题并成功制作了blhost(v2.6.2)版本。 我使用容器进行版本,方法与 lauszus/BLHost (v2.0.0) 相同。 SPI 开始 测试 在 arm linux 环境下进行通信。 你这么说,Arm-Linux blhost似乎没有版本。 我希望在不久的将来能提供 blhost。 顺祝商祺! 直人 Re: Arm-Linux blhost <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好,直人 希望你一切顺利。 正如另一篇链接文章中所提到的,当前可用的版本只有适用于Linux的amd64和i386版本。没有 ARM 版本。我建议查看这个 github 共享文档。因为它可能是你正在寻找的东西。 版本·laus/BLHost · GitHub 顺祝商祺! 萨宾娜 ----------------------------------------------------------------------------------------------------------------------- 注:如果本帖回答了您的问题,请点击 "正确答案 "按钮。谢谢! ----------------------------------------------------------------------------------------------------------------------- Re: Arm-Linux blhost <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 大家好, 我正在尝试在 Ubuntu 上版本 blhost (v2.6.2),但是我在关注时遇到了麻烦。 没有 lpcusbsio.a在 blhost(v2.6.2) 环境中。 我想去图书馆。 请告诉我该怎么做。 谢谢! 直人 Re: Arm-Linux blhost <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,Sabina, 当然,我已经看过答案并尝试过了。 但我没有在"-s "选项中找到 blhost。 现在,我从以下地址获取了 blhost(v2.6.2) 源文件和 Makefile。 <> 然后我正在制作带有 “-s” 选项的 Arm-Linux blhost。 谢谢。 直人 Re: Arm-Linux blhost <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好,直人 希望你一切都好。我相信下面的帖子已经回答了这个问题: https://community.nxp.com/thread/509321 如有其他问题,请告诉我。 顺祝商祺! 萨宾娜 Re: Arm-Linux blhost <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,萨宾娜 是的,我是这么认为的。 我指的是 blhost 用户指南第 7 版(2020 年 4 月 29 日)。 elftosb_gui_1.0.12/docs 中有相关文档。 谢谢! Re: Arm-Linux blhost <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好 、 希望你一切顺利。 你能否提供你在哪里收到的 arm-linux blhost?另外,你能告诉我你指的是哪个版本的 blhost 用户指南吗? 顺祝商祺! 萨宾娜 ----------------------------------------------------------------------------------------------------------------------- 注:如果本帖回答了您的问题,请点击 "正确答案 "按钮。谢谢! -----------------------------------------------------------------------------------------------------------------------
查看全文
S32 Design Studio for ARM 2.2 – Windows/Linux activation code email Hi!   I'm trying to download "S32 Design Studio for ARM 2.2 – Windows/Linux" and get an activation code emailed to me. When I hit the "Download" button for "S32 Design Studio for ARM 2.2 – Windows/Linux" on the NXP website, I get taken to my NXP 'Profile' page, and the download never occurs.   I'm signed into my typical NXP account and have gone through the steps a few dozen times.   Thank you for your time! -Rich S32 SDK for S32K1 Re: S32 Design Studio for ARM 2.2 – Windows/Linux activation code email Hi Peter, I did download it once, though I never received an activation code for it.   If the activation code was emailed, I didn't receive it. Might have been an issue with our email filters, though I seem to receive NXP email fine now.  Could they resend the activation code? Thanks for your time with this!   Sincerely, Rich Mullen Re: S32 Design Studio for ARM 2.2 – Windows/Linux activation code email Hello, I was talking again to the SW team and they told me it looks that you were able to successfully download it and you also have activation key assigned. Is the issue still valid? Best regards, Peter Re: S32 Design Studio for ARM 2.2 – Windows/Linux activation code email Hello, Ok, Here is the activation code for your machine: A07C-4C9E-C3B9-A436  Best regards, Peter Re: S32 Design Studio for ARM 2.2 – Windows/Linux activation code email Thanks Peter! I got the code and appreciate your time with this!
查看全文
问题 UART_RETRY_TIMES 晚上好、 我在 LPUART_WriteBlocking 和 LPUART_ReadBlocking 模式下使用 LPUART1。如果我的 UART 在一定秒数内没有接收到任何信息,我需要它退出等待模式。我注意到有一个名为 UART_RETRY_TIMES 的参数可以用来设置超时。然而,当我设置该参数时,我发现超时没有设置,但 UART 不再正常工作。您能告诉我如何在超时的情况下退出阻塞模式吗? 谢谢! 顺祝商祺! Re: Issue UART_RETRY_TIMES 你好@Transidico 请问您使用的是哪种芯片? BR 哈利 Re: Issue UART_RETRY_TIMES 你好@Transidico MCXC242 的 LPUART_ReadBlocking() 和 WriteBlocking() 不支持超时退出。 UART_RETRY_TIMES 仅在内部用于 "重试检查标志",并非超时机制。 如果希望 UART 在几秒钟无数据后退出阻塞,我认为可以将 LPUART_ReadBlocking 与软件定时器结合使用。 BR 哈利
查看全文
启用硬件加密引擎 你好,先生、 目前我正在使用恩智浦Layerscape 1046ARDB套件,在该套件中,我正在使用名为InnTel IPsec-MB的软件加密设备执行L2FWD-Crypto代码。此外,TLS 也与它并行运行,以进行密钥交换 现在,我想将我的代码移植到工具包中,目的是使用硬件加密引擎。下面是我提出的相关问题。 Q1) 如何启用套件中的硬件加密引擎? 我目前的命令是 meson 安装版本--crossfile config/Arm/arm64-dpaa-linux_gcc-denableDrivers=总线/dpaa、mempool/dpaa、crypto/dpaa_sec 但只有在 "驱动程序 "部分出现了 dma、raw、crypto dpaa,而在 "已启用驱动程序 "部分却没有出现。 如何解决? Q2) DPDK 早期版本中提供了 KNI,而新版本中却没有。那么,为此提供的替代方案是什么呢? Re: Enable Hardware Crypto Engine 你好 我已经在内核模块中启用了 CAAM。现在我遇到的问题是 : Q1) (最后几行输出dmesg | grep -i caam) 设备 caam-keygen 已注册 caam_jr 17300000.jr : 冲洗作业环 2 失败。 探测 17300000.jr 失败,错误 -5。 Q2) 对于 af-xdp,来自eno1端口的流量是这样处理的 sudo ethtool -L eno1 combined 2 # 添加一条流量规则,将指向端口 443 的 TCP 流量引导到 RX 队列 1 sudo ethtool -N eno1 flow-type tcp4 dst-port 443 action 1 ./dpdk_app ... --vdev="net_af_xdp0,iface=eno1,start_queue=1,queue_count=1"... nb_rx = rte_eth_rx_burst(portid、 0, pkts_burst, MAX_PKT_BURST); 在这里,我给出了数据传输的特定端口号。 请标明查询内容。 Re: Enable Hardware Crypto Engine 你好 问题 1) 启用硬件加密引擎:问题似乎出 在你的 meson 版本 命令上。要在 DPDK 中支持 DPAA 加密加速,您需要正确包含 DPAA 网络安全驱动程序。检查是否安装了所需的依赖项和正确的 Linux 头文件。命令中的语法看起来正确,但您可能需要确保版本环境具有所有必要的先决条件。 尝试在命令中添加 DPAA 高效密码学标准驱动程序的完整路径: ``` meson setup 版本 --crossfile config/Arm/arm64_dpaa_linux_gcc -Denable_drivers=总线/dpaa,mempool/dpaa,crypto/dpaa_sec ``` 如果你在启用的驱动程序部分仍然看不到它,请验证 DPAA 加密加速器已正确初始化您的内核以及所需的 DPDK 库已正确安装。 Q2) 关于 KNI(内核网卡接口)替代方案: 在较新的 DPDK 版本中,KNI 已被弃用和移除。推荐的替代方案是: 1. AF_XDP(地址系列 eXpress 数据路径)- 提供高性能数据包处理接口 2. AF_PACKET - 用于数据包处理的标准套接字接口 3. Virtio-user - 适用于用户空间网络应用程序 对于与 L2fwd-crypto 并行运行的 TLS 密钥交换的特定用例,AF_XDP 作为 KNI 替代品可能会提供最佳性能特征。   此致 Re: Enable Hardware Crypto Engine 你好 1) CAAM 利用多个 " 工作环 " 来管理和处理加密请求。 每个任务环都行动队列,操作系统可以在队列中提交加密任务,供 CAAM 硬件执行。 "冲洗工作环 2 失败" : 此错误表明系统试图清除或最终完成作业环 2 上的未完成作业,但操作失败。 发生这种情况有多种原因,包括 CAAM 驱动程序或管理任务环的其他内核元器件中出现错误。这可能涉及分散收集列表的处理不正确、内存访问问题或计时问题。 在某些情况下,U-Boot 版本(初始化 CAAM)和 Linux 内核版本之间的不匹配可能会导致此类错误。 系统的另一部分可能干扰了作业环 2 的运行。 潜在解决方案和故障排除: 更新 U-启动 和内核: 确保您的U-Boot和Linux内核版本兼容且处于最新状态,尤其是在使用恩智浦的软件开发套件 (SDK) 时。 检查补丁: 在恩智浦社区论坛或相关邮件列表中搜索与 CAAM 和作业环刷新相关的已知错误和补丁。 禁用或配置 CAAM: 如果错误持续存在,并且您对该特定任务环不太依赖 CAAM 加速,则可以考虑在设备树或内核配置中将其禁用作为临时解决方法或进行测试。 检查内核日志 查找内核日志 (dmesg ) 中的其他相关错误信息或警告,它们可能会提供有关故障的更多信息。 查看设备树配置: 验证设备树中是否正确配置了 CAAM 及其作业环。         数量     2下面是该命令及其前提条件的详细说明:     命令分解   --vdev="net_af_xdp0,..." : 指示 DPDK EAL(环境抽象层)使用 net_af_xdp 驱动程序创建虚拟设备。名称 net_af_xdp0 是 DPDK 应用程序中该特定设备实例的唯一标识符。 iface=eno1 :指定 AF_XDP 套接字将连接的主机内核网络接口 (eno1 ) 的名称(必选项)。 start_queue=1 :指定 AF_XDP 套接字应绑定到 eno1 接口的 第 1 号 Rx/Tx 队列 (队列通常以 0 为索引)。 queue_count=1 : 指定此 PMD 实例从 start_queue 开始管理单个队列(即只管理队列 1)。      前提条件和设置   要成功使用该配置,Linux 主机系统必须满足以下前提条件:   数量 内核支持:Linux 内核必须是 4.18 或更高版本,编译时必须使用 CONFIG_XDP_SOCKETS=y 启用。 库:必须安装 libxdp (版本>= 1.2.2)和 libbpf 库。 接口配置:目标网络接口 (eno1 ) 必须在内核中配置: 多队列:接口的驱动程序必须支持多队列,且配置的队列总数必须至少为 start_queue + queue_count (即本例中至少有 2 个队列:队列 0 和队列 1)。 例如,您可以使用 ethtool 设置队列数量: 敲击 sudo ethtool -L eno1 combined 2 这样就能确保流量被导向 DPDK 应用程序正在监听的队列 1。 XDP 程序:AF_XDP PMD 通常会在接口上加载默认的 XDP 程序,将数据包重定向到用户空间内存缓冲区。 权限:应用程序必须有足够的权限(例如,以 root 或适当的权限运行)才能访问网络接口和使用 AF_XDP 套接字。    该命令是在 DPDK 应用程序中使用 AF_XDP 驱动程序将流量处理隔离到特定非默认队列的有效方法   此致
查看全文
[FRDM-IMX93] MCUXpresso と Zephyr 4.3.0 こんにちは。トレーニング中の開発者です。VSCode と Zephyr 4.3.0 で MCUXpresso を操作しようとしています。FRDM-IMX93 の Zephyr リポジトリから「同期」または「hello world」の例をインポートしようとしましたが、ビルドしようとすると「エラー: キャッシュに CMAKE_PROJECT_NAME が見つかりませんでした」というメッセージが表示されます。私は、MIMXRT1060-EVKB と MIMXRT1160-EVK を同じセットアップで使用して、非常に簡単な作業をいくつか問題なく実行し、プロジェクトは正常にビルドされました。まだ Zephyr の基礎を学ぼうとしている最中なので、何か見逃しているものがあるかどうかはわかりません... Re: [FRDM-IMX93] MCUXpresso with Zephyr 4.3.0 こんにちは@jaseze01 正しいコンパイル ツールをインストールしましたか? このエラーは通常、CMake が適切に初期化されていないことを意味します。 よろしくお願いします。 ダニエル Re: [FRDM-IMX93] MCUXpresso with Zephyr 4.3.0 jaseze01_0-1763975113208.png こんにちは。Zephyr https://github.com/nxp-mcuxpresso/vscode-for-mcux/wiki/Zephyr-Lab-Installation-and-Preparationに従ってツールをインストールしました。ガイドライン。FRDM-IMX93 は比較的「新しい」組み込みであり、Zephyr v4.3.0 では MCUXpresso 経由でのみサポートされているため、ツールのバージョンに関係しているのではないかと考えています (現在のバージョンの写真を添付します)。他の開発キットを使用すると、問題なくプロジェクトをコンパイルおよび開発CAN。 Re: [FRDM-IMX93] MCUXpresso with Zephyr 4.3.0 こんにちは@Zhiming_Liu !インストールを更新し、Zephyr Developer のバージョン 4.3 になりました。しかし、問題はまだ残っています... ログを確認したところ、問題は Zephyr SDK に起因していると思われます。 Cmake エラー: /mnt/.../.../zephyr/zephyr/zephyr/cmake/compiler/gcc/target.cmake:11(メッセージ): Cコンパイラ: /ホーム/.../Zephyr-sdk-0.17.4/aarch64-zephyr-elf/bin/aarch64-zephyr-elf-gcc が見つかりません - ツールチェーンのインストールを確認してください。 ただし、Zephyr-sdk-0.17.4 フォルダーには サブディレクトリはなく、代わりに があります。それはそれでしょうか? Re: [FRDM-IMX93] MCUXpresso with Zephyr 4.3.0 こんにちは@jaseze01 はい、 SDKs の完全なインストールにはaarch64-Zephyr-elfフォルダーが含まれているはずです。Zephyr-sdk-0.17.4 フォルダーを削除して再インストールしてみてください。 よろしくお願いします、 志明 Re: [FRDM-IMX93] MCUXpresso with Zephyr 4.3.0 こんにちは@jaseze01 ここに問題はありません。 Zhiming_Liu_1-1764037024168.png Zhiming_Liu_0-1764037007732.png v4.3 zephyr 開発ツールをインストールしてみてください。 Zhiming_Liu_2-1764037085009.png Zephyr をインストールするには、VScode MCUXpresso プラグインからインストールしてみてください。 Zhiming_Liu_3-1764037131307.png よろしくお願いします、 志明
查看全文
iMX8M Plus 设计文件到 Altium 元器件封装中 您好, 我已经将恩智浦提供的有关 8MPLUSLPD4-EVK 板的 Allegro 设计文件 转换为 Altium 设计文件。但是我想出了一个与元器件库有关的问题。如何将 *.brd 文件中的封装转换为 Altium *.pcb lib(PCB 元器件库文件 )文件? 顺祝商祺! 阿山 Re: iMX8M Plus Design files to Altium Component footprints 您好, 这是 Altium PCB 设计文件。 Zhiming_Liu_0-1763604827987.png 致敬, Zhiming Re: iMX8M Plus Design files to Altium Component footprints 亲爱的志明 您的意思是我需要根据导入的.pcb文件创建pcblib文件吗?文件? 您能指导我怎么做吗? 顺祝商祺! 阿山 Re: iMX8M Plus Design files to Altium Component footprints 以下是我从恩智浦提供的设计文件中导入的文件图像。我使用了 Altium 导入向导。我缺少的是.pcblib锉刀 Ashan7Kasper_0-1763532432661.png Ashan7Kasper_1-1763532458715.png Ashan7Kasper_2-1763532534812.png Re: iMX8M Plus Design files to Altium Component footprints 您好, , 恩智浦提供的Allegro 设计文件 不包含库。您需要根据 *.pcb 文件创建库。 致敬, Zhiming Re: iMX8M Plus Design files to Altium Component footprints 亲爱的 Zhiming_Liu , 在设计文件中,我只有 LAY-46368_A1.brd、SCH-46368_A3.dsn、和 sch-46368_a3.opj 文件。设计文件中没有 .pcb提供的文件。你能告诉我如何获取特定设计的 pcb 元器件库文件吗?我正在使用Altium Designer工具,但这些Allegro文件无法正确转换为PCB元器件库文件。(它只能转换为 PCB 布局和 PCB 原理图) 最佳问候 Ashan Re: iMX8M Plus Design files to Altium Component footprints 你好, 您可以创建 .pcblib文件,创建一个新的库元器件,然后将元器件从 .pcb 复制到这个新的库元器件。 致敬, Zhiming
查看全文
PN532 标签仿真 NFC 工具显示 NULL 所有数据 目前正在使用 PN532 (UM0701-02 ) 模块接口,通过基于 IRQ 状态模型的 SPI 通信与 STM32WL 微控制器连接。我将一步步解释我是如何处理状态机的 第 1 步: SPI 配置 - 时钟 2Mhz 和 8 位模式 第 2 步: 在启动 PN532 模块后,我发送了 SMA 配置,然后正在等待第一个 IRQ 的 ACK,之后我将等待第二个 IRQ 的 SMA 配置响应。我没有收到任何错误信息。请注意我使用的以下配置 pn532_packetbuffer[0] =pn532_command_samconfiguration; pn532_packetbuffer[1] = 0x01;// 正常模式; pn532_packetbuffer[2] = 0x14;// 超时 50ms * 20 = 1 秒 pn532_packetbuffer[3] = 0x01;// 使用 IRQ 引脚! 步骤 3:收到 SMA 配置回复后, 。 我已经开始发送 TgTarget 启动命令。对于这条命令,我只收到 ACK,当电话接近模块时,我才收到回复。 uint8_tcommand[] ={ pn532_command_tginitastarget、 5,// 模式:仅 PICC,仅被动 0x04, 0x00, // SENS_RES 0x00, 0x00, 0x00,// NFCID1 0x20, // SEL_RES 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,// FeliCaParams 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,// NFCID3t 0,//一般字节的长度 0//历史字节的长度 }; 如果(uidPtr != 0) {//如果设置了 uid,则将 3 个字节复制到 nfcid1 memcpy命令 + 4, uidPtr、 3); }} 这条命令也得到了成功的回复。 因此,现在我有了手机 NFC 信息,如 NFC 支持类 注:到此为止,我得到了正确的 IRQ Assert、ACK 和命令回复。 第 4 步: 响应后,我将开始发送 TgGetTarget 命令(0x86)。第一次,比如当我将手机靠近 PN532 时,得到的响应为 0x87,错误代码为 0x13。像 RF 版本一样。之后,我尝试了两种方法来恢复通信。最初的方法是发送 Inrelease 命令 0x52、0x00,然后获取 IRQ,并得到 53 和 0x00 的响应。然后再次发送 TgTartget Command Initi 命令,就像再次执行步骤 3 一样。请注意,在这之后的一段时间里,我得到了对 0x86 的正确回复。 现在我还有一个问题,在我发送 Inrelease 或 TgTarget 命令后,NFC Tools Mobile 显示的所有数据,如序列号和其他信息都显示为零。并展示 felica 技术。但使用的是 ISO1884A A 类卡枚举。 现在我想知道为什么会出现这种情况。如果我遗漏了任何序列。请尽快为我们提供指导。我们正处于项目收尾阶段。 已经有人向我推荐了表格,但我没有得到答复 互联标签解决方案 接触式智能卡读卡器芯片 HITAG读卡器IC 面向读卡器系统的MIFARE SAM NFC 控制器解决方案 NFC 前端解决方案 NFC读卡器库 Re: PN532 Tag emulation NFC Tools showing NULL all the data 请问谁能对此问题提供支持
查看全文
S32G274A SMMU 支持和配置 我们目前正在S32G274A平台上进行开发,需要澄清有关系统内存管理单元 (SMMU) 的问题。请帮助确认以下内容: 1.S32G274A 上的 SMMU 支持 S32G274A SoC 是否支持 SMMU 功能? (我们知道它可能支持 SMMU v2,但需要确认。) 2.QNX SMMUMAN 兼容性 如果支持 SMMU,能否使用QNX SMMUMAN(SMMU 管理器)对其进行配置? 是否有任何针对 SoC 的限制或约束(例如,仅通过 XRDC 支持)? 3.内存地图和中断信息 SMMU 主寄存器的物理基地址 上下文故障的中断编号 全局故障的中断号 参考查询: 我们查看了 S32G2 参考手册(文件编号:S32G2RM,修订版 8,2024 年 2 月)和提供的 S32G2_Memory_Map.xlsx,但找不到任何与 SMMU 相关的条目。 相比之下,恩智浦 i.MX8 等其他 SoC 在其参考手册中包含了这些信息,但是 S32G2 似乎缺少这些信息,或者可能以不同的名称列出。 我们需要这些信息才能集成QNX SMMUMAN。 如果有任何与 S32G274A 上的 SMMU 相关的其他文档、应用笔记或 SDK 引用信息,请分享。 感谢您的支持。
查看全文
Bootloader 软件的安全启动验证 大家好 1. 我们如何对引导加载程序软件本身进行安全启动验证? 如果引导加载程序本身初始化了 CSEc,那么我们就已经在运行未经验证的代码了。 2. 如果引导加载程序区域被锁定为读/写/擦除保护并禁用了 JTAG,我们可以跳过引导加载程序的安全启动验证吗? 它还能被篡改吗? 我们还需要强制对 Bootloader SW 进行安全启动验证吗 谢谢。 Re: Secure Boot validation for Bootloader SW 你好@Kishore_14 1.这需要通过生产流程和适当的应对措施来管理。通常,应在安全的环境中对设备进行编程和配置,只有获得批准的人员才能访问等。 S32K1 设备不具有使此过程更加安全的功能,因此应由用户来安装适当的环境。例如,S32K3 在 ROM 密钥目录中拥有公钥,而私钥则完全归恩智浦所有,因此恩智浦可根据要求签署客户应用程序/数据。这是下一级保护。但 S32K1 上没有这样的东西。 2. 不存在 100% 安全的设备。每种保护都可以绕过。目标是尽可能地使网络安全突破变得困难,并使努力不合理,成本低廉。因此,我们的建议是实施所有级别的保护,包括安全启动。 问候, Lukas
查看全文
S32K312 - a MCAL pointer variable point to a self-defined variable Hi, I am using s32k312 and MCAL version is 5.0.0, the startup and linker files is based on MCAL package. I defined a bool variable named LibDiagCom_Initialized, and I found in the LiveWatch and memory it was changed unexpectedly. I set a data breakpoint and found a struct variable with a pointer was changing the memory.  So is this pointer a wilder pointer? Re: S32K312 - a MCAL pointer variable point to a self-defined variable Hi@yumi From the screenshot you provided, I don't see any relationship between "LibDiagCom_Initialized" and "Lpspi_Ip_axStateStructure". Is there a problem? My understanding of a "dangling pointer"(野指针) is usually that it points to an unknown, random location. I don't see that problem here. Re: S32K312 - a MCAL pointer variable point to a self-defined variable Hi Selent, From the Live Watch, you can see the location of 'LibDiagCom_Initialized' is 0x2040 37df, and the pointer RxBuffer in Lpspi_Ip_axStateStructure point to 0x204037DC.  I set a data breakpoint for LibDiagCom_Initialized, the scenery is LibDiagCom_Initialized value is changed by the RxBuffer at the data breakpoint, as shows in another picture. So my question is: Shouldn't the RxBuffer in Lpspi_Ip_axStateStructure point to somewhere at initialization? If not, is it a dangling pointer?  Re: S32K312 - a MCAL pointer variable point to a self-defined variable Hi@yumi In the image you provided, I did not see that the value of "LibDiagCom_Initialized" had changed. You'd better provide me with your test routine, because I still don't understand it. I don't see any problems in the images you provided.
查看全文
安卓音频编解码器 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我正在尝试让音频在安卓系统内运行。我的板基于 QSB,但使用不同的音频硬件(TI 的 TLV320AIC23B)。Linux 和 Android 源代码均已修改,新驱动程序在 Linux 中加载无故障,Android 也能识别。当我播放 .wav但是,在使用飞思卡尔专有库解码数据的 Android 系统中播放压缩音频时,音质很差。在检查 SSC 总线上的 i2s 信号后,我发现很多音频帧都不包含数据,都是低位。这种情况每隔 10 毫秒左右出现一次,每次 2 或 3 毫秒左右......是否有人在使用飞思卡尔的编解码器库和不同的 ALSA 驱动程序时遇到过类似问题?或者谁能解释如何在没有飞思卡尔专有音频编解码器的情况下版本飞思卡尔安卓系统? 另一方面,我已经让安卓系统和飞思卡尔编解码器库与 Maxim 的 Max9850 音频 DAC 配合使用,我很乐意为新手指点迷津。 Android Re: Android Audio Codecs 嗨,您可以查看本指南,了解如何在 Android 和 Linux 平台上调用音频 https://siliconsignals.io/audio-codec-bring-up-simplified-your-guide-to-android-linux-bsp-development/ Re: Android Audio Codecs <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,马克、 你的回复是 Bang-on.我们没有注册 iim 设备。即使在梦中,我们也没有想到音频代码和IIM设备之间可能存在某种关系。 我不知道该如何感谢你。我们与飞思卡尔技术支持部门联系了几个月,但一直没有得到解决方案。 非常感谢& 。 普拉尚特 马克-奥利弗-韦斯特堡说: 问题解决了吗? 至少在我们的案例中,问题是由于"/dev/mxc_iim" 和"/dev/mxc_mem" 这两个文件的权限错误造成的。根据飞思卡尔的支持,至少有一些编解码器会访问这些数据,以验证它们是否确实在 i.MX-SoC 上运行,如果检测失败,还会故意注入噪声。这些文件的权限必须设置为 0664,而且相应的内核驱动程序必须正常启动和运行。 Re: Android Audio Codecs <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 问题解决了吗? 至少在我们的案例中,问题是由于"/dev/mxc_iim" 和"/dev/mxc_mem" 这两个文件的权限错误造成的。根据飞思卡尔的支持,至少有一些编解码器会访问这些数据,以验证它们是否确实在 i.MX-SoC 上运行,如果检测失败,还会故意注入噪声。这些文件的权限必须设置为 0664,而且相应的内核驱动程序必须正常启动和运行。 Re: Android Audio Codecs <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我们正在使用基于 i.MX53 的定制板和飞思卡尔的 SGTL5000 音频编解码器(与飞思卡尔的 QSB 设置类似),但也面临着类似的问题:使用安卓媒体播放器播放 WAV 文件(单声道、立体声、不同的采样率)可以正常运行,没有任何问题。使用安卓的媒体播放器播放 MP3 或 OGG 文件会产生大量噪音,但原始音频数据仍可识别。 作为尝试,我们删除了飞思卡尔的 MP3 编解码器,但保留了飞思卡尔的所有其他编解码器。在这种情况下,Android 似乎使用自己的 SW 编解码器来播放 MP3,而且效果很好,没有任何噪音或失真。在此实验配置中,视频仍由飞思卡尔编解码器处理,但 MP3 音频流仍无法正常工作,并显示出相同的音频问题。不过,视频编解码器本身(H.263、H.264/AVC 和 MPEG2)似乎工作正常。 在我们的案例中,这些音频问题不仅发生在飞思卡尔的 MP3 编解码器上,也发生在 OGG 和 AAC 编解码器上。这些编解码器是否也存在类似问题? 我们已经尝试过飞思卡尔安卓版本 R10.3、R10.3.1 中的编解码器,在我们的系统上,R10.3.2 和 R10.4 以及所有版本似乎都出现了同样的问题。 此致, 马克 Re: Android Audio Codecs <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好,内特、 事实上,我们也面临着同样的问题。我们有一款基于 i.MX53 处理器的定制板。我们正在使用飞思卡尔的 SW 音频编解码器。我们已经在opencore中加入了黑客来在多个阶段TAP解码器的输出。当我们播放 MP3 单声道文件时,输出帧大小为 1152 字节。在所有帧中,最后 576 字节为零。如果是 Mp3 立体声,则文件帧大小为 2304 字节。再一次,在所有帧中,我们看到最后 576 字节 0。立体手机壳与您的手机壳类似(10 毫秒数据后 3 毫秒为零)。 飞思卡尔说,这些音频编解码器是使用ARM/Neon进行软件优化的。您说您能用 Maxim 的 Max9850 音频 DAC 正常运行这些编解码器,是什么意思?音频 DAC 如何影响音频解码器的输出? 也许我们遗漏了什么。您能给我们一些指导吗?如蒙答复,我们将不胜感激。 先行致谢。 此致 普拉尚特 Re: Android Audio Codecs <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 飞思卡尔音频编解码器针对飞思卡尔板编解码器进行了优化,因此我认为它不是一个适合您的情况的编解码器。 看看板描述符文件(在 设备/ 下)我知道有一个变量表示预建的真/假。 我不确定视频编解码器是否有一个变量,音频是否有另一个变量。但这可能是你更改 Makefile 所需要的线索。 Re: Android Audio Codecs <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 内特,通话时音频也能正常工作吗?我已经使用外部编解码器安装了 SABRE 板,它可以播放音频文件,但是当我接到 VoIP 电话时,两个方向都没有音频。是否需要在驱动程序中设置一些特殊的东西才能使编解码器在语音通话中运行? 谢谢! Scott
查看全文
什么是“电源”?——入门指南——第三部分:电压追踪器(日语博客) 这次,我们将讲解电压跟踪器。 电压跟踪器是一个不常听到的术语。 Voltage = 电压,tracker = 跟随的东西,所以如果按字面意思理解,它的意思是“跟随电压的东西”。 事实上,电压跟踪器是一种输出电压几乎等于输入电压的装置,如图1所示。当输入电压变化时,输出电压也会相应变化。正是这种特性使其被称为电压跟踪器,因为它“输出的电压与输入电压相匹配(跟随)”。 blog3-1.png 图 1 电压跟踪器行为 那么,在哪些情况下会使用电压跟踪器呢? 第一个电源用于在稳压器输出电流不足时补充其输出电流的不足。 例如,如果你有一个能够输出 100mA 的线性稳压器,但你需要 150mA 来为你的电路供电,你可以从电压跟踪器获得额外的 50mA(参见图 2)。 blog3-2.png 图 2 添加电压跟踪器 从这个角度来看,你可能会认为用线性稳压器代替电压跟踪器就能解决问题,虽然这在某些方面是正确的,但这也带来了一个问题。 例如,如图3所示,即使原有的100mA线性稳压器的输出电压发生波动,新增线性稳压器的输出电压也不会改变。在这种情况下,电路输入电压存在差异,这可能导致电路故障。而使用电压跟踪器后,则不存在这种差异,因此电路的工作状态如同仅由单个稳压器输出一样。 blog3-3.png 图 3 添加线性稳压器   如图 4 所示,第二个电源用作参考电源的附加电源,用于在使用 AD(模数)转换器进行比率测量时。在比率测量中,参考电压和传感器电源必须使用相同的电压,因此通常使用电压跟踪器。 blog3-4.png   图 4 比率测量图像 虽然这与电源的讲解有点偏离主题,但我下次会专门讲解比例测量。 最后,下表显示了电压跟踪器和线性稳压器之间的区别,它们的机制类似。 物品 线性稳压器 电压跟踪器 输入和输出关系 输入电流和输出电流几乎相同。 输入电压 > 输出电压。 输入电压和输出电压几乎相同。 噪音 低的。 低的。 所需零件数量 很少。 很少。 以往的文章可从NXP“电源”摘要页面(日语博客)访问,请查看。 ========================= 我们目前无法回复此帖子“评论”部分的评论。 对于由此造成的不便,我们深表歉意。如有任何疑问,请参阅“ NXP技术问题-如何联系我们(日语博客) ”。 (如果您已经是恩智浦的分销商或与恩智浦有合作关系,您可以直接询问负责人。) 如果您想知道“什么是电源?”,本页总结了您需要了解的第一件事。 在第三部分中,我们将解释电压跟踪器。 (阅读时间:5分钟) 采购和市场营销中心 日本博客
查看全文
解決に失敗しました: Lcom/google/firebase/analytics/FirebaseAnalytics 親愛なるチームの皆様、 Taplinxを使ってアプリケーションを開発しています。そして、次のエラーが発生しました: FATAL EXCEPTION: main Process: com.xxx.xxxxx, PID: 6289 java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/firebase/analytics/FirebaseAnalytics; at com.nxp.nfclib.analytics.AnalyticsTracker.getReader(:61) at com.nxp.nfclib.analytics.AnalyticsTracker.Base64(:122) at com.nxp.nfclib.analytics.AnalyticsTracker.sendEvent(:107) at com.nxp.nfclib.ʽ.CardType(:649) at com.nxp.nfclib.ʽ.Base64(:60) at com.nxp.nfclib.ʽ$ˊ.getReader(:785) at com.nxp.nfclib.ʽ$ˊ.onPostExecute(:663) at android.os.AsyncTask.finish(AsyncTask.java:771) at android.os.AsyncTask.-$$Nest$mfinish(Unknown Source:0) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:788) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:257) at android.os.Looper.loop(Looper.java:368) at android.app.ActivityThread.main(ActivityThread.java:8839) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:572) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049) Caused by: java.lang.ClassNotFoundException: com.google.firebase.analytics.FirebaseAnalytics at com.nxp.nfclib.analytics.AnalyticsTracker.getReader(:61) at com.nxp.nfclib.analytics.AnalyticsTracker.Base64(:122) at com.nxp.nfclib.analytics.AnalyticsTracker.sendEvent(:107) at com.nxp.nfclib.ʽ.CardType(:649) at com.nxp.nfclib.ʽ.Base64(:60) at com.nxp.nfclib.ʽ$ˊ.getReader(:785) at com.nxp.nfclib.ʽ$ˊ.onPostExecute(:663) at android.os.AsyncTask.finish(AsyncTask.java:771) at android.os.AsyncTask.-$$Nest$mfinish(Unknown Source:0) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:788) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:257) at android.os.Looper.loop(Looper.java:368) at android.app.ActivityThread.main(ActivityThread.java:8839) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:572) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049) これは初期化後数秒で発生し、 libInstance.isActivityRegistered() == true; 数秒後、カードの意図が実行される前に、上記の致命的なエラーが発生してクラッシュします。 アプリケーションはオンラインで配布されず、ユーザーの所在地は中国本土であるため、アプリケーションに Firebase を含める必要はありません。これを回避する方法はありますか?このエラーに関して何か提案をいただけますか? ありがとうございます。ご返信をお待ちしております。 敬具、 ビリトン コード・サンプル オフライン版 Re: Failed resolution of: Lcom/google/firebase/analytics/FirebaseAnalytics はい、Firebaseがなくても動作しますが、ライブラリを含める必要があります。 com.google.firebase:firebase-core 実行時にlogcatでこれらのエラーが表示される場合がありますが、無害です。 Gralin_0-1752658621980.png Re: Failed resolution of: Lcom/google/firebase/analytics/FirebaseAnalytics お世話になります。 Firebase の使用を避けることは可能ですが、残念ながら、これらの実装は開発チームが行う必要があります。大変申し訳ございませんが、TapLinx は一部の実装で Firebase に依存しているため、これらの依存関係の削除は、クリーンな Android プロジェクトから開始し、Google および Firebase モジュールのインポートをすべて削除して手動で行う必要があります。 大変申し訳ございませんが、これらの変更を実行するためのガイドはございません。 Re: Failed resolution of: Lcom/google/firebase/analytics/FirebaseAnalytics 簡単な更新ですが、クイックスタートに Firebase のライブラリを含める要件を見つけました。次に、次の点についてまだ提案が必要です。インターネット制限のため、Firebase にアクセスせずにプロジェクトに Firebase を含めると、マターになりますか?
查看全文
更改时钟设置后 gpio 无法工作 在 s32k324 上,当我们将时钟设置从 160Mhz PLL 更改为 48Mhz FIRC 时,GPIO 不再工作。gpio,而不是任何特定引脚) 我们使用 RTD MCAL API Mcu_InitClock(),更改时钟设置。   但在我们将 PLL 更改为 FIRC 后,我们发现如果读取 GPIO 引脚,即使 HW 为低电平,它们也总是返回高电平。   您有什么建议吗? Re: gpio not works after change clock settings 我们发现必须调用 Mcu_Init()。 Re: gpio not works after change clock settings 你好 有一个热电阻示例Mcu_Example_S32K344,可通过Mcu_InitClockAPI 切换时钟设置。你测试过吗? 您是否在时钟工具中启用了 SIUL2 的时钟? Mcu_InitClock ClockConfig.png 如果还是不行,请给我发送一个简化的测试项目。 祝好, Robin ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"ACCEPT AS SOLUTION" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请另开新主题并参考已关闭的主题。 -------------------------------------------------------------------------------
查看全文
阻塞 i2c 模块问题 早上好、 我正在实施一个大型项目。我每隔几毫秒就运行多个中断。不幸的是,我意识到它与 i2c 模块有冲突,因为我正在使用 i2c_masterTransferBlocking 函数对其进行轮询。这样,它就阻止了我的多次中断。因此,我决定在中断中也使用 i2c 模块。遗憾的是,我不知道如何才能最好地通过中断执行传输,而不需要等待一段时间来完成传输。附件是我目前正在做的一个经过简化的项目,以便我了解如何以最佳方式进行 i2c 传输并在显示屏上打印。 您能就此给我一些建议吗? 预先感谢 。 Re: Blocking i2c module problem 你好@Transidico, 为了更好地帮助您,您能否说明是否需要终止 I2C 传输才能显示消息? 如果是这样的话,您的应用程序似乎本身就是阻塞的,因为它需要另一个进程完成后才能继续。鉴于这种依赖性,你们目前实施的方法似乎是最合适的解决方案。 希望对你有所帮助。 BR Habib Re: Blocking i2c module problem 对不起,有什么答案吗?
查看全文
LS1046AのTA_PROG_SFPピンは常に1.8V電源にコネクテッド。 こんにちは、 LS1046Aを使用しています。 チェックリストから、「セキュア ブート プログラミング中は 1.8 V のみを供給する必要があります」ということがわかりました。通常の動作では、このピンは抵抗器を介してプルダウンする必要があります。' しかし、何らかの理由で、LS1046A の TA_PROG_SFP ピンは、私たちのデザインでは常に 1.8V 電源にコネクテッドされています。このデザインにはどのようなリスクがあるのでしょうか? ご回答をお待ちしています。 Re: The TA_PROG_SFP pin of the LS1046A is always connected to a 1.8V power supply こんにちは@KunChen この投稿があなたに届いていることを願っています。 どういたしまして。お役に立てて嬉しいです。 他に何かお手伝いCANことがございましたら、お気軽にご連絡ください。 すてきな一日を!。 よろしくお願いいたします。 ヘクター・ビジャルルS Re: The TA_PROG_SFP pin of the LS1046A is always connected to a 1.8V power supply こんにちは、ヘクター。 ご返信よろしくお願いします。 Re: The TA_PROG_SFP pin of the LS1046A is always connected to a 1.8V power supply こんにちは@KunChen この投稿があなたに届いていることを願っています。 ご質問に関して、 この動作の結果、ヒューズが切れ、以前と同じ情報が上書きされ、再度プログラムできなくなります。 セキュリティ ヒューズ プロセッサ QorIQ LS1046A、LS1026A データ シート、Rev. 4、06/2020 のセクション 4 の次の情報を参照してください。 SFP ヒューズをプログラムするには、ユーザーは電源シーケンスごとに TA_PROG_SFP ピンに 1.8 V を供給する必要があります。TA_PROG_SFPはヒューズの持続時間中のみ電源を供給してください。 プログラミング サイクル。デバイスごとに 6 回のヒューズ プログラミング サイクルの制限があります。その他すべて TA_PROG_SFP は GND にコネクテッドする必要があります。シーケンス要件 TA_PROG_SFP の上昇と下降を図 9 に示します。デバイスの信頼性を確保するために、 ヒューズプログラミングは推奨ヒューズプログラミング範囲内で実行する必要があります 表4の温度範囲。 すてきな一日を! BR、 ヘクター・ビジャルル
查看全文