Multi Source Translation Content

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Multi Source Translation Content

Discussions

Sort by:
MCUXpresso Config Tools: How to Use the Clocks Tool (Japanese Blog) table of contents Introduction In what situations can Clocks Tool be used? Installing Config Tools Browse Tool screen configuration Basic Terminology for Using Clocks Tool Demonstration: Change the CPU core clock settings and alter the LED blinking speed. Bonus 1 - Clock settings are already available as presets. Bonus 2 - Where are the settings values that were automatically generated by the initialization code? Introduction MCUXpresso is a microcontroller development software platform provided by NXP. In addition to the MCUXpresso IDE, it also offers MCUXpresso for VSC (Visual Studio Code) and Config Tools to assist with peripheral configuration. Config Tools consists of tools such as the " Pins Tool " for setting pins and the " Clocks Tool " for configuring clock settings, and its key feature is that it allows for intuitive and easy initial setup of the microcontroller's peripherals via a GUI . This article will focus on the "Clocks Tool," which is responsible for clock settings. For instructions on using the "Pins Tool," please refer to the following article. MCUXpresso Config Tools: How to Use the Pins Tool (Japanese Blog) Clock settings are a crucial element directly impacting microcontroller performance, power consumption, and the operation of each peripheral. However, the clock tree can be complex, making it difficult to understand which clock is being used where . Clocks Tool allows you to visualize and configure clock sources, frequency division settings, and the clock supply status to each peripheral. It can also automatically generate initialization code based on the settings. When you install the MCUXpresso IDE , Config Tools are also installed, making them available as a built-in feature of the IDE . On the other hand, in the Visual Studio Code ( VSC ) environment, which has become increasingly popular in embedded development in recent years, you can similarly use Config Tools (including Clocks Tool ) by installing MCUXpresso -related extensions. There are no significant differences in the functionality of Config Tools between the IDE version and the VSC version. This article explains how to install Config Tools in the VS Code environment, how to use the tools, and finally demonstrates how to change the CPU clock settings within Clocks Tool and alter the LED blinking speed using the FRDM-MCXN947 . You can also watch a video. Click this link to watch : How to use MCUXpresso Clocks Tool (VS Code environment) In what situations can Clocks Tool be used? When you want to check the existing internal clock settings (clock tree) When you want to adjust and optimize the operating frequency for each module When you want to consider a configuration that lowers the clock frequency with low power consumption in mind. Installing Config Tools This guide explains how to install Config Tools in the VS Code environment. *If you haven't installed MCUXpresso for VS Code yet, please refer to this blog post. Installing MCUXpresso for VSC and SDK (Japanese blog) After launching VS Code , select MCUXpresso from the left-hand panel, and then click Open MCUXpresso Installer from the Quick Start Panel . Kogiso_0-1778572125810.png The installer will launch. Select MCUXpresso Configuration Tools and click Install in the upper right corner. (This blog post describes the installation of MCUXpresso Config Tools v26.03.) Kogiso_1-1779262222580.png You will be prompted to log in to MyNXP as soon as the installation begins. Kogiso_2-1778572191255.png After logging in, the License Agreement will be displayed. Please review its contents and agree to them. *Please restart VS Code after installation. Q. What if the installation fails? A. Please download the installer appropriate for your PC's OS environment from the following website and try it. MCUXpresso Config Tools | Software Development for NXP Microcontrollers (MCUs) | NXP Semiconductors As you proceed with the installation, the following screen will appear on the initial screen. If you do not see anything relevant, you can close it. Kogiso_3-1778572212609.png To access Config Tools from VS Code , install the SDK , import the sample, then right-click on your project. "Open with MCUXpresso Config Tools " will appear; click on it. *This entire process will be explained in detail in the final demonstration, so we will omit it here. Config Tools will start after a short while. Kogiso_0-1779263924259.png If you are using the MCUXpresso IDE, Config Tools are integrated by default and can be launched directly from the top tab. Kogiso_5-1778572280128.png Browse Tool screen configuration After launching Config Tools , you can switch between tools using the panel on the right side of the screen. This time, we'll select " Clocks ". Kogiso_6-1778572331001.png The Clocks Diagram , which is frequently used when changing clock settings , can be selected from the top left of the screen. The Problem view in the lower right corner of the screen displays any errors or warnings related to your settings. Kogiso_0-1779261646084.png If there is an error due to incorrect clock settings, the Problem view will display the location and cause of the error. Additionally, the relevant area will be highlighted in red on the Clock Diagram, allowing you to visually identify the problem. For example, if you set the CPU clock to exceed the specified maximum value, an error message (shown below) will be displayed. Kogiso_1-1778634860572.png Basic Terminology for Using Clocks Tool This section clarifies the basic terminology displayed on the Clock Diagram when using the Clocks Tool . Clock Tree This is a configuration diagram (tree diagram) showing where clocks are generated, how they are distributed and selected, and how they are supplied to each block. Clocks Tool allows you to configure settings while visually viewing this Clock Tree . Clock Source This is the signal source that serves as the starting point for the clock. This includes internal RC clocks, external crystals (oscillators), and external clock inputs, and is located upstream in the clock tree. In the MCX N947, the built-in 48MHz RC clock (FIRC) is used as the clock source by default . Kogiso_8-1778572482107.png PLL ( Phase Locked Loop) This circuit generates a stable high-frequency clock using a clock source as input. The output frequency can be adjusted by setting the multiplier and frequency divider, allowing for flexible creation of clocks for CPUs and high-speed buses . Here, a 300MHz clock (48MHz/8*50=300MHz) is generated based on the 48MHz input clock, which is the Clock Source . Kogiso_9-1778572553141.png DIV (Divider ) This function allows you to divide and adjust the clock frequency. Frequency division settings are available for the CPU , bus, and each peripheral, and are used to adjust to the required operating frequency. In the following example, a 150MHz clock (300MHz/2=150MHz) is generated from a 300MHz clock generated by PLL0. Kogiso_0-1778575383641.png Mux ( Multiplexer ) This mechanism allows you to switch which clock to use from among several potential clocks. Switching the selection changes the clock supplied downstream. In the diagram below, there are two MUXs ; the one on the left selects a 48MHz clock from the internal RC clock, and the one on the right selects a 150MHz clock divided by DIV (PLL0_PDIV) . Kogiso_10-1778572690176.png Demonstration: Change the CPU core clock settings and alter the LED blinking speed. Here, we will actually change the clock supplied to the CPU using Clocks Tool and see if the blinking speed of the LEDs on the evaluation board changes. Hardware Preparation The evaluation board used in this article is the FRDM-MCXN947 Installing the SDK With the MCUXpresso icon selected in the left-hand panel of VS Code , click " Import Repository ". Kogiso_11-1778572835161.png Next, click on " REMOTE ARCHIVE ," the second option from the left, and search for " FRDM-MCXN947 " in the Package section . Entering " 947 " will immediately display FRDM-MCXN947 as a suggestion . Kogiso_12-1778572855885.png The Name , Location , and the "Create Git" checkbox can be set as you wish. *For Name and Location names, it is best to use only lowercase alphanumeric characters and underscores (_) or hyphens (-) , and avoid symbols such as ( \, /, :, *, ?, ", <, >, | ) (which may cause program malfunctions) and spaces. Finally, check the " I agree " box and click " Import " to begin the SDK installation. Please wait a moment. The installation is complete when " Repository successfully imported" is displayed in the lower right corner of the screen. Kogiso_13-1778572880338.png Importing sample code Once the SDK installation is complete, proceed to import the sample code. Click " Import Example From Repository " in the panel on the left. Kogiso_14-1778572955527.png Within each tab displayed on the right, under " Repository ," select the SDK you just imported. Please select FRDM-MCXN947 for " Board ". In this " Template " demonstration, we will be changing the blinking speed of the LED . I'll try it with " driver_examples/gpio/gpio_led_output_cm33_core0 " which appears when I type " led ". Kogiso_15-1778572977361.png Next, select the Toolchain and click " Import" . Kogiso_16-1778572998907.png Open ConfigTools Right-click on the imported sample and select " Open with MCUXpresso Config Tools ". The Config Tools will launch after a short wait. Kogiso_17-1778573044565.png Once Config Tools opens, first check the Overview in the right-hand panel. In this example, both Clocks and Pins are green (ON ) , indicating that both tools are enabled. Kogiso_18-1778573085903.png Now, let's look at the Clock Diagram . The main clock of 150MHz is generated from the clock source FIRC 48MHz via PLL (PLL0) , DIV (PLL0_PDIV) , and MUX (SCSSEL) . Kogiso_19-1778573132716.png Next, scroll down a bit to see the clock supplied to the CPU . In this sample application, " System_clock" corresponds to the CPU core clock. The MAIN Clock at 150MHz passes through a DIV ( Distributed Variable) in between, but is still supplied to the System Clock at 150MHz . Later, we will change the value of this DIV and thereby change the clock signal input to the System Clock , observing the change in the LED blinking speed. Kogiso_20-1778573194903.png Check the LED blinking speed when the CPU Clock is set to 150MHz. First, let's look at the LED blinking speed when the CPU Clock is set to 150MHz without any changes. Close Config Tools and open VS Code . Before building, connect the board ( FRDM-MCXN947) to the PC . Kogiso_21-1778573253173.png Once the connection is established, debug the imported sample (build, write, and run the application). Kogiso_4-1779431772140.png Once the debugging process is complete, the program will have stopped at the breakpoint, so click the "|▶" icon at the top of the screen. Kogiso_23-1778573283897.png As shown in the video, the red LED will start blinking. This is the blinking speed at a clock speed of 150MHz (default setting). (function() { var wrapper = document.getElementById('lia-vid-6395306957112w304h540r743'); var videoEl = wrapper ? wrapper.querySelector('video-js') : null; if (videoEl) { if (window.videojs) { window.videojs(videoEl).ready(function() { this.on('loadedmetadata', function() { this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) { bar.setAttribute('role', 'presentation'); bar.setAttribute('aria-hidden', 'true'); }); }); }); } }})(); (Show My Videos) To stop, click the square icon (even after stopping the debug, the program will continue to run on the board, so the LED will continue to blink, but please ignore this for now ) . Kogiso_24-1778573665179.png Change the CPU clock to 50MHz and check the LED blinking speed. Next, we'll use ClocksTool to change the CPU core clock from 150MHz to 50MHz . Open the Clocks Tool in Config Tools again . Scroll down slightly in the Clocks Diagram and change the DIV (AHBCLKDIV) connected to the System Clock . When changing it, click on the number within the DIV you want to change to select from the dropdown menu. Selecting 1/3 here will change the System Clock to 50MHz . *When changing clock settings, please note that changing the clock settings upstream, which are close to the Clock Source, may affect multiple clock settings downstream. Kogiso_0-1779430403587.png Now, we will rewrite the sample code. First, click "Update Code" in the upper left corner of the Config Tools screen. In the dialog box that appears, select "OK". Kogiso_26-1778573845631.png When you return to VS Code in this state, three checkboxes will appear at the top of the screen. Make sure they are checked and click OK . After a short wait, the changes made in Clocks Tool will be applied to the sample code in VS Code . *This may not be displayed if the SDK version is different. Kogiso_27-1778573865307.png If successful, the following message will be displayed in the lower right corner of the screen. Kogiso_28-1778573878068.png Run the debug test again, and once it's finished, run the sample application using "|▶". The LED will start blinking. This is the blinking speed at a 50MHz clock. It is clearly slower compared to the speed at 150MHz . (function() { var wrapper = document.getElementById('lia-vid-6395308518112w304h540r499'); var videoEl = wrapper ? wrapper.querySelector('video-js') : null; if (videoEl) { if (window.videojs) { window.videojs(videoEl).ready(function() { this.on('loadedmetadata', function() { this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) { bar.setAttribute('role', 'presentation'); bar.setAttribute('aria-hidden', 'true'); }); }); }); } }})(); (Show My Videos) This concludes the demonstration. Thank you for your participation. Bonus 1 - Clock settings are already available as presets. While the previous steps involved changing the clock using DIV , Clocks Tool comes with several clock settings pre-configured. Select Clocks Tool in Config Tools , and then choose your desired clock from the top of the screen : FRO 12MHz / FRO HF 48MHz / FRO HF 144MHz… Kogiso_0-1778574158553.png For example, if you select "BOARD_BootClockPLL_100M " , you will see that the Clock Source , PLL , and DIV are all different from before. For example, the Clock Source is a 24MHz external clock (SOSC) . Kogiso_1-1778574179336.png Bonus 2 - Where are the settings used to automatically generate the initialization code? We will examine how the clock settings are automatically updated (Update Code) using Clock Tools, and how this is reflected in the actual initialization code. Check the C source file (gpio_led_output.c) in the Project Files of the imported sample. Kogiso_2-1778574228909.png If you look inside the C source file, you'll find code that initializes the Pin , Clock , and Debug console . Kogiso_3-1778574247421.png Right-click on BOARD_InitHardware(); and click "Go to Definition" to see more details. Kogiso_4-1778574280972.png There is code to initialize the Pin , Clock , and Debug console . Right-click on BOARD_InitBootClocks(); and select " Go to Definition" (or "fn + F12") to see more details. The destination file (clock_config.c) is FRDM-MCXN947This is the generated code that defines the startup clock configuration. As you scroll down, you will see that, as explained earlier, multiple clock configurations ( FRO 12MHz / FRO HF 48MHz / FRO HF 144MHz / PLL 150MHz / PLL 100MHz ) are available as presets. In the image below, the default value of PLL150MHz is shown, Kogiso_5-1778574353197.png For example, if you change this part to BOARD_BootClockFROHF48M Kogiso_6-1778574378576.png Initialization will be performed using the FRO HF 48M clock configuration, which is prepared as a preset. Kogiso_7-1778574399078.png Next, let's see how the clock configuration and code change when we directly modify the DIV in Clocks Tool while keeping the FRO HF 48M . The text and settings enclosed in the red box will be changed. Kogiso_8-1778574466864.png Furthermore, if you change the DIV connected to the System Clock in Clocks Tool to 1/2 , i.e., from 48 to 24MHz, and then run Update Code, you will see that the red frame has changed due to the change in DIV. Kogiso_9-1778574928326.png   You can also check the differences before and after the changes in Clocks Tool. After changing the clock settings, clicking Update Code will display a dialog box like the one below. Files with differences will have "change" displayed to the right of the file name. Clicking this will allow you to view the differences. Kogiso_2-1779431079086.png clock_config.c Let's check the difference. The left side (Newly generated) shows the modified file, and the right side (On disk) shows the original file. You should be able to see that there is a difference in the System Clock. The areas where differences have occurred are highlighted with a different color, making them visually easy to spot. Kogiso_3-1779431340110.png   Due to the increasing integration of functions in microcontrollers and processors, their internal clock trees have become extremely complex. Without a clock visualization tool like this, designing and evaluating such systems would be practically impossible, so please make use of it.   Reference materials Tutorial video: How to use MCUXpresso Clocks Too (VS Code environment)   =========================​ We are currently unable to respond to comments left in the " Comment " section of this post . We apologize for the inconvenience, but please refer to " Technical Questions to NXP - How to Contact Us ( Japanese Blog ) " when making inquiries . (If you are already an NXP distributor or have a relationship with NXP , you may ask your representative directly.) This guide focuses on the "Clocks Tool" within the MCUXpresso Config Tools, explaining the basics and methods of setting the clock. It covers everything from installation in a VS Code environment to a demonstration of LED blinking caused by CPU clock changes. (Estimated time: 10 minutes *Assumes MCUXpresso for VSC (Visual Studio Code) SDK is installed) MCUXpresso MCX Victoria | Downloads Japanese Blog
View full article
S32K3 在不阻塞的情况下测量 PWM 占空比 (emiOS ICU IPWM) 你好, 仅供参考- 我正在使用 emiOS 的 ICU 通道来测量 IPWM 模式下不同的 PWM 占空比。我目前能够成功地以 " 阻塞 " 方式测量占空比。 我的输入从 100% 占空比(实际上没有 PWM)过渡到我需要测量的给定占空比的 PWM 信号。 我的 .mex配置如下 我的示例代码如下 虽然这种方法可行,但我更倾向于启动一次信号测量,并定期调用Emios_Icu_Ip_GetDutyCycleValues(),而无需调用 Emios_Icu_Ip_StopSignalMeasurement(),以避免在测量完成之前被阻塞。另外,如果在测量完成时有一个中断被触发,对我来说也是可行的。 我最初只尝试调用 emios_ICU_IP_startSignalMeasuremeasum (),然后定期调用 emios_ICU_IP_getdutyCycleValues ()(每 1 秒,而 PWM 频率为 1kHz),但是数据不准确。 据我了解,SAIC 更适合不同的 PWM 信号(我认为这适合我的用例),但我想我也可以使用 IPWM,因为测量读数会延迟。我不介意返回的结果是否会稍微延迟或过时几毫秒,因为我预计占空比不会发生快速变化,而且频率将保持不变。 如果有人能澄清如何使用IPWM实现这一目标,或者我只能通过SAIC实现这一点,那就太好了。 谢谢 Re: S32K3 measuring PWM duty cycle (eMIOS ICU IPWM) without blocking 你好 您遇到的问题是 S32K3 上 eMIOS ICU IPWM 模式的一个已知限制: IPWM 本身是 "基于测量窗口 "的,而不是连续的,因此在不重启/关闭测量的情况下定期读取会导致过期或部分更新的值。 IPWM 不是为不同步的定期轮询而设计的 您必须: 使用中断通知,或 读数前重新开始测量,或 转用 SAIC 实现真正的无阻塞连续测量 顺祝商祺! Peter
View full article
mimxrt1180 上の Azure NetXDuo NXPコミュニティの皆様、こんにちは。 MCUXpresso SDK BuilderでAzure NetXDuoを選択してSDKのビルドをクリックすると、ボードが見つからないため、 Azure NetXDuoをmimxrt1180のミドルウェアとして使用できません(下記参照)。 このボード用のミドルウェアを入手する別の方法はありますか? よろしくお願いいたします。 ACR 開発ボード Re: Azure NetXDuo on mimxrt1180 こんにちは、 @ACR さん。 RT1180は現在、NXP製マイクロコントローラ向けAzure RTOSのサポート対象外です。詳細は以下のリンクをご覧ください: NXPマイクロコントローラ向けAzure RTOS | NXP Semiconductors ご迷惑をおかけして申し訳ございません。 Re: Azure NetXDuo on mimxrt1180 こんにちは、 @EdwinHz ご返信ありがとうございます。RT1180版のリリースは近いうちに期待できますか? 現在サポートされている別のネットワークスタックはありますか? よろしくお願いします、 Re: Azure NetXDuo on mimxrt1180 RT1180で現在サポートされているネットワークスタックは、LwIP、Zephyrネットワークスタック、およびここに示されているインダストリアルなプロトコル・スタック(EtherCATやPROFINETなど)です。https: //www.nxp.com/products/i.MX-RT1180#software RT1180におけるAzureのFUTUREのサポートについては、私にはその情報へのアクセス権限がありません。 BR、 エドウィン。
View full article
S32K3_ADC 校准失败 您好,NXP 我配置了 ADC0 和 ADC1,然后发现 ADC0 在验证时偶尔会失败。验证失败的原因是什么?根据我的理解,如果验证失败,就会直接输出失败。目前,我看到它停留在 CALBISTREG[C_T_BUSY]。当我的应用程序运行很长时间后,我检查寄存器,发现该状态保持不变。 企业微信截图_17746949648793.png image.png image.png 敬上, xianlong Re: S32K3_ADC_Calibration fail 您想用 ADC 传输哪种信号?电机控制或某种安全信号 Re: S32K3_ADC_Calibration fail 您好,@db16122 感谢您的关注。它只是收集一些电压信号,与电机控制无关。您是否有任何相关经验可以分享? 最美好的祝愿, xianlong Re: S32K3_ADC_Calibration fail 你好@武仙龙 在您的图片中,MCR 为 0xA100 0E03 ,因此"PWDN" 位为 1 image.png   不过,在进行下一步操作之前,应将"PWDM" 设置为 0b。 image.png 我不确定这是否就是 ADC 验证失败的原因,使其处于 "忙 "状态。 Re: S32K3_ADC_Calibration fail 你好,@Senlent 我调查了底层代码,这种状态是可以解释的。当 ADC 因某种原因无法校准时,ADC 模块的硬件状态机将保持在 "校准 "状态。软件完成校准过程后,将禁用 ADC 模块,重新配置时钟,然后再次启用模块。软件返回的标准是 ADC 状态寄存器,但目前寄存器的值是校准。软件返回超时,然后将不再为该 ADC 模块供电。 现在的主要问题是,为什么 ADC 模块的硬件状态机仍处于校准状态?而且这个问题是偶发的,只要改动一点代码,问题就很难再现。 企业微信截图_1774870123825.png 敬上, xianlong Re: S32K3_ADC_Calibration fail 根据 TSAMP 设置,该值为 00b,即 22 个周期。由于 ADC 校准可能需要一些时间,也许您可以改用 32 个周期的 11b。请查看 S32K3 清单 20260104。 顺便说一句,ADC 校准是一直失败还是偶尔会失败?是否有可能因某处的噪声而改变 ADC 校准参考电压? Re: S32K3_ADC_Calibration fail 你好@武仙龙 对此,我也没有太多想法。我建议您阅读本文件的以下章节: 章节:3.6.9 ADC 校准建议 https://community.nxp.com/t5/S32K/S32K3%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E6%A3%80%E6%9F%A5%E5%88%97%E8%A1%A8-Check-list-%E5%88%86%E4%BA%AB/m-p/2020858 关于 ADC 自检的一些建议。 请检查上述每项建议,看看是否有需要优化的地方。 Re: S32K3_ADC_Calibration fail 你好, @ db16122 @Senlent 感谢您的帮助。 目前,通过测试尚未找到根本原因。当我直接断开 VREFH 引脚并调用校准函数 Adc_Calibrate 时,校准会失败。但是,校准失败将设置 TEST_FAIL 寄存器,ADC 状态将变为 IDLE。它不会卡在校准状态。 image.png 虽然问题的原因不明,但检查清单中的措施应能避免这一问题。 敬上, xianlong
View full article
如何断开调试器? 问题 我需要断开调试器,让应用程序继续运行。 只要拔出 J-Link 的 USB 电缆通常会使我的板崩溃。 有一个 断开按钮,但它是灰色的。 如何才能(优雅地)断开调试器(并让应用程序正常运行)?希望那样我能让 J-Link 掉电? 背景: 在 imxRT1024 上运行的大型 FreeRTOS 应用程序。 调试器工作绝对正常 Windows 10 上的 MCUXpresso IDE v24.9 [版本 25] [2024-09-26] segger J-Link 软件版本 V9.22(刚更新到最新版本) i.MX RT102x Re: How can I disconnect debugger? 你好@davenadler、 感谢您对 NXP MIMXRT 系列的关注! 您的应用程序使用 semihost 吗?还是软件重新配置了任何与 SWD 相关的引脚?也有可能是你的硬件在断开与调试器的连接后出现了供电问题。请帮忙检查一下。或者,也可以尝试使用串行下载模式,直接将映像下载到闪存中,然后检查运行是否正常。 因为如果你的调试器正确地将二进制文件编程到闪存中,那么断开与调试器的连接就不太可能导致崩溃。 致以最诚挚的问候, Gavin
View full article
S32K3 - 電源ドメインとコントローラブロックの概要 どの電源ドメイン (V11、V15、VDD_HV_A、VDD_HV_B など) がコントローラー上のどのブロックに電力を供給しているかの概要はありますか?特に、V11、V15、VDD_HV_A、VDD_HV_B については、どのペリフェラルがどの電源ドメインから供給されるかについての説明が見つかりませんでした。データシートの表 2 の絶対最大定格では、非常に大まかな説明のみが記載されています。 Re: S32K3 - Overview power domains supplies versus controller blocks 迅速なご対応ありがとうございます。 Re: S32K3 - Overview power domains supplies versus controller blocks こんにちは@DirkEtzlerさん、 S32K3—パワーマネージメントトレーニングプレゼンテーションを参照してください。 Julin_AragnM_1-1771518891378.png モジュールについては、S32K3XX リファレンス マニュアルの31.7 章(モジュール リセット ステータス) を参照してください。この章には、どのモジュールがどのドメイン (スタンバイまたは実行) にあるかが記載されています。 使用しているデバイスに応じて、PMC のブロック図については、第 42/43/44/45 章(電源管理) を参照してください。 Julin_AragnM_2-1771519284572.png 最後に、Excel シートS32K3XX_IOMUX.xlsx (S32K3 リファレンス マニュアルの埋め込み添付ファイル) の「IO 信号テーブル」タブの「I/O 電源ドメイン」列で、どのパッドがレールVDD_HV_Aに関連し、どのパッドがVDD_HV_Bに関連しているかを確認できます。 よろしくお願いします、 ジュリアン
View full article
S32K144 引导加载程序和 CAN over UDS 应用程序闪存工具指南 你好@JonAnder_Amante   我看到了您关于使用 S32K 统一引导加载器的讨论,并注意到您已经实现了引导加载器和应用程序闪存。我正在研究 S32K144 EVB,需要您的实际指导。 能否请您分享一下 您使用的具体工具和设置尤其是 硬件工具 调试探头(PE Micro、Segger J-Link、OpenSDA 等) CAN 接口硬件(PEAK、Vector、USB-CAN 等) 任何特殊布线或终端要求 软件工具 集成开发环境(S32 Design Studio 版本) CAN 刷机工具(ECU-总线 Pro、Open总线、CANoe 等) 使用的 JSON / flash 驱动程序配置文件 通过 UDS 闪存应用程序的脚本或实用程序 测试程序 如何验证启动加载程序和应用程序切换 您如何通过 CAN 测试 UDS 闪烁 您的实践经验对我顺利完成项目大有帮助。
View full article
i.MX RT1010 引导加载程序/闪存加载程序 您好, 我一直在研究 i.MX RT1010 的引导加载器/闪存加载器。 我已经阅读了相关的恩智浦应用笔记(AN12604、AN12238 等),但我发现文档相当分散,而且其中大部分似乎针对的是RT10xx系列中的高端设备。 我所缺少的是一份高层次的概述,以及一份简明实用的设置指南。 据我所知,RT1010 ROM 引导加载器(通过 sdphost 从主机访问)只能将代码加载到 RAM 中。要对外部 FlexSPI 闪存编程,必须首先通过该机制将临时闪存加载器下载到 RAM 中。然后,闪存加载器执行实际的闪存编程,通常是与主机端的 blhost 一起进行。 使用安全配置工具时,内部似乎使用了预先构建的 flashloader 二进制文件来实现此目的。 我已经看过在这种情况下提到的 KBOO T和McuBoot 这两个术语,但我不清楚后者是指NXP特定的元器件,还是指来自可信固件的开源McuBoot项目(https://www.trustedfirmware.org)。 我还查看了 SDK 示例 bootloader_examples/flashloader,遗憾的是,该示例的文档非常少。从实验来看,它的作用似乎与安全配置工具使用的预建闪存加载器相同:编程完成后,我可以使用该工具刷新应用程序映像,而无需先加载预先构建的闪存加载器。 不过,对于实际产品来说,似乎应该在外部闪存中设置一个持久的闪存驻留引导加载程序。所提供的 SDK 闪存程序示例似乎没有实现这一点。 所以我的问题是 我对 RT1010 启动/闪存加载程序流程的总体理解是否正确? 如果是,RT1010 通常如何实现持久闪存驻留引导加载程序? 为了与这样的引导加载程序配合使用,应用程序方面需要做哪些更改(链接器设置、向量表重置等)? 在以前的基于 PIC 的项目中,我可以将预编译的引导加载程序作为 "额外可加载程序 "与主应用程序一起加载。我认为这里需要一种概念上类似的方法,但实施方式不同。 如能提供任何指导或说明,将不胜感激。 i.MX RT101x Re: i.MX RT1010 Bootloader / Flashloader 您好 查看: https://www.utasker.com/iMX/RT1010.html https://www.utasker.com/iMX/developers.html https://www.utasker.com/docs/iMX/Loader.pdf https://www.utasker.com/docs/uTasker/uTaskerSerialLoader.pdf 视频网址:https://www.youtube.com/watch?v=GXztWg9m6_8&list=PLWKlVb_MqDQEOCnsNOJO8gd3jDCwiyKKe 您可能会发现一些您可以使用的东西,包括简化和集成的加密解决方案。 Regards Mark Re: i.MX RT1010 Bootloader / Flashloader 顺便提一下,由于恩智浦提供的引导加载程序存在问题,我使用了下面提到的马克基于 utasker 的引导加载程序(在 RT1024 上)。支持非常好,对我的应用也很有效。这里的用例是从 U 盘启动到具有完全安全性的 RT1024 内部闪存中(加密发行版加载到进一步加密的 XIP 内部闪存中)。 希望对您有所帮助! 最美好的祝愿,戴夫 Re: i.MX RT1010 Bootloader / Flashloader 您好, 本主题中分享的信息是否有助于您了解 i.MX RT1010 的引导加载程序/闪存加载程序,或者您还有什么问题? 敬上, Pablo Re: i.MX RT1010 Bootloader / Flashloader @Pablo_Ramos- 你在说什么? 恩智浦完全没有回答上述任何问题。
View full article
[imx95] v4l2-ctl 视频捕获错误 VIDIOC_STREAMON 返回 -1(管道损坏) 大家好, 我们正在将 nvp6188a 移植到 imx95 evk 主板,linux 内核版本:L6.12.38 nvp6188a 是一款四通道模拟输入到 mipi csi 输出芯片。 它的 mipi csi 连接到 imx95 的 mipi rx csi0,使用"virtual-channels" 传输 4 通道 1080p 数据,数据格式:数据格式:YUV422 8 位,数据顺序:UYVY:UYVY。 我们可以看到 nvp6188a 在启动阶段已经初始化得很好; 在执行流捕获命令之后: " v4l2-ctl -d /dev/video0 --set-fmt-video-width=1920,height=1080,pixelformat='NV12' --strean-mmap=4" 我们总是收到这样一条令人心碎的信息: VIDIOC_STREAMON 返回 -1 (管道断裂) 我们尝试了很多方法,但总是弹出这样的信息。 附件中有 nvp6188a 驱动程序、dts 文件、media-ctrl 和 dmesg 信息。 如蒙指教,不胜感激。 谢谢! 祝你愉快 Re: [imx95] v4l2-ctl video capture error VIDIOC_STREAMON returned -1 (Broken pipe) 重新附加文件 Re: [imx95] v4l2-ctl video capture error VIDIOC_STREAMON returned -1 (Broken pipe) 你好 不幸的是,我们没有移植此 NVP6188A 的参考文档,并且我们的 BSP 默认不支持此功能。你可以尝试使用我们的 MX8XMIPI4CAM2 板作为参考,与你的自定义驱动程序进行比较。 检查您的设备树后,我没有发现语法问题。 您收到的错误日志可能是由于格式不匹配或 CSI 端口未激活造成的,但这与相机驱动程序有关。 我建议您检查 CSI 车道是否有活动。 顺祝商祺! Re: [imx95] v4l2-ctl video capture error VIDIOC_STREAMON returned -1 (Broken pipe) 您需要配置链接/路径和格式,然后才能流式传输数据。 例如 # 配置链接 media-ctl -d /dev/media0 -l '"camera 2-0030":0 -> " csidev-4ad30000.csi":0[1]' media-ctl -d /dev/media0 -l '"csidev-4ad30000.csi":1 -> " 4ac10000.syscon:formatter@20":0[1]' media-ctl -d /dev/media0 -l '"4ac10000.syscon:formatter@20":1-> " crossbar":2[1]' media-ctl -d /dev/media0 -l '"crossbar":7 -> " mxc_isi.2":0[1]' media-ctl -d /dev/media0 -l '"mxc_isi.2":1-> "mxc_isi.2.捕获":0[1]' #Configure 路由 media-ctl -d /dev/media0 -R '"crossbar" [2/0 -> 7/0 [1]]' media-ctl -d /dev/media0 -R '"csidev-4ad30000.csi" [0/0 -> 1/0 [1]]' media-ctl -d /dev/media0 -R '"4ac10000.syscon:formatter@20"[0/0 -> 1/0 [1]]' # 配置格式 media-ctl -d /dev/media0 -V '"csidev-4ad30000.csi":0/0 [fmt:YUYV/1920x1080 field:none]' media-ctl -d /dev/media0 -V '"csidev-4ad30000.csi":1/0 [fmt:YUYV/1920x1080 field:none]' media-ctl -d /dev/media0 -V '"4ac10000.syscon:formatter@20":0/0[fmt:YUYV/1920x1080 field:none]' media-ctl -d /dev/media0 -V '"4ac10000.syscon:formatter@20":1/0[fmt:YUYV/1920x1080 field:none]' media-ctl -d /dev/media0 -V '"crossbar":2/0 [fmt:YUYV/1920x1080 field:none]' media-ctl -d /dev/media0 -V '"crossbar":7/0 [fmt:YUYV/1920x1080 field:none]' media-ctl -d /dev/media0 -V '"mxc_isi.2":0/0[fmt:YUYV/1920x1080 field:none]' media-ctl -d /dev/media0 -V '"mxc_isi.2":1/0[fmt:YUYV/1920x1080 field:none]' Re: [imx95] v4l2-ctl video capture error VIDIOC_STREAMON returned -1 (Broken pipe) 酷~ 现在可以用了。谢谢。
View full article
A/B スワップ OTA アップデートを備えたデュアルアプリケーション ブートローダ - S32K3XX Hi, 私はS32K312と協力して、A / BスワップOTA更新機能を備えたデュアルアプリケーションブートローダーを実装しています。 私は理解したいと思います: ブートローダは、リセット後にブートするイメージ (A または B) をどのように正確に決定しますか? DUALバンキングアプリケーションとブートローダーのメモリ構成は? A/B スワップの動作に関する設計、アプリケーション ノート、メモリ レイアウトの詳細な説明があれば、どなたでもお役に立ちます。 NXPから紹介した Unified bootloader Demo - NXP Community あなたの助けをよろしくお願いいたします! 日時:A / BスワップOTAアップデートを備えたデュアルアプリケーションブートローダ - S32K3XX Hi @DiaDev  ABスワップ機能は、HSEファームウェアがインストールされている場合に使用できるHW機能です。 したがって、最初のステップはHSEファームウェア(AB Swapバージョン)をインストールすることです。 HSEファームウェアパッケージは、S32K3標準ソフトウェアからダウンロードできます。 https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SW32K3-STDSW-D リンクをクリックして、「Automotive SW - S32K3 - HSE Firmware 」を選択するだけです。ここで、派生物の最新バージョンを検索します。 ファームウェアのインストール方法を説明するアプリケーションノートを提供します。また、 Documentation -> 安全なファイル: https://www.nxp.com/products/S32K3 「HSE FW install for S32K3xx」のドキュメント。 また、HSE-B Firmware Reference Manual rev. にも記載されています。2.4 「3 HSE ファームウェアのインストール」のセクション。   HSEファームウェアをインストールするには、3つの方法があります。HSE-B ファームウェアリファレンスマニュアル v2.4 の「3 HSE ファームウェアのインストール」をご覧ください。 最も便利な方法は、おそらくIVTによるインストールです。次の手順が必要です。 - 0x1B000000でのプログラムHSE機能フラグ。これは、いつでもどこでも、コードまたはデバッガーで実行できます。かまいません。 - ピンクのファイルをどこにでもロードしてフラッシュします(アプリケーションと一緒に)。HSE用に予約されたエリアは使用しないでください。 - 次に、ピンクのファイルのアドレスをIVTに入れます。HSE FW RM v2.4の「14.2.2 IVT構造」を参照してください。   これについては、HSE DemoExamples で例を見つけることができます。 https://www.nxp.com/webapp/Download?colCode=S32K3_HSE_DemoExamples 次に、以下を検索します。 c:\NXP\S32K3_HSE_DemoExamples_1_0_0\S32K3_HSE_DemoExamples\Device_Configuration\S32K344_HSE_FW_INSTALL\  このデモでは、すべての手順を示しています。 その後、S32K3のドキュメンテーション>セキュアファイルページにも掲載されている「S32K3XX HSEおよびOTAアドバンストレーニング」を学習できます。 ここでは、パーティション(パッシブブロックとアクティブブロック)を交換する方法を見つけることができます。 https://community.nxp.com/t5/S32K/s32k3-flash-swap-requirements/m-p/1920123/highlight/true#M38475 または、S32K3リファレンスソフトウェアパッケージに含まれているOTAデモを提供しています。 https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SW32K3-REFSW-D したがって、新しいアプリケーションをフラッシュにロードするときは、常にパッシブブロックにロードします。また、アプリケーションは常にアクティブなブロックから実行されます。アドレスは常に同じです。ハードウェアによって再マップされます。 Unified ブートローダは HSE を使用しないため、AB スワップ機能を使用しないことに注意してください。 よろしくお願いします。 Lukas Re: Dual-application bootloader with A/B swap OTA update - S32K3XX @DiaDevこのプロジェクトは完了できましたか?
View full article
面向基于Simulink™的S12 MagniV (S12ZVM)的电机控制工具箱 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 电机控制开发工具箱包括支持 MCU 的嵌入式目标、Simulink ™插件库以及用于配置和生成必要软件的工具链。     特性 可为独立应用生成代码,可直接下载到支持的目标 优化电机控制库模块,包括Park/Clarke转换、数字滤波器和常规功能 I/O块包括CAN、SPI、PIT定时器、正弦波生成、eTimer、PWM和A/D。 功能和任务的目标分析 使用FreeMASTER工具进行数据采集和校准 在闪存中进行应用编程的引导加载实用程序 与嵌入式编码器(包括SIL和PIL测试)无缝集成   产品 链接 S12ZVM S12ZVM混合信号MCU|MagniV|恩智浦 S12ZVM评估板 S12ZVM评估板 | 恩智浦 链接 MC工具箱 汽车电子 结构框图   汽车电子
View full article
安装和更新 S32K144 MCU 的 SDK 我安装了 S32 Design Studio 是为了从 S32K144 MCU 的 SDK 示例中创建项目我找不到用于配置示例项目的 SDK 文件夹我已经安装了下面 S32 K144 设备的 SDK 我已经分享了我关于图像的问题请提前参考 谢谢 Re: install and updating the SDK for the S32K144 MCU HI 请安装另外两个软件包,然后你会找到 S32K1 RTD。 S32DS Extensions and Updates install S32K1 RTD300 QLP03.png 我记得以前,我只需要选择其中一个,与 S32K1 RTD 相关的依赖软件包就会自动安装。 请注意,在圣诞假期期间,我们的支持响应时间可能会比平时长。在某些情况下,您的请求可能会在新年后得到处理。感谢您的理解。 祝好, Robin ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"ACCEPT AS SOLUTION" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请另开新主题,并参考已关闭的主题。 -------------------------------------------------------------------------------
View full article
App to read/write on EV3 cards with AES-128? Hello. Does the NXP company provide an app to read/write to EV3 cards securely using AES-128? I am talking about a program that can: - Create and change the master key of the card. - Create and manage applications. - Create different files on each application using the application keys. Is there such a thing? I have tried using the Taplinkx SDK but it was a pain to get it working; I couldn't reach meaningful documentation (other than the Javadoc for it, which wasn't really helpful) so I don't know here to go from here. I bought a couple of EV3 cards from NXP, and I don't know how to write/read on them. MIFARE Smart Cards Re: App to read/write on EV3 cards with AES-128? Hello @samerhaddad   Pegoda CLRD730 reader recommends to you, purchase link as the below: PEGODA Contactless Smart Card Reader | NXP Semiconductors   Pegoda CLRD730 reader + RFID Discover is the perfect combination for reading/writing to EV3 cards. Re: App to read/write on EV3 cards with AES-128? They have refused to give me RFID Discover program. Apparently, you have be a large registered company of some sort so that they just give you program to write on the cards you have bought. There is no way on Earth to write on EV3 cards apparently.
View full article
[MIMXRT1160-EVK] 1XK搭載: NXP-WIFIドライバをSDRAMに jaseze01_0-1765537499371.png こんにちは!外部SDRAMを使用してRT1160-EVKでNXP Wi-Fiドライバを正常に実行できた方はいますか?オーバーレイで zephyr,sram = &sdram0 を設定したにもかかわらず、ファームウェアのロード中に 0x40000 (DTCM 制限) でバス障害が発生します。ヒープが SDRAM で正しく初期化されていないか、SDIO DMA の正しい MPU/Nocache 構成が欠落しているようです。何かヒントはありますか?また、.overlayも添付しますCASEとして、prj.confも保存してください。 Re: [MIMXRT1160-EVK] with 1XK: NXP-WIFI driver into SDRAM こんにちは、 @jaseze01 Zephyr OS を使用していますか? Zephyr のバージョンと Zephyr SDK のバージョンを教えていただけますか? この問題を再現するための詳細な手順を教えていただけますか? より良いサポートを提供できるよう、ローカルで再現できるかどうか試してみます。 よろしくお願いいたします。 Christine。 Re: [MIMXRT1160-EVK] with 1XK: NXP-WIFI driver into SDRAM こんにちは、クリスティン。 ご協力ありがとうございます。あなたが要求した情報は次のとおりです: ボード: NXP MIMXRT1160-EVK (Rev A) WiFi モジュール: M.2 インターフェース経由の Embedded Artists 1XK (Murata 1XK / NXP IW416)。 Zephyr OS バージョン: 4.3.0 Zephyr SDK バージョン: 0.17.4 ホストOS: Windows 私はこのプロジェクトに個別に取り組んでおり、アドレス `BFAR アドレス: 0x40000` で `正確なデータ バス エラー` (バス障害) が発生しています。このエラーは、ドライバが電圧スイッチを正常にネゴシエートした直後に発生します。 ハードウェアが正しく応答するようになったため (ログで「カードが 1.8V 信号に切り替えられました」と確認されています)、物理的な接続と電源は正常であると考えています。しかし、その直後に事故が起こります。 障害アドレス (`0x40000`) は、内部 ITCM/DTCM の 256 KB 境界と一致します。このことから、問題はメモリの配置に関連しているのではないかと疑っています。WiFi ファームウェアは約 500 KB なので、デフォルトの内部 RAM に収まらないか、DMA がアクセスが許可されていないメモリ領域 (DTCM など) にアクセスしようとしている可能性があります。 再現可能な手順 1.MIMXRT1160-EVK で `nxp,wifi` ドライバを有効にする Zephyr アプリケーションを構築しています。 2. `mimxrt1160_evk.overlay`を修正しましたファームウェアを収容するために外部 SDRAM (64MB の `&sdram0`) を有効にします。 3. 重複を避けるために、さまざまなメモリ構成 (システムとファームウェア用に SDRAM を分割) を試しました。 4. 起動時に、システムは SDIO バスを初期化し、1.8V に切り替えて、バス障害でクラッシュします。シーケンスを示すログ出力は次のとおりです。 [00:00:01.123,000] sd: カードが1.8V信号に切り替えられました [00:00:05.266,000] os: ***** バス障害 ***** [00:00:05.272,000] os: 高精度データ バス エラー [00:00:05.277,000] OS: BFAR アドレス: 0x40000 [00:00:05.283,000] OS: r0/a1: 0x80006945 r1/a2: 0x00040000 r2/a3: 0x0000000c [00:00:05.305,000] os: 障害のある命令アドレス (r15/pc): 0x3000242e リンカーがデータ/スタックを配置する場所と、WiFi ドライバが DMA 操作のためにそれを配置すると想定している場所に関して競合があるようです。 MIMXRT1160 で WiFi ファームウェアを外部 SDRAM に適切にロードするための推奨メモリ構成(オーバーレイ/リンカー)について教えてください。問題をローカルで再現して修正できる場合は、動作するオーバーレイ ファイルを共有していただけますか? よろしくお願いいたします! Re: [MIMXRT1160-EVK] with 1XK: NXP-WIFI driver into SDRAM こんにちは、 @jaseze01 帯域幅が限られているため、返信が遅くなり申し訳ありません。 以下の内容を参考に試してみてはいかがでしょうか。 NXP M.2 Wi-Fi および BT シールド — Zephyr プロジェクト ドキュメント また、このディレクトリにはデフォルトのnxp_m2_1xk_wifi_bt.overlayがあります。 https://github.com/nxp-zephyr/nxp-zephyr/tree/nxp-v4.3-branch/boards/shields/nxp_m2_wifi_bt/ この.overlayもCANで参照できます1xk(M.2に適合インターフェース)を I.MXRT1160-EVK に接続します。 https://github.com/nxp-zephyr/nxp-zephyr/blob/nxp-v4.3-branch/boards/shields/nxp_m2_wifi_bt/boards/mimxrt1060_evk_mimxrt1062_qspi_C.overlay 上記が参考になったかどうかお知らせください。 まだ何か問題がある場合はお知らせください。 よろしくお願いいたします。 Christine。
View full article
IMX8QXP 上 CAN-FD 帧丢失 你好 我正在使用 MCIMX8QXP-CPU 板和 MCIMX8QXP-8X-BB。我在使用数据速率为 2Mbit/s 的 can-fd 帧时遇到了一些问题。使用"classic" CAN 和 CAN-FD 1Mbit/s 时一切正常,但使用 2Mbit/s 时,帧丢失严重。我知道我的输入信号并不完美,因为它们来自免接触式CAN总线读卡器,而且我观察到一些噪音。但我可以使用 Kvaser、pcan 等 CAN 记录器读取所有帧,不会出现问题。 我在另一个主题上看到,CAN 控制器时钟可能会影响帧丢失? 在我的配置中,CAN 时钟频率为 40MHz。 我试图修改它,但没有成功。我首先尝试修改设备树,然后读到它也可能在固件中(scfw)。有关信息,我使用 yocto 来版本系统 你认为这个时钟可能是我丢帧的原因吗?如果是,我该如何更新? 感谢您的帮助。 Re: CAN-FD frames loss on IMX8QXP 你好 问题可能确实与 CAN 控制器的时钟配置有关。对于以更高数据速率(2Mbit/s)运行的 CAN-FD,时钟精度变得至关重要。使用当前的 40MHz CAN 时钟,以及使用会引入一定噪声的免接触式 CAN 总线读卡器时,时序容差可能会变得更加严格。 解决这一问题有两种可能的方法: 1. **SCFW修改**:CAN 控制器时钟在系统控制器固件 (SCFW) 中配置。您需要修改 SCFW 配置文件来调整时钟设置。这需要重建 SCFW。 2。**设备树修改**:您也可以尝试调整设备树中的 CAN 定时参数。对于 CAN-FD 操作,您可能需要启用发射器延迟补偿 (TDC),这对于高于 2.5Mbps 的数据速率尤其重要。 对于免接触式 CAN 总线读取器引入噪声的特定情况,调整位定时参数以更能容忍信号变化可能会对您有所帮助。这可以通过修改设备树配置中的传播分段值来完成。 由于你使用的是 Yocto,你可以通过设备树叠加层或直接修补内核源代码来实现这些更改。 此致     Re: CAN-FD frames loss on IMX8QXP 谢谢谢谢 感谢感谢您的反馈。 I 尝试两个 选项 1) SCFW 修改: 我成功生成了固件 scfw_tcm.bin 文件 然后,在我的 yocto 项目中,我有这些生成的文件: bl31 - im x8qx。bin bl3 1- im x8qx。bin - 选择 m4_image。bin mkimage_imx8 mx8qxc0-ahab-容器。img mx8qx -m ek- scfw-tc m。bin scfw_tcm 。bin soc 。做个小孩。bin u -b oot - imx8qxp-mek。bin - sd u - boot - spl。bin - imx8qxp-mek-sd 当我使用 imx-mkimage 工具时,我必须复制这些文件: bl31 - im x8qx。 bin,u -boot- boot - imx8qxp -mek。 bin - sd,scfw_tcm 。 bin 和 mx8qxc0 -ahab-容器。 img 到我的 imx - mkimage 工具然后当我尝试生成新的二进制文件时我遇到了这个错误: 包括杂项.制造 包括 m4.mak 包括安卓.嗡嗡声 包括测试.使 包括 autobuild.制作 包含别名.mak 使[1]: *** 没有règle pour fabriquer la cible " mx8qxb0-ahab-容器.img",为 "flash "所必需。 设置. 使: ***[Makefile:26: flash] 错误 2 我看到 yocto 生成了 mx8qxc0-ahab-容器.img 而不是 mx8qxc0-ahab-容器.img,所以我还 尝试重命名它,但还是出现了同样的问题。 2) 我成功修改了我的设备树,我可以在板上看到 新的 时钟频率。 然后I 尝试命令更新控制器的时序,但我的新 新设置并没有应用。 你写道:你可能需要启用发射器延迟补偿(TDC),我没有找到任何相关文档。如果我明白可以直接在设备树上设置定时参数吗? Re: CAN-FD frames loss on IMX8QXP 你好 我的问题依然存在:canfd 帧丢失。 正如我所说,我成功地将控制器时钟更新到了 80Mhz。但这还不够。 我无法修改时间。我不知道具体该怎么做?至于启用发射器延迟补偿 (TDC),我没有找到 imx8 的相关文档。 感谢您的帮助、 纪尧姆
View full article
关于为 SEMA 实施 S32K324 双核心的问题 你好,团队 客户正在使用 Daul 核心实施 324 系统。 对于旋转锁,客户正在考虑采用 SEMA42。 我的问题是,对于 SEMA42 来说,XRDC 是必须的吗? 我对使用 SEMA42 实现自旋锁感到困惑,需要在 Core0 和 Core1 之间进行功能域分离,这意味着 XRDC 配置是必要的,或者不需要。 您能核实一下我的问题吗? 谢谢。 优先级:中等 RTD 资料来源直接客户 Re: Question of S32K324 dual core implementation for SEMA 嗨,@Luke_Chun、 1.对于 SEMA42,是否必须使用 XRDC? => 是的,必须这样做。 2。我对使用 SEMA42 实现自旋锁感到困惑,需要在 Core0 和 Core1 之间进行功能域分离,这意味着 XRDC 配置是必要的,或者不需要。 => XRDC 配置是必要的。 顺祝商祺! 丹 Re: Question of S32K324 dual core implementation for SEMA 嗨,丹、 感谢您的解答。 Autoever 希望使用 SEMA42 并配置 XRDC。他们刚刚配置了两个功能域,如下所示,所有外设和存储器都可以通过这两个功能域进行评估。 - 域_0:Core_0、HSE、eDMA_AHB、EMAC_AHB - 域_1:只有核心_1 请查看下面 Rm 模块中的配置,如果发现任何错误或丢失的配置,请告诉我。 我还附上了 arxml 文件。 顺祝商祺! 雅各 Re: Question of S32K324 dual core implementation for SEMA 非常感谢,丹! 请结案。 顺祝商祺! 雅各 Re: Question of S32K324 dual core implementation for SEMA 你好,@james-lee、 我检查了他们的 xrdc 配置,是正确的。我没有看到他们为"XRDC Memory Config" 和"XRDC Peripheral Config" 配置 Sema42。因为 SEMA42 的硬件 "门/通道 "数量有限,只有 16 个硬件通道。因此,用户不能为每个外设/区域分配一个网闸;相反,用户可以绑定互斥的资源组,用同一个 SEMA42 网闸来保护它们。 顺祝商祺! 丹
View full article
MPC565 中的 UC3FCFIG 你好 我使用的是 CodeWarrior 8.7 我希望我的 MPC565 在硬RESET中从 UC3FCFIG 获得 RCW。但我找不到任何关于如何在 UC3FCFIG 寄存器中设置寄存器值的文档。 谢谢, Rafa Re: UC3FCFIG in MPC565 你好 UC3F EEPROM RESET配置字是在特殊阴影位置的第一个单词(ADDR [23:29] = 0x00)中实现的。RESET配置字及其余的影子信息字位于主管数据地址空间中。RESET配置词的目的是为系统提供RESET配置的替代内部来源。 因此,换句话说,它不是内存映射寄存器,而只是影子闪存空间中的配置字,然后在RESET期间将其复制到相应的寄存器中。 请注意,除位 20 外,UC3FCFIG 中的位与 USIU 硬RESET配置字中的位相同。 来自参考手册: petervlna_0-1764572541927.png 如何设置 UC3FCFIG? UC3FCFIG 不是运行时寄存器,正常运行时不能随意写入。它通常被编程到闪存配置扇区中。 这意味着在 RESET 之前,您需要使用正确的 UC3FCFIG 值对闪存配置模块(通常在闪存的开头)进行编程。 另请参阅第 20.4.3 章 UC3F EEPROM 阴影行 顺祝商祺! Peter Re: UC3FCFIG in MPC565 谢谢您的回答、 关于 : " 这意味着在 RESET 之前,你需要使用正确的 UC3FCFIG 值对闪存配置模块(通常在闪存的开头)进行编程 " 在 CodeWarrior 中如何实现这一目标?我已将 Flash Programmer 配置为使用MPC566EVB_MPC565_MPC566_shadow_init.cfg。 我是否需要在该文件中添加UC3FCFIG 的值? ,谨致问候 、 拉法 Re: UC3FCFIG in MPC565 你好 在 CodeWarrior 中如何实现这一目标? 我对这里的 codewarrior 不熟悉。但它只是一个集成开发环境,因此只需对闪存进行简单编程就能实现神奇的效果。 我已将 Flash Programmer 配置为使用MPC566EVB_MPC565_MPC566_shadow_init.cfg。 我是否需要在该文件中添加UC3FCFIG的值 闪存编程器使用的 .cfg 文件(如 MPC566EVB_MPC565_MPC566_shadow_init.cfg)定义了影子闪存初始化值,其中包括 UC3FCFIG 等配置寄存器。 具体操作如下 UC3FCFIG 的去向 UC3FCFIG 是阴影闪存配置块的一部分。 .cfg 文件包含这些寄存器的条目,因此当您对影子闪存进行编程时,设备在RESET时会使用这些值。 该怎么做 Open MPC566EVB_MPC565_MPC566_shadow_init.cfg. 查找定义阴影寄存器或配置字的部分。 您应该能看到类似的条目:UC3FCFG: 0xXXXXXXXX UC3FCFIG 通常映射在阴影闪存区域(而非 RAM)。 对于 MPC565/MPC566,请查看参考手册 → “闪存配置” 部分。 通常情况下,阴影块从 0xFFF00000 或类似位置开始。 这就告诉闪存编程器将该值写入该地址的影子闪存。 顺祝商祺! Peter
View full article
S32K388CVB-Q289 駆動 PTC21 親愛なるチーム 私は S32K388CVB-Q289 を使用しており、TJA1153 CAN0 とともに FlexCAN_0 を有効にしています。テスト目的で物理バスに 2 番目のノードをコネクテッドしています。 しかし、FlexCAN_0は送信時にAckエラーが発生します AhmadKhalil_0-1764329071712.png TJA1153 トランシーバが有効になっていることを再確認し、J95 のピン 5 を測定すると、約 2 ボルトと表示されます。また、GPDO85 レジスタを 0 と 1 の間で変更しても、ピンで読み取られる電圧は影響を受けません。 AhmadKhalil_1-1764329191048.png GPDO85レジスタでピンがハイに設定され、MSCR85で出力ドライバが有効になっていることがわかりますが、 AhmadKhalil_2-1764329282677.png AhmadKhalil_3-1764329341274.png 構成: AhmadKhalil_4-1764329501186.png AhmadKhalil_5-1764329565448.png AhmadKhalil_6-1764329609295.png Re: S32K388CVB-Q289 Driving PTC21 こんにちは、 ピンレベルを確認するには、J95.5-6ジャンパーを取り外し、MCU(5)とTJA1153(6)側を確認します。 TJA1153のVIOはJ804を使用してVDD_HV_B_PERH(VDD_HV_B 3.3V)にコネクテッドされていますが、使用されているMCUピンはVDD_HV_A(5V)にコネクテッドされています。 ユーザーが TJA1153 モードを切り替える必要がない限り、EN ピンを駆動する必要はありません。EN と STB_N は両方とも外部抵抗によって VIO にプルアップされます。デバイスがバニラ状態の場合、ローカル構成を可能にするために、MCU によって STB_N を低く駆動する必要があります。TJA1153 の構成の最後に、STB は EN、STB_N がハイの状態で通常モードに戻ります。 バス上にメッセージが表示されても ACK されない場合は、両方のノード間の CAN ビット タイミングが一致していないことが原因である可能性が最も高くなります。 とにかく、S32K388EVBのサンプルはここに掲載されている。 https://community.nxp.com/t5/S32K/Need-MCAL-working-CAN-Configuration-for-S32K388-EVB-bench/mp/1923345/highlight/true#M38660   BR、ペトル Re: S32K388CVB-Q289 Driving PTC21 ご返信ありがとうございます。 電圧レベルは今のところ良好なようです。EN と nSTB がハイになります。それでも、Ack エラーが発生し、テスト測定ツールのバスには何も表示されません。 トランシーバがバニラ状態であるため、一度設定するまで動作しない可能性はありますか? 例を読みましたが、現在のセットアップでは、トランシーバを相互に接続するよりも、テスト ツールから CAN メッセージを送信する方がはるかに簡単です。送受信のみの基本構成(セキュリティ要件は不要)の場合、初期化シーケンスと、CAN経由で送信する必要があるものについて教えていただけますか? Re: S32K388CVB-Q289 Driving PTC21 こんにちは、 デフォルトではデバイスはバニラ状態になっているSO、ホストまたはリモートから構成する必要があります。設定後、状態を変更できますが、例では通常 Vanilla 状態に維持されるため、電源を入れるたびに init が必要です。 掲載された例がボード上の FlexCAN モジュール間で動作している場合、CAN ツールに 1 つのモジュールだけをコネクテッドしても同様に動作するはずです。この例では、送信される ID が CAN0 トランシーバのパスリストに追加され、他の構成はデフォルトのままになります。 別の init シーケンスについては、IP レベルで実行された以下の例を参照してください。 https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K358-FlexCAN-TXRX-ISR-S32DS35-RTD400-500/ta-p/1981987 トランシーバもバニラ状態にあることを想定しており、トランシーバのパスリストをすべてのstdおよびext IDを通過させるように設定し、バスからのメッセージをブロックしないようにします。最後に、不揮発性メモリへの書き込みやトランシーバのロックを行わずにコンフィギュレーションモードを終了します(バニラ状態を維持)。 BR、ペトル
View full article
S32K358 上的 CAN(FlexCAN)邮箱 - IFLAG 位 大家好, 我正在使用 S32K358 FlexCAN 模块,我想确认正确的寄存器/标志用法,以及将 64 个硬件消息缓冲器(MB0...MB63)配置为接收邮箱的安全程序。我读过《清除条例》,但我想确保我了解实际行为、 我想知道哪些寄存器/标志指示 FIFO 状态、邮箱中断标志、溢出/警告,以及使用 64 MB 时建议的 MB 读取/清除顺序。 是为所有 MB 启用每个 MB 的中断掩码 (IMASK),还是使用分组方法,在 ISR 中读取 IFLAG1/IFLAG2 并循环处理标记的 MB?对 ISR 的持续时间和优先级是否有任何担忧? 如果我未读取(即,如果在我读取旧帧之前有新帧到达相同的 MB 中),邮箱如何覆盖旗帜/寄存器中的清单 — 有标记吗?如果没有,如何检测是否发生了覆盖? 我试着接收 CAN 数据,发现所有 CAN 帧都只使用 MB0,问题解决了吗? 有人能解释一下 Flexcan 邮箱吗?如果我想使用 64 个消息缓冲区,应该怎么做? Re: CAN (FlexCAN) mailboxes on S32K358 — IFLAG bits 您好, 阅读第 73.3.4 章可解决大部分问题设备 RM 的接收过程和 73.3.5 匹配过程。以下是对您所提问题的快速反馈 问:我想知道哪些寄存器/标志指示 FIFO 状态、邮箱中断标志、溢出/警告,以及使用 64 MB 时建议的 MB 读取/清除顺序。 答: 传统 RX FIFO 模式使用 MB0-MB5 作为接收队列。此外,MB6-MB7(或更多,取决于过滤表配置,CTRL[RFFN])用于指定 ID 过滤表。因此,如果启用传统的 RX FIFO,就不能将所有 64 MB 都用作独立邮箱。除非您将使用最大容量为 96MB 的 FlexCAN 实例(FlexCAN0-2)。或使用增强型 RX FIFO。 如果启用了传统 RX FIFO,则 MB0 是 FIFO 入口点,用户使用 MB0 读取报文。 监测 IFLAG1/IFLAG2 的寄存器和标志:MB0—MB31 和 MB32—MB63 的中断标志。 IMASK1 / IMASK2:每 MB 中断使能屏蔽。 如果启用了传统 RXFIFO RXFIR:表示哪个 FIFO 条目已被填满。 IFLAG1[BUF5I](传统 RX FIFO 中可用帧)--当至少有一个帧可从传统 FIFO 中读取时设置。 IFLAG1[BUF6I](传统 RX FIFO 警告)- 当传统 RX FIFO 收到新报文,使未读报文数量从四个增加到五个时设置。这一变化意味着传统 RX FIFO 几乎已满。该标志保持设置状态,直到 CPU 将其清除。 IFLAG1[BUF7I](传统 RX FIFO 溢出)- 当传入信息因传统 RX FIFO 已满而丢失时设置。 如果设置了相应的屏蔽位,则会产生中断。 问:我应该为所有 MB 启用每个 MB 的中断屏蔽 (IMASK),还是使用分组方法,在 ISR 中读取 IFLAG1/IFLAG2 并在循环中处理标记的 MB?对 ISR 的持续时间和优先级是否有任何担忧? 答: 推荐的 ISR 策略 32MB 有共同的中断向量(0-31、32-64......) 为您关心的所有 MB 启用中断,然后在 ISR 中:读取 IFLAG1 或 IFLAG2。对于每个设置位,处理该 MB。向该位写 1(写 1 清除),清除标记。 如果在 ISR 中循环使用 32 MB,时间可能会很长,但这与应用程序有关。 问:如果我错过读取机会(即,如果在我读取旧帧之前有新帧到达同一 MB 中),邮箱如何覆盖旗帜/寄存器中的清单 — 有标志吗?如果没有,如何检测是否发生了覆盖? 答: 覆盖检测 FlexCAN 没有专用的 MB 覆盖标志。如果在读取旧帧之前有新帧到达,旧数据将无声丢失。中断标志 (IFLAGx) 只是保持设置状态,直到被清除。 只有 MB 的控制/状态字 CODE 文件更改为 OVERRUN 问:我尝试接收 CAN 数据,但所有 CAN 帧都只使用 MB0。 答: 您观察到的 "所有帧都进入 MB0 "通常意味着: 启用了 RX FIFO,MB0 是 FIFO 入口点。 或者您的接受筛选器设置为只匹配 MB0。 BR, Petr
View full article
i.MX93 Cortex-M33 ボードと SDKs を MCUXpresso IDEs にインポートする方法 📌 コンテクスト: MCUXpresso IDEsを使用して、i.MX93 Cortex-M33 (MCIMX93-EVK)ボードでの開発を開始しようとしています。NXP Web サイトから SDK ZIP をダウンロードしましたが、ボードを正常にインポートしたり、その例を使用したりできません。 🛠️ 私がやったこと: SDK ZIPをダウンロードしました: mcuxpresso.NXP.comからの SDK_25_03_00_MCIMX93-EVK.zip MCUXpresso IDEを開きました(バージョン: ここで指定してください) 行き先: インストールされたSDKs > インポート → ZIPファイルを選択 SDK は IDE の「インストールされた SDK」の下に表示されます。 ただし、 「SDKs の例をインポート」に移動すると何も表示されないか、インポートしたプロジェクトをビルドできません。 ❓ 質問: 以下のことを実現できるように、i.MX93 Cortex-M33 ボードと SDK を MCUXpresso IDE にインポートするための正しい完全な手順は何ですか。 サポートされているボードを見る デモ/サンプルアプリケーション(hello_worldなど)にアクセスする エラーなしでプロジェクトをビルドおよびデバッグする 🔍 追加情報: 私はi.MX93のCortex-M33コアをターゲットにしています MCUXpresso IDEのみを使用したい(IARやVS Codeは使用しない) 🧪 期待される結果: MCUXpresso IDE を使用して、MCIMX93-EVK ボード上の cm33_core0 用の hello_world や led_blinky などのサンプル プロジェクトをインポートおよびビルドできるようになります。 これを動作させるために追加のツールや構成が必要な場合はお知らせください。前もって感謝します! i.MX93EVK #i.mx93 cortex-m33 i.MX93 #MCUXpressoIDE ##MCUXpressoSDK Re: How to Import i.MX93 Cortex-M33 Board and SDK into MCUXpresso IDE? こんにちは@Manjunathb 現在、i.MX93 Cortex-M33にも取り組んでいます。MCUXpresso IDEをインストールしましたが、ガイドに従ってSDKの圧縮ファイルを「インストール済みSDK」ビューにドロップした際にエラーが発生しました。 あなたも同じ M33 コアに取り組んでいると理解していますが、これまでの情報や進捗状況を共有していただけますか?VS Code でも MCUXpresso for VS Code を使うべきでしょうか? M33 開発を始めるためのガイドや手順を共有していただければ幸いです。ありがとう。 Re: How to Import i.MX93 Cortex-M33 Board and SDK into MCUXpresso IDE? こんにちは、チャビラさん。 現在、i.MX93 Cortex-M33 コアを使用していますが、このデバイスでは MCUXpresso IDE はサポートされていないものの、VS Code 用の MCUXpresso が推奨ツールであることは理解しています。 すでにインストール済み: MCUXpresso for VS Code拡張機能 i.MX93 SDKパッケージ Arm GCC ツールチェーン そして私はJ-Linkデバッガーを使用しています。 以下の点についてご指導いただけますでしょうか。 i.MX93 Cortex-M33 SDK を VS Code に正しくインポートするにはどうすればよいですか?SDK はどこに配置すればよいですか? また、拡張機能はどのようにして SDK を検出するのでしょうか? Cortex-M33 のデモまたはテンプレート プロジェクト (hello_world や led_blinky など) を作成または開く方法は? MCUXpresso VS Code 環境を使用してコンパイルを成功させるためのビルド設定 (コンパイラ、リンカー パスなど) を構成するにはどうすればよいですか? J-Link プローブまたは remoteproc (Linux を使用している場合) を使用してコンパイルされたアプリケーションをフラッシュおよびデバッグする適切な方法は何ですか? VS Code 用の MCUXpresso を使用する場合、i.MX93 に固有の既知の制限や追加手順はありますか? 完全なステップバイステップの説明や関連ドキュメントへのリンクをいただければ幸いです。どうぞよろしくお願いいたします! よろしくお願いします、 マンジュナス・バディガー Re: How to Import i.MX93 Cortex-M33 Board and SDK into MCUXpresso IDE? わかった 👍 ご返信ありがとうございます Re: How to Import i.MX93 Cortex-M33 Board and SDK into MCUXpresso IDE? こんにちは@Manjunathb ! NXP サポートにお問い合わせいただきありがとうございます。 残念ながら、このCASE、MCUXpresso IDE は互換性がありません。ただし、VS Code ではサポートされており、同様の機能を提供する MCUXpresso for VS Code を使用できます。 よろしくお願いします、 チャビラ
View full article