Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
无法通过 UUU 将 NXP 图像写入 iMX 8M nano EVK 尝试通过 UUU 将我从 NXP 下载的 imx 8 nano EVK Linux 映像写入我的 imx 8 nano EVK。我认为这应该是一件非常简单、平常的事情。但它失败了。 我下载了LF_v6.6.36-2.1.0_images_IMX8MNDDR3LEVK。 使用最新的 UUU,v 1.5.182。 UUU 识别 nano 并开始处理,但很快失败并出现错误:LIBUSB_ERROR_TIMEOUT。 我已重试多次,但每次都失败。 仅供参考:我还有一个 mini EVK,我可以毫无问题地将 mini EVK 图像写入其中。 知道是什么原因导致失败吗?又该如何解决呢? 以下是我的运行输出: PS i.MX-8M-Nano-EVK\LF_v6.6.36-2.1.0_images_IMX8MNDDR3LEVK> .\uuu.exe -lsusb uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.182-0-gda3cd53 Connected Known USB Devices Path Chip Pro Vid Pid BcdVersion Serial_no ==================================================================== 2:1 MX815 SDPS: 0x1FC9 0x013E 0x0001 2D2A6A09DAB58857 PS i.MX-8M-Nano-EVK\LF_v6.6.36-2.1.0_images_IMX8MNDDR3LEVK> .\uuu.exe -V . uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.182-0-gda3cd53 Build in config: Pctl Chip Vid Pid BcdVersion Serial_No ================================================== SDPS: MX8QXP 0x1fc9 0x012f [0x0002..0xffff] SDPS: MX8QM 0x1fc9 0x0129 [0x0002..0xffff] SDPS: MX8DXL 0x1fc9 0x0147 SDPS: MX28 0x15a2 0x004f SDPS: MX815 0x1fc9 0x013e SDPS: MX865 0x1fc9 0x0146 SDPS: MX8ULP 0x1fc9 0x014a SDPS: MX8ULP 0x1fc9 0x014b SDPS: MX93 0x1fc9 0x014e SDPS: MX91 0x1fc9 0x0159 SDPS: MX95 0x1fc9 0x015d SDPS: MX95 0x1fc9 0x015c SDP: MX7D 0x15a2 0x0076 SDP: MX6Q 0x15a2 0x0054 SDP: MX6D 0x15a2 0x0061 SDP: MX6SL 0x15a2 0x0063 SDP: MX6SX 0x15a2 0x0071 SDP: MX6UL 0x15a2 0x007d SDP: MX6ULL 0x15a2 0x0080 SDP: MX6SLL 0x1fc9 0x0128 SDP: MX7ULP 0x1fc9 0x0126 SDP: MXRT106X 0x1fc9 0x0135 SDP: MX8MM 0x1fc9 0x0134 SDP: MX8MQ 0x1fc9 0x012b SDPU: SPL 0x0525 0xb4a4 [0x0000..0x04ff] SDPV: SPL1 0x0525 0xb4a4 [0x0500..0x9998] SDPV: SPL1 0x1fc9 0x0151 [0x0500..0x9998] SDPU: SPL 0x0525 0xb4a4 [0x9999..0x9999] SDPU: SPL 0x3016 0x1001 [0x0000..0x04ff] SDPV: SPL1 0x3016 0x1001 [0x0500..0x9998] FBK: 0x066f 0x9afe FBK: 0x066f 0x9bff FBK: 0x1fc9 0x0153 FB: 0x0525 0xa4a5 FB: 0x18d1 0x0d02 FB: 0x3016 0x0001 FB: 0x1fc9 0x0152 FB: 0x0483 0x0afb Wait for Known USB Device Appear... New USB Device Attached at 2:1-2D2A6A09DAB58857 2:1-2D2A6A09DAB58857>Start Cmd:SDPS: boot -f imx-boot-imx8mnddr3levk-sd.bin-flash_ddr3l_evk 10%2:1-2D2A6A09DAB58857>Fail HID(W): LIBUSB_ERROR_TIMEOUT (-7)(20.05s) libusb: warning [libusb_exit] device 2.0 still referenced libusb: warning [libusb_exit] device 1.0 still referenced libusb: warning [libusb_exit] device 2.6 still referenced libusb: warning [libusb_exit] device 1.1 still referenced libusb: warning [libusb_exit] device 2.2 still referenced PS i.MX-8M-Nano-EVK\LF_v6.6.36-2.1.0_images_IMX8MNDDR3LEVK> i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Linux Windows 回复:无法通过 UUU 将 NXP 图像写入 iMX 8M nano EVK 您的回复促使我更仔细地查看下载选项。我现在看到有两个名称中带有“nano”:i.MX 8M Nano DDR3L EVK 和 i.MX 8M Nano EVK。我猜名称中没有“DDR3”的是DDR4。 使用非 DDR3 下载有效。 仅供参考,我使用了命令: uuu .\LF_v6.6.36-2.1.0_images_IMX8MNEVK.zip 确实希望在线信息能够更好地设计以获得成功。 谢谢你的帮助。 回复:无法通过 UUU 将 NXP 图像写入 iMX 8M nano EVK Hi, 您正在将 DDR3 二进制文件刷入 LPDDR4 板,请尝试刷入正确的LPDDR4 板。 uuu -b imx-boot-imx8mnevk-sd.bin-flash_evk imx-image-full-imx8mnevk.wic 此致 回复:无法通过 UUU 将 NXP 图像写入 iMX 8M nano EVK 再次尝试附加图片。似乎使用 jpg 文件比使用 .zip 文件效果更好。      回复:无法通过 UUU 将 NXP 图像写入 iMX 8M nano EVK 我确实附加了一个带有图像的 zip 文件,但现在在线程中看不到它。然后我尝试再次回复并附加一个简单的文本文件,但我认为它没有起作用。该文件似乎开始上传;显示在拖放框中,但随后消失了。并且消息“允许的最大附件数”计数保持在 5。因此,我怀疑图片压缩包是否附加在了我上一条消息中。 回复:无法通过 UUU 将 NXP 图像写入 iMX 8M nano EVK 也许您指的是顶部和底部的图片。随附的。 回复:无法通过 UUU 将 NXP 图像写入 iMX 8M nano EVK Hi, 感谢您对恩智浦半导体产品的关注, 您能分享一下您的两块板子的顶部和底部的图片吗? 此致
記事全体を表示
如何在 i.MX 配置工具中为 i.mx6ull 分配中断 下午好,亲爱的恩智浦!我该如何在这个工具中分配中断?我已经配置了所有引脚,现在我必须为其分配中断并为各种中断编写自己的中断处理程序。但我无法找到如何以及在何处使用此工具来执行此操作。 我正在使用 Linux,所以我认为我必须以某种方式将引脚声明为中断源,然后编写驱动程序将其分配给该引脚,但现在我不明白如何做到这一点。 聚苯乙烯 很明显我应该把 dtsi 文件放在哪里,但我应该把另外 4 个(iomux_config.c(h))放在哪里,pin_mux.c(h))SDK 中生成的文件? i.MX6 全部 i.MX6UL 回复:如何在 i.MX 配置工具中为 i.mx6ull 分配中断 谢谢你!我是这样想的,那么,我将以 Linux 风格来做这件事) 回复:如何在 i.MX 配置工具中为 i.mx6ull 分配中断 你好, @8Aineri 我问了我们的 Pin 工具成员,他们说中断向量的初始化或来自 GPIO 引脚的中断不是 i.mx 6ULL 引脚工具数据的一部分。 GPIO 中断的初始化是 GPIO 外设初始化的一部分,应该在 GPIO 驱动程序中。 和您提到的一样。 B.R 回复:如何在 i.MX 配置工具中为 i.mx6ull 分配中断 我读过这篇文章,但我找不到关于如何为引脚分配中断的解决方案。也许我应该只将引脚标记为中断,然后手动编写 Linux 驱动程序,但我找不到如何将引脚标记为中断。 我该如何理解这一点 - 我无法在此工具中将引脚标记为中断,我只能看到这个引脚是否可以成为中断,然后我应该在 Linux 设备树中手动执行此操作? 回复:如何在 i.MX 配置工具中为 i.mx6ull 分配中断 你好, @8Aineri 据我所知,配置工具中的 Pin 工具似乎没有您请求的功能(为 i.mx6ull 分配中断),此外,我还会联系所有者仔细检查这一点。 PS:我认为这个文件不用于放入SDK。请参阅附件第3章以进一步了解。
記事全体を表示
FreeRTOS プロジェクトで LPTMR KSDK ドライバーを使用する方法 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Kinetisソフトウェア開発キット(KSDK)は、Kinetisマイクロコントローラ上でアプリケーションを開発するためのソフトウェア・フレームワークです。フレームワークのソフトウェアコンポーネントには、ペリフェラルドライバー、ミドルウェア、およびリアルタイムオペレーティングシステムが含まれます。 KSDKはFreeRTOS OSを提供し、選択されたドライバーは追加のレイヤーの形でFreeRTOSサポートを提供します。このソリューションにより、RTOSベースのアプリケーションへのドライバ統合が容易になります。 FreeRTOS レイヤーを持つドライバーは次のとおりです。 • UART / LPUART / LPSCI • I2C / LPI2C • SPI / LPSPI FreeRTOS OS のドライバーは、標準の KSDK 周辺機器ドライバーの上に構築されたレイヤーで、マルチスレッド (RTOS) 認識を実現します。ラッパーは、I/O 操作が完了するまで呼び出し元のタスクをブロックし、他のタスクをバックグラウンドで実行できるようにする API を提供します。これは、基になるドライバーの非同期 API と RTOS タスク同期オブジェクトを使用して実現されます。基盤となるドライバーは、適切に動作するために有効な割り込みを必要とします。 さらに、KSDKベアメタルドライバーを使用することも可能です。このドキュメントでは、FreeRTOS および SDK 2.0 プロジェクトで LPTMR ドライバーを使用する方法について説明します。この例では、SDK 2.0、FRDMK64F、および FreeRTOS を使用しています。 FreeRTOSプロジェクトを使用して新しいSDK 2.0を作成する方法を知りたい場合は、以下のリンクを確認してください https://community.freescale.com/docs/DOC-330183 GPIOとLPTMRの例: はじめに この例では、青色の LED を 1 秒ごとに切り替えます。この例では、Timer Compare Flagビットをチェックし、このフラグが設定されると青色LEDのステータスが変わります。 サンプルコードの記述 まず、FreeRTOSプロジェクトを使用して新しいSDK 2.0を作成する必要がありますので、以下のリンクを確認してください。      https://community.freescale.com/docs/DOC-330183 2.新しいプロジェクトを作成したら、pin_mux.c を開きますポートクロックを有効にし、必要なピンをGPIOとして構成するためのファイル(FRDM-K64Fの場合、RGB LEDはGPIO信号を介して接続されます:赤からPTB22、青からPTB21、緑からPTE26)。 3.さらに、pin_mux.c で lptmr モジュールのクロックを有効にする必要がありますファイル。 4.main.c でファイルには fsl_lptmr.h を含める必要がありますとfsl_gpio.h. 5.main 関数で、新しいタスクを作成します。このタスクは、LPTMR ドライバーと GPIO ドライバーを初期化します。この例では、新しいタスク関数の名前は task_init です。 /* RTOSタスクを作成 */ xTaskCreate( task_init、                  "Task_Init"、 configMINIMAL_STACK_SIZE、 ヌル task_PRIORITY、                  NULL); 6.task_init関数コードを記述します。 ある。KSDK GPIO ドライバーの使用: GPIO を初期化するには、ユーザー ファイルでピン構成 (入力または出力) を定義します。次に、 GPIO_PinInit() 関数を呼び出します。 今回は青色LEDが接続されているピンPTB21を出力として設定しました。 gpio_pin_config_t ledB_config = {kGPIO_DigitalOutput, 0,}; GPIO_PinInit(BOARD_LED_BLUE_GPIO, BOARD_LED_BLUE_GPIO_PIN, &ledB_config); GPIO ピンをコンフィギュレーションすると、次の GPIO 操作を使用できます。 GPIO出力操作。 GPIO_WritePinOutput  (GPIO_Type *base, uint32_t pin, uint8_t output) GPIO_SetPinsOutput(GPIO_Type ※ベース、uint32_tマスク) GPIO_ClearPinsOutput(GPIO_Type ※ベース、uint32_tマスク) GPIO_TogglePinsOutput(GPIO_Type ※ベース、uint32_tマスク) GPIO 入力操作。 GPIO_ReadPinInput (GPIO_Type ※ベース、uint32_tピン) board.h ファイルには、この操作の定義が含まれています。例えば: /*!< ターゲットLED_BLUEの切り替え */ #define LED_BLUE_TOGGLE() \ GPIO_TogglePinsOutput(BOARD_LED_BLUE_GPIO、1U<< BOARD_LED_BLUE_GPIO_PIN) b.KSDK LPTMR ドライバーを使用する場合: LPTMR_Init () は、アプリケーションの先頭で LPTMR ドライバーを使用して呼び出す必要があります。この関数は lptmr_config_t 構造体を初期化し、この構造体は LPTMR 周辺機器の構成設定を保持します。この構造体を適切な既定値に初期化するには、LPTMR_GetDefaultConfig() 関数を呼び出し、構成構造体インスタンスへのポインターを渡します。config構造体は、フラッシュに存在するようにconstにすることができます。 デフォルト値は次のとおりです。 config->timerMode = kLPTMR_TimerModeTimeCounter; config->pinSelect = kLPTMR_PinSelectInput_0; config->pinPolarity = kLPTMR_PinPolarityActiveHigh; config->enableFreeRunning = false; config->bypassPrescaler = true; config->prescalerClockSource = kLPTMR_PrescalerClock_1; config->value = kLPTMR_Prescale_Glitch_0; LPTMRを設定した後、タイマー期間を設定する必要があります。LPTMR_SetTimerPeriod() は、タイマーが 0 からここで設定されたカウント値と等しくなるまでカウントします。カウント値はCMRレジスタに書き込まれます。 最後に、LPTMR_StarTimer () を使用してタイマーを開始します。この関数を呼び出した後、タイマーはCMRレジスタ値までカウントアップします。タイマがCMR値に達してからインクリメントするたびに、トリガパルスが生成され、タイムアウト割込みフラグが設定されます。タイマー割り込みが有効になっている場合も、割り込みがトリガーされます。 この例では、次の行で LPTMR を構成して開始します。 /* LPTMR の設定 */ LPTMR_GetDefaultConfig(&lptmrConfig); /* LPTMR を初期化します */ LPTMR_Init(LPTMR0, &lptmrConfig); /* タイマー周期を設定 */ LPTMR_SetTimerPeriod(LPTMR0, USEC_TO_COUNT(1000000U, LPTMR_SOURCE_CLOCK)); /* カウント開始 */ LPTMR_StartTimer(LPTMR0);                   c.この例では、Timer Compare Flagビットをチェックし、このフラグが設定されると青色LEDのステータスが変わります。したがって、無限ループでは、LPTMR_GetStatusFlags()関数がチェックします ステータスフラグ (このフラグが設定されている場合は、LED を切り替えて、LPTMR_ClearStatusFlags() 関数を使用してフラグをクリアします。 (1) ながら    {    if (LPTMR_GetStatusFlags(LPTMR0) )           { LED_BLUE_TOGGLE();                      LPTMR_ClearStatusFlags(LPTMR0, kLPTMR_TimerCompareFlag);               } } 7.この時点で、サンプルをビルドしてデバッグできます。 完全なコード GPIO と LPTMR の例 #include #include「ボード.h」 #include「pin_mux.h」 #include 「clock_config.h」 #include「fsl_debug_console.h」 #include 「fsl_device_registers.h」 #include 「fsl_lptmr.h」 #include 「fsl_gpio.h」 /* FreeRTOS カーネルには以下が含まれます。*/ #include「FreeRTOS.h」 #include「task.h」 #include「queue.h」 #include「timers.h」 /* タスクの優先順位。*/ #define task_PRIORITY (configMAX_PRIORITIES-1) /******************************************************************************* *定義 ******************************************************************************/ /* LPTMR ドライバーのソースクロックを取得 */ #define LPTMR_SOURCE_CLOCK CLOCK_GetFreq(kCLOCK_LpoClk) static void task_init(void *pvParameters); /******************************************************************************* * Variables ******************************************************************************/ volatile uint32_t lptmrCounter = 0U; int main(void) {        /* ボード ハードウェアを初期化 します。*/ BOARD_InitPins(); BOARD_BootClockRUN();        BOARD_InitDebugConsole();        /* ここにコードを追加 */        /* RTOSタスクを作成 */ xTaskCreate( task_init、                      "Task_Init"、 configMINIMAL_STACK_SIZE、 ヌル task_PRIORITY、                      NULL); vTaskStartScheduler();        for(;;){ /* メイン関数から離れないようにするための無限ループ */               __asm(「NOP」); /* ループ中のブレークポイント停止として使用するもの */        } } static void task_init(void *pvParameters) {        for (;;){               lptmr_config_t lptmrConfig; PRINTF("初期化タスクを実行しています。\r\n");               /* イニット 出力LEDGPIO。*/               gpio_pin_config_t ledB_config = {kGPIO_DigitalOutput, 0,};               GPIO_PinInit(BOARD_LED_BLUE_GPIO, BOARD_LED_BLUE_GPIO_PIN, &ledB_config); PRINTF("LED BLUE 初期化済み \r\n");               /* LPTMR の設定 */               /*                * lptmrConfig.timerMode = kLPTMR_TimerModeTimeCounter;                * lptmrConfig.pinSelect = kLPTMR_PinSelectInput_0; * lptmrConfig.pinPolarity = kLPTMR_PinPolarityActiveHigh; * lptmrConfig.enableFreeRunning= false;                * lptmrConfig.bypassPrescaler = true; * lptmrConfig.prescalerClockSource= kLPTMR_PrescalerClock_1;                * lptmrConfig.value = kLPTMR_Prescale_Glitch_0;                */               LPTMR_GetDefaultConfig(&lptmrConfig);               /* LPTMR を初期化します */               LPTMR_Init(LPTMR0, &lptmrConfig);               /* タイマー周期を設定 */ LPTMR_SetTimerPeriod(LPTMR0, USEC_TO_COUNT(1000000U, LPTMR_SOURCE_CLOCK)); PRINTF("低電力タイマー モジュールが初期化されました \r\n");               /* カウント開始 */               LPTMR_StartTimer(LPTMR0); (1) ながら {                      if (LPTMR_GetStatusFlags(LPTMR0) ) { lptmrCounter ++; LED_BLUE_TOGGLE(); LPTMR_ClearStatusFlags(LPTMR0, kLPTMR_TimerCompareFlag); } }        } }
記事全体を表示
A71CH - 常见问题解答 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本文收集了有关A71CH解决方案的常见问题 (FAQ) , NXP 的物联网安全 IC 支持“即插即用”物联网安全方法。 我该如何开始? 特性 支持包 订单详细信息 我该如何开始? 如何使用 A71CH 开始开发? 如何开始使用 i.MX6UltraLite? 如果我想将我的设备加入 Google Cloud IoT 核心,我该如何开始? 如果我想将我的设备加入 AWS IoT Core,该如何开始? 特性 哪些类型的凭证可以存储在 A71CH 中? 如何使用 A71CH 进行相互认证? 支持包 在哪里可以找到 A71CH 支持材料? A71CH 支持包包括什么? 订单详细信息 如何订购 A71CH Arduino 兼容开发套件? 如何订购 A71CH IC? A71CH
記事全体を表示
构建 SDK 1.3.2 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我最近下载了 SDK 1.3.2从飞思卡尔的 SDK下载站点下载并有机会尝试将其安装在我身边的 P3041DS 系统上。ISO 中有很多信息,但我想我会逐步完成初始构建以记录流程。 首先要注意的是,有多个 ISO 映像可用。 我已经有一台 Ubuntu lucid 机器,我用它作为构建机器。所以我不需要虚拟图像。我需要源文件 - 所以我下载了 QorIQ_SDK_V1-3-2_SOURCE_ISO,并且我将在 P3041 上尝试这个,所以我下载了 e500mc 二进制文件。二进制文件不是必需的,但它可以显著加快构建速度。 下载完成后,首先要安装源 ISO 源 ISO 中有一个安装脚本。我运行它并让它做它的事情。值得注意的是,文档目录中包含文档。如果您访问documents/START_HERE.html,您将获得有关 SDK 的基于 html 的文档。而且,如果您继续深入研究并转到documents/sdk_documentation/pdf,您会发现一些有关各种功能的 pdf 文档。文档 QorIQ_SDK_Infocenter.pdf 是从Freescale 信息中心网站获取的 SDK 文档的完整集合。 一旦安装了源,我就对二进制文件执行相同的操作。 确保在源的顶部安装二进制文件(即在同一目录中)。 然后我们调用 FSL poky 脚本 - 来设置构建。 在这个命令中,-m 告诉它你要构建到哪台机器。-j 表示 make 要生成的作业数,-t 表示要并行运行的 bitbake 任务数。 此时我已准备好开始构建。对于想要构建的图像,我有一些选择 - 我将使用核心图像,其中包含一些更常见的包。因此,此时我需要确保我位于 build_p3041ds_release 目录中,并发出命令 bitbake fsl-image-core 这将启动构建过程。 当一切都完成后,我可以在build_p3041ds_release/tmp/demply/images目录中找到我的图像。 就我而言,我有相当多的图像,因为我实际上已经构建了核心和完整的图像。接下来,我必须抓取这些图像并将它们部署到我的目标。 QorIQ P1设备 QorIQ P2设备 QorIQ P3 设备 QorIQ P4设备 QorIQ P5设备
記事全体を表示
MPC5777C针对S32DS双核执行的优化 Hello, 现在我的 MPC5777CEVB 已经有了一个稳定的双核执行环境(顺便说一句,感谢您在之前帖子中的回答!),我正在尝试了解更精细的细节,以便获得该 MCU 的最佳性能和可预测性。在我的实验过程中,我思考了许多问题: - 让 cpu0 从一个 PFLASH 库运行代码,让 cpu1 从另一个 PFLASH 库运行代码,这是否有益(就减少资源争用而言)?在这种情况下,将 PFLASH 分成几个 TLB 条目是否有用? - 对于 SRAM 也有同样的问题:考虑到它分为三个组,有没有将其分成核心的最佳方法?我正在考虑为具有直写缓存策略和平台一致性的共享 64KB 空间设置一个 TLB 条目,然后为 cpu1 设置 192KB,为 cpu0 设置 256KB,但我不知道将一个核心绑定到 XBAR 从属端口 2 并将另一个核心绑定到 XBAR 从属端口 4 是否有任何好处,也不知道是否需要特别注意 XBAR 从属端口 2,因为(如果我理解正确的话)那里有多个存储库。 - 尽管 EVB 带有 MMO3 部件编号,但我打算在实际开发中使用 MMO4 芯片。EVB 能与 MMO4 芯片配合良好吗?我可以以最大频率运行它吗?说到这,一些文档部分指出最大频率为 300MHz,而其他部分则指出最大频率为 306MHz。哪一个是正确的? - 对于 MMO4 部件号,最大 EBI CLKOUT 是否仍保持在 66MHz?在这种情况下,我是否应该将平台时钟除以 3 并使用 50(51?)MHz 作为 CLKOUT? - 我使用 PIT0 作为触发器在两个核心中同时运行代码(以估计一个核心受到另一个核心的干扰)。如何确保两个内核在其中一个设置 PIT_TFLG0[TIF] 之前都接收到中断? - 当在两个核心上运行一些代码时(都从相同的 Flash 地址读取,一些从相同的 RAM 地址读取,一些读取(以及所有写入)到不同的 RAM 地址),使用循环 XBAR 仲裁策略,cpu0 比 cpu1 更快(~743us vs. ~799us)。当我将其更改为基于优先级时,时间保持大致相同,但两个核心的速度都稍慢一些(~748us 对比 ~805us)。在所有情况下,我都使用每个核心自己的 TBL/TBU 寄存器来测量时间,以最大限度地减少资源争用。为什么循环对两个核心都更好? -最后,在S32DS环境中是否有SDA使用的示例或文档? 谢谢! Ricardo 回复:MPC5777C针对S32DS中的双核执行进行优化 也许您需要按如下方式启用它: https://www.nxp.com.cn/docs/en/release-note/S32SDK_Power_Architecture-RN.pdf 关于中断: 两个核心的中断请求在同一周期内触发。然而,ISR 处理是特定于应用程序的。 回复:MPC5777C针对S32DS中的双核执行进行优化 Hi David, 感谢大家的回答!我将重点讨论那些我可能不理解的内容: - 我使用 PIT0 作为触发器在两个核心中同时运行代码(以估计一个核心受到另一个核心的干扰)。如何确保两个内核在其中一个设置 PIT_TFLG0[TIF] 之前都接收到中断? 我不确定我是否完全理解这一点,但 INTC 能够向两个核心发送中断请求(INTC_PSRn[PRC_SELn] = 0b)。 确实,我正在向两个核心发送中断。查看 S32DS 知识库中提供的示例时,只有一个核心服务于中断,并且必须设置 PIT_TFLG0[TIF](显然,要重置中断,直到 PIT0 再次设置它)。我想知道中断是否在同一个时钟周期内发送到两个内核,这样如果其中一个内核在 ISR 功能启动时立即设置 PIT_TFLG0[TIF],则不会存在另一个内核“看不到”中断的风险,因为其中一个内核已清除该中断。 -最后,在S32DS环境中是否有SDA使用的示例或文档? “SDA”缩写是什么意思? 我的错!我指的是小数据区。虽然我可以让它们在 GHS 环境中工作,但我不明白 gcc 如何处理它们......它正在创建 .sdata和 .sbss部分并默认在那里分配东西,但它看起来并不像在执行由 r13 索引的访问。 回复:MPC5777C针对S32DS中的双核执行进行优化 嵌入的答案: - 让 cpu0 从一个 PFLASH 库运行代码,让 cpu1 从另一个 PFLASH 库运行代码,这是否有益(就减少资源争用而言)?在这种情况下,将 PFLASH 分成几个 TLB 条目是否有用? 有两个专用闪存端口,它们不根据地址分割,因此不需要创建多个 TLB 条目。 - 对于 SRAM 也有同样的问题:考虑到它分为三个组,有没有将其分成核心的最佳方法?我正在考虑为具有直写缓存策略和平台一致性的共享 64KB 空间设置一个 TLB 条目,然后为 cpu1 设置 192KB,为 cpu0 设置 256KB,但我不知道将一个核心绑定到 XBAR 从属端口 2 并将另一个核心绑定到 XBAR 从属端口 4 是否有任何好处,也不知道是否需要特别注意 XBAR 从属端口 2,因为(如果我理解正确的话)那里有多个存储库。 SRAM 根据地址线 18 分为两半(见表 9-2)。XBAR 从属端口分配)。如果一个核心访问从属端口 2,而第二个核心访问从属端口 4(或其他),则可能会很有益,因为两个访问是并行进行的。 - 尽管 EVB 带有 MMO3 部件编号,但我打算在实际开发中使用 MMO4 芯片。EVB 能与 MMO4 芯片配合良好吗?我可以以最大频率运行它吗?说到这,一些文档部分指出最大频率为 300MHz,而其他部分则指出最大频率为 306MHz。哪一个是正确的? 300MHz 为最大未调制频率,306MHz 为包含频率调制。 - 对于 MMO4 部件号,最大 EBI CLKOUT 是否仍保持在 66MHz?在这种情况下,我是否应该将平台时钟除以 3 并使用 50(51?)MHz 作为 CLKOUT? EBI 最大频率保持不变,这实际上意味着 300MHz 版本必须使用比 264MHz 版本更低的 EBI 频率,因为 CLKOUT 分频器没有提供更多选项。 - 我使用 PIT0 作为触发器在两个核心中同时运行代码(以估计一个核心受到另一个核心的干扰)。如何确保两个内核在其中一个设置 PIT_TFLG0[TIF] 之前都接收到中断? 我不确定我是否完全理解这一点,但 INTC 能够向两个核心发送中断请求(INTC_PSRn[PRC_SELn] = 0b)。 - 当在两个核心上运行一些代码时(都从相同的 Flash 地址读取,一些从相同的 RAM 地址读取,一些读取(以及所有写入)到不同的 RAM 地址),使用循环 XBAR 仲裁策略,cpu0 比 cpu1 更快(~743us vs. ~799us)。当我将其更改为基于优先级时,时间保持大致相同,但两个核心的速度都稍慢一些(~748us 对比 ~805us)。在所有情况下,我都使用每个核心自己的 TBL/TBU 寄存器来测量时间,以最大限度地减少资源争用。为什么循环对两个核心都更好? 您可能还要注意停车管制。理想情况下,我已经回答过,每个核心访问不同的 SRAM 一半,每个核心访问不同的闪存地址(有内部预取缓冲区,但访问同一地址不会同时运行,可能会导致等待状态)。 -最后,在S32DS环境中是否有SDA使用的示例或文档? “SDA”缩写是什么意思?
記事全体を表示
imx_builder --- 无需 Yocto 即可独立构建 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 2020年3月13日:imx_builder_03122020.tgz--- 更改 i.MX8MN 配置。 2019年12月11日:imx_builder_12112019.tgz --- 添加支持 L4.19.35_1.1.0 2019年8月28日:imx_builder_08282019.tgz --- 添加 i.MX8MM 2019年7月3日:imx_builder_07032019.tgz --- 添加 i.MX8QM: build_i.MX8 2020 年 2 月 26 日:imx_builder_02262020 --- 添加 i.MX8MN,为 build_i.MX8、build_i.MX8X 添加 spl m4,带有 L4.14.98_2.0.0_ga、L4.14.98_2.2.0、L4.19.35_1.1.0 imx_builder_02262020: imx_builder |-- atf -> bsp/imx-atf |-- bsp -> REL/rel_imx_4.19.35_1.1.0 |-- 构建 -> build_i.MX8X/L4.19.35_1.1.0 |-- 构建_i.MX6 | |-- L3.0.x | |-- L3.1x.xx | |-- L4.14.xx | |-- L4.19.xx |`-- L4.1.xx |-- 构建_i.MX8 | |-- 在_L4.14.98_2.0.0_ga 之前 | |-- L4.14.98_2.0.0_ga | |-- L4.14.98_2.2.0 |`-- L4.19.35_1.1.0 |-- 构建_i.MX8M | |-- 之前.L4.19.35 |`-- L4.19.35 |-- 构建_i.MX8MM | |-- 之前.L4.19.35 |`-- L4.19.35 |-- 构建_i.MX8MN |`-- L4.19.35 |-- 构建_i.MX8X | |-- 在_L4.14.98_2.0.0_ga 之前 | |-- L4.14.98_2.0.0_ga | |-- L4.14.98_2.2.0 |`-- L4.19.35_1.1.0 |-- dts -> linux/arch/arm/boot/dts |-- dts64 -> linux/arch/arm64/boot/dts/freescale |-- dts_uboot -> u-boot/arch/arm/dts |-- imx-mkimage -> bsp/imx-mkimage |-- linux -> bsp/linux-imx | -- m4_img | |-- m4_1_image.bin->rpmsg_lite_str_echo_rtos_imxcm4.bin | |-- m4_image.bin -> 电源模式开关.bin |`--readme.txt |-- Makefile -> 构建/Makefile |-- 其他 | |-- clk_模块 ||-- cryptodev-linux-1.8 | |-- helloworld_模块 | |-- key_blob_模块 |`-- spi |-- 出 |-- 自述文件 -> 构建/自述文件 |-- 相对 |-- scfw -> bsp/scfw |-- 设置.MK -> 构建/设置.MK |-- 工具链 |`-- scfw |-- u-boot -> bsp/uboot-imx `--版本.MK imx_builder是一组用于构建u-boot、Linux kernel、atf、scfw、imx-mkimage的Makefile。您可以称之为独立构建。 以下是尝试的步骤。 您可以使用 -n 来获取详细的构建步骤。 例如:make atf -n 制作 linux.Image -n 以 L4.14.78_ga 为例: 1. Untar  imx_builder_02282019.tgz 2.阅读里面的Standalone_Build_Preparation.pdf,准备bsp。 3.准备工具链(从 yocto 获取 populate_sdk、从 linaro 获取、从 buildroot 获取等) 4. 按照 SCFW 移植套件准备 scfw 工具链。 5. 按照Standalone_Build_Preparation.pdf 检查构建结构是否正确。 构建结构 以 L4.14.78_1.0.0_ga 为例。 在 REL 中准备 rel_imx_4.14.78_1.0.0_ga 创建指向 REL/rel_imx_4.14.78_1.0.0_ga 的符号链接 创建指向 build_i.MX8X 的符号链接   imx_builder/ |-- atf -> bsp/imx-atf |-- bsp -> REL/rel_imx_4.14.78_1.0.0_ga |-- 构建 -> build_i.MX8X |-- 构建_i.MX6 |-- 构建_i.MX8M |-- 构建_i.MX8X |   |-- Makefile -> Makefile.4.14.78_ga |   |-- Makefile.4.14.78_ga | |-- 自述文件 | |-- 设置_4.14.78_1.0.0_ga.MK | |-- 设置.MK -> 设置_4.14.78_1.0.0_ga.MK | `--版本.MK |-- dts -> linux/arch/arm/boot/dts |-- imx-mkimage -> bsp/imx-mkimage |-- linux -> bsp/linux-imx |-- Makefile -> 构建/Makefile |-- 其他 |-- 出 |-- 自述文件 -> 构建/自述文件 |-- 相对 | ` --rel_imx_4.14.78_1.0.0_ga |       |-- firmware-imx-8.0.bin |       |-- imx-atf |       |-- imx-mkimage | |-- imx-sc-firmware-1.1.bin(可选) | |-- imx-scfw-移植套件-1.1.tar.gz |       |-- linux-imx |       `-- uboot-imx |-- scfw -> bsp/scfw |-- 设置.MK -> 构建/设置.MK |-- 独立构建准备.pdf |-- 工具链 |   `-- scfw |` --gcc-arm-none-eabi-6-2017-q2-更新 |-- u-boot -> bsp/uboot-imx `--VERSION.MK -> 构建/VERSION.MK 概述 回复:imx_builder --- 无需 Yocto 即可独立构建 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 非常感谢您的脚本。 我有一个类似的,它删除了 linunx-imx、uboot-imx 中的 .git,以使 bsp 变小。 我认为到目前为止它还不是 imx_builder 的一部分。 我最初的想法是让客户了解独立构建。并且很容易看到单个步骤,这在 Yocto 中有点难以阅读。 imx_builder 适合像您这样的专业用户。您可以添加任何新功能,例如准备 bsp。 非常感谢您对我的 imx_builder 感兴趣。 回复:imx_builder --- 无需 Yocto 即可独立构建 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好, BiyongSUN ,谢谢你的更新。 这是用于填充 bsp 目录的脚本(getSw.sh)。使用版本rel_imx_5.4.24_2.1.0,对于固件 imx,i.MX_Linux_Release_Notes.pdf 具有此版本的版本 (8.8)。要使用其他 Linux 版本,请更新所需版本的 TAG 和 FWR 变量。 #!/bin/bash TAG="rel_imx_5.4.24_2.1.0" FWR="8.8" CAF="https://source.codeaurora.org/external/imx" MAD="wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO" wget ${MAD}/firmware-imx-${FWR}.bin for repo in linux-imx uboot-imx imx-atf imx-mkimage; do     git clone ${CAF}/${repo} -b ${TAG}; done ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 回复:imx_builder --- 无需 Yocto 即可独立构建 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 在imx_builder的初始版本中,我只是添加了一个非常小的 rootfs 用于测试目的。 并且我决定不再支持rootfs。但我没有删除规则。 实际上,我通过 buildroot 制作了小型测试 rootfs。 根文件系统:rootfs.tar #$(RM)$(ROOTFS_DIR)/dev/null$(OUT_ROOTFS) # fakeroot -- sh -c 'mknod -ma=rw $$0/dev/null c 1 3 && cd $$0 && tar jfvc $$1 *' ${ROOTFS_DIR} ${OUT_ROOTFS} #$(RM)$(OUT_ROOTFS_TAR)$(OUT_ROOTFS_UBI) # 假根 -- ${FS_TAR_SCRIPT} ${ROOTFS_DIR} ${OUT_ROOTFS_TAR} # 假根 -- ${FS_UBI_SCRIPT} ${ROOTFS_DIR} ${OUT_ROOTFS_UBIFS} ${OUT_ROOTFS_UBI} ${FS_UBI_DIR} 根文件系统.tar: $(RM) $(OUT_ROOTFS_TAR) 假根 -- ${FS_TAR_SCRIPT} ${ROOTFS_DIR} ${OUT_ROOTFS_TAR} rootfs.cpio: $(RM) $(OUT_ROOTFS_CPIO) 假根 -- ${FS_CPIO_SCRIPT} ${ROOTFS_DIR} ${OUT_ROOTFS_CPIO} 回复:imx_builder --- 无需 Yocto 即可独立构建 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> imx_builder_03122020.tgz,并构建 i.MX 8MM,Makefile 已为 rootfs.tar 定义目标,但是在 SETTINGS.MK 中缺少定义的${FS_TAR_SCRIPT} : FS_DIR=${PWD}/fs FS_TAR_DIR=${FS_DIR}/tar FS_TAR_SCRIPT=${FS_TAR_DIR}/rootfs.tar.gz.sh imx_builder 中可以提供所有子目录的完整 FS_DIR 和脚本吗? 丢失的: fs/tar fs/ubi fs/cpio 回复:imx_builder --- 无需 Yocto 即可独立构建 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi, 是否需要进行任何修改才能启用 imx8qxp 的安全启动?
記事全体を表示
新的 KSDK 1.2 现已推出! <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 今天刚刚发布了新的 KSDK 版本 1.2。和 KDS 3.0! 点击此处下载   欲了解更多详情,请访问我们的网站Kinetis MCU 软件开发套件|Freescale和Kinetis Design Studio 集成开发|Freescale   什么是新的   新增的芯片系列支持包括:   MK10D10 MK66F18 MKL34Z4 MK11DA5 MKL02Z4 MKL36Z4 MK20D10 MKL14Z4 MKL43Z4 MK21DA5 MKL15Z4 MKV40F15 MK21FA12 MKL16Z4 MKV43F15 MK26F18 MKL17Z4 MKV44F15 MK30D10 MKL17Z644 MKV45F15 MK40D10 MKL24Z4 MKV46F15 MK50D10 MKL25Z4 MKW01Z4 MK51D10 MKL26Z4 MKW21D5 MK52D10 MKL27Z4 MKW22D5 MK53D10 MKL27Z644 MKW24D5 MK65F18 MKL33Z4 MK24F12 MK63F12   新增的外设支持包括: AOI ENC FLEXBUS FLEXIO LMEM VREF XBAR PWM   文档   Kinetis SDK v.1.2.0 发行说明http://cache.freescale.com/files/soft_dev_tools/doc/support_info/KSDK120RN.pdf?fsrch=1 Kinetis SDK v.1.2API参考手册http://cache.freescale.com/files/soft_dev_tools/doc/support_info/KSDK12APIRM.pdf?fsrch=1 Kinetis SDK v.1.2演示应用用户指南http://cache.freescale.com/files/soft_dev_tools/doc/support_info/KSDK12DEMOUG.pdf?fsrch=1 Kinetis SDK (KSDK) v.1.2入门指南http://cache.freescale.com/files/soft_dev_tools/doc/support_info/KSDK12GSUG.pdf?fsrch=1 MQX ™ RTOS for Kinetis SDK 1.2.0 发行说明http://cache.freescale.com/files/soft_dev_tools/doc/support_info/MQXKSDK120RN.pdf?fsrch=1   将 MQX RTOS 应用程序移植到 Kinetis SDK 的 MQX RTOS http://www.freescale.com/files/soft_dev_tools/doc/support_info/MQXKSDKPUG.pdf   适用于 KDS 3.0。请不要忘记访问新推出的 Kinetis Design Studio V3.0.0   尽情享受! Iva 概述 回复:新的KSDK 1.2。可用! <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好, Wesley Hunter , 好文章-谢谢分享! 祝你今天过得愉快! Iva 回复:新的KSDK 1.2。可用! <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 这太棒了。我一直在等待这个,这样我就可以让 KSDK 在 Eclipse Luna 上运行。它终于来了,而且运行良好。如果有人感兴趣的话,我已经整理了一篇关于如何在 Eclipse Luna 上进行设置的博客:工具链:KSDK 1.2.0 搭配 Eclipse 4.4 (Luna) 和 GNU ARM 插件 | Centaurian
記事全体を表示
DRM 屏幕捕获工具 这是DRM(Direct Render Manager)下的屏幕捕获工具。 这也是之前“drmfbcap”(DRM 帧缓冲区捕获)的修订版本。 与基于 FB 的系统不同,在基于 FB 的系统下我们可以通过读取设备节点轻松捕获帧缓冲区,而 DRM 则更加复杂且具有安全保护。没有直接从用户空间读取帧缓冲区数据的方法。 在DRM情况下,我们需要打开DRM设备,查询资源,获取并映射FB对象,然后最终读取缓冲区。 使用此工具,我们可以从 DRM 设备捕获缓冲区内容并将其输出为原始 RGB/YUV 数据。 特征: 捕获所有平面或特定平面,包括隐藏/覆盖的平面或由应用程序直接管理的平面(覆盖)。 支持 RGB 和 YUV(自动检测)。 还支持 Tile 格式(VSI Super-Tile)。 重复模式可以连续捕获帧。 该工具是作为静态链接构建的,在这种情况下,它应该可以在 Linux 和 Android 中运行。 重要提示: Linux 4.x 和 5.x/6.x 之间的 DRM 子系统行为不同。 对于 Linux 4.x ,您可以毫无问题地捕获 RGB 缓冲区。但是,没有针对 YUV(多平面)缓冲区的 API。 要捕获 YUV,请使用“kernel_0001-drm-Add-getfb2-ioctl_L4.14.98.patch”修补内核。 对于 Linux 5.x ,由于安全原因,默认不允许映射/捕获内部缓冲区。为了解决此暂时问题(仅用于调试),请使用“0001-drm-enable-mapping-of-internal-object-for-debugging_L5.x.patch”修补内核。它包含一个小的改变来移除这个保护。 两个补丁均包含在附件中。 要获取有关如何使用此工具的更多详细信息,请尝试使用“-h”选项来打印使用信息。 尽情享受! Android 图形与显示 Linux 回复:DRM 屏幕捕获工具 Hi @jagsgediya , 源代码中包含一些来自第三方的代码,因此,在检查更多许可证之前,我无法发布源代码。 你好@ChayMah , 是 回复:DRM 屏幕捕获工具 大家好, 我可以在内核 6.1 中使用该应用程序吗? 回复:DRM 屏幕捕获工具 您打算开源drmcap 的源代码吗?如果可以的话请告诉我。
記事全体を表示
S32Gブートローダーカスタマイズ このドキュメントは、ブートローダーを変更してLinuxとMCALを起動し、ブートローダー、MCAL、Linux間の競合を解決する方法を説明しています 本文说明在S32G2 RDB2板上如何定制开发Bootloader,本文示例主要实现功能是: Bootloader启动一个M核,MCAL驱动测试程序,本文分别测试了MCU,DIO,UART的MCAL驱动示例代码。 Bootloader同时启动A53 Linux 目录 1    需要的软件,工具,文档与说明... 3 1.1  软件与工具... 3 1.2  参考文档... 3 1.3  开发说明... 3 2    测试软件安装编译说明... 4 2.1  安装RTD_MCAL驱动... 4 2.2  编译MCAL驱动测试程序(以MCU为例) 5 2.3  优化重排M7 demo镜像及与MPU设置的配合... 5 2.4  去掉CLOCK INIT. 7 2.5  去掉MCU相关INIT. 8 2.6  DIO MCAL程序去掉PORT INIT. 9 2.7  UART MCAL程序去掉PORT INIT. 10 2.8 UART MCALプログラムのCLOCK TREEの修正.. 10 2.9  解决中断冲突... 11 2.10 准备A53 Linux镜像... 12 3    Bootloader工程说明... 13 3.1  关掉XRDC支持... 13 3.2  关掉eMMC/SD支持(可选) 14 3.3 セキュアブートを無効にする(オプション)14 3.4  增加MCAL驱动所需要的PORT的初始化... 15 3.5  解决Bootloader,MCAL与Linux的clock冲突... 17 3.6  配置A53 Boot sources: 34 3.7  配置M7 Boot sources: 35 3.8  关闭调试软断点:... 36 3.9  编译Bootloader工程... 37 3.10 制造Bootloader的带IVT的镜像... 38 3.11 烧写镜像... 41 4    测试... 42 4.1  硬件连接... 42 4.2  MCU MCAL+Linux测试过程... 42 4.3  DIO MCAL+Linux测试过程... 43 4.4  UART MCAL+Linux测试过程... 43 5    Bootloader源代码说明... 43 6    Bootloader定制说明... 45 6.1  QSPI NOR驱动说明... 45 6.2  eMMC/SDcard启动支持... 46 6.3  DDR初始化... 46 6.4  Secure Boot支持... 46 7    调试说明... 46 7.1  Bootloader的调试... 46 7.2  MCAL驱动的调试... 46 G3で起動できるようにATFを変更する方法を説明する文書をもう1つ追加してください。 オートモーティブ Re: S32G Bootloader Customzition 最終的に、問題は uboot の board_common.c に見つかりました。カーネル実行時に、board_cleanup_before_linux が scmi_reset_agent を呼び出します。コメントが呼び出されるとどうなるでしょうか? Re: S32G Bootloader Customzition こんにちは。MCUのフラッシュメモリの読み書きをデバッグしています。現在、Aコアがubootステージに移行するとnorflashの読み書きは正常に動作するのですが、Linuxステージになるとnorflashの機能が異常になるという問題が発生しています。 ubootステージclkダンプビューqspi_flash2xは266666666です Linuxのダンプ/sys/kernel/debug/clk/clk_summaryでは、qspi_flash2xは266666666で、その後0に変わります。 dfs1レジスタをチェックすると、dfs1はリセットされている この問題を見つけるにはどうすればよいでしょうか? Re: S32G Bootloader Customzition MコアでCANメッセージを送信したのですが、Ubootのマルチコア起動プロセス中にCANメッセージの送信が停止しました。私のATF設定は@learnxさんと同じです。原因を解析していただけますか?ありがとうございます! @Johnli Re: S32G Bootloader Customzition ありがとう! Re: S32Gブートローダーカスタマイズ ドキュメントを確認してください:llceドライバkoをロードしていることを確認してください。 S32G_Bootloader_G3_LLCELOGGER ドキュメントおよびプロジェクトにおいて、ロガー・デモ実行用G3ブートローダーカスタマイズ(G2と同様)を説明しています https://community.nxp.com/t5/NXP-Designs-Knowledge-Base/S32G-Bootloader-G3-Customization/ta-p/1769528 Re: S32G Bootloader Customzition こんにちは。質問があります。BSP38イメージを使用しています。起動後、ubootでclk dumpを使ってllce_can_peのクロック値を照会したところ、0と表示されました。ATFでデバイスツリー構成を確認しましたが、問題は見つかりませんでした。 ATF デバイスツリー構成 mc_cgm0: mc_cgm0@40030000 { compatible = "nxp,s32cc-mc_cgm0"; reg = <0x0 0x40030000 0x0 0x3000>; assigned-clocks = < & plat_clks S32GEN1_CLK_MC_CGM0_MUX0 >, < & plat_clks S32GEN1_CLK_MC_CGM0_MUX1 >, < & plat_clks S32GEN1_CLK_MC_CGM0_MUX2 >, < & plat_clks S32GEN1_CLK_MC_CGM0_MUX3 >, < & plat_clks S32GEN1_CLK_MC_CGM0_MUX4 >, < & plat_clks S32GEN1_CLK_MC_CGM0_MUX5 >, < & plat_clks S32GEN1_CLK_MC_CGM0_MUX7 >, < & plat_clks S32GEN1_CLK_MC_CGM0_MUX8 >, < & plat_clks S32GEN1_CLK_MC_CGM0_MUX9 >, < & plat_clks S32GEN1_CLK_MC_CGM0_MUX10 >, < & plat_clks S32GEN1_CLK_MC_CGM0_MUX12 >, < & plat_clks S32GEN1_CLK_MC_CGM0_MUX14 >, < & plat_clks S32GEN1_CLK_MC_CGM0_MUX16 >, <&plat_clks S32GEN1_CLK_XBAR_2X>, <&plat_clks S32GEN1_CLK_PER>, < & plat_clks S32GEN1_CLK_FTM0_REF >, < & plat_clks S32GEN1_CLK_FTM1_REF >, < & plat_clks S32GEN1_CLK_CAN_PE >, < & plat_clks S32GEN1_CLK_LIN_BAUD >, < & plat_clks S32GEN1_CLK_GMAC0_TS >, <&plat_clks S32GEN1_CLK_SPI>, <&plat_clks S32GEN1_CLK_SDHC>, <&plat_clks S32GEN1_CLK_QSPI_2X>; assigned-clock-parents = < & plat_clks S32GEN1_CLK_ARM_PLL_DFS1 >, < & plat_clks S32GEN1_CLK_PERIPH_PLL_PHI0 >, <&plat_clks S32GEN1_CLK_FXOSC>, < & plat_clks S32GEN1_CLK_PERIPH_PLL_PHI1 >, < & plat_clks S32GEN1_CLK_PERIPH_PLL_PHI1 >, < & plat_clks S32GEN1_CLK_PERIPH_PLL_PHI1 >, < & plat_clks S32GEN1_CLK_PERIPH_PLL_PHI2 >, < & plat_clks S32GEN1_CLK_PERIPH_PLL_PHI3 >, < & plat_clks S32GEN1_CLK_PERIPH_PLL_PHI4 >, < & plat_clks S32GEN1_CLK_PERIPH_PLL_PHI5 >, < & plat_clks S32GEN1_CLK_PERIPH_PLL_DFS1 >, < & plat_clks S32GEN1_CLK_PERIPH_PLL_DFS3 >, < & plat_clks S32GEN1_CLK_PERIPH_PLL_PHI7 >; assigned-clock-rates = <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>, <80000000>, <40000000>, <40000000>, <40000000>, <125000000>, <200000000>, <100000000>, <400000000>, <S32GEN1_QSPI_2X_CLK_FREQ>; }; periphpll: periphpll@4003c000 { compatible = "nxp,s32cc-periphpll"; reg = <0x0 0x4003c000 0x0 0x3000>; assigned-clocks = < & plat_clks S32GEN1_CLK_PERIPH_PLL_MUX >, <&plat_clks S32GEN1_CLK_PERIPH_PLL_VCO>, < & plat_clks S32GEN1_CLK_PERIPH_PLL_PHI0 >, < & plat_clks S32GEN1_CLK_PERIPH_PLL_PHI1 >, < & plat_clks S32GEN1_CLK_PERIPH_PLL_PHI2 >, < & plat_clks S32GEN1_CLK_PERIPH_PLL_PHI3 >, < & plat_clks S32GEN1_CLK_PERIPH_PLL_PHI4 >, < & plat_clks S32GEN1_CLK_PERIPH_PLL_PHI5 >, < & plat_clks S32GEN1_CLK_PERIPH_PLL_PHI7 >; assigned-clock-parents = <&plat_clks S32GEN1_CLK_FXOSC>; assigned-clock-rates = <0>, <S32GEN1_PERIPH_PLL_VCO_FREQ>, <100000000>, <80000000>, <40000000>, <125000000>, <200000000>, <125000000>, <100000000>; }; accelpll: accelpll@40040000 { compatible = "nxp,s32cc-accelpll"; reg = <0x0 0x40040000 0x0 0x3000>; }; Re: S32G ブートローダーのカスタマイズ こんにちは@Johnli こんにちは! 下の図の赤い枠で示されているように、一部のクロックがATFで特定のクロック値で定義されていないのはなぜでしょうか?システムはどのようにしてこのようなクロックの最終的なクロック値を決定するのでしょうか?ARM_PLL_VCOの関連レジスタを調べたところ、クロックのサイズが許可されている最大値と同じであることがわかりました。 ありがとう! Re: S32G Bootloader Customzition これは、このプロジェクトのMCUモジュールがこのクロックを動作させないことを意味します。EBでは、構成項目のプロパティを表示できます。 Re: S32G ブートローダーのカスタマイズ Hi @Johnli      您好!非常感谢~ もう一つ質問があります。共有ドキュメントやEBで「Under MCU Control」という表示をよく見かけますが、これは何のためのものなのでしょうか?RMでは関連する説明が見つかりません。この質問への回答を教えていただけますか? ありがとう! Re: S32G Bootloader Customzition 1: クロック関連のドキュメントS32G_Supplemental_documentation_on_resolving_clock_conflicts_V1-2023.07.03.pdfをご覧ください。 2: Linux クロックの初期化と構成は ATF に転送する必要があるため、コードは ATF にあります。 Re: S32Gブートローダーカスタマイズ Hi John, S32G3ブートローダーのマニュアルはありますか? どうもありがとうございました! Re: S32Gブートローダーカスタマイズ Hi John, ちょっと気になったのですが、このドキュメントは英語版がありますか? よろしくお願いいたします。 Viktor
記事全体を表示
S32 Design Studio for S32 Platform 3.3 的观察点 观察点是数据的断点,通常被称为数据断点。观察点可以监视全局变量、外设访问、堆栈深度等,为调试和工作提供强大的辅助。可设置的观察点数量因 MCU 系列和实现而异。 观察点通过观察点单元实现,这些单元是 MCU/CPU 调试架构中的数据比较器,位于处理器核心附近。配置完成后,它们将监控处理器的地址线和其他信号,以检测特定的感兴趣事件。该硬件能够监控 CPU 执行的数据访问,并在特定数据事件发生时强制其停止。 与其他一些调试功能相比,设置观察点的方法在 IDE 中更加隐蔽。设置观察点最简单的方法之一是使用 Outline View(大纲视图)。在此视图中,您可以找到全局和静态变量,然后只需选择 Toggle Watchpoints(切换观察点)即可。   设置后,它们将出现在 Breakpoints(断点)窗格中,与已设置的其他断点并列显示。    观察点可以配置为在 Read(或 Load)、Write(或 Store)或两者时停止 CPU。由于观察点“监视”对内存的访问,因此它们适合跟踪对全局或静态变量的访问,以及对内存的任何数据访问,包括对内存映射外设的访问。  注意:要在 Breakpoint 视图中轻松区分 Breakpoints 和 Watchpoints,您可以选择按 Breakpoint 类型对条目进行分组。在 Breakpoints 视图中,点击 Eclipse 向下箭头图标菜单,然后您可以选择按断点类型分组,如下所示:   从上图中可以看出,设置 Watchpoint(观察点)的选项也可以直接从 Breakpoint(断点)视图中设置。   在此处设置后,您将看到未填充的对话框——只需输入地址,即可创建观察点,用于监控对该位置的访问。   在 IDE 中设置观察点的另一个位置是 Memory(内存)视图中的上下文相关菜单。   不幸的是,S32 Design Studio for S32 Platform 3.3 中的条件观察点在某些情况下可能不起作用。 调试 | Flash 编程 Eclipse IDE 使用和设置
記事全体を表示
针对物联网数据和混合云集成优化 i.MX RT 设备 大家好, 我目前正在使用 NXP i.MX RT1170系列开发物联网解决方案,并希望与大家分享我的设置和见解。 该项目从多个设备收集传感器数据,并通过安全网关发送。我们正在使用 混合云方法,将本地边缘处理与云存储和分析相结合。这样就可以在现场进行实时决策,同时在云中保持长期数据的可访问性。 我对以下方面的最佳做法特别感兴趣: 在网络中断期间,在 MCU 上有效地缓冲和批处理数据。 在混合云环境中为 Cortex-M 设备实施安全的 OTA 更新。 以最小的资源开销内置 MQTT/TLS 通信。 有没有人使用恩智浦的RT设备成功部署了类似的架构?如果您有任何建议或经验,我们将不胜感激。 提前感谢! Re: Optimizing i.MX RT Devices for IoT Data and Hybrid Cloud Integration 我明白你的意思,请查看下面的参考链接,其中一些可能已过期。 https://mcuxpresso.nxp.com/mcuxsdk/25.09.00/html/middleware/aws_iot/index.html https://mcuxpresso.nxp.com/mcuxsdk/latest/html/examples/wifi_examples/wifi_mqtt/readme.html https://mcuxpresso.nxp.com/mcuxsdk/latest/html/examples/ota_examples/index.html https://www.nxp.com/docs/en/application-note/AN13469.pdf
記事全体を表示
为什么硬编码使用 .sldd 作为数据存储? 为什么恩智浦 MBDT 硬编码 .sldd 作为外部数据存储? 这与外部模型数据存储的其他用途相冲突,并使引用配置的使用变得比预期的要难。 Mathworks 推荐的参考配置设置是为项目中的配置使用通用共享 sldd,并将其链接到每个模型。但是,如果使用恩智浦 MBDT 执行此方法,那么下次打开模型时 MBDT 就会覆盖数据存储,而且 MBDT 也会变得非常混乱。 Re: Why is it hardcoded to use .sldd as data store? 你好,@Henrik-Wires、 作为参考,您可以查看位于 model_ref 文件夹中的 s32k3xx_refconfig_s32ct 模型结构。此示例说明了如何在模型引用层次结构中应用引用配置:下级模型通过使用 引用 字典来引用顶级模型的 SLDD。 如果您更愿意在标准模型层次结构(而不是模型参考层次结构)中应用参考配置方法,则可以创建一个独立组网 \(SA\) SLDD 文件并从需要此配置的每个特定模型的 SLDD 中引用该文件。这是使用前面在 “参考词典” 部分中描述的相同机制完成的。 希望对您有所帮助、 德拉古 Re: Why is it hardcoded to use <modelname>.sldd as data store? 谢谢。我会试试的。
記事全体を表示
FTM CnV 更新の問題 SO、データのビット値に基づいてCnVの値を変更しようとしました しかし、出力は最初に書き込まれた値のまま変化しません 私はまだこのマイクロコントローラMKE02Z64VLC4を使い始めたばかりなので、 どのステップが間違っているのか分かりません。どの行が欠けているか教えてください。 #include "MKE02Z4.h" #define FTM_MOD 24 // 25 ticks → 1.25us @ 20MHz #define TICKS_0 7 #define TICKS_1 14 void FTM_Init(void) { SIM->SCGC |= SIM_SCGC_FTM2_MASK; FTM2->MODE = FTM_MODE_WPDIS_MASK | FTM_MODE_FTMEN_MASK; FTM2->CNTIN = 0; FTM2->CNT = 0; FTM2->MOD = FTM_MOD; FTM2->CONTROLS[0].CnSC = FTM_CnSC_MSB_MASK | FTM_CnSC_ELSB_MASK; FTM2->CONTROLS[0].CnV = TICKS_0; /* ENABLE CHANNEL OUTPUT (CRITICAL) */ FTM2->OUTMASK &= ~(1 << 0); /* Initial load */ *(volatile __UINT32_TYPE__ *)0x4003A098 = 0x0021; FTM2->SC = FTM_SC_CLKS(1) | FTM_SC_PS(0); *(volatile __UINT32_TYPE__ *)0x4003A064 = 0x00; } static inline void wait_ftm_period(void) { while(!(FTM2->SC & FTM_SC_TOF_MASK)); FTM2->SC &= ~FTM_SC_TOF_MASK; } uint32_t word = 0x5555; int main(void) { FTM_Init(); while (1) { for(int i = 0; i < 16; i++) { if (word & (1UL << i)) *(volatile __UINT32_TYPE__ *)0x4003A010 = TICKS_1; else *(volatile __UINT32_TYPE__ *)0x4003A010 = TICKS_0; /* ARM reload for next PWM cycle */ *(volatile __UINT32_TYPE__ *)0x4003A098 = 0x0021; /* WAIT ONE PWM PERIOD */ wait_ftm_period(); } } } Re: FTM CnV Update Problem しかし、そのレジスタの左から3番目のバイト、つまりMSBにLDOKがあり、右から2番目のバイトにはLDOKがないので、これが唯一の可能性ですよね? 0x0020=LDOK、0x0001=CH0SEL 私の観点からするとそれは正しいのではないでしょうか そして私の投稿に返信していただきありがとうございます🙇🏼‍♂️  そして、私のこの疑問も明らかにしてください。 Re: FTM CnV Update Problem CAN、PWMがどのように生成を開始するかの流れを説明してください。 Re: FTM CnV Update Problem こんにちは@Jana_muralidharan 、 ご投稿ありがとうございます。 FTMEN = 1 (すでに設定済み) の場合、FTM のメイン レジスタ (CnV、MOD、CNTIN などを含む) は書き込みバッファリングされ、実際のレジスタは同期/ロード イベント情報がトリガーされたときにのみ更新されます。それ以外の場合、新しい値はバッファに残り、チャネルは古い初期化された値を使い続けます。RMの説明をご覧ください: ロードを有効にするには、以下のコードを変更して LDOK=1 を設定してください。 /* ARM reload for next PWM cycle */ *(volatile __UINT32_TYPE__ *)0x4003A098 = 0x0201;//0x0200=LDOK, 0x0001=CH0SEL お役に立てれば幸いです。 BR セレステ ---------------------------------------------------------------------------------------------------------------------------- 注: この投稿が質問の答えである場合は、「解決策として承認」ボタンをクリックしてください。ありがとう! ---------------------------------------------------------------------------------------------------------------------------- Re: FTM CnV Update Problem いいえ、あなたの理解は間違っています。テストをしてみました。結果をご覧ください: 1) 正しい0x02 0 0=LDOK の場合: 2) 間違った0x0 0 2 0=LDOK: バイト順序とビット番号を混同しているようです。32 ビット レジスタの場合、ドキュメントではビットごとにフィールドを参照します (ビット 0 が最下位、ビット 31 が最上位)。LDOK = bit9 は、それがどのバイトにあるかとは関係ありません。 お役に立てれば幸いです。 BR セレステ   Re: FTM CnV Update Problem ご回答ありがとうございます。私はSOバカだと分かりました。どうもありがとうございます しかし、組み込みライブラリのマスクを使用しましたが、それでも同じ問題が発生します。とにかく、すぐに対応していただきありがとうございます。 Re: FTM CnV Update Problem この質問については、より深く理解するために当社のSDKデモのCANを参照してください。 ボードを選択 | MCUXpresso SDKs ビルダー BR セレステ
記事全体を表示
读取 i.MX7D PCIE 中的状态和命令寄存器时无响应 你好。 读取 i.MX7D PCIE 中的状态和命令寄存器时无响应。 我有以下设置: RDC_MRCn : (RDC_PDAO45) 0x000000FF PMU_REG_1P0Dn : 0x00021073 CCM_TARGET_ROOTn : PCIE_CTRL_CLK_ROOT : 0x12000000 PCIEPHY_CLK_ROOT : 0x11000000 CCM_CCGR96 : pcie : 0x00000003 SRC_PCIEPHY_RCR : 0x00000000 我还需要进行其他设置吗? 顺祝商祺! Re: No response when reading Status and Command Register in PCIE of i.MX7D 你好,志明。 我尝试更改 CCM 和 RCD 设置,但没有任何变化。 于是我用示波器检查了电压。 FUSE_FSOURCE 电压为 1.8v。 我将 PMU_REG_1P0D 设置为 0x210F3,但 PCIE_VPH 端子和其他端子仍为 0V。 原因可能是什么? 顺祝商祺! Re: No response when reading Status and Command Register in PCIE of i.MX7D 你好, ,请确保时钟不是门控时钟,并且已经生成。如果确认时钟正确,请检查 RDC 中的权限设置。 , Zhiming。 Re: No response when reading Status and Command Register in PCIE of i.MX7D 你好 志明 我昨天写的内容有误。 当 0x00031077 写入"PMU_REG_1P0Dn" 时,"VDD_1P0_CAP" 引脚输出 1.0V。 在参考手册的图 5-23 和 SABRE 板原理图的第 5 页中,我找不到任何关于如何设置 "VDDA_PHY_1P8" 开关的说明。因此,"VDDA_PHY_1P8" 仍为 0V。 请给我一些建议。 关于您的建议,"时钟不是门控的,而是已经生成的," 我无法用示波器确认这一点。 请给我一些建议。 顺祝商祺! Re: No response when reading Status and Command Register in PCIE of i.MX7D 你好@tamotsu 我知道你可能会提出一个裸机系统,但我想讨论一下 PCIe 对 Linux 的要求。 对于 PCIe 本身,需要正确的三个关键资源:时钟、电源、RESET。 1. 您需要确保这三个时钟生成和解除门控。 2。确保在 GPC 中打开 pcie 功率域。 完成这两个步骤后,至少可以读取寄存器。 3.参考 pcie 驱动程序执行正确的 RESET 时序:drivers/pci/controller/dwc/pci-imx6.c。 clocks = <&clks IMX7D_PCIE_CTRL_ROOT_CLK>, <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>, <&clks IMX7D_PCIE_PHY_ROOT_CLK>; clock-names = "pcie", "pcie_bus", "pcie_phy"; assigned-clocks = <&clks IMX7D_PCIE_CTRL_ROOT_SRC>, <&clks IMX7D_PCIE_PHY_ROOT_SRC>; assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_250M_CLK>, <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>; fsl,max-link-speed = <2>; power-domains = <&pgc_pcie_phy>; resets = <&src IMX7_RESET_PCIEPHY>, <&src IMX7_RESET_PCIE_CTRL_APPS_EN>, <&src IMX7_RESET_PCIE_CTRL_APPS_TURNOFF>; reset-names = "pciephy", "apps", "turnoff"; gpc: gpc@303a0000 { compatible = "fsl,imx7d-gpc"; reg = <0x303a0000 0x10000>; interrupt-controller; interrupts = ; #interrupt-cells = <3>; interrupt-parent = <&intc>; fsl,mf-mix-wakeup-irq = <0x54410000 0xc00 0x0 0x1040640>; pgc { #address-cells = <1>; #size-cells = <0>; pgc_mipi_phy: power-domain@0 { #power-domain-cells = <0>; reg = <0>; power-supply = <&reg_1p0d>; }; pgc_pcie_phy: power-domain@1 { #power-domain-cells = <0>; reg = <1>; power-supply = <&reg_1p0d>; }; pgc_hsic_phy: power-domain@2 { #power-domain-cells = <0>; reg = <2>; power-supply = <&reg_1p2>; }; }; }; 致敬, Zhiming Re: No response when reading Status and Command Register in PCIE of i.MX7D 您好 刘志明. 我正在在 u-boot 中调试 PCIE。 u-boot 读取设备树(fsl、imx6q-pcie)的内容并执行 imx_pciw_dm_probe ()。 函数 imx_pciw_dm_probe() 跳转到函数 imx_pcie_link_up()。 在该功能开始时,需要读取 PCIE"状态和命令寄存器 (0x33800004)" 。 这一过程没有任何回应。 即使使用您提供的设备树信息,结果也是一样的。 寄存器未反映设备树的内容。 因此,我设置了以下寄存器: PMU_REG_1P0D 0x00021079 SRC_PCIEPHY_RCR 0x00000000 CCM_TARGET_ROOT PCIE 0x12000000 CCM_TARGET_ROOT PHY 0x11000000 CCM_CCGR96 0x00000003 我没有更改以下寄存器。 PDC_PDAP45 0x000000FF PDC_MDA2 0x00000000 即使这样设置,当我在调试器中加载 0x33800000 时,也没有任何反应。 接下来,我认为"VDDA_PHY_1P8" 保持 0V 的原因与 GPC 有关。 我将"PGA CPU 映射(0x303a00ec)设置为 0x09。 我写了 0x01 到 " CPU GPC 软件开机触发信号 (0x303a00f0) " 但它仍然是 0x00。 另外,当我写 0x02 到 " PU GPC 软件开机触发信号 (0x303a00f8) " 时,动态随机存取存储器(DRAM)的内容发生了变化。 我还应该设置哪些寄存器? 顺祝商祺! Re: No response when reading Status and Command Register in PCIE of i.MX7D 你好@塔莫津 您可能想看看下面的补丁,了解一些其他想法。整体移植应基于软件框架,而不是直接修改寄存器。 看来 uboot 有 i.MX7D SRC 驱动程序。 https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/Add-i-MX8MPlus-pci-driver-in-uboot/ta-p/1753246 致敬, Zhiming Re: No response when reading Status and Command Register in PCIE of i.MX7D 你好,Zhiming_Liu。 关于你们为我提供的支持,我在 i.MX8 处理过程中遇到了问题,这是第一步。 我在参考手册中引用了 " 5.5.9.5 示例代码 4 "。 reg32_write (GPC_IPS_BASE_ADDR + 0xF8 , *** | 0x2 ); 运行此代码后,MPU 将变得毫无反应。 不过,使用 PCIE_PHY 以外的值不会有问题。 在运行 u-boot/drivers/pci/pcie_imx.c 之前,你能否告诉我要设置什么以及如何设置 @probe (structudevice *dev)? 顺祝商祺! Re: No response when reading Status and Command Register in PCIE of i.MX7D 你好@tamotsu PCIe 驱动程序由主线维护,而不是恩智浦,因此缺少一些代码是正常的。您可以参考 i.MX7D Linux PCIe 驱动程序,将其移植到 uboot 中。pci_imx.c 还引用了 Linux 内核驱动程序。 致敬, Zhiming Re: No response when reading Status and Command Register in PCIE of i.MX7D 你好,Zhiming_Liu。 IMX7DSABRE 有一个 Mini PCIE 端口。 我想知道为什么 u-boot 没有设置 IMX7DSABRE PCIE 时钟、电源等的源代码。 顺祝商祺! Re: No response when reading Status and Command Register in PCIE of i.MX7D 你好,Zhiming_Liu。 我理解你的建议。 我将再次阅读参考手册并重试。 顺祝商祺! Re: No response when reading Status and Command Register in PCIE of i.MX7D 你好,Zhiming_Liu。 我终于找到了它没有响应的原因。 我将 SABRE 电路的"SW2_1V8" 与"VDDA_1P8_01(引脚-V6)" 相同。 但我发现电感电阻值太大了。 当我设置 GPC_PU_PGC_SW_PUP_REG 时,"VDDA_1P8_01(V6)" 的电压在 2uSec 内下降了 0.2V。 因此,VDDA_PHY_1P8 只升至 0.35V。 当我短接这个电感时,VDDA_PHY_1P8 变成了 1.8V。 我以为即使输入电压下降一点 VDDA_PHY_1P8 也没问题,但我发现事实并非如此。 非常感谢你们的建议。 顺祝商祺! Re: No response when reading Status and Command Register in PCIE of i.MX7D 你好,Zhiming_Liu。 我终于找到了它没有响应的原因。 我将 SABRE 电路的"SW2_1V8" 至"VDDA_1P8_01(引脚-V6)" ,但发现电感电阻值太大。 当我设置 GPC_PU_PGC_SW_PUP_REG 时,"VDDA_1P8_01(V6)" 的电压在 2uSec 内下降了 0.2V。 因此,VDDA_PHY_1P8 只升至 0.35V。 当我短接这个电感时,VDDA_PHY_1P8 变成了 1.8V。 我以为即使输入电压下降一点 VDDA_PHY_1P8 也没问题,但我发现事实并非如此。 非常感谢你们的建议。 顺祝商祺!
記事全体を表示
[S32K324 Mcu] 启用 core_1 后出现 ITCM ECC 错误 大家好 启用 core_1 后,Autoever 报告 S32K324 ITCM ECC 错误。目前采用的是以下顺序。 1.仅在 IVT 中启用 CM7_0 2。CM7_0 RESET处理程序-> Mcu_Init-> mcu_initClock-> mcu_setMode-> 外设驱动程序初始化-> OS StartCore 3.在 Os_StartCore 中启用 CM7_1 启用 CM7_1 内核后不久,RESET 处理程序中出现了 ITCM ECC 错误。 CM7_1 RESET 处理程序中有 TCM 初始化例程,但是 ECC 错误是在执行该例程之前发生的。 虽然 CM7_1 在断点处停止,但 ERM 中的 CORR_ERR_CNT13 有所增加。 您能给我一些建议吗? 顺祝商祺! 雅各 优先权:紧急 RTD 资料来源直接客户 Re: [S32K324 Mcu] ITCM ECC error after enabling the core_1 你好@james-lee, 是的,这是 K3 上已知的错误。 我试图从硬件/引导加载程序团队找到根本原因: https://community.nxp.com/t5/HSE-FW-Support/TCM-ECC-errors-on-S32K3-devices/m-p/1987897 但目前还不清楚。 ITCM 和 DTCM 在进入 RESET 处理程序之前处于启用状态,对于某些错误,错误会在执行前几条指令(即使它们与 TCM 无关)后随机触发触发信号。 一种解决方法是将 TCM init 启动例程移到启动开始时,这在很多情况下都有效,但在某些 K3 衍生工具 100% 上却不行,即使在 TCM init 启动过程中,它也会随机出现。 第二种解决方法是忽略这些故障,直到它们被 eMcem_Init() 清除。 清除后,一旦启动时完全初始化 TCM,它们将不会再次触发信号。 因此,如果启动了更多内核,则每个内核的 TCM 可能会引发此错误,因此,如果您不想针对这些 TCM 故障触发信号,则只能在所有内核启动后调用 FCCU/DCM 故障配置 (emcem_init ())。 亲切的问候, Radoslav
記事全体を表示
デバッグ lpc1769 の問題 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このコンテンツは元々、mcabralによってLPCWareに投稿されました。投稿日時:2012年6月14日(木) 12:11:23 MST 皆さん、こんにちは!LPC769ボードについて助けが必要なのですが… 使えなくなってしまったのでプログラミングができません。デバッグにアクセスできなくなってしまいました。ISP、ベクターキャッチ、Flashmagicを使って制御を取り戻そうと試み、CRPがアクティブでないことも確認しましたが、どれもうまくいきません。コードかPCに何か問題があるのではないかと考え始めていますが、コード自体はとてもシンプルなものです。表示されるエラーメッセージは次のとおりです。 02: 接続に失敗しました: Ep(01)。ターゲットはデバッグ不可としてマークされています。 Emu(0): コネクテッド。以前のバージョン: なし。DpID: EDB6。情報: T1S6RGRIA いいえ!供給電圧に問題はありません:) 私の机の上に未使用のボードがいくつかあるので、どなたか助けていただけると大変助かります!:( Re: Problem with debug lpc1769 LPC1769 の問題のデバッグは、特に JTAG/SWD セットアップとクロック構成に関しては難しい場合があるため、あなたの質問は非常に共感できます。私も、小さな構成の詳細が何時間も混乱を引き起こし、体系的なチェックが本当に役立ったという同様の状況に直面したことがあります。ある意味では、ハードウェアの問題を追跡することは、データの正確性を確認することに似ています。これは、 Pinellas County Valuation がすべての詳細を慎重に検証する必要があるのと同じです。根本原因がすぐに特定できることを願っています。また、この問題を共有していただきありがとうございます。同じ MCU を使用している他の人にとって役立ちます。 Re: Problem with debug lpc1769 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このコンテンツは元々、mcabralによってLPCWareに投稿されました。2012年6月19日火曜日 06:35:17 MST 引用: ゼロ ISP に切り替えて「?」を受信すると、LPC は「同期済み」と応答します。 #1 ISP に切り替えると、P2.10 がプルダウンされ、リセットされます。 #2 FlashMagic は必要なことすべてを実行します (インターフェース: なし (ISP)) #3 3.3V UART を接続するには、GND、RxD、TxD が必要です。 SO、LPCXpresso1769 ボードを使用すると、これは非常に簡単に実行できます。そして、何度も述べたように、#1 から #3 で失敗することはほぼ不可能です。 唯一難しいのは、動作する UART-USB コンバータを使用することです。SO、すべての問題の約 99% は USB 接続の取得に関連しています。 USB 接続が機能していると確信している場合 (MCU を CRP していない場合)、深刻なハードウェアの問題が発生しています :eek: あなた自身のボードと LPCXpresso1769 でも同じ問題に直面しているかどうかはわかりませんが、いくつかの独自のボードを描画した後、LPC1768/69 を失ったことはありません。 欠陥のあるソフトウェアをテストした後でも :rolleyes: FlashMagic は常に LPC を再度消去できました 🙂 わかりました、Zeroさん、ありがとうございます!もう一度試してみますが、うまく動作するとは思えません。もしかしたら、スタティックマイクロコントローラが使えなくなるという問題に遭遇したのかもしれません… Re: Problem with debug lpc1769 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このコンテンツは元々、Ex-Zero によって LPCWare に投稿されました。2012 年 6 月 19 日火曜日 06:17:37 MST 引用: ...「?」を送信すると、マイクから応答が返されるはずです。これでいいんですか? ISP に切り替えて「?」を受信すると、LPC は「同期済み」と応答します。 #1 ISP に切り替えると、P2.10 がプルダウンされ、リセットされます。 #2 FlashMagic は必要なことすべてを実行します (インターフェース: なし (ISP)) #3 3.3V UART を接続するには、GND、RxD、TxD が必要です。 SO、LPCXpresso1769ボードを使えば、これは非常に簡単に行えます。そして、何度も述べたように、1から3までの手順で失敗することはほぼ不可能です。 唯一難しいのは、動作するUART-USBコンバータを使うことです。SO、問題の約99%はUSB接続の確立に関係しています。 USB 接続が機能していると確信している場合 (MCU を CRP していない場合)、深刻なハードウェアの問題が発生しています :eek: あなた自身のボードと LPCXpresso1769 でも同じ問題に直面しているかどうかはわかりませんが、いくつかの独自のボードを描画した後、LPC1768/69 を失ったことはありません。 欠陥のあるソフトウェアをテストした後でも :rolleyes: FlashMagic は常に LPC を再度消去できました 🙂 Re: Problem with debug lpc1769 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このコンテンツは元々、mcabralによってLPCWareに投稿されました。2012年6月19日火曜日 05:43:59 MST こんにちは!UARTのテストです。受信文字をエコーするプログラムを使って試しました。これで、「USB to SERIAL (prolific)」コンバータとマイクロコントローラ間の問題は排除できました。ISP経由のプログラミングに何か問題があれば教えてください。もし間違っていなければ、TX、RX、GNDだけを接続して「?」を送信すれば、マイクロコントローラから応答が返されるはずです。これで合っていますか? Re: Problem with debug lpc1769 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このコンテンツは元々、Ex-Zero によって LPCWare に投稿されました。日付: 2012年6月16日 (土) 02:21:48 MST 1769 を USB に接続する方法については、いくつかの Thread があります。 #15 of http://knowledgebase.nxp.com/showthread.php?t=1931 http://knowledgebase.nxp.com/showthread.php?t=2709 http://knowledgebase.nxp.com/showthread.php?t=3020 Re: Problem with debug lpc1769 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このコンテンツは元々 Rob65 によって LPCWare に投稿されました (2012 年 6 月 15 日金曜日 22:07:35 MST) 引用: mcabral UART0をテストしましたが、すべて正常に動作しました。しかし、マイクロコントローラからの応答が得られません。 応答がない場合、UART0 が動作していることをどうやって確認するのでしょうか? どのようなUART-USBブリッジをお持ちですか? 2つを接続すると、両方が同じ電圧レベルを使用していることがわかります。 ボード上で RS232 レベルを変換している場合を除き、DB9 コネクタを備えたブリッジではなく、3.3 V を供給する UART-USB ブリッジのみを使用する必要があります。 ロブ Re: Problem with debug lpc1769 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このコンテンツは元々、mcabralによってLPCWareに投稿されました。2012年6月15日金曜日 13:48:35 MST UART0をテストしましたが、すべて正常に動作しています。しかし、マイクロコントローラからの応答がありません。今回は新しいマイクロコントローラで試してみましたが、明らかにISPモードに入るための手順が間違っています。引き続き試してみますが、この件に関するドキュメントを読んだので、簡単に通信できるはずです。 私の理解では、「?」という文字を送信するだけで、マイクロコントローラからの応答を受信できるはずです...(ISPモードに入った後) Re: Problem with debug lpc1769 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このコンテンツは元々、Ex-Zero によって LPCWare に投稿されました。日付: 2012年6月15日 (金) 05:41:21 MST SO、UART0 経由でどの LPC1769 にも接続できなかったということですか? それはあなたのハードウェアのテストになります:) ハードウェアに他の何か (3.3V デバイス) を接続したことがありますか? ハードウェアは何ですか? またそれをどのように LPC1769 に接続しましたか? RxD/TxD をスコープしましたか? Re: Problem with debug lpc1769 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このコンテンツは元々、mcabralによってLPCWareに投稿されました。投稿日時:2012年6月15日(金)05:12:45 MST 引用: CRP を設定したことも、ボードをいくつか破壊したことも信じられません。そのため、UART ハードウェアと FlashMagic が動作していないと思います :eek: USB-UARTブリッジをテストしたところ、すべて正常に動作しています。2つをコネクテッドし、問題なくデータの送受信ができました。その後、FlashMagicを起動し、送信されたデータを確認してデバイスシグネチャを読み取りました。すべて正常に動作しているのですが、ボードが応答しません。:confused: Re: Problem with debug lpc1769 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このコンテンツは元々、Ex-Zero によって LPCWare に投稿されました。日付: 2012年6月14日(木) 14:25:14 MST UART -> PC ハードウェアと FlashMagic が動作していることを確認できない場合は、動作しない LPC1769 について議論しても無駄です 😞 1768/1769 ハードウェア (2009 年以降) で問題が発生したことは一度もありませんが、FlashMagic で解決できました 🙂 CRP を設定したことも、ボードをいくつか破壊したことも信じられません。そのため、UART ハードウェアと FlashMagic が動作していないと思います :eek: Re: Problem with debug lpc1769 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このコンテンツは元々、mcabralによってLPCWareに投稿されました。投稿日時:2012年6月14日(木) 14:10:09 MST ロブ、ゼロ: はい、P2.10をLowにしてからボードをリセットしました。その後FlashMagicを実行したのですが、何も機能しません!:( 一方、リセット後(ISP モード)にコマンド(例:「?」)を UART0 に送信しようとしましたが、デバイスからの応答がありません...:confused: Re: Problem with debug lpc1769 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このコンテンツは元々、Ex-Zero によって LPCWare に投稿されました。日付: 2012年6月14日(木) 13:29:02 MST FlashMagic をこれらのボードのいずれかに正常に接続したことがありますか? そうしないと、UART ハードウェアに障害があるかどうかわかりません :eek: P2.10 を低くしてリセット (または USB を再接続) すると、LPC は ISP モードになります。 引用: デバッグに影響する可能性のある設定はありません。 それは正しくありません。したがって、ISP に切り替えて FlashMagic を実行することが重要です 🙂 Re: Problem with debug lpc1769 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このコンテンツは元々 Rob65 によって LPCWare に投稿され、2012 年 6 月 14 日木曜日 13:24:36 MST に投稿されました。 ISP モードに入るために何をしましたか? P2.10を接地してからリセットするか、電源を投入しますか? ロブ Re: Problem with debug lpc1769 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このコンテンツは元々、mcabralによってLPCWareに投稿されました。投稿日時:2012年6月14日(木) 13:10:32 MST 引用: カスタムボードについて話しているのですか? はい、そしていいえ!:Dカスタムボードとlpcxpresso1769を使用しましたが、どちらも結果は同じでした。 引用: これは、ISP モードの FlashMagic が LPC を読み取っていないことを意味しますか? FlashMagicとRealTermを使ってみました。ISPモードに入る手順に従った後、「?」を送信しましたが、応答がありませんでした。FlashMagicでは署名デバイスの読み取りすらできませんでした。どちらのテストも正しいシーケンスで実行したはずですが… 引用: それがわからない場合は、ごみ箱を投稿してください... デバッグに影響するような設定はありません。CRPも有効化されていません! :confused: Re: Problem with debug lpc1769 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このコンテンツは元々、Ex-Zero によって LPCWare に投稿されました。日付: 2012年6月14日(木) 12:45:49 MST 引用: ...私のボード LPC769... カスタムボードについて話しているのですか? 引用: ...使用できなくなります... これは、ISP モードの FlashMagic が LPC を読み取っていないことを意味しますか? 引用: ...コードに何か問題があります... それがわからない場合は、ビンを投稿してください:)
記事全体を表示
サポートのリクエスト – 電源投入ピンのプルアップ後の出力短絡問題 こんにちは、ヨゼフさん。 私たちのデザインの 1 つに問題が発生しており、ご指導いただければ幸いです。 要件に従ってPOWER_ON ピンをプルアップしましたが、これを行った後、出力ピンが短絡しているように見える(または短絡しているかのように動作している) ことがわかりました。この動作の根本的な原因を理解することはできません。 以下の点についてご理解いただけますでしょうか。 POWER_ON ピンをプルアップした後に出力が短絡するのはなぜですか? このピンに必要な特定の構成手順またはハードウェア条件はありますか? 問題を特定するために推奨される診断またはチェックはありますか? 必要であれば、回路図スニペットまたは測定スクリーンショットを提供できます。 サポートをどうぞよろしくお願いいたします。 よろしくお願いいたします。 シヴァニ e. Re: Request for Support – Output Shorting Issue After Pulling Up Power-On Pin こんにちは@Shivani_Elavena 製品チームに適切にリダイレクトできるように、アプリケーションで使用している NXP 部品番号を共有してください。 事前に感謝いたします。 よろしくお願いいたします。 Re: Request for Support – Output Shorting Issue After Pulling Up Power-On Pin こんにちは、ヴェロニカさん。 再開まで今しばらくお待ちください。 このアプリケーションで使用している NXP 部品番号はPF5020です。 このお問い合わせを適切な製品チームに転送してください。 事前に感謝いたします。 よろしくお願いします、 シヴァニ e. Re: Request for Support – Output Shorting Issue After Pulling Up Power-On Pin こんにちは、シヴァニさん。 電圧レベルと部品の値を含む回路図を共有してください。問題は再現可能ですか?この問題はいくつのボードで発生していますか?PF5020 を新しい部品に交換した場合、動作は同じですか? 敬具、 ヨゼフ
記事全体を表示
ユーザー空間またはモジュールからimx6ullのGPTキャプチャにアクセスする こんにちは、 カスタム imx6 ボードで入力キャプチャ (センサ パルスのカウント) に GPT2 を使用できるかどうかを調べています。Linux リファレンス・マニュアルには、Linux が WFI モードに入るために GPT を使用するということが書かれていますが、GPT2 を使用しても問題ないという記述も見つかりました。 これをクリアするためのあらゆる支援をいただければ幸いです。可能であれば、また、どのように実行すればよいかを教えてください。 よろしくお願いします Re: Access GPT capture on imx6ull from user space or module こんにちは@malj この一連のパッチを参照することができます。これらは i.MX8MM をベースにしていますが、i.MX6ULL でもアプローチは同様です。 https://patchew.org/linux/[email protected]/[email protected]/ よろしくお願いします、 志明
記事全体を表示
s32k344のデータシートとリファレンスマニュアルにはレジスタレベルの詳細が記載されていない s32k344 データシートとリファレンス マニュアルには、s32 design studio 構成ツールでの構成に必要な Soc コンポーネントのレジスタ レベルの詳細が記載されていません。詳細はどこでCANを確認できますか。 Re: s32k344 datasheet and Reference manual misses register level details こんにちは、 何が欠けているか完全にはわかりません。リファレンス マニュアル ( https://www.nxp.com/webapp/Download?colCode=S32K3XXRM ) には、各ペリフェラルのレジスタ レベルの詳細がすべて含まれています。デバイスのメモリ マップ (Excel ファイルとして添付)、個々の章のペリフェラルの説明、およびそのレジスタ定義 (アドレス オフセット、ビット フィールド、リセット値、アクセス タイプ) について説明します。 BR、ペトル
記事全体を表示