Multi Source Translation Content

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Multi Source Translation Content

ディスカッション

ソート順:
オンラインカスタマーサービスWeChat: xins4698 Marlboro社のゲームアカウントのパスワードを忘れましたか? オンラインカスタマーサービスWeChat: xins4698 Marlboro社のゲームアカウントのパスワードを忘れましたか? LPCマーケティング LPC51Uxx LPC546xx LPC54xxx LPC55xx LPC800
記事全体を表示
i.MX95 VPU H265 latency and performance(v4l2h265enc/v4l2h265dec) Hello, I am currently evaluating the H265 decode → encode pipeline on i.MX95 and I am observing significantly worse latency and stability compared to i.MX8MP, using similar workloads and configurations. Context On i.MX8MP, using: imxvpudec_h265 vpuenc_hevc I am able to achieve: Very low end-to-end latency (≈ 10 ms) Stable operation with multiple streams No visible freezes or artifacts On i.MX95, using: v4l2h265dec v4l2h265enc I observe: ~90 ms latency for a single decode → encode pipeline Freezes and visual artifacts when running 4 simultaneous camera streams Test pipeline To reproduce the issue, I used IP cameras (H265 over RTSP) with the following pipeline: test-launch "( rtspsrc location=rtsp://10.42.0.85 drop-on-latency=true latency=0 buffer-mode=4 ! rtph265depay ! h265parse config-interval=1 ! v4l2h265dec ! v4l2h265enc ! rtph265pay name=pay0 pt=96 )" This pipeline works correctly with a single camera, but when scaling to 4 cameras, freezes and artifacts start to appear. Questions Why is the H265 VPU pipeline on i.MX95 significantly more latent than on i.MX8MP? Is DMABUF zero-copy fully supported between v4l2h265dec and v4l2h265enc on i.MX95? If not, is there an implicit memory copy that could explain the additional latency and bandwidth pressure? Are there known limitations in the current i.MX95 VPU driver regarding: Low-latency operation Multi-stream decode + encode Internal buffering depth Are there recommended V4L2 controls or io-modes (capture/output-io-mode) to minimize latency on i.MX95? Is the i.MX95 VPU driver expected to reach performance parity with i.MX8MP in future BSP releases, or is the higher latency an inherent design tradeoff? Goal My objective is real-time, low-latency video processing (decode → process → encode), similar to what is achievable on i.MX8MP. Thank you for your support. Re: i.MX95 VPU H265 latency and performance(v4l2h265enc/v4l2h265dec) Hello, Which BSP version are you using on i.MX8MP and i.MX95 to recreate this issue? Are you using the same GST pipeline (other than the decoder/encoder elements) on both 8MP and 95? AFAIK, there is no known limitation that results in high latency on i.MX95. On i.MX95, encoder support mmap and dmabuf, which can make a pipeline to transfer dma-buf without copy b/w decoder and encoder. Does the IP camera encode without B frames? Then we can disable decode frame reorder, which will reduce the latency. Please check this. You can disable frame reorder using below v4l2 control " v4l2h264dec extra-controls="decode,display_delay_enable=1,display_delay=0" " You can list all v4l2 controls using below command: v4l2-ctl -l -d Regards Re: i.MX95 VPU H265 latency and performance(v4l2h265enc/v4l2h265dec) The kernel versions: imx95: 6.6.101-0 imx8mp: 6.6.84-0 Yes it is the same gstreamer pipeline. The IP camera encode without B frames. I tired your command and it doesn't solve the issue. There are still artifacts on the screen and the latency is high. However qualitatively speaking, it seems to remove the freezes. ``` v4l2-ctl -l -d /dev/v4l/by-path/platform-4c480000.vpu-video-index0 User Controls min_number_of_capture_buffers 0x00980927 (int) : min=1 max=32 step=1 default=1 value=1 flags=read-only thumbnail_mode 0x00981901 (bool) : default=0 value=0 flags=write-only Codec Controls h264_profile 0x00990a6b (menu) : min=0 max=4 default=0 value=0 (Baseline) hevc_profile 0x00990b67 (menu) : min=0 max=0 default=0 value=0 (Main) display_delay 0x00990b8d (int) : min=0 max=0 step=1 default=0 value=0 display_delay_enable 0x00990b8e (bool) : default=0 value=0 ``` ``` v4l2-ctl -l -d /dev/v4l/by-path/platform-4c480000.vpu-video-index1 User Controls horizontal_flip 0x00980914 (bool) : default=0 value=0 vertical_flip 0x00980915 (bool) : default=0 value=0 rotate 0x00980922 (int) : min=0 max=270 step=90 default=0 value=0 flags=modify-layout min_number_of_output_buffers 0x00980928 (int) : min=1 max=32 step=1 default=1 value=1 flags=read-only Codec Controls video_gop_size 0x009909cb (int) : min=0 max=2047 step=1 default=30 value=30 video_bitrate_mode 0x009909ce (menu) : min=0 max=1 default=1 value=1 (Constant Bitrate) flags=update video_bitrate 0x009909cf (int) : min=1 max=1500000000 step=1 default=2097152 value=2097152 frame_level_rate_control_enable 0x009909d7 (bool) : default=1 value=1 h264_mb_level_rate_control 0x009909da (bool) : default=1 value=1 number_of_mbs_in_a_slice 0x009909dc (int) : min=0 max=262143 step=1 default=1 value=1 slice_partitioning_method 0x009909dd (menu) : min=0 max=1 default=0 value=0 (Single) force_key_frame 0x009909e5 (button) : value=0 flags=write-only, execute-on-write intra_refresh_period 0x009909ec (int) : min=0 max=2160 step=1 default=0 value=0 intra_refresh_period_type 0x009909ed (menu) : min=0 max=1 default=1 value=1 (Cyclic) h264_i_frame_qp_value 0x00990a5e (int) : min=0 max=51 step=1 default=30 value=30 h264_p_frame_qp_value 0x00990a5f (int) : min=0 max=51 step=1 default=30 value=30 h264_b_frame_qp_value 0x00990a60 (int) : min=0 max=51 step=1 default=30 value=30 h264_minimum_qp_value 0x00990a61 (int) : min=0 max=51 step=1 default=8 value=8 h264_maximum_qp_value 0x00990a62 (int) : min=0 max=51 step=1 default=51 value=51 h264_8x8_transform_enable 0x00990a63 (bool) : default=1 value=1 h264_cpb_buffer_size 0x00990a64 (int) : min=0 max=18750000 step=1 default=0 value=0 h264_entropy_mode 0x00990a65 (menu) : min=0 max=1 default=1 value=1 (CABAC) h264_i_frame_period 0x00990a66 (int) : min=0 max=2047 step=1 default=0 value=0 h264_level 0x00990a67 (menu) : min=0 max=16 default=14 value=14 (5) h264_loop_filter_alpha_offset 0x00990a68 (int) : min=-6 max=6 step=1 default=0 value=0 h264_loop_filter_beta_offset 0x00990a69 (int) : min=-6 max=6 step=1 default=0 value=0 h264_loop_filter_mode 0x00990a6a (menu) : min=0 max=2 default=0 value=0 (Enabled) h264_profile 0x00990a6b (menu) : min=0 max=4 default=4 value=4 (High) vertical_size_of_sar 0x00990a6c (int) : min=0 max=65535 step=1 default=0 value=0 horizontal_size_of_sar 0x00990a6d (int) : min=0 max=65535 step=1 default=0 value=0 aspect_ratio_vui_enable 0x00990a6e (bool) : default=0 value=0 vui_aspect_ratio_idc 0x00990a6f (menu) : min=0 max=17 default=0 value=0 (Unspecified) h264_constrained_intra_pred 0x00990a7f (int) : min=0 max=1 step=1 default=0 value=0 h264_chroma_qp_index_offset 0x00990a80 (int) : min=-12 max=12 step=1 default=0 value=0 hevc_minimum_qp_value 0x00990b58 (int) : min=0 max=51 step=1 default=8 value=8 hevc_maximum_qp_value 0x00990b59 (int) : min=0 max=51 step=1 default=51 value=51 hevc_i_frame_qp_value 0x00990b5a (int) : min=0 max=51 step=1 default=30 value=30 hevc_p_frame_qp_value 0x00990b5b (int) : min=0 max=51 step=1 default=30 value=30 hevc_b_frame_qp_value 0x00990b5c (int) : min=0 max=51 step=1 default=30 value=30 hevc_profile 0x00990b67 (menu) : min=0 max=0 default=0 value=0 (Main) hevc_level 0x00990b68 (menu) : min=0 max=8 default=7 value=7 (5) hevc_loop_filter 0x00990b6c (menu) : min=0 max=2 default=1 value=1 (Enabled) hevc_loop_filter_beta_offset 0x00990b6d (int) : min=-6 max=6 step=1 default=0 value=0 hevc_loop_filter_tc_offset 0x00990b6e (int) : min=-6 max=6 step=1 default=0 value=0 hevc_refresh_type 0x00990b6f (menu) : min=0 max=2 default=2 value=2 (IDR) hevc_num_of_i_frame_b_w_2_idr 0x00990b70 (int) : min=0 max=2047 step=1 default=0 value=0 hevc_constant_intra_prediction 0x00990b72 (int) : min=0 max=1 step=1 default=0 value=0 hevc_strong_intra_smoothing 0x00990b76 (int) : min=0 max=1 step=1 default=1 value=1 hevc_tmv_prediction 0x00990b79 (int) : min=0 max=1 step=1 default=1 value=1 prepend_sps_and_pps_to_idr 0x00990b84 (int) : min=0 max=1 step=1 default=1 value=1 frame_skip_mode 0x00990b86 (menu) : min=0 max=2 default=0 value=0 (Disabled) average_qp_value 0x00990b91 (int) : min=0 max=51 step=1 default=0 value=0 flags=read-only ``` Re: i.MX95 VPU H265 latency and performance(v4l2h265enc/v4l2h265dec) The BSP versions are : imx8mp: lf-6.6.52-2.2.0 imx95: lf-6.6.52-2.2.1 Thank you Re: i.MX95 VPU H265 latency and performance(v4l2h265enc/v4l2h265dec) Yes the IP camera encode without B frames. I tried your command and it doesn't solve the issue. There are still artifacts on the screen and the latency is high. However qualitatively speaking, it seems to remove the freezes. Re: i.MX95 VPU H265 latency and performance(v4l2h265enc/v4l2h265dec) ok Also please confirm the B frame question I mentioned above. Regards Re: i.MX95 VPU H265 latency and performance(v4l2h265enc/v4l2h265dec) Hello, To confirm: the IP cameras encode without B frames (I-P only). I have applied display_delay_enable=1, display_delay=0 on the decoder. This helped remove freezes, but the latency remains at ~90 ms. To isolate the bottleneck, I used the GStreamer element-latency tracer on this pipeline: ``` rtspsrc location=rtsp://... drop-on-latency=true latency=0 buffer-mode=4 !  rtph265depay ! h265parse config-interval=1 !  v4l2h265dec extra-controls="decode,display_delay_enable=1,display_delay=0" capture-io-mode=4 output-io-mode=4 !  v4l2h265enc extra-controls="encode,video_bitrate_mode=1,video_bitrate=2097152,frame_level_rate_control_enable=0,video_gop_size=30" capture-io-mode=4 output-io-mode=4 !  h265parse config-interval=1 ! rtph265pay name=pay0 pt=96 ``` Per-element latency results (640x480 @ 30fps, single stream): v4l2h265enc: ~67 ms v4l2h265dec ~2 ms all other elements < 1 ms The encoder alone accounts for ~67 ms (~2 frame periods). This is consistent across runs. The decoder is fine at ~2 ms. I have tried: frame_level_rate_control_enable=0 capture-io-mode=4 and output-io-mode=4 (DMABUF) on both encoder and decoder Minimal queue buffering between elements (max-size-buffers=1) None of these significantly reduce the encoder latency. My questions, focused on the encoder: Is the Wave6 encoder expected to hold 2 frames internally before producing output? Is there a way to reduce this internal buffering (similar to display_delay=0 on the decoder side)? Does output-io-mode=5 (DMABUF_IMPORT) work on the encoder to achieve zero-copy from upstream? Would this help latency? Is there a V4L2 control or driver parameter to enable a low-latency / zero-delay encoding mode on the Wave6? On i.MX8MP, vpuenc_hevc achieves ~10 ms for the same workload. Is this latency gap with v4l2h265enc on i.MX95 expected to improve in future BSP releases? Thank you for your help.
記事全体を表示
重新刷新 P3041DS <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我在之前的帖子中展示了如何从 U-boot 中更新 SDK 映像。然而,在那个例子中,我没有听从自己的建议,最初我将 FMC uCode 图像刻录到闪存中的错误位置。重新启动后,我不再有以太网连接,并且需要通过我的调试器Codewarrior重新刷新 FMC 代码。在这篇文章中,我将尝试介绍我所做的恢复工作,让您了解如何通过调试器重新刷新 P3041DS,甚至是裸板。 首先,我们需要 Codewarrior。我目前在 Windows 主机上使用版本 10.2,但看起来Codewarrior 10.3是目前最新版本。您还需要一个硬件 TAP,可以是 USB Tap、Codewarrior TAP、GigaTap 或以太网 Tap。对于 P3041,这需要一个 COP 接口 16 针接头。我的 USB 分接头已借出,因此我使用以太网分接头,这提供了通过 LAN 访问的额外便利。 为了本文的目的,我假设我已经清除了 NOR 闪存中的所有内容(包括 RCW)。这与从工厂返回的一块空白板的情况类似。在这种情况下,为了连接调试器,我们需要设置硬编码的 RCW。从 P3041DS 文档中,我看到 DIP 开关 SW1 配置 RCW_SRC 我需要一个硬编码的 RCW 选项,因此我将查看 P3041RM 以找出应将 cfg_rcw_src 设置为何。 由此,我确定我想要设置 cfg_rcw_src = 1_0010,因此我在 DS 上适当地设置 SW1。 请注意,在 DS 系统上,“ON”='1' 将SW1 重新配置为硬编码 RCW 选项后,我将以太网 TAP 探头尖端插入 COP 接头。 注意 pin1 的位置,并适当排列探头尖端。 现在是时候启动 Codewarrior 了。Codewarrior 基于eclipse 。我不会进行大型的 Eclipse 教程 - 但我会演示一些基础知识。Codewarrior 做的第一件事就是询问您工作区的位置。工作区是包含您可能拥有的任何项目的文件夹。在这种情况下,我创建了一个名为workspace_community的新文件夹。 我将为此创建一个新项目。项目包含我可能编译并下载到裸板的文件、初始化脚本以及如何连接到电路板的设置。选择文件/新建/Power Architecture 项目 我将我的项目命名为P3041DS并单击“下一步” 。 接下来,选择合适的处理器 构建设置通常用于构建代码,就我而言,这真的不重要。 我只使用 Core0,因此我按NEXT ,然后最后选择我的 TAP 连接。就我而言,我使用的是 IP 地址为 192.168.1.76 的以太网 TAP 我不打算使用跟踪,因此我可以在下一个屏幕上单击“完成” ,然后就会看到 Codewarrior 编码前景。我对编写任何代码不感兴趣,所以我要建立我的调试连接。为此,我单击工具栏上错误旁边的小向下箭头,然后选择“调试配置” 。 有三种方法可以连接到目标: 附加将把调试器附加到正在运行的目标 下载将重置目标,初始化它,并将代码下载到目标 连接复位,初始化目标并暂停 请注意,重置和初始化是可选的,可以配置。 我将使用Codewarrior Connect ,并将为我的项目选择该选项。要配置我的连接,我可以选择连接旁边的编辑。 在这里我看到我的连接类型是以太网 TAP,具有正确的 IP 地址,正如我之前在新项目向导中选择的那样。 如果我想更改我的初始化脚本,我会选择目标旁边的“编辑” 。 这将打开一个屏幕,其中显示用于连接特定目标的选项。您可以选择重置核心或不重置,也可以选择使用脚本初始化目标。默认脚本可以作为定制板的参考。它们初始化 DDR、MMU、本地总线等参数,以便调试器能够访问这些外围设备。再次强调,我不会详述细节。安装中包含 Codewarrior 文档,通常位于C:\Program Files\Freescale\CW PA v10.xx\PA\Help\PDF目录中。 在这种情况下,我使用标准 P3041DS 系统,只需返回主调试“调试配置”屏幕并单击调试。这将通过以太网 TAP 启动与目标的连接,并将 eclipse 前景更改为调试前景。 我看到我的目标已经停止在 0xFFFFFFFC 的重置向量处。在右下角我有一个调试器外壳。如果它不在您的视图中,您可以通过窗口/显示视图/调试器 Shell 启用它 在调试器 Shell 中,我可以直接向调试器输入命令。例如,为了读取并验证 DDR 是否正常工作,我将转储从地址 0x0 开始的 20 个位置 mem 0x0 20 这应该在默认项目上返回 0xdeadbeef,因为这是在初始化文件中将 flash 初始化的值。我可以对 flash 做同样的事情:      mem 0xe8000000 20 这应该返回闪存的前 20 个位置,这是我的重置配置字应该存储的地方。如果这两者都返回数据,我们就可以刻录闪存了。 Codewarrior Flash 刻录机通过 Codewarrior 10.x 中的目标任务运行。目标任务定义了闪存接口、地址和要刻录的图像。在目标任务视图中,单击绿色加号图标以添加目标任务。 这将打开一个窗口,我们可以在其中命名任务。任务类型应为闪存编程器。硬件诊断任务类型对于运行内存测试很有用,但这在 Codewarrior 文档中有所讨论。运行配置描述了我们如何连接到电路板。由于我已经通过项目连接到目标,因此我选择 Active Debug Context。 应显示与创建的任务相对应的视图。此时,我们需要添加闪存设备。闪存基地址是您可以通过单击“添加设备”窗口中组织右侧来更改组织。这将显示一个包含各个组织的下拉菜单。 基地址是通过初始化脚本配置的。默认情况下,此设置为 0xE8000000。目标 RAM 定义了目标上供算法使用的缓冲区。在视图的底部,可以添加 Flash 程序员操作,描述要执行的操作。示例包括擦除或编程文件。可以设置多个操作,例如擦除整个闪存、编程 RCW、FMC uCode 和 Uboot。 在这张图片中,我添加了一个操作来将 bin 文件中包含的 RCW 编程到位置 0xe8000000。由于二进制文件没有偏移量,我需要将地址偏移量 0xe8000000 应用于该文件。我指示它在编程之前也擦除扇区,并将操作限制在受影响的扇区内。 当我添加了所有需要的内容后,请务必保存目标任务。下面是我的目标任务更新 RCW 和 Fman UCode 的屏幕截图。 我会将它保存到框架中,这意味着它是项目的一部分。 然后,要运行闪存编程器,只需单击目标任务视图中的绿色“播放”箭头。编程器应该运行,如果成功,将在 Codewarrior 闪存编程器控制台中打印一条消息。 您现在可以断开 codewarrior(红色停止按钮图标),并尝试启动您的系统。请记住,DIP 开关仍然设置为硬配置重置配置字,因此我一定要先将它们改回来。 Qonverge 回复:重新刷新 P3041DS <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 下划线只是让它更容易阅读 - 没有别的作用。它有时被用来打破一小口。 保留值可以是任何值。有时它们是空白的——没有任何意义。有时它们是内部测试模式等等...... 对于大多数 QorIQ 部件,我们将内容按 MSB 到 LSB 列出。例如我现在打开了 P3041RM。 LAD[0:15] - LAD0 是 MSB LCS[0:7] - LCS0 是 MSB EC1_RXD[3:0] - RXD3 为 MSB 回复:重新刷新 P3041DS <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   保罗, 感谢您回复我。我有一个后续问题。 为什么显示的位在第 0 位和第 1 位之间显示下划线“_”?   下划线的意义是什么...只是为了更容易查看而分解一部分吗? 根据此回复,我们一直误解了硬编码 POR 配置输入以及非硬编码 POR 配置。 当你转到保留值时会发生什么? 我们的主板是几年前设计的,但我们不断发现一些奇怪的行为。 鲍勃   回复:重新刷新 P3041DS <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 这些位(至少在 Power Architecture 上)通常按 MSB 到 LSB(从左到右)的方式书写。因此,在 cfg_rcw_src[0:4] 的情况下,crg_rcw_src0 是 MSB。这对应于 LGPL0。 因此,当写入 cfg_rcw_src[0:4]=1_0010 时: cfg_rcw_src0 = lgpl0 = 1 cfg_rcw_src1 = lgpl1 = 0 cfg_rcw_src2 = lgpl2 = 0 cfg_rcw_src3 = lgpl3 = 1 cfg_rcw_src4 = lgpl4 = 0 回复:重新刷新 P3041DS <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 保罗, 我是一名硬件工程师,对于如何将 cfg_rcw_scr(0:4) 与实际硬件信号关联感到困惑。这种混淆导致无法确定 cfg_rcw_scr 位的最高有效位。 对于上面显示的硬编码表表 4-32,对于等于 cfg_rcw_src(0:4) 的 1_0010,最高有效位是什么,cfg_rcw_src[0] 还是 cfg_rcw_src[4]? 对于下面显示的 LGPLx 硬件信号,当您写入 cfg_rcw_src(0:4) = 1_0010 时,哪个是 msb 是不明确的。硬件约定建议最左边的数字是 msb,它是 cfg_rcw_src(0)。   Cfg_rcw_src[0] = LGPL0   Cfg_rcw_src[1] = LGPL1   Cfg_rcw_src[2] = LGPL2   Cfg_rcw_src[3] = LGPL3   Cfg_rcw_src[4] = LGPL5   你能解释一下其中的歧义吗? 谢谢! 鲍勃 回复:重新刷新 P3041DS <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 无论如何,我想我找到了这个问题的答案。它位于 QorIQ_SDK_Infocenter.pdf 文档内。以下是有关如何构建 u-boot 以支持 CW 的步骤。 这些步骤是否也适用于生成 u-boot elf 文件? 问:如何使用调试器(CodeWarrior 支持)构建 u-boot/内核? 答:对于 u-boot: 1. $ cd 2. $ bitbake -c cleansstate u-boot 3.修改u-boot_git.bb文件,添加以下内容: • $ cd meta-fsl-ppc/recipes-kernel/u-boot • $ add 'EXTRA_OEMAKE += "CONFIG_CW=1"' in u-boot_git.bb file 4.重建u-boot: •$ bitbake u-boot 回复:重新刷新 P3041DS <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Marius, 我已经重新安装了最新的 CW 并设法找到了文档Targeting_PA_Processors.pdf 。 文档中提到我们必须构建具有 Code Warrior Debugger 支持的 u-boot 或者构建 u-boot elf 文件。它谈论的是文件夹iso/help/documents/pdf,我可以在其中找到有关如何执行这些操作的步骤,但我不知道这个文件夹在哪里。 如何在 yocto 构建环境中构建 u-boot elf 或构建支持 CW 的 u-boot? 回复:重新刷新 P3041DS <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我将对 Flash 编程器例程做一个小小的说明。使用“已经准备好的”闪存编程器目标任务而不是制作一些新的任务非常简单。 只需右键单击并导入您的主板所需的 FP 目标任务。这些提供的目标任务的最好的部分在于它们已经构建了所有必要的闪存设备和内存设置。 此致, Marius 回复:重新刷新 P3041DS <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi, P3041DS 处的 u-boot 必须写入 NOR flash 的最后 512KB 中。是的,过程类似,只需使用从 0xeff80000 开始的起始地址。 对于 u-boot 调试,请查看 PA\Help\PDF\Targeting_PA_Processors.pdf 中有关 <5.4.6 从 NOR、NAND、SPI 和SDCard/MMC 闪存设备调试 U-Boot>章节。 此致, Marius 回复:重新刷新 P3041DS <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我也对 u-boot 的刷新感兴趣。如果有的话就太好了。 回复:重新刷新 P3041DS <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Paul, 感谢上述有用的文档。我有几个问题希望您能给我一些提示: 1) 您在文档中展示了如何将 rcw 和 fman ucode 刷入闪存。那么刷写u-boot的过程也是类似的吗? 2)如何使用 Code Warehouse 和 USB Tap 调试 u-boot(在 yocto 环境中编译)?有关于这个过程的任何文档吗?
記事全体を表示
[过滤器:垃圾邮件] nismkiki 的帖子主题与 " flipkart " 相符 " ekart ",板 " 电源管理单元 "。 [过滤器:垃圾邮件] nismkiki 的帖子主题与 " flipkart " 相符 " ekart ",板 " 电源管理单元 "。 帖子主题: 如何在 flipkart 投诉 主题文本"flipkart" 匹配过滤模式"flipkart" 。 职位机构: 请拨打 Ekart 物流免费帮助热线电话-0769-9595-414 进行投诉。Ekart Logistic 还设置了 24 小时营业 正文"Ekart" 匹配过滤模式"Ekart" 。 用户[id=258406,login=nismkiki]的发帖因以下最终用户面临的错误而被拒绝: 消息主题包含 flipkart,这在本社区是不允许的。请在发送您的帖子前删除这些内容。 邮件正文包含 Ekart,这在本社区是不允许的。请在发送您的帖子前删除这些内容。
記事全体を表示
How to refund a wrong transaction How do I get a refund from Phone, for wrong transaction?076995-95414 - If you mistakenly sent money to the wrong number on Phone it is generally ... Functional Safety
記事全体を表示
S32K344 FlexCAN 示例 CAN FD 正常模式:CAN0_Tx 和 Rx 上无信号 大家好 我正在使用 S32 Design Studio 3.6.5 和 FlexCAN IP 示例处理 S32K344 MCU。 我能够在内部环回模式下成功运行 FlexCAN 示例(并验证 Rx 缓冲区上的数据),但当我将其配置为用户/正常模式时,在物理 CAN 引脚(CAN0 TX/RX)上看不到任何活动。此外,生成的代码中还存在语法错误。 问题 生成代码后: 文件 generate/src/Siul2_Ip_Port_PBcfg.c 包含语法错误 即使我手动修复了语法错误以允许项目构建,但仍然没有使用逻辑分析器在CAN0 TX/RX引脚上观察到任何CAN活动。 以下是我的设置详情以及我迄今为止所做的尝试。 外设视图中的 FlexCAN 配置 FlexCAN 实例:CAN0 模式:启用 BRS 的 CAN FD 标称比特率500 kbps 数据比特率: 2 Mbps 时钟源: 24MHz 轮询模式(无中断) 尝试引脚配置 我尝试对 CAN0 引脚进行如下明确配置: PTA27 PTA28 PTD13 PTD14 采取的措施 通过 管理 SDK 元器件 添加了 Pins 和 Ports 元器件 为外围元器件添加了 Siul2_Port 使用 MSCR(FlexCAN 的 ALT 功能)配置上述引脚 再生代码 如果能就正确的 CAN 实例、引脚复用或已知的工具问题提供指导,我们将不胜感激。 Re: S32K344 FlexCAN example CAN FD normal mode: no signals on CAN0_Tx and Rx 更新:通过在外围设备 > 元器件中添加端口,并将引脚添加为 MSCR 索引,我得以生成正确的代码。 但在 PTA27 引脚上无法获得 CAN0 Tx 信号的问题依然存在。我用 Dio GPIO 示例切换了 PTA27,效果很好,但在 CAN FD 上却没有显示任何信号。 PFA 更新项目 zip。 Re: S32K344 FlexCAN example CAN FD normal mode: no signals on CAN0_Tx and Rx 嗨@pariks_hit 请参阅附件中的演示,RTD 为 3.0.0和 S32K3X4EVB。 Re: S32K344 FlexCAN example CAN FD normal mode: no signals on CAN0_Tx and Rx HI 谢谢你的压缩包,我使用了中断,并像你的主文件那样初始化了 STB 和 EN 引脚,现在我可以看到 Tx 引脚上有东西了。不过,我发现它的 CAN ERROR 信号多于 Saleae 中的实际 CAN 信号(截图附后)。我尝试使用传统 CAN 而不是 CAN FD(在这种情况下,我只能看到 CAN ERROR 信号,而看不到其他信号)。在 CAN FD 中,改变有效载荷大小也无济于事。我还尝试像您的项目那样配置引脚 PTA6 和 PTA7,而不是 PTA27 和 PTA28,但两者的 CAN0_Tx 波形相同,因此我认为这不是引脚问题。我还附上了我的项目压缩包,以备不时之需。 请帮帮我。 Re: S32K344 FlexCAN example CAN FD normal mode: no signals on CAN0_Tx and Rx 您好, 感谢您的确认,看来问题出在我在 Saleae 逻辑分析仪上设置的比特率上,我将其设置为 500k,现在我可以看到 CAN 帧了。
記事全体を表示
Drivers configuration for the S32K3XX Hello, I would like to ask, S32K3XX series chip new construction projects, in the use of drivers, each driver (1 corresponding to the position of each driver type) corresponding to the configuration interface in each configuration (3 shown in the position), there is no documentation or tutorials to explain? In the actual engineering application, I can rely on what information to configure, I set up each time is to look at the name of the setup item to guess its function, and decided to be configured into what, I feel the lack of official basis, so I feel that each of my settings is very no certainty and basis. Re: S32K3XX的drivers配置 Hi@Aaron_LL The following sections of AN13435 have some descriptions of the components And you can find a lot of training tutorials for configuring these peripherals in the official website. https://www.nxp.com/products/S32K3
記事全体を表示
S32K148 引导加载程序跳转应用程序,但应用程序在闪存擦除 + 复制后不运行 我正在 S32K148 上开发一个引导加载程序和应用程序设置。 引导加载程序位于闪存起始位置 (0x00000000) 应用程序位于 0x00022000 应用程序有自己的矢量表和链接脚本 当以独立组网 (SA) 方式运行时,应用程序可以完美运行 当引导程序执行闪存擦除和应用程序复制时,跳转到应用程序不起作用。 然而 如果我跳过擦除和复制,跳转就会正常工作 在这两种情况下都输入了 jump_too_application() 启用擦除 + 复制时,跳转后看不到应用打印 堆栈指针和RESET处理程序值看起来有效 应用程序矢量表正确 应用程序在没有引导程序的情况下也能正常运行 我没有在应用程序代码中明确启用看门狗 闪存擦除 + 复制后,在跳转到 S32K148 上的应用程序之前还需要哪些步骤? 谁能帮帮我? 我将链接文件脚本和跳转程序代码附在下面。 谢谢! 引导程序链接器文件 内存 { int_flash_interrupts:ORIGIN = 0x00000000,长度 = 0x00000400 /* 1K */ /* 不要更改此部分 */ int_flash_config:ORIGIN = 0x00000400,长度 = 0x00000010 /* 16 字节 */ /* 不要更改此部分 */ int_flas h:ORIGIN = 0x00000410,长度 = 0x00001101 bf0 /* 总计 128KB-0x410 = 引导加载程序代码为 0x1FBF0 字节 */ int_sram_results:ORIGIN = 0x1FF0000,长度 = 0x00000100 /* 256 字节 */ int_sram:ORIGIN = 0x1FF0100,长度 = 0x0003df00 /* ~248K */ int_sram_stack_stack_c0: ORIGIN = 0x2001E000,长度 = 0x 00001000 /* 4K */ r am_rsvd2:ORIGIN = 0x2001F000,长度 = 0 /* SRAM 结束 */} 应用程序链接文件 内存 { int_flash_intrupts:ORIGIN = 0x00022000,长度 = 0x00000400 /* 1K-0x00022000 处的应用程序中断向量 */ int_flash_config:ORIGIN = 0x00022400,长度 = 0x00022400,长度 = 0x00000010 /* 16 字节-应用程序 闪存配置 */ int_flash:ORIGIN = 0x00022410,长度 = 0x00063bf0 /* 400KB 应用程序区域(0x64000-0x410 = 0x63bf0 字节)*/ int_sram_results:ORIGIN = 0x1FF0000,长度 = 0x00000100 /* 256 字节 */ int_sram:ORIGIN = 0x1FF0100,长度 = 0x0003df00 /* ~248K */ int_sram_stack_c_c0: ORIGIN = 0x2001E000,长度 = 0x00001000 /* 4K */ r am_rsvd2:ORIGIN = 0x2001F000,长度 = 0 /* SRAM 结束 */} main.c EraseApplication(); CopyApplication(DOWNLOADED_APP_START_ADDRESS,APPLICATION_START_ADDRESS,APPLICATION_SIZE); jump_to_application(); 跳转到应用程序()函数 void jump_too_application(void) { uint32 app_msp; application_entry_t app_reset_handler; /* 跳转前打印信息 */ // printf("跳转到 application\r\n"); /* // volatile uint32 delay = 100000U; // while(delay--); /* 禁用所有中断 */ __asm volatile ("cpsid i"); /* 将向量表偏移量设置为应用程序的向量表 */ S32_SCB->VTOR = APPLICATION_START_ADDRESS; /* 从向量表的第一个字加载应用程序的 MSP */ app_msp = *((volatile uint32*)APPLICATION_START_ADDRESS); /* 从向量表的第二个字加载应用程序的 Reset_Handler 地址 */ app_reset_handler = (application_entry_t)(*((volatile uint32*)(APPLICATION_START_ADDRESS + 4U)); /* 设置指向应用程序 MSP 的堆栈指针 */ __asm volatile ("msr msp,%0": :"r" (app_msp)); // /* Memory barrier */ //__asm volatile ("dsb"); // __asm volatile ("isb"); /* 跳转到应用程序的 Reset_Handler */ app_reset_handler(); /* 不应到达此处 */ while(1) { /* 无限循环 */ } } Re: S32K148 Bootloader jump application, but application does not run after flash erase + copy 请注意,在圣诞假期期间,我们的支持响应时间可能会比平时长。在某些情况下,您的请求可能会在新年后得到处理。感谢您的理解。 Re: S32K148 Bootloader jump application, but application does not run after flash erase + copy 嗨,@kavyakoney、 可能存在闪存访问碰撞,因为引导加载程序和应用程序目前都放在 S32K148 的闪存块 0 中。 S32K148 设备包含三个 512 KB 闪存块(方块 0、块 1、块 2)。闪存编程操作(擦除/编程)只能在 CPU 不执行代码的块上进行。 如果引导加载程序从 0 块运行,并试图擦除或编程也在 0 块内的内存,内核可能会执行无效数据,从而无法正确跳转到应用程序。 为避免出现这种情况,应将应用程序放入闪存块 1 或闪存块 2,而将引导加载程序完全放在闪存块 0 中。 谢谢! BR,丹尼尔
記事全体を表示
S32K3 RTD FlexCAN 驱动程序默认禁用内存 ECC。 队员们好 最近,我们的客户发现 S32K3 RTD 驱动程序会禁用 FlexCAN 的内存 ECC 功能。虽然默认情况下启用了 ECC 功能。 客户 Xingyu 遇到的问题是,一些 CAN MB 永远卡住,无法再接收特定 ID。我们发现根本原因是某些 CAN MB 存在 ECC 错误,从而改变了该 MB 的 ID 文件。启用内存修正功能后,客户的问题就不复存在了。 请问为什么在 CAN RTD 的初始化过程中禁用了该功能?请优先考虑这个问题,而且客户是批量生产领域的客户,并向我们提供解释。 谢谢& ,致以最崇高的敬意、 理查德 优先级:高 RTD Re: S32K3 RTD FlexCAN driver disable the memory ECC by default. 你好@DanNguyenDuy、 感谢您的答复。让我再澄清一下: 1.客户使用的是旧 RTD 2.0.0 版本。我注意到最新的 RTD 版本似乎也禁用了这种内存修正功能。 2.请参阅下面的 CAN 寄存器映射(从 0x40304000 开始)。   请问为什么启用该功能会影响正常的发送和接收过程? 客户 20,000 多种产品中的一种产品出现了这种随机问题,我们的质量团队参与其中。客户启用该内存校正功能后,CAN MB ECC 问题得以解决,并能正常收发数据。 BR 理查德 Re: S32K3 RTD FlexCAN driver disable the memory ECC by default. 你好@RichardLi、 过去,当默认启用 FlexCAN 的 ECC 时,FlexCan 驱动程序会出现 ECC 问题,上电复位后无法正常传输和接收数据。此外,RTD 驱动程序不支持 FlexCan 的 ECC。因此,他们默认禁用了这一功能。 关于客户的背景,您能告诉我相关信息吗? 1。他们使用了哪个 RTD 软件包版本? 2.遇到问题时,FlexCan 寄存器的值是多少? 顺祝商祺! 丹 Re: S32K3 RTD FlexCAN driver disable the memory ECC by default. 你好@DanNguyenDuy 感谢您的支持。我们将等待 RTD 团队的反馈。 在这里,我列出了我们与客户在线调试时剪下的一些寄存器,其中大部分寄存器都显示了出来。至于 xdm 配置文件,我们将联系客户,看他们能否根据公司政策提供给我们。 BR 理查德 Re: S32K3 RTD FlexCAN driver disable the memory ECC by default. 你好@RichardLi、 1.我向 RTD 团队提交了查询票(ARTDCC3-368),要求他们做出解释。 2.根据您的附图,我发现 ESR1[BIT0ERR] 的值 = 1。该值错误位可能是由于 CAN 收发器之间的物理连接或节点之间的 CAN 位定时不一致造成的。能否将更多配置文件(.xdm 或 .arxml文件)以及偏移 0 至 C14h 寄存器的值? 顺祝商祺! 丹 Re: S32K3 RTD FlexCAN driver disable the memory ECC by default. 你好@LiekLi、 您认为我们是否可以要求客户提供他们的 xdm 文件,以帮助 SW 团队进一步分析?或者我们只需要 RTD 团队给出一个解释,就足以关闭此票? BR 理查德 Re: S32K3 RTD FlexCAN driver disable the memory ECC by default. 嗨,理查德、 解释 RTD 为何禁用此功能就足够了。 Re: S32K3 RTD FlexCAN driver disable the memory ECC by default. 你好@RichardLi、 这就是他们的答复: " 关于为什么默认禁用 ECC 的问题:我想说的是,当我们创建 RTD 代码库时,它们是从传统的 MCAL 代码库继承的,因此它们可能一直存在到现在。这对于我们来说很难审查所有代码,以确定有关专用勘误表的具体代码。 此外,在 S32K3 上,我们在低级 FlexCAN 驱动程序中实现了对 ECC 的支持: ARTD-53030 [CAN]在 S32K3 平台上实现对 RAM ECC 操作的支持 - NXP Jira" 顺祝商祺! 丹 Re: S32K3 RTD FlexCAN driver disable the memory ECC by default. 你好@DanNguyenDuy、 感谢您的及时反馈。我将把这一解释传达给客户,看看他们是否有进一步的问题。 此致, 理查德 Re: S32K3 RTD FlexCAN driver disable the memory ECC by default. 你好@DanNguyenDuy RTD 团队是否有任何最新消息?谢谢! BR 理查德
記事全体を表示
kw45 CAN 接收 您好,NXP团队, 我正在使用 KW45B41Z-EVK 板,我的目标是在这个 BLE 板上实现 CAN 通信(包括发送和接收) 我修改了 flexcan_interrupt_transfer 示例,删除了对第二个节点的依赖,并尝试进行双向通信。但是,只有传输功能能正常工作。 此外,当使用原始的flexcan_interrupt_transfer项目并从CAN流量生成器(使用相同的帧ID和为接收配置了相同的CAN信道)发送帧时,板仍然无法接收任何帧。 在这两种情况下,问题都是板无法接收 CAN 帧。您能帮我找出可能的原因并指导我解决这个问题吗? Re: kw45 CAN Reception 你好,你好,希望你一切都好、 您能帮我们描述一下代码中实施的修改吗? 您能帮助我们确认以下内容吗? 您使用的是哪个版本的 SDK? 你使用的是 1 个 KW45B41Z-EVK 板还是 2 个板?未作修改的示例是否能按预期使用 2 个 KW45B41Z-EVK? KW45B41Z-EVK 的 J9 上是否有为 P5V_CAN 供电的 12V 电源? 能否分享一下运行示例时的终端视图?非常感谢 顺祝商祺! 路易斯 Re: kw45 CAN Reception 您好, 很抱歉打扰您,首先问题已经解决。看来我正在使用的流量生成器出现了故障,无法在总线上传输帧。 除此以外,Rx 现在工作正常。谢谢你的快速回复。
記事全体を表示
LWIP - S32G 中的 TCP/IP 协议栈 你好, 我目前想在 S32G-VNP-RDB2 板 SJA1110 交换机中配置 IPv6 这个 TCP/IP 堆栈包含 在 TCP/IP 堆栈中目前我使用的是 2.1.2版本 Netiface -- ENABLE IPv6 IP 网络 -- 为 IPv6 添加了基本配置 我正在尝试创建一个链接本地地址,我应该能够在任何需要的地方使用这个 IPv6 地址。下面是需要与此代码连接的代码,这样我就可以从交换机 1 的任何端口 ping IP 地址。 ip6_addr_t ipaddr_v6; s8_t chosen_idx; IP6_ADDR(&ipaddr_v6, PP_HTONL(0xFE800000), PP_HTONL(0x0), PP_HTONL(0x3DD79303), PP_HTONL(0x126c0df0)); netif_add_ip6_address(&netif, &ipaddr_v6, &chosen_idx); netif.ip6_addr_state[chosen_idx] = IP6_ADDR_VALID; 那么需要在哪里进行集成 在 TCP/IP 协议栈中还需要做哪些更改 阿特金森 敬上 Re: LWIP - TCP/IP stack in S32G 您好@chenyin_h 事实上,您所附的 TCP/IP 协议栈图像显示的是 2.0.0,但目前我使用的是 1.4.0。 显示为"S32G TCPIP STACK 1.0.4 D2310 示例项目". 因此,我想我需要将 TCP/IP 协议栈 2.0.0 ,请为我导航,我在哪里可以找到您在片段 中共享的 TCP/IP 文件? Atkinson Re: LWIP - TCP/IP stack in S32G 你好,@阿特金森 感谢您的回复。 1.由于软件管理器页面上没有该软件,也许它尚未公开,我建议首先使用 1.0.4 版。版本。 2.1.0.4 是 S32G TCP/IP 协议栈的内部版本,而不是 lwIP 的版本,使用的 lwIP 是 2.1.3、可以满足您的要求 BR 切宁 Re: LWIP - TCP/IP stack in S32G 嗨 @chenyin_h 谢谢你的回复!! 目前我能看到我的 TCP/IP 堆栈版本是 1.4.0 你显示的 TCP/IP 堆栈的图片是 2.0.0 版 汽车软件包管理器 | 恩智浦半导体 我在这里查看了 S32G2 平台的最大容量为 1.4.0 对于 IPv6 它至少需要 2.0.0 或更高版本。那么我在哪里可以找到软件包? 在内置 IPv6 之后你能详细说明一下吗。 在这种情况下,我们如何检查分配给该端口的 MAC 地址,更改 MAC 地址并深入配置? Atkinson Re: LWIP - TCP/IP stack in S32G 你好,@阿特金森 感谢您的回复。 1.好吧,我建议使用基于 GMAC 的 lwIP 演示,PFE 演示已经过时了,而且依赖关系也不好找。 可从以下页面找到 RDB2 的 lwIP 演示(GMAC)。 要获得它,您可能需要将恩智浦账户中恩智浦配置的 S32G TCPIP 堆栈和 FreeRTOS 软件包安装到您的 S32DS 中,安装后,请按: 然后,您就可以找到我提到的演示。 2.默认设置为 IPv4 地址,当前演示可能不直接支持 IPv6。但我认为 IPv6 可能是支持的,因为它只与堆栈本身有关,您可能需要在 lwIP 中启用它,并测试是否存在问题。 BR 切宁 Re: LWIP - TCP/IP stack in S32G 你好@chenyin_h 1.)GMAC 端口有一个 lwIP 演示。PFE 端口也有一个旧的演示。 您能分享这两个实现吗?LWIP 堆栈在这里扮演什么角色? 2.)从描述来看。看来你想使用 SJA1110 端口通过 LwIP 与其他网络设备通信? 实际上,我想介绍包括 IPv6 在内的 lwip 堆栈的基本功能,所以我想在任一 SJA1110/S32G 中测试其可行性。 因此,基本上我想使用 IPv6 来传输 ping 信息或数据。 Atkinson Re: LWIP - TCP/IP stack in S32G 你好,@阿特金森 谢谢您的帖子。 从 S32G 正式软件的角度来看,GMAC 端口有一个 lwIP 演示。PFE 端口也有一个旧的演示版,但不能用于最新版本的软件组合。对于 RDB2 的 SJA1110 端口,没有直接的示例/演示。 从描述来看看来你想使用 SJA1110 端口通过 LwIP 与其他网络设备通信? BR 切宁 Re: LWIP - TCP/IP stack in S32G 你好,@阿特金森 感谢您的回复。 您可以在恩智浦账户中查看是否可用,如果仍然不可用,可能是您的恩智浦账户尚未公开。 如前所述,1.0.4/2.0.0 是" S32GTCPIP STACK" 的版本号,而该协议栈基本上基于 lwIP2.1.3或更新的版本,因此我认为使用 1.0.4您提到的" S32GTCPIP STACK" 版本仍然符合您的要求。 BR 切宁 Re: LWIP - TCP/IP stack in S32G @Atkinson你能否更新一下你是否能在 s32g 上用 lwip 运行 tcpip,以及如何运行的? 🙂
記事全体を表示
S32K3 RTD-6.0.0 Mem_Infls C40_Ip_AccessCode がハードフォールトを引き起こしている ETAS は GM と協力して SDV2 プロジェクトに取り組んでおり、以下の問題が発生しています。 ツールのバージョン: HSEファームウェアバージョン: ** HSE_FW_S32K344_12.2.76.0 ** LLSI インターフェース バージョン: ** LLSI_SW32K3XX_0_9_9_PRC ** 静的 MCAL バージョン: SW32K3_RTD_R21-11_6.0.0_P03 (GM暗号) SW32K3_S32M27x_RTD_R21-11_6.0.0_D2506 (汎用MCAL) 問題の説明: Mem_Inflsで散発的な問題が見つかりました C40_Ip_AccessCodeの MCAL モジュール。 構成パラメータ: Mem-Load-アクセス-Code-On-JobStart --> 有効 フラッシュ書き込み要求が発生したとき C40_Ip_AccessCodeがRAMにコピーされる RAMから実行される ハードフォールト発生 デバッグ結果: この行からフラッシュ操作をトリガーした後 "C40_Ip_pFlashBaseAddress[C40_Ip_Instance]->MCR |= FLASH_MCR_EHV_MASK;" この行がRAMから実行されると、この行で問題が発生していることがわかりました。 「 ( 0U == ( local_C40_Ip_pFlashBaseAddress [ C40_Ip_Instance ]-> MCRS & FLASH_MCRS_DONE_MASK)) " 「 C40_Ip_pFlashBaseAddress 」このポインター配列は Const-Global であり、コードフラッシュに格納されます。 フラッシュ ドライバが別の要求を実行しているときにフラッシュにアクセスしようとすると、ハード障害が発生します。 根本的な原因: NXP Mem_Infls関数「C40_Ip_AccessCode」 RAM から実行されているものは、書き込み/消去操作の実行中にフラッシュにアクセスしています。 ERAS-FBL チームによる修正案: 内部にポインタのローカル配列を作成する 「C40_Ip_アクセスコード」 CodeFlashに保存されたものを使用する代わりに FLASH_Type * local_C40_Ip_pFlashBaseAddress [FLASH_INSTANCE_COUNT] = IP_FLASH_BASE_PTRS;" このローカル ポインタ配列を使用して、フラッシュ レジスタにアクセスします。 この修正/パッチはテスト済みで、問題はもう発生していません。 修正のためのコード変更は添付のスクリーンショットでCAN確認できます。 適用した修正が問題なく、CAN使用できるかどうかを確認したかったのです。 RAMから実行しているのに、なぜ同時にCodeFlashにアクセスしているのでしょうか?上記のコメントで示したアセンブリを見ると、コードフラッシュから配列にアクセスしようとしていることが分かります。これがハードフォールトの原因です。RAMに保存されている配列のみを使用する場合、この問題は発生しません。 追加メモ: MemAcCallback は構成されていない、SO この CASE は NULL_PTR になります。 これは、一般的な Mem_Infls 構成のスクリーンショットです。 優先度: 中 RTD 出典: 直接お客様 Re: S32K3 RTD-6.0.0 Mem_Infls C40_Ip_AccessCode causing hard-fault より詳細なスクリーンショットを添付します: C40_Ip_AccessCodeがロードされ、 Mem_43_INFLS_AcLoadedフラグをチェックするか、フラッシュとRAMのアセンブリをチェックすることができます。 R1--> レジスタを確認してください。コード フラッシュに C40_Ip_pFlashBaseAddress のアドレスがあり、その内容をロードすると、ハード フォールトが発生します。 フラッシュステータスペリフェラルのスクリーンショットでもすべてを確認できます。 Mem_Inflsモジュールの完全な設定は、添付のzipファイルにCANあります。 Re: S32K3 RTD-6.0.0 Mem_Infls C40_Ip_AccessCode causing hard-fault こんにちは、 @cuongnguyenphu さん、 ご確認ありがとうございます。参考までに、以下の画像をすべて再度アップロードしました。 Re: S32K3 RTD-6.0.0 Mem_Infls C40_Ip_AccessCode causing hard-fault C40_Ip_AccessCode のこの問題を発見してくださった@vamsilankaに感謝します。 問題とご提案を理解しました。ただし、これらの画像を再度アップロードしていただけますでしょうか?問題を解決するには、RTD チーム用のチケットを作成してもらいます。現在の画像は解像度が低く、 Re: S32K3 RTD-6.0.0 Mem_Infls C40_Ip_AccessCode causing hard-fault @vamsilanka 確認と修正のために開発チームにチケットを作成しました: https://jira.sw.nxp.com/browse/ARTDCMEM-821 その理由は、 C40_Ip_pFlashBaseAddressがフラッシュコードで定義されているためです。 回避策として、RAM に保存されるローカル ポインターを作成し、問題を解決できます CAN SO。   Re: S32K3 RTD-6.0.0 Mem_Infls C40_Ip_AccessCode causing hard-fault こんにちは、 @cuongnguyenphu さん、 このトピックに関して迅速なご返答を頂きありがとうございます。お客様に状況をお知らせします。
記事全体を表示
S32K144 CAN通讯异常 各位大佬:   我发现个异常的现象,我基于S32K144的CAN通讯DEMO整改了一下,在DEMO板可以正常外发报文通讯,我的CAN模块的时钟使用的内部48M的,移植到自制板子通讯也正常,但是我们我把时钟源切换到外部晶振,一旦倍频数值大于28,CAN通讯外发报文功能就消失了,不是特别理解原因,有什么需要特别注意的地方么?   回复: S32K144 CAN通讯异常 我的IDE是S32 for platform 3.5,SDK是4.0.1,我同事的是S32 for ARM 2.2,SDK是4.0.1,SDK是3.0.0,他修改clockout也没有用 你如果倍频输配置到28可以么?工程传不上来,一直加载 回复: S32K144 CAN通讯异常 仅供参考 回复: S32K144 CAN通讯异常 Hi@NanMo 我没看懂,你能详细的解释下嘛 回复: S32K144 CAN通讯异常 更新状态,发现通过S32K144配置时钟树选择配置一下clockout这一路的配置后状态就正常了,大家小心工具,痛并快乐着......   Re: S32K144 CAN通讯异常 Hi@NanMo 我复现了该问题,我也没在数据手册中看到有这样的限制要求,所以我创建了一个内部帖子等待设计团队的人给我一个回复,请你耐心等待。 回复: S32K144 CAN通讯异常 原理未知,可靠性未知,望答复 回复: S32K144 CAN通讯异常 红色框图部分原来我没有修改,默认状态下去生成代码后CAN功能在我使用不同时钟源的状态下功能不一致,后面把这两个选择点开配置成spll sclock,编译烧录发现通讯正常了,再把这里的配置依照印象改回去(不一定和原来一模一样奥),编译烧录发现通讯一直正常,我想知道为啥,折磨了我两天半了 回复: S32K144 CAN通讯异常 Hi@NanMo1 你可以分享这些第三方代码给我,我可以看看。 这个问题我已经在和内部的设计团队进行确认了,这个需要点时间。如果你的项目有需求,你现在FLEXCAN完全可以使用外部的晶振时钟,这个应该是没有问题的。 回复: S32K144 CAN通讯异常 这个账号是我使用公司邮箱注册的账号,这个问题还在困扰着我,但是我发现有部分第三方代码可以实相同配置下的CAN通讯,这个具体原因是什么? 回复: S32K144 CAN通讯异常 Hi@NanMo 我测试将PLL倍频设置为40是工作不OK的,我已经提交了case至设计团队来询问时钟的限制,因为我在数据手册中没看到有这样的限制要求。 其次你说了改了CLKOUT又可以,但是我改了也没用,你要是有成功的例程,你可以发送给我测试一下。 回复: S32K144 CAN通讯异常 Hi@NanMo 如果PLL倍频设置为40,PE时钟选择为外设时钟,我的CAN通信也异常。 回复: S32K144 CAN通讯异常 仅供参考 回复: S32K144 CAN通讯异常 Hi@NanMo1 你提供的工程所使用的时钟是外部晶振时钟,这个有什么问题?这和你的问题不一样吧 回复: S32K144 CAN通讯异常 CAN的PE模块一直都是用的外部时钟,发现如果系统使用外部倍频的时钟有时候CAN不正常,而且在不同板子上现象不一样。 回复: S32K144 CAN通讯异常 我第一次上传的例程就是 回复: S32K144 CAN通讯异常 Hi@NanMo1 上传你的demo 回复: S32K144 CAN通讯异常 我的demo板是100pin的,我的自制板子是64pin的,我在100PIN的基础上直接切换成64PIN会有问题,但是如果切换完后删掉所有的配置重新走配置流程功能就正常了 Re: S32K144 CAN通讯异常 谢谢您的答复。我现在明白了问题的原因。 Re: S32K144 CAN通讯异常 Hi@NanMo 抱歉,让您久等了。 这是 S32 DS IDE 的一个错误。 我发现这是 S32 DS 工具中的一个错误,我录制了一个视频供你参考。 问题在于,我们修改 SPLL 因子后,并没有更新生成的代码,从而导致 FLEXCAN 配置错误。 在"clock_config.c" 中,"SCG_SPLL_CLOCK_MULTIPLY_BY_28" 不会改变,即使我们尝试改变 修改 SPLL 因子。 .spllConfig = { .initialize = true, .monitorMode = SCG_SPLL_MONITOR_DISABLE,/* Monitor disabled */ .locked = false, /* unlocked */ .prediv = (uint8_t)SCG_SPLL_CLOCK_PREDIV_BY_1,/* Divided by 1 */ .mult = (uint8_t)SCG_SPLL_CLOCK_MULTIPLY_BY_28,/* Multiply Factor is 28 */ .src=0U, .div1 = SCG_ASYNC_CLOCK_DIV_BY_2, /* System PLL Clock Divider 1: divided by 2 */ .div2 = SCG_ASYNC_CLOCK_DIV_BY_4, /* System PLL Clock Divider 3: divided by 4 */ }, 1.直接修改底层配置代码。 2.我发现先将运行模式切换到 HSRUN,然后再切换回 RUN,并在此过程中修改 SPLL 因子,这样就能正常生成代码。
記事全体を表示
PN7160 PN7220 Android 15 Porting to i.MX8MN EVK Introduction We have an official PN7160/PN7220 Android 15 porting guide (PN7160/PN7220 – Android 15 porting guide). But the patches only for Android 15 AOSP r1 (android-15.0.0_r1). If customer want to porting to the newer release of AOSP, there will have many errors during the source code compiling. This document is for customer reference to solve the error one by one.  NOTE :  All the modifications are just for reference. They are NOT a NXP official patches for the newer release of AOSP porting. So the modifications may not be the best solution. Customer please base on their needs to modify the AOSP source code.  Hardware boards: i.MX8MN EVK PN7160 EVK PN7220 EVK Build the Android for i.MX8MN EVK The i.MX Android BSP that I used is Android 15.0.0_2.0.0 (L6.12.20_2.0.0 BSP). It could be downloaded from here: Android OS for i.MX Applications Processors | NXP Semiconductors 1. Download the "Documentation" and the "Install Source Package".  2. Follow the Android User's Guide to build the Android BSP for i.MX8MN EVK first.  According to the android_build/.repo/manifests/aosp-android-15.0.0_2.0.0.xml, you will see the AOSP version is android-15.0.0_r32. Now, follow the PN7160/PN7220 – Android 15 porting guide to porting the NFC to i.MX Android BSP.  1. Kernel Driver : To establish connection with the PN7220 or PN7160, the Android stack uses the nxpnfc kernel driver.  You could download the driver from github below: nfcandroid_platform_drivers/drivers at br_ar_16_comm_infra_dev · nxp-nfc-infra/nfcandroid_platform_drivers · GitHub git clone "https://github.com/nxp-nfc-infra/nfcandroid_platform_drivers.git" -b br_ar_16_comm_infra_dev There is driver for Kernel 6.6 and 6.12. So, please download the correct one for your porting. For example, the kernel in i.MX Android BSP Android 15.0.0_2.0.0 is 6.12. So I will use the 6.12 driver for my porting. In your porting, make sure the PATH in Makefile and Kconfig files are setting properly.  For example in my porting: android_build/vendor/nxp-opensource/kernel_imx/drivers/nfc$ tree . ├── Kconfig ├── Makefile └── pn7160         ├── common.c         ├── common.h         ├── i2c_drv.c         ├── i2c_drv.h         ├── Kbuild         ├── Kconfig         ├── Makefile         ├── spi_drv.c         └── spi_drv.h 1 directory, 11 files android_build/vendor/nxp-opensource/kernel_imx/drivers/nfc$ cat Makefile # # Makefile for the kernel nfc device drivers. # obj-y += pn7160/ android_build/vendor/nxp-opensource/kernel_imx/drivers/nfc$ cat Kconfig source "drivers/nfc/pn7160/Kconfig" 2. Adding the "nxpnfc" to the i.MX8MN EVK device tree file. Show the connections table on the board. Show the pictures &i2c3 { clock-frequency = <100000>; pinctrl-names = "default", "gpio"; pinctrl-0 = <&pinctrl_i2c3>; pinctrl-1 = <&pinctrl_i2c3_gpio>; scl-gpios = <&gpio5 18 GPIO_ACTIVE_HIGH>; sda-gpios = <&gpio5 19 GPIO_ACTIVE_HIGH>; status = "okay"; nxpnfc@28{ compatible = "nxp,nxpnfc"; reg = <0x28>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_nfc>; nxp,nxpnfc-irq = <&gpio3 22 0>; nxp,nxpnfc-ven = <&gpio3 20 0>; nxp,nxpnfc-fw-dwnld = <&gpio3 21 0>; }; &iomuxc {         pinctrl_nfc: nfcgrp {                 fsl,pins = <                         MX8MN_IOMUX_SAI5_RXC_GPIO3_IO20                 0X19  // VEN                         MX8MN_IOMUX_SAI5_RXD0_GPIO3_IO21                0X19  // FW-DWNLD                         MX8MN_IOMUX_SAI5_RXD1_GPIO3_IO22                0X19  // IRQ                 >;         }; Show the schematic.  3. Modify the imx8mn_gki.fragment nano vendor/nxp-opensource/kernel_imx/arch/arm64/configs/imx8mn_gki.fragment Add the CONFIG_NXP_NFC_I2C=m 4. Go to the device/nxp/imx8m/evk_8mn/  Modify the BoardConfig.mk. # selinux permissive +BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive BOARD_SEPOLICY_DIRS := \        $(CONFIG_REPO_PATH)/imx8m/sepolicy \        $(IMX_DEVICE_PATH)/sepolicy  \ +       vendor/nxp/nfc/sepolicy \ +       vendor/nxp/nfc/sepolicy/nfc ShareBoardConfig.mk     $(KERNEL_OUT)/drivers/net/phy/realtek.ko \     $(KERNEL_OUT)/drivers/pps/pps_core.ko \     $(KERNEL_OUT)/drivers/ptp/ptp.ko \     $(KERNEL_OUT)/drivers/net/ethernet/freescale/fec.ko +    $(KERNEL_OUT)/drivers/nfc/nfc/nxpnfc-i2c.ko endif     $(KERNEL_OUT)/drivers/trusty/trusty-core.ko \     $(KERNEL_OUT)/drivers/trusty/trusty-log.ko \     $(KERNEL_OUT)/drivers/trusty/trusty-ipc.ko \     $(KERNEL_OUT)/drivers/trusty/trusty-virtio.ko \ +    $(KERNEL_OUT)/drivers/nfc/nfc/nxpnfc-i2c.ko else BOARD_VENDOR_RAMDISK_KERNEL_MODULES += \     $(KERNEL_OUT)/drivers/input/touchscreen/goodix_ts.ko \     $(KERNEL_OUT)/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_i2c.ko Endif Compatibility_matrix.xml             netutils-wrapper         1.0                 android.hardware.emvco         1                      IEmvco             default             device_framework_matrix.xml             nxp.hardware.secureime         1                     ISecureIME             default                         nxp.hardware.imx_dek_extractor         1                     IDek_Extractor             default                         vendor.nxp.nxpnfc         2.0                     INxpNfc             default                         android.hardware.emvco         1                     IEmvco             default             evk_8mn.mk # -------@block_bluetooth------- # Bluetooth HAL PRODUCT_PACKAGES += \     android.hardware.bluetooth \     android.hardware.bluetooth-service.default.nxp # NXP 8987 Bluetooth vendor config PRODUCT_PACKAGES += \     bt_vendor.conf # ------nfc------- $(call inherit-product, vendor/nxp/nfc/device-nfc.mk) $(call inherit-product, vendor/nxp/emvco/device-emvco.mk) PRODUCT_PACKAGES += \         android.hardware.nfc-service.nxp PRODUCT_PACKAGES += \         com.nxp.emvco \         com.nxp.nfc \         nfc_nci_nxp_pn72xx # -------@block_usb------- Init.rc on post-fs && property:vendor.skip.charger_not_need=0     # Swap in only 1 page at a time     write /proc/sys/vm/page-cluster 0     # Grant permission for fetching available_pages info of statsd     chown system system /proc/pagetypeinfo     chmod 0440 /proc/pagetypeinfo     exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d \     /vendor/lib/modules nxpnfc_i2c     write /sys/power/wake_lock nosleep on post-fs-data && property:vendor.skip.charger_not_need=0     setprop vold.post_fs_data_done 1 ueventd.nxp.rc /sys/devices/virtual/thermal/thermal_zone* trip_point_0_hyst 0660 system system /sys/devices/virtual/thermal/thermal_zone* trip_point_1_hyst 0660 system system /dev/dmabuf_imx           0664   system     system /sys/class/backlight/* brightness 0660 system system /dev/ttymxc1              0666   nfc   nfc /dev/ttymxc2              0666   nfc   nfc /dev/nxpnfc               0666   nfc   nfc # for libcamera /dev/media* 0660 system camera /dev/v4l-subdev* 0660 system camera 5.  hardware/interfaces/compatibility_matrices/compatibility_matrix.202404.xml             android.hardware.wifi.hostapd         1                     IHostapd             default                         android.hardware.wifi.supplicant         2                     ISupplicant             default                         nxp.hardware.imx_dek_extractor         1                     IDek_Extractor             default                         vendor.nxp.nxpnfc         2.0                     INxpNfc             default                         vendor.nxp.emvco         1                     INxpEmvco             default             6.  android_build/vendor/nxp/nfc/device-nfc.mk android_build/vendor/nxp/emvco/device-emvco.mk Two approach. 1. NXP NFC Patch to Android AOSP and then build. If the Android release is too new, It will be a lot of errors, 2. Copy the R1 files to R30 first, then run NXP NFC patch. Then build. I use the second. Download the AOSP R1 source code. Copy the R1 replace the folders below. Apply the patches. build the code. Here is the error list and the reference solution.
記事全体を表示
アクティブアンテナのコンセプト こんにちは、 当社は NFCB タグに取り組んでおり、CLRC663 の「アクティブアンテナコンセプト」を使用して RF なしでデジタルを検証したいと考えています。しかし、このモードを使用する際には次のような疑問があります。 1) このトピックに関するドキュメントはありますか? 2) SIGINピンが汎用受信に設定されている場合(つまりRcv.SigInSel = 11) 、デジタルサブキャリア波形 (847khz) 信号を送信するか、ベースバンド (106khz) 信号を送信するか? 3) SIGIN のシグナルには SOF、EOF を含める必要がありますか? 4) SIGIN の信号をリーダーの fC と同期させる必要がありますか? ありがとう、 プラビン Re: Active antenna concept こんにちは、 残念ながら、アクティブ アンテナのコンセプトについてはデータシートのみが記載されています。参照できる例やその他のドキュメントはありません。
記事全体を表示
i.MX 数据表中 NVCC 的含义 你好 我正在查看 i.MX 数据表,经常看到以 NVCC_* 开头的引脚名称。 能否请您解释一下 NVCC 代表什么? 此外,名称中包含 NVCC 的徽章有何意义? 感谢您的支持。 顺祝商祺! Re: Meaning of NVCC in i.MX Datasheet 您指的是哪种产品? NVCC 是"Nominal Voltage Common Collector" 的缩写,NVCC_* 引脚是为一组 I/O 焊盘(如 GPIO、UART、SPI 等)提供电压的电源引脚。 如 NVCC_SD 为 SD 卡接口引脚供电。 Re: Meaning of NVCC in i.MX Datasheet 你好,丽塔、 谢谢您的解释。我所指的产品是 i.MX93。 我知道 NVCC 代表标称电压共集电极,而 NVCC_* 引脚是为特定 I/O 组(如 GPIO、UART、SPI)提供电压的电源引脚。NVCC_SD 为 SD 卡接口供电的例子非常有用。 感谢您的支持。 致以最诚挚的问候, tkato Re: Meaning of NVCC in i.MX Datasheet 你好@tkato, 不客气。 如有任何疑问,您可以创建新的主题,与我们自由联系。 祝您有美好的一天 顺祝商祺! Rita
記事全体を表示
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 请问谁能对此问题提供支持 Re: PN532 Tag emulation NFC Tools showing NULL all the data 我并不想存储任何数据。首先,我发送带有所需参数的 0x8C(TgInitAsTarget)命令,然后等待 0x8D 响应。我正确收到了 0x8D 响应。之后,我发送 TgGetData (0x86) 命令,希望收到状态为 0x00 的 0x87,但大多数时候收到的是状态为 0x13 的 0x87。出现这种情况时,我再次发送 TgInitAsTarget (0x8C) 命令,再次收到正确的 0x8D 响应。这次,当我发送 0x86 时,我收到了状态为 0x00 的 0x87 以及 APDU 数据。这种行为在摩托罗拉和 Realme 等较新的手机上运行正常,但在较旧的三星手机上,我总是在 0x86 之后收到状态为 0x13 的 0x87,即使在多次间隔之后也是如此。收到 0x8D 后,我尝试以不同的时间间隔发送 0x86,例如 1 毫秒、10 毫秒、20 毫秒、50 毫秒、80 毫秒、100 毫秒、120 毫秒和 140 毫秒,但在较旧的三星设备上我仍然收到 0x13。如有遗漏,请指教。还要注意一件事,如果我得到 0x87、0x13 我也尝试过轮询,那时我得到 0x29。 Re: PN532 Tag emulation NFC Tools showing NULL all the data 这是因为没有内存来存储数据。 请参阅应用笔记中的第 3.3.7.2 章 Re: PN532 Tag emulation NFC Tools showing NULL all the data 我们仍然面临这个问题,请任何人支持解决这个问题。我不知道我们会遇到什么问题。
記事全体を表示
MCUXpresso IDEとSDKのインストール (日本語ブログ) この記事は? NXPのマイコン用ソフトウェア開発環境MCUXpressoとそのSDKは無料で提供されていて,誰でも簡単にインストール可能!すぐにサンプル・コードを動かしてみることができます.😃 このブログ記事は,MCUXpresso IDEとSDKのインストール方法をステップ・バイ・ステップで紹介します. ※ この記事では使用する基板の例としてFRDM-MCXA153を使います インストール手順の解説動画を公開しました.視聴はこちらのリンクから.   MCUXpresso IDEって? NXPが提供している汎用マイコンの各種サンプル・コードは,NXPが無料で提供するソフトウェア開発環境:MCUXpressoで動作するように作られています. このMCUXpressoには「MCUXpresso IDE (以下IDE)」と「MCUXpresso VisualStudio Code (以下VSC)」の2種類があり,IDEはすべての機能をひとつにまとめたアプリケーション.VSCはMicrosoft社が提供するVisualStudio Codeのプラグインとして提供されています. このブログではこの2種類のうち,IDEとSDKのインストールの方法を紹介します. IDEはWindows,macOS,Linuxで動作し,いずれのOSでも同じユーザ・インターフェースでの操作が可能です. MCUXpressoで動作するサンプル・コードを試してみるには,まずその準備としてIDEをインストールし,さらに動作させるマイコン/基板(ターゲット)のSDKをインストールしておかなければなりません. IDEはIntegrated Development Environmentの略で,統合開発環境アプリケーションです.このアプリケーションにはソースコードを編集するエディタをはじめ,コンパイラやリンカといったツールチェーン,コードをプロジェクト単位にまとめて,さまざまな設定と一緒に管理してくれるソフトウェアなどが含まれています. SDKはSoftware Development Kitの略で,マイコン・チップ毎に必要なドライバ・コード,設定情報が含まれています.SDKは作成しようとするマイコン・チップや基板(ターゲット)ごとにインストールしておかなければなりません. ではこれらのインストール方法をステップごとに解説しましょう. この記事はmacOSを用いた例となっていますが,WindowsやLinuxでもほぼ同じ操作でインストールできます. nxp.comへのログイン これ以降の作業を行うには,あらかじめnxp.comにログインしておかなくてはなりません. もしまだ nxp.com のアカウントをお持ちでない場合には,先に登録を済ませたのちにログインしてください. MyNXPアカウントの登録方法はこちら MCUXpresso IDEのインストール IDEのインストーラをMCUXpresso IDEのダウンロードサイトからダウンロードします.このダウンロードにはnxp.comでのユーザ登録が必要なので,もしまだであればあらかじめ済ませておきましょう. MCUXpresso IDEのダウンロードサイト行き「ダウンロード」ボタンを押す. ページがスクロールし,ダウンロードページへのリンク・ボタンが表示される.この「ダウンロード」ボタンを押す. MCUXpresso IDEのリンクをクリック. 利用規約が表示される.問題がなければ「I Agree (同意)」ボタンを押す. 自分が使うOSに合わせたインストーラを選んでリンクをクリック. ダウンロードするインストーラはLinuxならファイル名末尾の拡張子が「.deb.bin」のものを.Windowsなら「.exe」を. macOS用は拡張子が「.pkg」ですが2種類あります.M1以降のMシリーズ(Arm)プロセッサ搭載のMacなら「MacOSX - aarch64」,インテルCPU搭載のMacなら「MacOSX - 86-64」をダウンロードします. ※ バージョン番号が違う場合は読み替えてください ダウンロードが完了したら,インストーラを起動.表示される手順に従ってインストールを完了させます.   SDKのインストール   MCUXpresso IDEの起動とワークスペース MCUXpresso IDEのインストールが完了したら,MCUXpresso IDEを起動します. macOSでは,起動後にワークスペースをどこにするか聞いてきます(ガイド動画2:49付近).ワークスペースとは作業を行うためのフォルダです. デフォルトではユーザ・フォルダの中の,「Documents」の中に新しいフォルダが作られます. ※ 下図はデフォルト設定表示の例.この例ではdemoというユーザ名で作業しているので「/Users/demo/..」のような指定となっています.  ワークスペース(フォルダ)はユーザ・フォルダの中なら好きな場所にできます.下図の例ではユーザ・フォルダの中に「mcux」を作り,さらにその中で「project0」という名のワークスペースが作られます. SDKのインストール 起動(起動とワークスペースを指定を完了)すると,下図のようなウェルカム表示が現れるのでこの中の「Download and Install SDKs」をクリック. しばらくサーバへの問い合わせを行ったあと,下図のような表示となります.このデフォルトの表示状態では右側と下側の表示が隠れてしまっているので,ウィンドウのサイズを拡げるか,表示を適宜スクロールします. ウィンドウサイズを拡げて表示域を確保 表示右上部の検索フィールドに,使用する基板やマイコンの型番を入力. ここでは例としてFRDM-MCXA153を使うので「A153」を入力した.その結果,FRDM-MCXA153基板が候補として表示された. FRDM-MCXA153基板を選択すると「Install」ボタンがハイライト表示されるので,これをクリック インストール中はダイアログボックスが表示される インストールが完了すると,ウェルカム表示に戻る. この表示をタブのクローズボタンで閉じる. IDEのデフォルト表示状態になる. 下部中央の表示枠(ペイン)のInstalled SDKタブにインストールされたSDKが表示される 準備完了! これで準備は整いました! 左上のペイン内の「Project Explorer」で,新しいプロジェクトを作成したり,SDKやGitHubまたはダウンロードしてきたプロジェクトをインポートして実行してみることが可能です. おまけ:このまま基板の動作を試してみるには SDKにはサンプル・コードが含まれています. ここまでFRDM-MCXA153を例としてSDKをインストールしたので,そのままこの中にあるサンプル・コードを試してみることにします. まず基板とコンピュータをUSBケーブルで接続しておきます.FRDM-MCXA153では「MCU-Link」の表示のあるUSBコネクタを使います(写真参照). IDEの左上ペイン内,Project Explorerタブにある「Import SDK example(s)...」をクリック. インストールされているSDKが表示されるので「Next>」をクリック. サンプル・コードのリストが表示される. LEDチカチカ(=Lチカ)の例が「driver_examples」→「gpio」→「gpio_led_output」にあるので,下図のように階層をたどってチェックマークを入れ,「Finish」ボタンを押す. サンプル・コードがインポートされた. 青い虫のアイコン(Start debugging project)をクリック. ターゲットを選択するダイアログボックスが現れるので,表示された基板の情報を確認して「OK」ボタンを押す. コードがビルドされ,マイコンのフラッシュ・メモリに書き込まれます.そのあとコードが実行できる状態で一時停止. 黄色の四角とと緑の三角が組み合わさったアイコン(Resume)をクリックすると,基板上でコードが実行されます. このサンプル・コードはGPIO(General Purpose Input/Output = 汎用入出力)ピンにHIGHとLOWを交互に出すものでした.このピンが赤色のLEDに繋がれているので,LEDが点滅します. 参考資料 解説動画:さぁはじめよう!MCUXpresso IDE 関連情報:MCUXpresso for VSCとSDKのインストール (日本語ブログ) 変更履歴: 2025-05-07:初版 2025-06-26:「nxp.comへのログイン」の項を追加 2025-10-28:リンクの訂正 2025-11-10:リンクの更新 2025-11-14:インストール手順解説動画へのリンクを追加 / 参考資料の項を追加 2025-11-18:冒頭部の画像と使用基板の注釈追加.動画リンク画像変更 2026-03-17:「MCUXpresso IDEって?」の項の図を訂正 2026-04-05:「MCUXpresso IDEの起動とワークスペース」の項を追加  ========================= 本投稿の「Comment」欄にコメントをいただいても、現在返信に対応しておりません。 お手数をおかけしますが、お問い合わせの際には「NXPへの技術質問 - 問い合わせ方法 (日本語ブログ)」をご参照ください。 (既に弊社NXP代理店、もしくはNXPとお付き合いのある方は、直接担当者へご質問いただいてもかまいません。) NXPのマイコン:MCXシリーズのソフトウェア開発にはMCUXpresso IDEが無料で使えます. またさまざまなMCUXpresso IDEで使えるサンプル・コードが提供されています.ここではIDEとSDKのインストールの手順を解説します. これを読めば,誰でも簡単に開発環境&SDKをインストールできて,サンプル・コードまで動かすことができます! General Purpose Microcontrollers MCUXpresso MCUXpresso IDE MCX 日本語ブログ
記事全体を表示
S32K324 HSE固件如何安装? 我正在开发S32K324,S32K324哪里可以找到安装HSE固件的软件工程? Re: S32K324 HSE固件如何安装? Hi 请从S32K3 标准软件> 汽车软件 - S32K3 - HSE 固件 > S32K344 HSE FW 0.2.40.0 SR 版本下载。注意:此版本支持 S32K344、S32K324 和 S32K314。HSE_DEMOAPP_S32K3XX_0_2_40_0.exe可以在S32K311 HSE FW 0.2.40.0 RTM版本中找到。 如果您没有 Lauderbach,只有 PEMicro 或 J-Link 调试器,请下载S32K3_HSE_DemoExamples 。建议参考HSE 固件安装中的讨论。 由于资源有限,我们目前无法支持客户通过通用电子邮件帐户(例如 gmail.com 或 qq.com 或类似帐户)发信。请确保您在与 NXP 沟通时使用您的公司电子邮件地址,以便我们能够相应地优先处理您的问题。感谢您的理解。 此致, 罗宾 -------------------------------------------------------------------------------- 笔记: - 如果这篇文章回答了您的问题,请点击“标记正确”按钮。谢谢你! - 我们会关注上次发帖后七周的帖子,之后的回复将被忽略 如果您稍后有相关问题,请打开一个新线程并参考已关闭的线程。 --------------------------------------------------------------------------------
記事全体を表示
启动 QSPI 时 S32g274a 中的 LLCE 固件加载失败 大家好, 我们正在使用 S32g274a,其中所有 LIN 核心都用作 UART,我们还使用中断转发来让 LIN 核心在有 rx 数据时获取中断。一切都与调试器完美配合。但我们面临的问题是,当我们将图像刷入外部启动存储器(如 qspi flash)并从中启动时,代码会在 llce_firmware_load() 处停止。 有什么方法可以解决这个问题吗? S32G2 #LLCE 回复:启动 QSPI 时 S32g274a 中的 LLCE 固件加载失败 你好@naveenkumar_muthusamy , 您能提供更多有关您的设置的信息吗? 我了解您在这个项目中使用 Core M7,我的理解正确吗? 我知道您使用的是定制板而不是 RDB2,我的理解正确吗? 您使用的 LLCE FW 是什么版本? 您使用的 RTD 是什么版本? 您是从一个例子开始您的项目吗?如果有的话,哪一个? 您以前能够从 QSPI 启动 LLCE 应用程序吗? 您能描述一下构建二进制文件并将其刷入 QSPI 闪存的一般过程吗? 您如何识别程序正在阻止上述函数llce_firmware_load() 中的执行。 提前感谢提供的信息。
記事全体を表示