Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
I2C経由でP3T1750DPZにアクセスする際に特別な注意が必要ですか? Hello,  念のため、I2CターゲットとしてI2C経由でP3T1750DPZにアクセスすると、 このパーツをI2Cモードにするには特別な注意が必要ですか? (ピンのストラップ、レジスタのプログラミング) 図3から、特別な配慮は必要ないと思います。 この部品は、次の場合に一般的なI2CターゲットデバイスとしてI2Cコントローラーに応答する必要があります I2Cコントローラーは、開始条件でP3T1750DPZにアクセスします。 よろしくお願いします。 道上 典弘 アヴネット Re:I2C経由でP3T1750DPZにアクセスするときに特別な注意が必要ですか? おっしゃる通りです。 ありがとうございます!
View full article
AD9833 LPSPI 总线配置与 S32k358 Hello, 我正在使用 AD9833 芯片,利用来自我的 S32k358 微控制器中配置的 SPI 总线的数据生成 100kHz 正弦波。我已经使用 LPSPI RTD 驱动程序设置了 SPI 总线。我已经定义了一个函数,将 FSYNC 引脚设置为低电平,推送数据,然后将 FSYNC 引脚设置回高电平。我已附上我的LPSPI配置 根据配置,我可以得到 SPI 波形,但仍然 DAC 的控制寄存器尚未设置。 根据数据表和应用说明 AN-1070,以下是我将等效数据处理到 DAC 中的代码: DAC_data_send(0x2100); //重置开启 data = 1073742;//来自SPI2 MOSI的100000Hz等效16位数据 uint16 MSB = (uint16)((data & 0xFFFC000) >> 14); //提取MSB并设置FREQREG0的控制位 uint16 LSB = (uint16)(data & 0x3FFF); //提取 LSB 并设置 FREQREG0 的控制位 LSB |= 0x4000; // FREQREG0 的 LSB 控制位,0x8000; // FREQ1 的 LSB 控制位 MSB |= 0x4000; // FREQREG0 的 MSB 控制位,0x8000; // FREQ1 的 MSB 控制位 DAC_data_send(LSB); //将 14 位 LSB 写入频率寄存器 0 DAC_data_send(MSB); //将14位MSB写入频率寄存器0 DAC_data_send(0xC000); //设置相位寄存器0中的相位调整 DAC_data_send(0x2000); // 重置关闭*/ 1073742 的计算结果为 - (100000*2^28)/(25*10^6)。我按照数据表中的公式计算的。我不知道哪里出错了,谁能指点一下? 回复:使用S32k358的AD9833 LPSPI总线配置 正如S32 配置工具针对SpiTimeClk2Cs和SpiTimeCs2Clk所示:此参数允许使用从30 ns 到0.01 s 的值范围。因此您不能将SPItimeCs2Clk设置为20 ns。 我不明白为什么必须将SPItimeCs2Clk ( t8 ) 设置为20 ns。据我所知,当 LPSPI2 以10 MHz 运行时, SCLK 周期( t4 )等于100 ns。所以t8 最大值=t4-5=100-5= 95 ns。您只需将SPItimeCs2Clk ( t8 ) 设置在 t8 最小值和最大值之间,即 10ns 到 95ns 之间。 我只是将SpiTimeClk2Cs和SpiTimeCs2Clk设置为30 ns,即0.00000003 。 AD9833 不是 NXP 的产品,移植AD9833 - 微控制器无操作系统驱动程序超出了我们的在线技术支持范围。 由于您不使用MISO引脚,建议启用SpiHalfDuplexModeSupport并使用Lpspi_Ip_SyncTransmitHalfDuplex而不是Lpspi_Ip_SyncTransmit 。 我修改了Lpspi_Ip_HalfDuplexTransfer_S32K358 _RTD400HF02 以发送来自AN-1070示例的命令初始化序列“0x2100 0x50C7 0x4000 0xC000 0x2000”。关于 AN-1070 的控制,我建议您也联系www.analog.com的技术支持。 回复:使用S32k358的AD9833 LPSPI总线配置 是的,我知道 FreqReg 是使用 MCLK 计算的,并且 LPSPI2 的最大波特率为 10Mhz。 我说的是AD9833的工作频率和LPSPI2总线的串行时钟。我尝试将 LPSPI2 总线的频率设置为低于 40Mhz(20Mhz),但我无法将 SPItimeCs2Clk 时间设置在 20ns 以内。我尝试发送的数据没有设置 FreqReg。 我想知道时钟配置必须是什么样的。你能清楚地告诉我吗因为我的时间很紧!! 回复:使用S32k358的AD9833 LPSPI总线配置 The serial clock can have a frequency of 40 MHz maximum. AD9833 数据表中提到的最大频率并不意味着您必须使用 40MHz SPI 时钟进行通信。您还可以使用较低的 SPI 时钟频率。 请注意: For S32K314, S32K322, S32K324, S32K328, S32K338, S32K341, S32K342, S32K344, S32K348, S32K358, S32K388,S32K396: The maximum baudrate for LPSPI0 is 20MHz, for LPSPI1-LPSPI5 is 10MHz, for FLEXIO is 10MHz. 此外, FreqReg是使用MCLK而不是SLCK计算的。 回复:使用S32k358的AD9833 LPSPI总线配置 谢谢您的回复。我将按照您所指出的更改 DAC_STACK 大小和 tx 缓冲区分配。 根据 AD9833 数据表,工作频率必须高达 40Mhz,您的 LPSPI 总线频率是多少,您的 SpiTimeClk2Cs 和 SpiTimeCs2Clk 时间是多少。 您的 SpiTimeCs2Clk 是否在 20ns 以内? 你能提供你的修改后的项目吗 回复:使用S32k358的AD9833 LPSPI总线配置 以下是我调试完你附件项目中的AD9833_TX_SPI(SPI_ONLY_M7_0_0)后的SPI波形: 由于我的S32K358 mini板载了16MHz的晶振,所以我修改了时钟部分,同时还增加了SpiTimeClk2Cs和SpiTimeCs2Clk的值。 根据逻辑分析仪上的SPI数据,我发现了两个问题: 1. 每次都会额外发送 0x0000。为什么要#define DAC_STACK( 4 U)?难道不应该是2 U 吗? 2.您调用了 AD9833_TX_SPI(0x2100); 但发送了 0x0021。看起来你把高8位和低8位颠倒了。请修改TxMasterBufferAD3988[0]和TxMasterBufferAD3988[1]的分配。 回复:使用S32k358的AD9833 LPSPI总线配置 我已附加基于无操作系统驱动程序的新代码。 回复:使用S32k358的AD9833 LPSPI总线配置 由于 AD9833 不是 NXP 的产品,我不确定是否是因为您没有按照AN-1070的命令序列说明部分发送这些 SPI 数据。我检查了ad9833_init ( https://github.com/analogdevicesinc/no-OS/blob/main/drivers/frequency/ad9833/ad9833.c#L128 ),似乎您应该按照 AN-1070 发送 SPI 数据。 建议发送这些SPI数据:0x2100 0x50C7 0x4000 0xC000 0x2000 回复:使用S32k358的AD9833 LPSPI总线配置 那么 SPI 总线时间和时钟配置必须是什么。我已确保为我的 SCLK 选择 40MHz 时钟(如数据表中所述)。 根据数据表中的时间特性,FSYNC 到 SCLK 保持时间(t8)表示我可以设置的最大值为 20ns。使用 40MHz 设置时我无法设置该值,我可以设置的最小值是 30ns。 当我在“SPITimeCS2CLK”属性中输入 20E-9 时,会出现一个值不兼容的错误,并以红色突出显示。当我将 SPIbus 的 SCLK 设置为 20Mhz 和 60MHz 时,我尝试了相同的配置,但仍然得到相同的输出 回复:使用S32k358的AD9833 LPSPI总线配置 由于S32K3X8EVB-Q289板上PTB3默认连接到J63 pin8(GMAC_RGMII_TXD3_PTB3),所以我不方便在S32K3X8EVB-Q289上对其进行测试。 今天我找到了另一个 S32K358 迷你板来测试您的项目。以下是逻辑分析仪捕获的SPI数据。感觉这个数据有点奇怪,SPI发送数据的时间间隔太短了。我不知道您的应用程序是否真的需要如此频繁地修改AD9833的输出。 回复:使用S32k358的AD9833 LPSPI总线配置 我参考了 AN1070 应用程序,并按照文章中解释的步骤进行操作。我没有得到正确的输出。 我的逻辑分析仪工作不正常,我正在使用常用的探头。我能够解码 SPI sout、PCS0 和 SCLK,但是当我测量 AD9833 Vout 引脚的输出频率时,它会不断改变接近我设定频率的几个值,以及远高于设定值的一两个频率。 当我看到使用不同的平台板对相同的 AD9833 芯片进行编程的例子时,波形的频率恰好等于设置的频率。 我还研究了特定于该芯片的 No-OS 驱动程序代码,并定义了与源代码中的定义类似的函数。无论哪里有 no_spi 和 no_gpio 的语句,我都用 Lpspi 和 Siul2_gpio 函数替换它们。 我已经对它们进行了测试并且得到了类似的输出。我仍不知道我在这里错过了什么。 回复:使用S32k358的AD9833 LPSPI总线配置 您是说,除了接收 FREQREG 寄存器之外,AD9833 可以执行所有 SPI 命令吗? 由于您指的是AN-1070:对 AD9833/AD9834 进行编程,您是否考虑过使用相同的 SPI 命令序列并仅修改频率部分?同时用逻辑分析仪抓取SPI波形,确保与AN-1070一致? 回复:使用S32k358的AD9833 LPSPI总线配置 我已经尝试过了,但我想使用 LPSPI 总线配置进行数据传输。我已经验证我的数据正在通过 SPI 总线传输,但是当我按照 No-OS 驱动程序中定义的顺序发送数据时,我能够获得具有额定输出电压的正弦波,但无法控制频率。AD9833芯片的vout电压频率等于SPI SCLK而不是FREQREG中设置的频率。请告诉我哪里出错了。 苏米克 回复:使用S32k358的AD9833 LPSPI总线配置 您是否参考过AD9833 - 微控制器无操作系统驱动程序? https://github.com/analogdevicesinc/no-OS/blob/main/drivers/frequency/ad9833/ad9833.c https://github.com/analogdevicesinc/no-OS/blob/main/drivers/frequency/ad9833/ad9833.h 请使用逻辑分析仪检查发送给AD9833的SPI是否正确。 回复:使用S32k358的AD9833 LPSPI总线配置 是的,我已经将 AD9833 chp 的 FSYNC 引脚连接到 LPSPI-PCS0 引脚。我在 AD9833 引脚上获得了 SPI sout、串行时钟和芯片选择。 即使进行了您在图像中突出显示的更改之后,我仍然没有从 AD9833 VOUT 引脚获得输出。我尝试过不同的 FREQREG 值 回复:使用S32k358的AD9833 LPSPI总线配置 Hi 由于AD9833不是NXP的产品,所以我对它了解不多。我看了它的手册,发现下面突出显示的部分需要修改。 您是否将FSYNC连接到PCS0?根据我的理解,FSYNC引脚应该是SPI的片选引脚。 请使用逻辑分析仪捕捉SPI通信波形。如果你之前使用过AD9833并且熟悉它的控制,建议观察SPI波形检查是否正确。 此致, 罗宾 -------------------------------------------------------------------------------- 笔记: - 如果这篇文章回答了您的问题,请点击“标记正确”按钮。谢谢你! - 我们会关注上次发帖后七周的帖子,之后的回复将被忽略 如果您稍后有相关问题,请打开一个新线程并参考已关闭的线程。 --------------------------------------------------------------------------------
View full article
MCU Secure Offline Programmer (MCUSOPUG) のソースと回路図 Hello,  https://www.nxp.com/webapp/Download?colCode=MCUSOPUG で参照されているSPGRプロジェクト(回路図とソースコード)がダウンロード可能かどうか知りたいです。 ありがとうございます パブロ 回复: MCU Secure Offline Programmer (MCUSOPUG) のソースと回路図 Hi @etronic_arg , NXP MIMXRTシリーズにご興味をお寄せいただきありがとうございます。 あなたが言及したボードはNXPが提供するリファレンスデザインであり、現在、エンジニアリングとハードウェアおよびソフトウェアのために顧客にのみ提供されており、顧客に直接供給できるボードはありません。具体的な詳細については、こちらを参照してください https://community.nxp.com/t5/i-MX-RT/Secure-Offline-Programmer-SPGR/td-p/1787107 対応するANとANSWにはソフトウェアと回路図がありますが、現在の内部アップグレードにより、ダウンロードチャネルが閉じられていますので、以前の回路図をメールでお送りしますので、領収書を確認してください。対応するANコードは AN14007されており、オンラインサポートチームに連絡してNDAに署名する必要があります。 良い一日をお過ごしください! よろしくお願いいたします ギャビン
View full article
SDK が表示されない S32DS V4をインストールし、 マニュアルに従って必要なSWをインストールし、 プロジェクトの作成中に SDK が認識できない 以下のドキュメントの手順に従ってください。  #nxp S32G2  Re:SDKが表示されません Hi, この問題は、以下に示すコミュニティスレッドと同じようです。 S32G3ボード、FSLイメージが見つからない、SDカードで利用できません - NXP Community 情報は、上記のコミュニティスレッドで提供されています。 お知らせください。 Re:SDKが表示されません HI @Daniel-Aguirre , 私が直面している問題は2つあります。 Micor USBケーブルをPCとJ4コネクタに接続しました。USBが検出されません。 2)ビルドが不完全である Re:SDKが表示されません Hi, ご意見ありがとうございました。 どのRTDパッケージをインストールしたかを教えていただけますか?セットアップで利用可能な例を確認できますか?前のウィンドウで選択したGCCバージョンはどれですか? お知らせください。 Re:SDKが表示されません こんにちは@Daniel-アギーレ 私も同じことを試みましたが、うまくいきませんでした。Plsは、他の詳細が必要な場合は私に知らせてください。 Re:SDKが表示されません Hi, どのRTDパッケージをインストールしたかを教えていただけますか?セットアップで利用可能な例を確認できますか?前のウィンドウで選択したGCCバージョンはどれですか?これに関して、次の HOWTO もお勧めします。 HOWTO:S32 RTD No AUTOSARを使用してS32Gの点滅LEDアプリケーションプロジェクトを作成 - NXP Community お知らせください。
View full article
在 uboot 中启用 IMX8MP LVDS 面板 我们目前正在为IMX8MP板在L5.15.52中启用LVDS显示器。我们遵循了NXP社区网站上的指南( https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/Add-i-MX8MP-LVDS-driver-in-uboot/ta-p/14… ),但我们使用的是LVDS面板,而不是LVDS转HDMI桥接器。因此,我们对U-Boot设备树文件进行了一些修改,并将面板添加为简单面板。 驱动程序运行并在 uboot 中打印以下内容: [*]-视频链接 0 (1280 x 800) [0] LCD 控制器@32e90000,视频 [1] LVDS 通道@0,显示 [2] LVDS 面板,面板 问题是LVDS端口没有数据,我的意思是LVDS通道0上有4条数据线和1条clk线,clk有74M,数据0和数据1保持高位,数据2和数据3有一些数据(我用示波器测量了结果)。我附上了一张图片来证明这一点)。 我可以确认硬件没有问题,因为内核可以正常显示 LVDS 。 您能帮忙检查一下发生了什么吗? 我使用 simple-panel 作为面板驱动,以及以下 dts : 背光:背光{ 兼容=“pwm背光”; pwms = <&pwm1 0 50000>; /* 周期 = 5000000 ns => f = 200 Hz */ 亮度级别 = <0 100>; 插值步数 = <100>; 默认亮度级别 = <100>; 状态 = “好的”; }; lvds_panel:lvds面板{ 兼容=“简单面板”; 背光 = <&backlight>; 显示时间 { 本机模式 = <&timing0>; 计时0:计时0{ 时钟频率=<71100000>; 活性=<1280>; 虚激活 = <800>; h后廊=<40>; hfront-porch = <40>; v后廊=<3>; v前廊=<10>; 水平同步长度 = <80>; 垂直同步长度 = <10>; }; }; 港口 { panel_lvds_in:端点{ 远程端点 = <&lvds_out>; }; }; }; &lcdif2 { 状态 = “好的”; }; &ldb_phy { 状态 = “好的”; }; &ldb { 状态 = “好的”; lvds通道@0 { fsl,数据映射=“spwg”; fsl,数据宽度=<24>; 状态 = “好的”; 端口@1 { 注册=<1>; lvds_out:端点{ 远程端点=<&panel_lvds_in>; }; }; }; }; i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano 回复:在 uboot 中启用 IMX8MP LVDS 面板 你好,我也遇到过和你类似的问题。请问一下你把logo.bmp文件放在uboot的什么位置了? 回复:在 uboot 中启用 IMX8MP LVDS 面板 它起作用了,我忘记在 uboot 中放一张图片/徽标了。 回复:在 uboot 中启用 IMX8MP LVDS 面板 你好@leavs 这是关于 simple_panel.c 的演示补丁,我只是在代码中设置了时间,而不是 dts。您可以测试它并添加代码以读取设备树中的时间。 diff --git a/drivers/video/simple_panel.c b/drivers/video/simple_panel.c index f9281d5e83..692c96dcaa 100644 --- a/drivers/video/simple_panel.c +++ b/drivers/video/simple_panel.c @@ -18,12 +18,27 @@ struct simple_panel_priv { struct gpio_desc enable; }; +/* define your panel timing here and + * copy it in simple_panel_get_display_timing */ +static const struct display_timing boe_ev121wxm_n10_1850_timing = { + .pixelclock.typ = 71143000, + .hactive.typ = 1280, + .hfront_porch.typ = 32, + .hback_porch.typ = 80, + .hsync_len.typ = 48, + .vactive.typ = 800, + .vfront_porch.typ = 6, + .vback_porch.typ = 14, + .vsync_len.typ = 3, +}; + @@ -100,10 +121,18 @@ static int simple_panel_probe(struct udevice *dev) return 0; } +static int simple_panel_get_display_timing(struct udevice *dev, + struct display_timing *timings) +{ + memcpy(timings, &boe_ev121wxm_n10_1850_timing, sizeof(*timings)); + + return 0; +} static const struct panel_ops simple_panel_ops = { .enable_backlight = simple_panel_enable_backlight, .set_backlight = simple_panel_set_backlight, + .get_display_timing = simple_panel_get_display_timing, }; static const struct udevice_id simple_panel_ids[] = { @@ -115,6 +144,7 @@ static const struct udevice_id simple_panel_ids[] = { { .compatible = "lg,lb070wv8" }, { .compatible = "sharp,lq123p1jx31" }, { .compatible = "boe,nv101wxmn51" }, + { .compatible = "boe,ev121wxm-n10-1850" }, { } }; 回复:在 uboot 中启用 IMX8MP LVDS 面板 嗨@Zhiming_Liu 我添加了新的 PLL 表,结果是一样的。 我检查了代码细节,发现 arch/arm/mach-imx/imx8m/clock_imx8mm.c 中的 clock_init() 函数没有运行,并且函数 enable_display_clk() 也没有运行,因为我在 arch/arm/mach-imx/imx8m/clock_imx8mm.c 中添加了一些调试日志。 我不知道为什么这个 clock_init() 没有在这个 BSP 中被调用。 您对此有何看法? 回复:在 uboot 中启用 IMX8MP LVDS 面板 你好@leavs 请尝试以下 PLL 设置。 /* 将视频 PLL 设置为 995.4Mhz 用于 LVDS,p = 15,m = 622,k = 8192,s = 0 */
View full article
MPC5777C MCAN が保留中の TX バッファ要求でスタックしました Hello, 私がやろうとしていることは、カスタムボードでM_CANインターフェースを使用することです。私はこのフォーラムから入手可能な例の1つからのソースコードスニペットを使用するのに疲れました: https://community.nxp.com/t5/MPC5xxx-Knowledge-Base/Example-MPC5777C-MCAN-simpleTXRX-GHS616/ta-p/1109280 私はM_CAN0の代わりにM_CAN1を使用してメッセージを送信しているだけで、受信者は単なるKvaserインターフェースです。ピン 195 と 196 を代替機能 (0x3) として構成し、それらをインターフェイスとして使用しM_CAN1。外部発振器はインターフェースクロックとして使用されます。 私が直面している問題は、専用バッファからメッセージを送信しようとすると、バッファ0のビットがTXBRPに設定されていることがわかりますが、メッセージは送信されず、TXピンの状態も変化せず、常に高いままです。RAM がフレーム データで更新されるというメッセージが表示され、TEST レジスタを使用すると TX ピンの状態を設定およびリセットできることもテストしました。レジスタにエラーが見当たらない(添付の画面を参照)。 インターフェースがメッセージを送信しない理由について何か考えはありますか?さらに情報が必要な場合は、遠慮なくお問い合わせください。 よろしくお願いいたします 日時: MPC5777C MCAN が保留中の TX バッファー要求でスタックしている Hello, はい、ソフトウェアにバグがあり、IMUXレジスタが間違った値で上書きされ、RXピンの入力が正しく選択されM_CAN1ようです。 助けていただきありがとうございます。 よろしくお願いいたします 日時: MPC5777C MCAN が保留中の TX バッファー要求でスタックしている Hi, レジスタ値からの別のヒント。init モードを終了した後も PSR[ACT] は 0 のままで、モジュールがバスに同期していないため、送信を開始できないことを示しています。ピン構成が間違っているか、RXピンが低く表示されていることが原因である可能性があります。トランシーバーを切断して、TX / RXピンを一緒に接続してみてください。 使用しているピンを選択するために、それぞれのIMUXレジスタも設定しましたか? 3N45Hの例については、 以下を参照してください https://community.nxp.com/docs/DOC-342013  BR, Petr 日時: MPC5777C MCAN が保留中の TX バッファー要求でスタックしている Hello, 3N45Hです。 よろしくお願いいたします 日時: MPC5777C MCAN が保留中の TX バッファー要求でスタックしている Hi, レジスタ ビューから ACK エラーが検出されますが、この場合はエラー カウンタも設定されており、TX 信号が表示されるはずです。 MCUマスクセットとは 実際には、2N45Hと3N45Hの間にはほとんど違いはありません。 BR, Petr
View full article
LX2160 ARDBのYOCTOビルド こんにちはチーム、 最近、YOCTO lx2160 ARDBビルドで以下のエラーが発生しています 1.リポジトリ init -u https://github.com/nxp-qoriq/yocto-sdk.git-b カークストーン -m ls-5.15.71-2.2.0_distro.xml 2.リポジトリ同期 source distro-setup-env -m  lx2160ardb-rev2 ビットベイクLS-イメージ-メイン パスが存在しないと思う更新を手伝ってくれませんか。 エラー:management-complex-10.35.0-r0 do_fetch:フェッチャーの失敗:フェッチコマンドエクスポートPSEUDO_DISABLED = 1;エクスポート DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/618713977/bus";export PATH="/YOCTO_lx2160/build_lx2160ardb-rev2/tmp/sysroots-uninative/x86_64-linux/usr/bin:/YOCTO_lx2160/build_lx2160ardb-rev2/tmp/work/lx2160ardb_rev2-fsl-linux/management-complex/10.35.0-r0/recipe-sysroot-native/usr/bin/tar-native:/YOCTO_lx2160/sources/poky/scripts:/YOCTO_lx2160/build_lx2160ardb-rev2/tmp/work/lx2160ardb_rev2-fsl-linux/management-complex/10.35.0-r0/recipe-sysroot-native/usr/bin/aarch64-fsl-linux:/YOCTO_lx2160/build_lx2160ardb-rev2/tmp/work/lx2160ardb_rev2-fsl-linux/management-complex/10.35.0-r0/recipe-sysroot/usr/bin/crossscripts:/YOCTO_lx2160/build_lx2160ardb-rev2/tmp/work/lx2160ardb_rev2-fsl-linux/management-complex/10.35.0-r0/recipe-sysroot-native/usr/sbin:/YOCTO_lx2160/build_lx2160ardb-rev2/tmp/work/lx2160ardb_rev2-fsl-linux/management-complex/10.35.0-r0/recipe-sysroot-native/usr/bin:/YOCTO_lx2160/build_lx2160ardb-rev2/tmp/work/lx2160ardb_rev2-fsl-linux/management-complex/10.35.0-r0/recipe-sysroot-native/sbin:/YOCTO_lx2160/build_lx2160ardb-rev2/tmp/work/lx2160ardb_rev2-fsl-linux/management-complex/10.35.0-r0/recipe-sysroot-native/bin:/YOCTO_lx2160/sources/poky/bitbake/bin:/YOCTO_lx2160/build_lx2160ardb-rev2/tmp/hosttools";export HOME="/home/ryathnah";LANG=C git -c core.fsyncobjectfiles=0-c gc.autoDetach=false -c core.pager=catclone --bare --mirror https://github.com/nxp-qoriq/qoriq-mc-binary/YOCTO_lx2160/downloads/git2/github.com.nxp-qoriq.qoriq-mc-binary--progress が終了コード 128 で失敗し、出力なし エラー:management-complex-10.35.0-r0 do_fetch:Bitbake Fetcherエラー:FetchError('どのソースからもURLを取得できません。'git://github.com/nxp-qoriq/qoriq-mc-binary;protocol=https;nobranch=1') エラー:障害のログファイルが/YOCTO_lx2160/build_lx2160ardb-rev2/tmp/work/lx2160ardb_rev2-fsl-linux/management-complex/10.35.0-r0/temp/log.do_fetch.3000871に保存されています エラー:タスク(/YOCTO_lx2160/sources/meta-qoriq/recipes-dpaa2/management-complex/management-complex_10.35.0.bb:do_fetch)が終了コード「1」で失敗しました ありがとうございます。 ランガ 日時:LX2160 ARDBのYOCTOビルド 皆さん、こんにちは。 同じことを解決できる: LIC_FILES_CHKSUM = "file://NXP-Binary-EULA.txt;md5=481d6288552113961a835bbabceb0c33" MCのbbファイルのmd5sumを修正しました。 ありがとうございます R 日時:LX2160 ARDBのYOCTOビルド こんにちはチーム、 変更後に以下のエラーに直面します。 エラー:management-complex-10.35.0-r0 do_populate_lic:QA問題:management-complex:LIC_FILES_CHKSUMが file://NXP-Binary-EULA.txt と一致しません。md5=1db1363924ceccb1edea921b6495bdc2 management-complex: 新しい md5 チェックサムは 481d6288552113961a835bbabceb0c33 です。 management-complex: 選択したライセンステキストは次のとおりです。 vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv 著作権© 2017-2020 NXPの壁紙全著作権所有。 ソフトウェアライセンス契約(以下「本契約」といいます) 付随するバイナリソフトウェアの使用、複製、または配布 ライセンシーは、本契約の条件に同意したことになります。 ライセンスソフトウェア。「バイナリソフトウェア」とは、以下で指定されているバイナリ形式のソフトウェアを意味します。 付録A 本契約の条件に従い、NXP USA, Inc. (「NXP」)は、ライセンシーに世界的、非独占的、ロイヤリティフリーのライセンスを付与します ... 合意。   別紙A バイナリソフトウェア 本契約では、バイナリ形式のソフトウェアのみを提供できます 本契約の対象となるソフトウェアの一覧は次のとおりです。 MCバイナリファームウェア ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ management-complex: /YOCTO_lx2160/build_lx2160ardb-rev2/tmp/work/lx2160ardb_rev2-fsl-linux/management-complex/10.35.0-r0/git/NXP-Binary-EULA.txt でライセンス情報が変更されているかどうかを確認します [license-checksum] エラー: management-complex-10.35.0-r0 do_populate_lic: 致命的な QA エラーが見つかりました。タスクは失敗しました。 エラー:障害のログファイルが/ YOCTO_lx2160 / build_lx2160ardb-rev2 / tmp / work / lx2160ardb_rev2-fsl-linux / management-complex / 10.35.0-r0 / temp / log.do_populate_lic.2737681に保存されている エラー:タスク(/YOCTO_lx2160/sources/meta-qoriq/recipes-dpaa2/management-complex/management-complex_10.35.0.bb:do_populate_lic)が終了コード「1」で失敗しました 注: タスクの概要: 4362 個のタスクを試行しましたが、そのうち 4331 は再実行する必要がなく、1 個が失敗しました。 日時:LX2160 ARDBのYOCTOビルド レシピのsources/meta-qoriq/recipes-dpaa2/management-complex/management-complex_10.35.0.bbを以下のように変更してください。 SRCREV = "836d7bf606b51c18b5e3726d68dcf3b3ac4de74a" 次のように変更します。 SRCREV = "73d323d2538d7fe7ae93d88c2c5c4489f5891fcb"
View full article
並列NORフラッシュ(ADMUX)インターフェースでのADV#ピンの使用 Hello, パラレルNORフラッシュ(256KB*16)をIMXRT1062と接続したいのですが、このプロセッサのアドレスとデータバスのポートピンは同じです。それで、私はADV#を見つけました。このADV#ピンの用途は何ですか? SRAMのこのノートを見つけました。NORフラッシュも同じですか? ADV# ピン は、ADV# 入力を Low にアサートすることにより、アドレス パス (ADQ=Address Buffer) を有効にします。ADV# が High の場合、データ パスは有効になります (ADQ=I/O バッファー)。 Re:パラレルNORフラッシュ(ADMUX)インターフェースでのADV#ピンの使用 わかりました。ありがとう Re:パラレルNORフラッシュ(ADMUX)インターフェースでのADV#ピンの使用 SEMC 側から見ると、データ ピンとアドレス ピンは MUX モードになるため、NOR フラッシュ専用のアドレス/データ ピンを持つことはできません。通信は次のようになります。 これらの信号を分離するために外部コンポーネントを使用することについて。それは実行可能に見えますが、それは私たちの側でテストされていないので、それがあなたの適切な解決策であるかどうかは確認できません。 よろしくお願いいたします オマル Re:パラレルNORフラッシュ(ADMUX)インターフェースでのADV#ピンの使用 私に返信してください! Re:パラレルNORフラッシュ(ADMUX)インターフェースでのADV#ピンの使用 わかりました、助けてくれてありがとう。 もう一つ教えてください。 アドレス バスとデータ バスを分離するためのパラレル NOR フラッシュをどのようにインターフェースできますか?直接インターフェースできますか? imxrt1062 の同じ端子を NOR フラッシュ アドレスとデータ ピンで接続すると、コマンドはパラレル NOR フラッシュの両方のバスで転送されます。 画像を1枚添付しました。 imxrt1062とフラッシュチップの間に74LVC164245 ICを2つ追加することを考えています。アドレス/データ転送をフラッシュチップに分離できるようにしました。   Re:パラレルNORフラッシュ(ADMUX)インターフェースでのADV#ピンの使用 はい、ADV on nor フラッシュの使用は SRAM と似ています。 よろしくお願いいたします オマル
View full article
How to add iMX8QXP PAD (GPIO) Wakeup <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> [Chinese translation] See attachment   Original link: https://community.nxp.com/docs/DOC-345322 i.MX 8 Family | i.MX 8QuadMax (8QM) | 8QuadPlus
View full article
PowerPC上の1つの関数の実行時間を測定 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi,  一部の PowerPC コアには、コードの実行時間を測定するための定規となるタイム ベースが含まれています。 一般に、e200z4、e200z7にはRBLとTBUなどのレジスタがあります。SPR284とSPR285です。 サンプルコードは 、AN2865SW(Timebase project)内で参照できます。  測定をお楽しみください! 乾杯! オリバー ところで、 S32Kの1つの関数の実行時間を測定する ことも、リンクを通じて取得できます。
View full article
i.MX8M Mini nvme読み取り性能 Hi, nvmeをテストするために i.MX 8Mミニ評価キットでfioを実行しました。PCIe は Gen2 x1 です。以下に示すように、書き込み帯域幅は400MB/sに達することができますが、読み取り帯域幅はわずか260MB/sであることがわかりました。同じnvmeを他のプラットフォームでテストしました。書き込みと読み取りの両方が 400MB/s に達することができます。i.MX 8M Miniでのnvme読み取りの制約が何であるか知りたいですか? ./fio -ioengine=libaio -bs=64k -direct=1 -thread -rw=read -filename=/dev/nvme0n1 -name="BS 64KB read test" -iodepth=16 -runtime=60 BS 64KB read test: (g=0): rw=read, bs=(R) 64.0KiB-64.0KiB, (W) 64.0KiB-64.0KiB, (T) 64.0KiB-64.0KiB, ioengine=libaio, iodepth=16 fio-3.36 Starting 1 thread Jobs: 1 (f=1): [R(1)][100.0%][r=264MiB/s][r=4227 IOPS][eta 00m:00s] BS 64KB read test: (groupid=0, jobs=1): err= 0: pid=6066: Thu Apr 28 20:43:32 2022 read: IOPS=4217, BW=264MiB/s (276MB/s)(15.4GiB/60004msec) slat (usec): min=18, max=2612, avg=28.66, stdev= 6.76 clat (usec): min=380, max=32820, avg=3759.64, stdev=332.16 lat (usec): min=441, max=32855, avg=3788.30, stdev=331.20 clat percentiles (usec): | 1.00th=[ 3130], 5.00th=[ 3359], 10.00th=[ 3425], 20.00th=[ 3490], | 30.00th=[ 3720], 40.00th=[ 3752], 50.00th=[ 3752], 60.00th=[ 3785], | 70.00th=[ 3818], 80.00th=[ 4015], 90.00th=[ 4080], 95.00th=[ 4146], | 99.00th=[ 4359], 99.50th=[ 4424], 99.90th=[ 4555], 99.95th=[ 4686], | 99.99th=[15533] bw ( KiB/s): min=253061, max=270976, per=100.00%, avg=270249.08, stdev=2158.40, samples=119 iops : min= 3954, max= 4234, avg=4222.50, stdev=33.72, samples=119 lat (usec) : 500=0.01%, 750=0.01%, 1000=0.01% lat (msec) : 2=0.01%, 4=79.04%, 10=20.94%, 20=0.01%, 50=0.01% cpu : usr=6.26%, sys=31.53%, ctx=122462, majf=0, minf=257 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=100.0%, 32=0.0%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0% issued rwts: total=253070,0,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=16 Run status group 0 (all jobs): READ: bw=264MiB/s (276MB/s), 264MiB/s-264MiB/s (276MB/s-276MB/s), io=15.4GiB (16.6GB), run=60004-60004msec Disk stats (read/write): nvme0n1: ios=252614/0, sectors=32334592/0, merge=0/0, ticks=919387/0, in_queue=919388, util=99.95% ./fio -ioengine=libaio -bs=64k -direct=1 -thread -rw=write -filename=/dev/nvme0n1 -name="BS 64KB read test" -iodepth=16 -runtime=60 BS 64KB read test: (g=0): rw=write, bs=(R) 64.0KiB-64.0KiB, (W) 64.0KiB-64.0KiB, (T) 64.0KiB-64.0KiB, ioengine=libaio, iodepth=16 fio-3.36 Starting 1 thread Jobs: 1 (f=1): [W(1)][100.0%][w=398MiB/s][w=6366 IOPS][eta 00m:00s] BS 64KB read test: (groupid=0, jobs=1): err= 0: pid=628: Thu Apr 28 20:47:54 2022 write: IOPS=6357, BW=397MiB/s (417MB/s)(23.3GiB/60003msec); 0 zone resets slat (usec): min=32, max=1904, avg=126.17, stdev=32.66 clat (usec): min=1632, max=5095, avg=2386.68, stdev=227.02 lat (usec): min=1739, max=5216, avg=2512.85, stdev=224.06 clat percentiles (usec): | 1.00th=[ 1909], 5.00th=[ 2008], 10.00th=[ 2073], 20.00th=[ 2212], | 30.00th=[ 2311], 40.00th=[ 2343], 50.00th=[ 2376], 60.00th=[ 2409], | 70.00th=[ 2474], 80.00th=[ 2540], 90.00th=[ 2671], 95.00th=[ 2769], | 99.00th=[ 2966], 99.50th=[ 3064], 99.90th=[ 3294], 99.95th=[ 3818], | 99.99th=[ 4883] bw ( KiB/s): min=406355, max=408399, per=100.00%, avg=407263.99, stdev=398.32, samples=119 iops : min= 6349, max= 6380, avg=6363.22, stdev= 6.27, samples=119 lat (msec) : 2=4.62%, 4=95.33%, 10=0.04% cpu : usr=31.84%, sys=54.83%, ctx=81509, majf=0, minf=1 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=100.0%, 32=0.0%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0% issued rwts: total=0,381462,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=16 Run status group 0 (all jobs): WRITE: bw=397MiB/s (417MB/s), 397MiB/s-397MiB/s (417MB/s-417MB/s), io=23.3GiB (25.0GB), run=60003-60003msec Disk stats (read/write): nvme0n1: ios=46/381026, sectors=2120/48771328, merge=0/0, ticks=11/854635, in_queue=854646, util=100.00% i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re:i.MX8M Mini nvme読み取りパフォーマンス 私たちのスピードは速く、サイドテストの速度よりも速いです。     より迅速に必要な場合は、GEN3を検討できます。
View full article
i.MX8M Mini NVMe 读取性能 Hi, 我们在 i.MX 8M Mini 评估套件上运行 fio 来测试 nvme。PCIe 是 Gen2 x1。我们发现写入带宽可以达到400MB/s,而读取带宽只有260MB/s,如下图所示。我们在其他平台上测试了相同的 nvme。写入和读取均可达到400MB/s。我们想知道 i.MX 8M Mini 上 nvme 读取的限制是什么? ./fio -ioengine=libaio -bs=64k -direct=1 -thread -rw=read -filename=/dev/nvme0n1 -name="BS 64KB read test" -iodepth=16 -runtime=60 BS 64KB read test: (g=0): rw=read, bs=(R) 64.0KiB-64.0KiB, (W) 64.0KiB-64.0KiB, (T) 64.0KiB-64.0KiB, ioengine=libaio, iodepth=16 fio-3.36 Starting 1 thread Jobs: 1 (f=1): [R(1)][100.0%][r=264MiB/s][r=4227 IOPS][eta 00m:00s] BS 64KB read test: (groupid=0, jobs=1): err= 0: pid=6066: Thu Apr 28 20:43:32 2022 read: IOPS=4217, BW=264MiB/s (276MB/s)(15.4GiB/60004msec) slat (usec): min=18, max=2612, avg=28.66, stdev= 6.76 clat (usec): min=380, max=32820, avg=3759.64, stdev=332.16 lat (usec): min=441, max=32855, avg=3788.30, stdev=331.20 clat percentiles (usec): | 1.00th=[ 3130], 5.00th=[ 3359], 10.00th=[ 3425], 20.00th=[ 3490], | 30.00th=[ 3720], 40.00th=[ 3752], 50.00th=[ 3752], 60.00th=[ 3785], | 70.00th=[ 3818], 80.00th=[ 4015], 90.00th=[ 4080], 95.00th=[ 4146], | 99.00th=[ 4359], 99.50th=[ 4424], 99.90th=[ 4555], 99.95th=[ 4686], | 99.99th=[15533] bw ( KiB/s): min=253061, max=270976, per=100.00%, avg=270249.08, stdev=2158.40, samples=119 iops : min= 3954, max= 4234, avg=4222.50, stdev=33.72, samples=119 lat (usec) : 500=0.01%, 750=0.01%, 1000=0.01% lat (msec) : 2=0.01%, 4=79.04%, 10=20.94%, 20=0.01%, 50=0.01% cpu : usr=6.26%, sys=31.53%, ctx=122462, majf=0, minf=257 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=100.0%, 32=0.0%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0% issued rwts: total=253070,0,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=16 Run status group 0 (all jobs): READ: bw=264MiB/s (276MB/s), 264MiB/s-264MiB/s (276MB/s-276MB/s), io=15.4GiB (16.6GB), run=60004-60004msec Disk stats (read/write): nvme0n1: ios=252614/0, sectors=32334592/0, merge=0/0, ticks=919387/0, in_queue=919388, util=99.95% ./fio -ioengine=libaio -bs=64k -direct=1 -thread -rw=write -filename=/dev/nvme0n1 -name="BS 64KB read test" -iodepth=16 -runtime=60 BS 64KB read test: (g=0): rw=write, bs=(R) 64.0KiB-64.0KiB, (W) 64.0KiB-64.0KiB, (T) 64.0KiB-64.0KiB, ioengine=libaio, iodepth=16 fio-3.36 Starting 1 thread Jobs: 1 (f=1): [W(1)][100.0%][w=398MiB/s][w=6366 IOPS][eta 00m:00s] BS 64KB read test: (groupid=0, jobs=1): err= 0: pid=628: Thu Apr 28 20:47:54 2022 write: IOPS=6357, BW=397MiB/s (417MB/s)(23.3GiB/60003msec); 0 zone resets slat (usec): min=32, max=1904, avg=126.17, stdev=32.66 clat (usec): min=1632, max=5095, avg=2386.68, stdev=227.02 lat (usec): min=1739, max=5216, avg=2512.85, stdev=224.06 clat percentiles (usec): | 1.00th=[ 1909], 5.00th=[ 2008], 10.00th=[ 2073], 20.00th=[ 2212], | 30.00th=[ 2311], 40.00th=[ 2343], 50.00th=[ 2376], 60.00th=[ 2409], | 70.00th=[ 2474], 80.00th=[ 2540], 90.00th=[ 2671], 95.00th=[ 2769], | 99.00th=[ 2966], 99.50th=[ 3064], 99.90th=[ 3294], 99.95th=[ 3818], | 99.99th=[ 4883] bw ( KiB/s): min=406355, max=408399, per=100.00%, avg=407263.99, stdev=398.32, samples=119 iops : min= 6349, max= 6380, avg=6363.22, stdev= 6.27, samples=119 lat (msec) : 2=4.62%, 4=95.33%, 10=0.04% cpu : usr=31.84%, sys=54.83%, ctx=81509, majf=0, minf=1 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=100.0%, 32=0.0%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0% issued rwts: total=0,381462,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=16 Run status group 0 (all jobs): WRITE: bw=397MiB/s (417MB/s), 397MiB/s-397MiB/s (417MB/s-417MB/s), io=23.3GiB (25.0GB), run=60003-60003msec Disk stats (read/write): nvme0n1: ios=46/381026, sectors=2120/48771328, merge=0/0, ticks=11/854635, in_queue=854646, util=100.00% i.MX 8M | i.MX 8M Mini | i.MX 8M Nano 回复:i.MX8M Mini NVMe 读取性能 我们的速度很快,比我们这边测试的速度还快。   如果您需要更快的速度,可以考虑 GEN3。
View full article
共享项目:LPC832 16x2 LCD驱动器 这不是求助;我正在与社区分享工作,希望能帮助到处于类似情况的其他人。您可以随意免费使用,对于您遇到的任何问题,我概不负责。 我正在使用一个没有大量引脚用于 LCD 的 µcontroller,因此我决定使用 LPC832 作为 SPI 上的 16x2 LCD 驱动器,以减少主控制器上所需的引脚数量。我想到这个,而且它似乎效果很好,所以我想分享一下。我使用 Bus Master 5 的 SPI 模式对其进行了测试,它做出了适当的响应,但您必须使用您的环境对其进行测试。 解压“tgz”文件,将其作为新项目导入 MCUXpresso,按照图示连接引脚,它就可以工作了。它使用“命令”字节来指示您想要采取的操作: 0 = clear; sub-command 0 - entire screen; 1 - the current line 1 = goto; row col 2 = print; sub-command 0 - single character; 1 - string 3 = LCD display command; command bytes relevant to your LCD display anything else is ignored 命令和操作数以空格分隔,因此“0 0”清除整个屏幕。“2 1 ascii 字节”在当前 LCD 位置打印一个字符串。“1 1 0”转到第 1 行(第二行;从偏移量 0 开始计算),位置 0。 这是为 16x2 进行的配置,但调整到更大的屏幕并不难。 感谢@ErichStyger提供的 HD44780 库,本文部分基于该库。 https://github.com/ErichStyger/McuOnEclipseLibrary/blob/master/lib/HD44780/McuHD44780.c LPC800 回复:共享项目:LPC832 16x2 LCD驱动器 您好,感谢您对社区的贡献。 此致, 帕维尔
View full article
例MPC5604P TRKボードCW210のスキャンモードのADC設定 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> この簡単な例は、スキャンモードのADC設定とTRK-MPC5604Pボード上のトリマーの使用方法を示しています。 トリマーを使用してLEDを暗くします1。   よろしくお願いします。 ペトル     ******************************************************************************** * 詳細説明: * * TRKボード上のトリマーのADCテストと使用 * * ------------------------------------------------------------------------------ *テストHW:TRK-MPC5604P * Maskset:  0M36W ※対象:internal_RAM * Terminal: no * Fsys:64MHz、8MHz XOSCリファレンス * EVB接続: * *トリマーを使用してLEDを暗くします1 * *手記!ADCに電力が供給されていること、J21 5Vジャンパーがオンになっていることを確認します * ******************************************************************************** 全般 Re:TRKボードCW210 MPC5604PスキャンモードのADC設定例 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちはPetrS、 迅速な対応ありがとうございました。問題は、ADCに電力を供給するのと同じくらい簡単で、つまりJ21ジャンパをONに設定することでした。 似たような例があるかどうか知っていますか? 1- シンプルなFlexPWMの場合 ? 2- eTimersを直交デコーダとして使用していますか? 事前に感謝いたします。
View full article
[セキュリティ]すべてのキーをクリアする Dear NXPs: uSFE = false; MASTER_ECE_KEY の Key 属性は Write Prot = 0 に設定されています。ブートプロトコル = 1;デバッガ Prot = 1;キー使用量 = 1;ワイルドカード = 1; 次に、bool eraseKeys(void)インターフェイス(csec_utils.h)を呼び出して、すべてのキーをクリアしたいと思います。しかし、 bool getUID(uint8_t *uid) 関数は、CSEC_DRV_GetID インターフェイスを呼び出すときに STATUS_SEC_KEY_NOT_AVAILABLE エラーを返しました。すべてのキーを消去するにはどうすればよいですか? 日時:[セキュリティ]すべてのキーをクリアする Dear lukaszadrapa: わかった、返信ありがとうございます。すべてのキーを消去する方法はありますか? 日時:[セキュリティ]すべてのキーをクリアする Hi @Gideon  それは理にかなっています。使用した場合: Boot Prot = 1;デバッガ Prot = 1; ...そうしたら: そのため、セキュア ブートが成功し、デバッガーを接続してキーを使用できない必要があります。 よろしくお願いします。 Lukas
View full article
LS1046AとLS1043AのDDR互換性 もともとLS1043A CPUで作ったPCBを使って、LS1046A CPUを育てようとしています。LS1043A DDR ピンの BGA マップでは、LS1046A に同等のものが含まれていますが、レーンにはスワップがあります。 ボード名:LS1043 LS1046 レーン番号:0 8(ECC)                        1           3                        2           2                        3           1 CodeWarrior IDE の DDR コンポーネントの設定を変更して、32 ビット バスのピン配置の変更を表す方法はありますか? QorIQ LS1デバイス Re:LS1046AとLS1043AのDDR互換性 Hello @jvfausto  あなたの質問について: CodeWarrior IDE の DDR コンポーネントの設定を変更して、32 ビット バスのピン配置の変更を表す方法はありますか? 特定の構成については、構成が 0 から 7 に設定されているため、Codewarrior DDR コンポーネントの "DQ マッピング コントローラー ピン" で使用可能な構成を見つけることができます。 参考にした画像をケースに添付してください。 良い日をお過ごしください。 BR, ヘクター・ビジャルエル Re:LS1046AとLS1043AのDDR互換性 Hello @jvfausto  この投稿があなたを元気に見つけてくれることを願っています、 このメールは、ケースの受領を確認したことをお知らせするものです。 私はこのケースの解決策に取り組み続けています。 そのプロセスについては、随時お知らせします。 良い日をお過ごしください。
View full article
[安全] 清除所有密钥 Dear NXPs: uSFE = 假; MASTER_ECE_KEY 的 Key 属性设置为:Write Prot = 0;Boot Prot = 1;Debugger Prot = 1;KeyUsage = 1;Wild card = 1; 然后我想调用 bool erasKeys(void) 接口(csec_utils.h)来清除所有键。但是当 bool getUID(uint8_t *uid)函数在调用CSEC_DRV_GetID接口时返回STATUS_SEC_KEY_NOT_AVAILABLE错误。我该怎么做才能删除所有密钥? 回复:[安全] 清除所有密钥 Dear lukaszadrapa: 明白了,谢谢回复。有什么方法可以删除所有密钥吗? 回复:[安全] 清除所有密钥 Hi @Gideon  这是有道理的。如果您使用:Boot Prot = 1; Debugger Prot = 1; ... 然后: 因此,安全启动必须成功,并且无法连接调试器才能使用密钥。 此致, Lukas
View full article
由 eTimer0 GSH614 触发的 MPC5744P CTU 示例 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 详细说明: * 此示例显示如何使用从 eTimer0 模块通道 2 触发的 CTU 模块。 * * 有关 CTU 工作原理的详细信息,我建议您查看应用说明 *MPC5643LPWM_ADC_概念 * https://community.freescale.com/docs/DOC-102559 * * 此示例设置 eTimer0 通道 2 用于 PWM 信号生成。 * 该信号用于将 MSR 触发信号发送到 CTU 模块 * 示例还包含简单的 CTU 模块驱动程序初始化 * CTU 调度器子模块根据 CTU 触发器通过外部引脚进行切换 * * ------------------------------------------------------------------------------ * Test HW:  MPC57xx Motherboard + MPC5744PE257DC minimodule, MPC5744P, * 硅掩模套装 1N65H * 目标:internal_FLASH* ******************************************************************************** 原始附件已移至: Example-MPC5744P-CTU-eTimer-v1_1-GHS614.zip 回复:由 eTimer0 GSH614 触发的 MPC5744P CTU 示例 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi, 我们也遇到过类似的问题。有任何推荐的解决方案吗? 多谢! 回复:由 eTimer0 GSH614 触发的 MPC5744P CTU 示例 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Linuxz,  我们最近确实遇到了类似的问题,您解决了吗?您能就此问题向我们提供一些反馈吗? 先行致谢。 回复:由 eTimer0 GSH614 触发的 MPC5744P CTU 示例 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> [Peter] – 嗯,如果在已经有命令正在处理时发出 ADC 命令,则会设置 ADC_OE 标志(ADC 命令生成溢出错误)。 我觉得你的CTU命令列表存在时序问题。你写道:“我有时可以看到第一个命令是由ADC执行的”。有时这意味着什么?是指当占空比发生变化时,或者当这种情况发生时,情况会有什么不同。 回复:由 eTimer0 GSH614 触发的 MPC5744P CTU 示例 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi, 我对 MPC5744P 的 CTU 有疑问,我在 FlexPWM_0 上设置了 3 个同步 PWM 信号来控制 PMSM 电机。 为了控制该电机,我还需要测量 PWM 周期中特定位置的电流。 我尝试设置 PWM 子模块 0 来生成 OUT_TRIG0,并配置 CTU 以在 ADC 上启动双重转换,但由于我需要在我的设计中转换更多的模拟信号,所以我创建了一个 CTU 应该发送到 ADC 的命令列表。 当 6 个命令完成后,dma 传输将把数据移动到我的阵列中。 但有些地方不对劲,我有时可以看到第一个命令由 ADC 执行,结果移回到 CTU FIFO,但之后一切似乎都停止了,并且在 CTU 中设置了 ADC_OE 和 ERRCMP 标志。 关于我的代码出了什么问题,有什么提示吗? 请参阅下面的我的代码,找不到附加它的方法。 谨致问候 Linus #包括“mpc55xx.h” #包括“pwm_driver.h” /* ************************************************************************** * * 全局声明 * * ************************************************************************** */ uint32_t ADC_结果[16]; /** * @brief 设置PWM占空比 * @Param chn1 无符号值,包含通道 1 的占空比,范围为 0 至 1000 * @Param chn2 无符号值,包含通道 2 的占空比,范围为 0 至 1000 * @Param chn3 无符号值,包含通道 3 的占空比 0 至 1000 * @return boolean 值,1 = 成功,0 = 无法设置职责 * * @details 当需要设置占空比时调用该函数 */ boolean Pwm_SetDutyCycle (uint16 chn1, uint16 chn2, uint16 chn3) {   if (chn1 > 950) chn1 = 950;   if (chn1 < 50) chn1 = 50;   if (chn2 > 950) chn2 = 950;   if (chn2 < 50) chn2 = 50;   if (chn3 > 950) chn3 = 950;   if (chn3 < 50) chn3 = 50;   if (FLEXPWM_0.MCTRL.B.LDOK == 0)   {   FLEXPWM_0.SUB[0].VAL[2].B.VAL = 5000 - (chn1*5);   FLEXPWM_0.SUB[0].VAL[3].B.VAL = 5000 + (chn1*5);   FLEXPWM_0.SUB[1].VAL[2].B.VAL = 5000 - (chn2*5);   FLEXPWM_0.SUB[1].VAL[3].B.VAL = 5000 + (chn2*5);   FLEXPWM_0.SUB[2].VAL[2].B.VAL = 5000 - (chn3*5);   FLEXPWM_0.SUB[2].VAL[3].B.VAL = 5000 + (chn3*5); /* 将值锁存到 pwm 模块 */   FLEXPWM_0.MCTRL.B.LDOK |= 7;   return 1;   } else   {   return 0;   } } /** * @brief pwm_Init * * @details 调用该函数来设置用于控制电机的 pwm 输出 */ void pwm_Init(void) { SIUL2.PCR[46].R = 0x30000000 | 0x02000000 | 0x2; // CTU0 外部触发输出(在 EVB 上为 PG[13]) // 清除 LDOK 以便能够修改寄存器设置   FLEXPWM_0.MCTRL.B.CLDOK |= 1 << 0;   FLEXPWM_0.MCTRL.B.CLDOK |= 1 << 1;   FLEXPWM_0.MCTRL.B.CLDOK |= 1 << 2;   FLEXPWM_0.SUB[0].CTRL.B.PRSC = 5;   FLEXPWM_0.SUB[1].CTRL.B.PRSC = 0;   FLEXPWM_0.SUB[2].CTRL.B.PRSC = 0; FLEXPWM_0.SUB[0].CTRL2.B.重新加载_SEL = 0; FLEXPWM_0.SUB[1].CTRL2.B.RELOAD_SEL = 1; /* 来自子模块 0 的 RELOAD 信号用于重新加载寄存器*/ FLEXPWM_0.SUB[2].CTRL2.B.RELOAD_SEL = 1; /* 来自子模块 0 的 RELOAD 信号用于重新加载寄存器*/ FLEXPWM_0.SUB[0].CTRL2.B.CLK_SEL = 0; /* 外设时钟作为本地预分频器和计数器的时钟。*/ FLEXPWM_0.SUB[1].CTRL2.B.CLK_SEL = 2; /* 子模块 0 的时钟 (AUX_CLK) 用作本地预分频器和计数器的源时钟。*/ FLEXPWM_0.SUB[2].CTRL2.B.CLK_SEL = 2; /* 子模块 0 的时钟 (AUX_CLK) 用作本地预分频器和计数器的源时钟。*/ // FLEXPWM_0.SUB[0].CTRL2.B.FORCE_SEL = 0; /* 外设时钟用作本地预分频器和计数器的时钟。*/ // FLEXPWM_0.SUB[1].CTRL2.B.FORCE_SEL = 1; /* 子模块 0 的时钟 (AUX_CLK) 用作本地预分频器和计数器的源时钟。*/ // FLEXPWM_0.SUB[2].CTRL2.B.FORCE_SEL = 1; /* 子模块 0 的时钟 (AUX_CLK) 用作本地预分频器和计数器的源时钟。*/ // FLEXPWM_0.SUB[0].CTRL2.B.INIT_SEL = 0; /* 外设时钟用作本地预分频器和计数器的时钟。*/ // FLEXPWM_0.SUB[1].CTRL2.B.INIT_SEL = 1; /* 子模块 0 的时钟 (AUX_CLK) 用作本地预分频器和计数器的源时钟。*/ // FLEXPWM_0.SUB[2].CTRL2.B.INIT_SEL = 1; /* 子模块 0 的时钟 (AUX_CLK) 用作本地预分频器和计数器的源时钟。*/ FLEXPWM_0.SUB[0].DISMAP.R = 0x0000; /* 禁用故障引脚条件 */ FLEXPWM_0.SUB[1].DISMAP.R = 0x0000; /* 禁用故障引脚条件 */ FLEXPWM_0.SUB[2].DISMAP.R = 0x0000; /* 禁用故障引脚条件 */   FLEXPWM_0.SUB[0].INIT.B.INIT = 0;   FLEXPWM_0.SUB[0].VAL[0].B.VAL = 20;   FLEXPWM_0.SUB[0].VAL[1].B.VAL = 10000;   FLEXPWM_0.SUB[0].VAL[2].B.VAL = 5000;   FLEXPWM_0.SUB[0].VAL[3].B.VAL = 5000; FLEXPWM_0.SUB[0].TCTRL.B.OUT_TRIG_EN = 1; /* 当计数器值与 VAL0 值匹配时,OUT_TRIG0 将设置。*/   FLEXPWM_0.SUB[1].INIT.B.INIT = 0;   FLEXPWM_0.SUB[1].VAL[0].B.VAL = 20;   FLEXPWM_0.SUB[1].VAL[1].B.VAL = 10000;   FLEXPWM_0.SUB[1].VAL[2].B.VAL = 5000;   FLEXPWM_0.SUB[1].VAL[3].B.VAL = 5000;   FLEXPWM_0.SUB[2].INIT.B.INIT = 0;   FLEXPWM_0.SUB[2].VAL[0].B.VAL = 20;   FLEXPWM_0.SUB[2].VAL[1].B.VAL = 10000;   FLEXPWM_0.SUB[2].VAL[2].B.VAL = 5000;   FLEXPWM_0.SUB[2].VAL[3].B.VAL = 5000; /* FLEXPWM_0.SUB[0].DTCNT0.B.DTCNT0 = 0x0078; FLEXPWM_0.SUB[0].DTCNT1.B.DTCNT1 = 0x0078; FLEXPWM_0.SUB[1].DTCNT0.B.DTCNT0 = 0x0078; FLEXPWM_0.SUB[1].DTCNT1.B.DTCNT1 = 0x0078; FLEXPWM_0.SUB[2].DTCNT0.B.DTCNT0 = 0x0078; FLEXPWM_0.SUB[2].DTCNT1.B.DTCNT1 = 0x0078; */ FLEXPWM_0.SUB[0].DTCNT0.B.DTCNT0 = 0x0; FLEXPWM_0.SUB[0].DTCNT1.B.DTCNT1 = 0x0; FLEXPWM_0.SUB[1].DTCNT0.B.DTCNT0 = 0x0; FLEXPWM_0.SUB[1].DTCNT1.B.DTCNT1 = 0x0; FLEXPWM_0.SUB[2].DTCNT0.B.DTCNT0 = 0x0; FLEXPWM_0.SUB[2].DTCNT1.B.DTCNT1 = 0x0;   FLEXPWM_0.OUTEN.B.PWMA_EN |= 1 << 0;   FLEXPWM_0.OUTEN.B.PWMA_EN |= 1 << 1;   FLEXPWM_0.OUTEN.B.PWMA_EN |= 1 << 2;   FLEXPWM_0.OUTEN.B.PWMB_EN |= 1 << 0;   FLEXPWM_0.OUTEN.B.PWMB_EN |= 1 << 1;   FLEXPWM_0.OUTEN.B.PWMB_EN |= 1 << 2;   FLEXPWM_0.MCTRL.B.LDOK |= 1 << 0;   FLEXPWM_0.MCTRL.B.LDOK |= 1 << 1;   FLEXPWM_0.MCTRL.B.LDOK |= 1 << 2; FLEXPWM_0.MCTRL.B.运行 |= 1 << 0; FLEXPWM_0.MCTRL.B.运行 |= 1 << 1; FLEXPWM_0.MCTRL.B.运行 |= 1 << 2; /** 启用 PWM */   Enable_pwm(); } /***********************************************************************/ /* CTU_初始化 */ /***********************************************************************/ void CTU_Init (void) { CTU_0.TGSISR.B.I1_RE = 0x1; /* 为 CTU 选择 MRS - PWM ch0 奇数 - 周期 50usec */ CTU_0.CR.B.TGSISR_RE = 0x1; /* TGS输入选择寄存器重新加载使能 */ CTU_0.TGSCR.B.PRES = 0x4; /* CTU预分频器设置为1 */ CTU_0.TCR[0].R = 0x10; /* CTU定时器比较寄存器0值 */ CTU_0.TGSCCR.R = 0xFFFF; /* TGS计数器比较寄存器 */ CTU_0.TGSCRR.R = 0; /* TGS计数器重载寄存器 */   CTU_0.TGSCR.B.TGS_M = 0;   CTU_0.TGSCR.B.ET_TM = 0; CTU_0.THCR1.B.T0_E = 1; /* 触发器 0 输出使能 */ CTU_0.THCR1.B.T0_ADCE = 1; /* 触发 0 ADC 命令输出使能 */ CTU_0.CLCR1.B.T0_INDEX = 0; /* 触发器 0 命令列表 - 第一个命令地址 */ //(*(volatile uint16_t *)0xFFE0C06C) = 1; /* CTU_0.FDCR = 1 - FIFO 上可用的 DMA(头文件中缺失!)*/   CTU_0.FDCR.B.DE0 = 1; CTU_0.FCR.R = 0; /* FIFO控制寄存器 */ /* CTU触发ADC - ADC命令列表 */ /* SU:ADC命令列表*/ //CTU_0.CLR[0].R = 14; /* 第一个命令 - CTU 在该命令之后开始向 ADC 发送命令 */ //CTU_0.CLR[0].ABCH = 5; /* ADC_0 模块,通道 11 */   //CTU_0.CLR[0].B.B.CMS = 0;   //CTU_0.CLR[0].B.B.LC = 1; CTU_0.CLR[0].BBCH_A = 11; /* ADC_0模块,通道11 */   CTU_0.CLR[0].B.B.CH_B = 12;     /* ADC_1 module, channel 12 */   CTU_0.CLR[0].B.B.CMS = 1; CTU_0.CLR[1].BBCH_A = 13; /* ADC_0模块,通道13 */   CTU_0.CLR[1].B.B.CH_B = 1;      /* ADC_1 module, channel 1 */   CTU_0.CLR[1].B.B.CMS = 1;   //CTU_0.CLR[1].B.B.LC = 1; CTU_0.CLR[2].BBCH_A = 5; /* ADC_0模块,通道5 */   CTU_0.CLR[2].B.B.CH_B = 0; /* ADC_1 module, channel 0 */   CTU_0.CLR[2].B.B.CMS = 1; CTU_0.CLR[3].BBCH_A = 14; /* ADC_0模块,通道14 */   CTU_0.CLR[3].B.B.CH_B = 2;      /* ADC_1 module, channel 2 */   CTU_0.CLR[3].B.B.CMS = 1; CTU_0.CLR[4].BBCH_A = 10; /* ADC_0模块,通道10 */   CTU_0.CLR[4].B.B.CH_B = 15;     /* ADC_1 module, channel 15 */   CTU_0.CLR[4].B.B.CMS = 1; CTU_0.CLR[5].BBCH_A = 15; /* ADC_0模块,通道15 */   CTU_0.CLR[5].B.B.CH_B = 10;     /* ADC_1 module, channel 10 */   CTU_0.CLR[5].B.B.CMS = 1; CTU_0.CLR[6].AR = 0x4000; /* 最后一条命令 - 该命令不发送到 ADC */ CTU_0.FTH.B.TH0 = 5; //CTU_0.FTH.B.TH0 = 5; //CTU_0.TH1.B.THRESHOLD0 = 0xE; /* FIFO 0 阈值。最大值为 15,因为阈值必须小于 FIFO 0 条目的数量。*/ //CTU_0.FCR.B.FIFO_OVERFLOW_EN0 = 1; /* FIFO 0 阈值溢出中断启用 - 在此中断中读取 FIFO 0 */ CTU_0.EFR.R = 0x0400; /*启动前清除标志*/   CTU_0.IFR.R = 0x01FE; CTU_0.CR.B.GRE = 1; /* 通用重新加载启用 */ //CTU_初始化 /***********************************************************************/ /* ADC_初始化 */ /***********************************************************************/ void ADC_Init (void) { /* 使用_ADC */   ADC_0.MCR.B.PWDN = 0;      // Enable ADC0     /* 1 */   ADC_0.MCR.B.CTUEN = 1;     // CTU mode     /* 2 */ ADC_0.NCMR[0].R = 0xFFFF; //ADC_0通道0 ADC_0.MCR.B.MODE = 1; //单次模式   ADC_1.MCR.B.PWDN = 0;      // Enable ADC1   /* 1 */   ADC_1.MCR.B.CTUEN = 1;     // CTU mode   /* 2 */ ADC_1.NCMR[0].R = 0xFFFF; //ADC_1通道0 ADC_1.MCR.B.MODE = 1; //单次模式 } //ADC初始化 /***********************************************************************/ /* DMA_Init                                                            */ /***********************************************************************/ void DMA_Init (void) { DMA_0.CR.R = 0x00000002; /* 启用调试模式 */ DMA_0.EEI.R = 0x0000; /* 所有通道禁用错误中断 */ DMA_0.ERQ.B.ERQ0 = 1 << 2; /*使用通道 2 *//*启用 eDMA 请求 2 -> CTU FIFO_0 触发 */ }//DMA_初始化 /***********************************************************************/ /* DMA_MUX_初始化 */ /***********************************************************************/ void DMA_MUX_Init(void) { DMAMUX_0.CHCFG[2].R = 0x0000; /*清除通道配置寄存器2*/ DMAMUX_0.CHCFG[2].B.SOURCE = 6; /* 为通道 2 选择 MUX 源 -> CTU FIFO_1 */ DMAMUX_0.CHCFG[2].B.ENBL = 1; /* DMA 通道使能 */ //DMA_MUX_初始化 /***********************************************************************/ /* DMA_TCD_2                                                           */ /***********************************************************************/ void DMA_TCD_2(void) { (*(volatile uint16 *)&DMA_0.TCD[2]) = 0x0; //清除DMA.TCD[0]0.WORD7     //DMA_0.TCD[2] = 0x0;     DMA_0.TCD[2].SADDR.B.SADDR = &CTU_0.FR[0];  /* Source Address - CTU FIFO_0 */ DMA_0.TCD[2].DADDR.B.DADDR = (uint32_t) &ADC_results[0]; /* 目标地址 - SRAM */ DMA_0.TCD[2].ATTR.B.SMOD = 0x0; /* 源地址模数 */     DMA_0.TCD[2].ATTR.B.DMOD = 0x0;   /* Destination Address Modulo */ DMA_0.TCD[2].ATTR.B.SSIZE = 0x2; /*源传输大小:32位*/ DMA_0.TCD[2].ATTR.B.DSIZE = 0x2; /* 目标传输大小:32 位 */ DMA_0.TCD[2].SOFF.B.SOFF = 0x0; /*有符号源地址偏移调整*/ DMA_0.TCD[2].NBYTES.MLOFFNO.B.NBYTES = 0x40; /* 内部‘次要’字节数 */ DMA_0.TCD[2].SLAST.B.SLAST = 0x0; /* 最后签名的源地址调整 */ DMA_0.TCD[2].DOFF.B.DOFF = 0x4; /* 有符号目标地址偏移 */ DMA_0.TCD[2].DLASTSGA.B.DLASTSGA = 0xFFFFFFC0; /* 有符号目标地址偏移量 -64 */ DMA_0.TCD[2].BITER.ELINKNO.B.ELINK = 0x0; /* 小循环完成时的通道间链接:禁用*/ DMA_0.TCD[2].BITER.ELINKNO.B.BITER = 0x1; /* 当前主迭代计数或链路通道号 */ DMA_0.TCD[2].CITER.ELINKYES.B.ELINK = 0x0; /* 小循环完成时的通道间链接:禁用*/ DMA_0.TCD[2].CITER.ELINKYES.B.LINKCH = 0x0; /* 小循环上通道间链接的通道号:未完成*/ DMA_0.TCD[2].CITER.ELINKYES.B.ELINK = 0x0001; /* 当前主迭代计数或链接通道号 */ DMA_0.TCD[2].CSR.B.BWC = 0x00; /* 带宽控制 */ DMA_0.TCD[2].CSR.B.MAJORLINKCH = 0x00; /* 主通道号 */ DMA_0.TCD[2].CSR.B.MAJORELINK = 0x00; /*主循环完成时的通道间链接:禁用*/ DMA_0.TCD[2].CSR.B.DONE = 0x00; /* 通道完成位 */ DMA_0.TCD[2].CSR.B.ACTIVE = 0x00; /* 通道活动位 */ DMA_0.TCD[2].CSR.B.ESG = 0x00; /* 启用分散/聚集:禁用*/ DMA_0.TCD[2].CSR.B.DREQ = 0x00; /* 完成时禁用DMA通道:禁用*/ DMA_0.TCD[2].CSR.B.INTHALF = 0x00; /* 半主计数完成中断:禁用*/ DMA_0.TCD[2].CSR.B.INTMAJOR = 0x01; /* 主循环完成中断:禁用*/ DMA_0.TCD[2].CSR.B.START = 0x00; /* 显式通道启动位 */ //DMA_0
View full article
i.MX93 液晶显示接口。XRGB8888 帧缓冲区到总线格式 RGB888 Hello, 当我尝试使用 imx93 设置并行 LCD 时,我观察到一些闪烁和其他故障。 我附加了 fb-test 命令输出的图片。在黄色矩形中,设置为打印文本“绿色”和“红色”的像素周围存在故障。黄色圆圈中有一个故障,就好像设置像素的线(对于文本)向左移动了。 fb-test outputfb-测试输出 帧缓冲区配置为 XRGB8888(bpp 32),尺寸为 800x480。总线格式配置为rgb888。 fbset 命令的输出是: mode "800x480-0" # 😧 0.000 MHz, H: 0.000 kHz, V: 0.000 Hz geometry 800 480 800 480 32 timings 0 0 0 0 0 0 0 accel true rgba 8/16,8/8,8/0,0/0 endmode 总线格式(MEDIA_BUS_FMT_RGB888_1X24)的设备树节点: &parallel_disp_fmt { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lcdif>; fsl,interface-pix-fmt = "rgb888"; status = "okay"; ports { port@1 { reg = <1>; display_out: endpoint { remote-endpoint = <&panel_in>; }; }; }; }; 面板配置: panel { compatible = "panel-dpi"; power-supply = <&reg_vdd_3v3>; backlight = <&backlight>; panel-timing { clock-frequency = <33260000>; hactive = <800>; vactive = <480>; hfront-porch = <40>; hback-porch = <88>; hsync-len = <128>; vfront-porch = <35>; vback-porch = <8>; vsync-len = <2>; de-active = <1>; pixelclk-active = <1>; }; port { panel_in: endpoint { remote-endpoint = <&display_out>; }; }; }; &lcdif { status = "okay"; }; 据我所知,我已经以正确的方式配置了一些东西,但也许我错过了一些东西。您能提供建议吗? 使用的驱动程序是 lcdifv3,来自 linux 6.1.55。 回复:i.MX93 lcdif。XRGB8888 帧缓冲区到总线格式 RGB888 Hello, 我猜这个问题是由于时钟频率引起的,请检查您的时钟。 此致
View full article
边沿捕获的最小输入电压 Hi, 在 KV4X 中,对于数字输入,输入电压高为 0.7 x Vdd,输入电压低为 0.35 x Vdd。 边缘捕获的最小值和最大值是多少? 我的输入引脚上有一个峰值为 200 mV 的正弦信号,我发现它足以检测下降/上升沿。 提前致谢 回复:边缘捕获的最小输入电压 我发现了为什么在如此低的信号下也能检测到边缘。 回复:边缘捕获的最小输入电压 Hi @zorrotz, 请将捕获信号的边缘保持在0.7 x Vdd 和 0.35 x Vdd 之间,以确保正确检测信号的边缘。 回复:边缘捕获的最小输入电压 我忘了说 Vdd = 3.3 V
View full article