Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
如何下载S32M27x AMMCLIB 1.1.36 我试图找到S32M27x AMMCLIB 1.1.36,但S32M2x唯一可下载的版本是1.1.37。我如何下载 1.1.36? 回复:如何下载S32M27x AMMCLIB 1.1.36 这是因为我使用的RTD版本是s32m276 D2303 3.0.0版本,而与此RTD版本兼容的AMMClib是1.1.36。但是我正在尝试寻找1.1.36,因为1.1.37无法在RTD 3.0.0版本中安装。 如果我将其安装为带有 RTD 4.0.0 版本的 AMMClib 1.1.37,它是否与 RTD 3.0.0、AMMClib 1.1.36 兼容? 回复:如何下载S32M27x AMMCLIB 1.1.36 Hello, 您可以从 NXP 网站上的 NXP SW 帐户下载以前的版本。 http://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SW32K11-MMCL1D 但我没有看到此 AMMClib 的任何可用选项卡。 我可以将它添加到您的帐户中,但请求以前版本的目的是什么?它们与最新版本兼容。 顺祝商祺! Peter
View full article
イーサネット拡張 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi, i.mx6QのEIMまたはPCIEを使用してさらに1000M / sイーサネットを拡張したいのですが、問題ありませんか?どうすればいいですか? 全般
View full article
[LPC55]:コード保護を利用するためにISPとSWDを無効化 一部の初期のLPC製品、例えばLPC11xx、LPC17xx、LPC18xx、LPC40xx、LPC43xx、LPC8xxなどでは、コード保護を利用するためにCRPが使用されています。CRPには3つの異なるセキュリティ・レベルがあります。図1は、CRP1、CRP2、CRP3のセキュリティ・レベルを示しています。 図1 LPC55シリーズ(LPC55(S)0x、1x、2x、および 6x)は、セキュリティ保護のためにCRPではなくセキュア・ブートおよび保護フラッシュ領域(PFR)構成を使用します。Sが付いている部品番号(例:LPC55S)はセキュア・ブートをサポートしています。例えばLPC55S28およびLPC55S06です。ただし、LPC5506、LPC5528などのSシリーズ以外の製品では、FPR関連フィールドを構成することによってのみコード保護を利用できます。 CRP2は最も一般的に使用される保護レベルです。CRP2では、SWDアクセスがブロックされるため、ユーザーはSWDまたはISP経由でフラッシュの読み取り、書き込み、消去ができません。さらに、ユーザーはフラッシュの一部を消去して既存のコードを変更することはできません。CRP2モードになると、フラッシュはフラッシュ大量消去によってのみ回復可能であり、これにより攻撃者がフラッシュコードを読み取ったり変更したりすることが効果的に防止されます。 残念ながら、LPC55(S)0x、1x、2x、6x などの LPC5500 デバイスは CRP2 とまったく同じ機能メカニズムを持っていないため、多くのユーザーから疑問が寄せられています。しかし、CRP2と同じ機能を達成する必要がある場合は、CMPAを設定してISPおよびSWDデバッグポートを無効にすることができます。 1. ISPを無効にする 顧客製造/工場構成領域(CMPA)は PFR の一部であり、BOOT_CFG を設定して ISP モードを有効にするかどうかを選択します。表1は、CMPAの9E40ワードアドレスから始まるフィールドテーブルを示しています。ISP 制御ドメインは赤でマークされています(表1に示されています)。表2はISPドメインのモード選択を示しています。111はISPが無効です。ISP モードが無効になっている場合は、BOOT_CFG を 0b1110000 に設定します。 ワードアドレス(HEX) バイト・アドレス フィールドの説明 6 5 4 3 2 1 0 9E40 9E400 BOOT_CFG Default ISP mode 0 0 0 0 9E404 SPI_FLASH_CFG 0 0 0 0 0 0 0 9E408 USB_ID USB Vendor ID 9E40C SDIO_CFG 0 0 0 0 0 0 0 9E41 9E410 CC_SOCU_PIN ISP_CMD_EN MCM33_DBGEN 0 0 0 0 0 9E414 CC_SOCU_DFLT ISP_CMD_EN MCM33_DBGEN TAPEN SPIDEN SPNIDEN DBGEN NIDEN 表1 Default ISP mode Bit 【6:4】 Auto ISP 000 USB_HID_MSC 001 UART ISP 010 SPI Slave ISP 011 I2CスレーブISP 100 Disable ISP 111 表2 2. SWD を無効にする DCFG_CC_SOCUは、デバッグ・ドメインごとにデバッグ・アクセス制限を指定する構成です。これらのアクセス制限は、このセクションでは制約属性とも呼ばれます。デバッグ・サブシステムは、より細かいアクセス制御を可能にするために、複数のデバッグ・ドメインに細分化されています。図2は、デバッグ・ドメインとDCFG_CC_SOCU内の対応する制御ビットの位置を示しています。論理的に、DCFG_CC_SOCUにはSOCU_PINとSOCU_DFLTの2つのコンポーネントがあります。SOCU_PINレジスタとSOCU_DFLTレジスタは、モジュールのSWDデバッグ・アクセスを定義するために一緒に使用されます。これは論理的に2つのコンポーネントで構成されています。 SOCU_PIN: デバイス構成によって事前に決定されるデバッグドメインを指定するビットマスクです。 SOCU_DFLT: SOCU_PIN フィールドがデバイス構成によって事前に決定されているビットの最終アクセスレベルを提供します。 言い換えると、モジュールを有効にするには、SOCU_PINレジスタとSOCU_DFLTレジスタの対応するビットを同時に1に設定してください。このモジュールは、SOCU_PINレジスタとSOCU_DFLTレジスタの対応するビットを同時に0に設定することで無効化されます。図2参照。 図2 LPC55 PFRのCC_SOCU_PINとCC_SOCU_DFLTのデフォルト値はすべてゼロであることにご注意ください。したがって、この場合、SOCU_PINとSOCU_DFLTは両方とも0ですが、ビット反転ルールは満たされません(以下の図3参照)。したがって、CC_SOCU_PINとCC_SOCU_DFLTがすべて0の場合、すべてのデバッグ権限がデフォルトで有効になります。 図3 注:CC_SOCU_PIN(CC_SOCU_DFLT)とSOCU_PIN(SOCU_DFLT)の違い。CC_を含む前者には、後者のビット反転が含まれています。 たとえば、SOCU_PINとSOCU_DFLTがすべてゼロに設定され、反転ビットが1に設定されている場合、すべてのSWDモジュールが無効になります。 図4 3. 実装 以下では、LPC5506を例にしてCMPAフィールドを設定します: 3.1 ISPおよびSWDを無効化 図5 図5で赤く強調表示されている2つを除き、デフォルトのCMPA値を維持してください。 1)BOOT_CFGを0x70に設定し、ISPを無効にします。 2)すべてのSOCU_PINとSOCU_DFLTを0に設定し、すべてのリバースビットを1に設定します。つまり、サブドメインにアクセスするすべてのデバッグを無効にします。 3.2 ISPおよびSWDを有効にする 図6 図6で赤く強調表示されている2つを除き、デフォルトのCMPA値を維持してください。 1)自動ISPを有効にするには、BOOT_CFGを0x00に設定します。 2)DCFG_CC_SOCUのデフォルト値、すなわちCC_SOCU_PINとCC_SOCU_DFLTをすべてゼロに戻します。この場合、ビット反転のルールが満たされていないため、すべてのデバッグ権限が復元されます(オンになります)。詳細はこの記事の第2部を参照してください。 3.3 コード実装 シリアルコマンド(1 または 0)で SWD および ISP 機能を有効または無効にします。 図7 デモ・コードが添付されています。このルーチンは、LPCXpresso55S06開発ボードでテストされました。 NOTE: システムのセキュリティ要件と攻撃対象領域が進化する中で、NXPが防御を主張していない、または強力に軽減していない攻撃(特に高度な物理攻撃)の種類をお客様が理解することが重要です。これにより、必要に応じてシステムレベルで適切な緩和策を講じることができます。 LPC55xx Re:[LPC55]:コード保護を利用するためにISPとSWDを無効化 これは、SWDによるフラッシュの一括消去が将来完全に無効になるように見えます(上記の例の有効化コードが何らかの方法で実行されない限り)。これは正しいでしょうか、それとも間違っているのでしょうか? 私たちはプロダクションボードをプログラムするためにSWDインターフェース(LPC5528ボード上)しか持っていないため、SWDを介してフラッシュを読み取り保護し(どのインターフェースからも読み取りを許可しない)、どのインターフェースからでも大量消去のみを許可する方法が必要です。これは可能ですか?
View full article
i.MX 8/8X 系列 DDR 工具发布 重要提示:如果您对 DDR 工具或支持文档有任何疑问,或想报告相关问题,请在 i.MX 社区创建支持工单。请注意,任何私人消息或直接电子邮件均不会被监控,也不会收到回复。 i.MX 8/8X DDR 工具概览 此页面包含 i.MX 8/8X DDR 工具的最新发布版本。本页面所述工具适用于以下配备系统控制器单元(SCU)的 i.MX 8/8X 系列 SoC: i.MX 8QuadMax 及其衍生产品 i.MX 8QuadPlus i.MX 8QuadXPlus 及其衍生产品 i.MX 8DualXPlus 和 i.MX 8DualX i.MX 8DXL (i.MX 8XLite) 及其衍生产品 i.MX 8SXL 注意:有关 i.MX 8M 系列的 DDR 工具,请参考:i.MX 8M 系列 DDR 工具发布说明                          i.MX 8/8X DDR 工具的用途是让用户能够根据其设备配置(密度、片选数量等)和电路板布局(数据总线位交换等)生成并测试自定义的 DRAM 初始化程序。此过程使用户能够继续进行引导加载程序和操作系统的启动工作。操作系统启动后,建议运行基于操作系统的内存测试(如 Linux memtester),以进一步验证和测试 DDR 内存接口。 i.MX 8/8X DDR 工具包括: DDR 寄存器编程辅助工具 (RPA) DDR 压力测试 有关这些 DDR 工具及其用法的更多详细信息,请参阅本页附带的 MX8X_DDR_Tools_quickstart_guide.pdf。 i.MX 8/8X DDR 寄存器编程辅助工具 (RPA) i.MX 8/8X DDR RPA(简称 RPA)是一个 Excel 电子表格工具,用于根据用户特定的 DDR 配置(DDR 设备类型、密度等)开发 DDR 初始化程序。RPA 以两种格式生成 DDR 初始化程序(在单独的 Excel 工作表标签中): DDR 压力测试脚本:此格式专门用于 DDR 压力测试,方法是先复制此工作表标签中的内容,然后将其粘贴到文本文件中,并将该文档命名为带有 “.ds” 文件扩展名的文件。用户在执行 DDR 压力测试时将选择此文件。 DCD CFG 文件:此格式是系统控制器单元固件 (SCFW) 专门使用的配置文件。在这种情况下,用户复制此工作表标签中的内容,将其粘贴到文本文件中,将该文档命名为带有 “.cfg” 文件扩展名的文件,并将此文件放置在适当的 SCFW 板文件目录中。 i.MX 8/8X DDR 寄存器编程辅助工具 (RPA):当前版本 注意:在所有情况下,RPA 版本都与最低 SCFW 版本对齐,如下表所示。在某些情况下,提供 BSP 对齐作为额外细节,但是,RPA 工具专门与最低 SCFW 版本及更高版本对齐。 要获取最新的 RPA,请参考以下链接(注意,现有的 RPA 已从本主页面移除,并移至下方特定于 SoC)的链接中): i.MX8QM: https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX8QM-DDR-Register-Programming-Aid-RPA/ta-p/1166307 i.MX8QXP/QXP/DX: https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX8QXP-DXP-DX-DDR-Register-Programming-Aid-RPA/ta-p/1166302 i.MX8DXL/SXL: https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX8DXL-DDR-Register-Programming-Aid-RPA/ta-p/1602262 处理器 掩模版本 支持的存储器 最新 RPA 版本 * 说明 i.MX 8QM B0 LPDDR4 版本 23*** 启示录 22** 版本 21** 版本 20** 版本 19** 版本 23:重要提示:此版本与 SCFWv1.7.0(及更高版本的 SCFW)对齐。使用 SCFWv1.7.0(及更高版本的 SCFW)时,必须使用此版本或更高版本的 RPA,不能使用早期版本的 RPA。请参见表格末尾的注释。 版本 22:以下更改对 DDR IO 接口没有影响。此更新设置主要是在 DCD 文件中添加了一个由 RPA 配置的总 DDR 密度的定义。该定义由 SCFW 使用。 版本 21:修复了 1 个 DRC 操作,将对 VREF 训练的调用注释掉以用于 DRC1,并添加了 DDRC_SCHED 寄存器编程,以与最新的 SCFW 编程对齐(有关更多详细信息,请参考 RPA 修订历史)。 Rev 20:与 SCFW 1.4.0 和 NXP BSP GA 版本 L5.4.3_2_0_0 及更高版本一起使用(以支持 SW VREF 训练规避命令) 版本 19:与 SCFW 1.3.1 和 NXP BSP GA 版本 L5.4.3_1_0_0 一起使用 i.MX 8QXP C0、B0 LPDDR4 版本 16*** 版本 15** 版本 14** 版本 13** 版本 16:重要提示:此版本与 SCFWv1.7.0(及更高版本的 SCFW)对齐。使用 SCFWv1.7.0(及更高版本的 SCFW)时,必须使用此版本或更高版本的 RPA,不能使用早期版本的 RPA。请参见表格末尾的注释。 版本 15:以下更改对 DDR IO 接口没有影响。此更新设置主要是在 DCD 文件中添加了一个由 RPA 配置的总 DDR 密度的定义。该定义由 SCFW 使用。 版本 14:与 SCFW 1.4.0 和 NXP BSP GA 版本 L5.4.3_2_0_0 及更高版本一起使用(以支持 SW VREF 训练变通命令) 版本 13:与 SCFW 1.3.1 和 NXP BSP GA 版本 L5.4.3_1_0_0 一起使用 i.MX 8QXP C0、B0 DDR3L 启示录 23 版本 22*** 版本 21 版本 20 版本 23: -修正了寄存器配置 DDR_PHY_PTR4.tDINIT1 位域编程。以前,计算仅基于 tRFC,但是,计算应该基于 “tRFC + 10ns”。此问题已得到纠正。 -将 DDRC_INIT4、DDR3 MR2.ASR = 1 设置为默认设置,以允许 DRAM 根据其外壳温度自动选择自刷新速率(但用户可以通过下拉菜单选择禁用)。此外,删除了 DTCR0.DTRDBITR 的条件设置,因为 DDR3 不支持 DBI,所以不需要该设置。此设置的默认值为零,并将保持不变。 -为用户提供了根据 DDR3L 设备的预期最高温度(1X、2X、4X)选择自动刷新速率的选项。用户应参考 DDR3L 数据表以了解支持的温度范围和相关的刷新速率。 版本 22:重要提示:此版本与 SCFWv1.7.0(及更高版本的 SCFW)对齐。使用 SCFWv1.7.0(及更高版本的 SCFW)时,必须使用此版本或更高版本的 RPA,不能使用早期版本的 RPA。请参见表格末尾的注释。 版本 21:以下更改对 DDR IO 接口没有影响。此更新设置主要是在 DCD 文件中添加了一个由 RPA 配置的总 DDR 密度的定义。该定义由 SCFW 使用。 - 与 SCFW 1.1.10 及更高版本兼容 -此版本所做的更改不会影响基于 v19 的 DCD CFG 文件输出 -在 DDR 压力测试脚本中发现问题,即某些命令没有根据寄存器配置工作表中的 ECC 设置进行正确配置;此问题已得到解决(单元格 A84、A87、A90、A93) -此外,在 DCD CFG 和 DDR 压力测试脚本工作表中,所有依赖于 ECC 配置的命令都已更新,以包括与数据总线是否配置为 16 位的 “或” 运算(ECC 仅支持全 32 位数据总线宽度配置) i.MX 8DualX C0、B0 LPDDR4 版本 16*** 版本 15* 版本 14** 版本 13** 版本 16:重要提示:此版本与 SCFWv1.7.0(及更高版本的 SCFW)对齐。使用 SCFWv1.7.0(及更高版本的 SCFW)时,必须使用此版本或更高版本的 RPA,不能使用早期版本的 RPA。请参见表格末尾的注释。 版本 15:以下更改对 DDR IO 接口没有影响。此更新设置主要是在 DCD 文件中添加了一个由 RPA 配置的总 DDR 密度的定义。该定义由 SCFW 使用。 版本 14:与 SCFW 1.4.0 和 NXP BSP GA 版本 L5.4.3_2_0_0 及更高版本一起使用(以支持 SW VREF 训练变通命令) 版本 13:与 SCFW 1.3.1 和 NXP BSP GA 版本 L5.4.3_1_0_0 一起使用 i.MX 8DualX C0、B0 DDR3L 版本 21 版本 20*** 版本 19 版本 18 版本 21: -修正了寄存器配置 DDR_PHY_PTR4.tDINIT1 位域编程。以前,计算仅基于 tRFC,但是,计算应该基于 “tRFC + 10ns”。此问题已得到纠正。 -将 DDRC_INIT4、DDR3 MR2.ASR = 1 设置为默认设置,以允许 DRAM 根据其外壳温度自动选择自刷新速率(但用户可以通过下拉菜单选择禁用)。此外,删除了 DTCR0.DTRDBITR 的条件设置,因为 DDR3 不支持 DBI,所以不需要该设置。此设置的默认值为零,并将保持不变。 -为用户提供了根据 DDR3L 设备的预期最高温度(1X、2X、4X)选择自动刷新速率的选项。用户应参考 DDR3L 数据表以了解支持的温度范围和相关的刷新速率。 版本 20:重要提示:此版本与 SCFWv1.7.0(及更高版本的 SCFW)对齐。使用 SCFWv1.7.0(及更高版本的 SCFW)时,必须使用此版本或更高版本的 RPA,不能使用早期版本的 RPA。请参见表格末尾的注释。 版本 19:以下更改对 DDR IO 接口没有影响。此更新设置主要是在 DCD 文件中添加了一个由 RPA 配置的总 DDR 密度的定义。该定义由 SCFW 使用。 - 与 SCFW 1.1.10 及更高版本兼容 *有关 RPA 以前版本的历史记录,请参考相应 RPA 的 “修订历史” 标签。 ** 一般来说,即使使用预发布的 BSP,也建议使用最新的 RPA 工具,因为它确保您使用最新的修复程序和功能进行测试。可能会提供较旧版本的 RPA 以支持 BSP 的现有/已发布版本。这仅适用于那些与预发布 BSP 兼容但可能与 BSP 的已发布版本不兼容的 RPA 工具。 ***重要提示:如表格上方所述,对于所注明的 RPA 版本,它与 SCFWv1.7.0(及更高版本的 SCFW)对齐。旧版本的 RPA 与 SCFWv1.7.0(及更高版本的 SCFW)不对齐。如果尝试将旧版本的 RPA 与 SCFWv1.7.0(及更高版本的 SCFW)一起使用,将导致 SCFW 无法启动。DCD 输出中的问题行如下: 对于 MX8QXP/DualX: 数据 4 0xff190000 0x00000CC8 /* DRC0 启动 */ 对于 MX8QM: 数据 4 0xff148000 0x00000885 /* DRC0 启动 */ 数据 4 0xff1a0000 0x00000885 /* DRC1 启动 */ 如果用户希望使用带有 SCFW 1.7.0(及后续版本)的较旧 RPA(不推荐),则必须从较旧 RPA DCD 文件输出中删除上述行。此外,这些行被以下预处理命令包裹:"#ifndef SCFW_DCD"、"#else" 和 "#endif"。这些也应该被移除。例如 MX8QXP: [移除] ifndef SCFW_DCD [移除] /* 对于 1200MHz DDR,DRC 600MHz 操作 */ [移除] DATA 4 0xff190000 0x00000CC8 /* DRC0 启动 */ [移除] #else [移除] #endif 注意:当提到 “SCFWv1.7.0(及更高版本的 SCFW)” 时,它指的是 SCFWv1.7.0、1.7.1、1.7.2……1.8.0、1.9.0、1.10.0…… 等,其中 “……” 是次要版本 / 补丁,因此当您看到 1.7.2…… 时,它指的是 1.7.3、1.7.4 等)。除非另有说明,表格上方所示的最新 RPA 与最新的 SCFW 版本对齐。 i.MX 8/8X DDR 压力测试 i.MX 8/8X DDR 压力测试工具是一个基于 Windows 的软件工具,用于在构建用于 u-boot 和操作系统启动的 SCFW 之前,验证 DDR 初始化程序是否可运行。DDR 压力测试使用从 RPA 工具生成的 .ds DDR 压力测试脚本以及 SCFW 的特殊构建版本,该版本使用以下选项构建: DDR_CON=ddr_stress_test_parser 或者在 i.MX 8QuadMax 的情况下使用一个 DDR 控制器: DDR_CON=ddr_stress_test_parser_DRC0_only DDR 压力测试提供了一个 “Target” 选项,用于指定正在测试的 SoC。以下是可供选择的目标选项: MX8QM – 用于测试 i.MX 8QuadMax 及其衍生产品 i.MX 8QuadPlus MX8QX – 用于测试 i.MX 8QuadXPlus 及其衍生产品 i.MX 8DualXPlus/DualX MX8DXL – 用于测试 i.MX 8DXL 及其衍生产品 i.MX8 SXL   要安装 DDR 压力测试工具,请保存并解压 zip 文件 mx8_ddr_stress_test_ERxx_installation.zip(其中 “xx” 是当前版本号),然后按照屏幕上的安装说明进行操作。 注意,解压 DDR 压力测试工具 .zip 文件时,建议执行 “在此处解压” 操作。某些系统不允许从另一个文件夹运行解压后的安装可执行文件,只有从与原始下载的 zip 文件相同的位置执行时才能工作。 有关 DDR 压力测试使用方法的更多详细信息,请参考 DDR 压力测试工具交付内容中的 MX8_DDR_Tool_User_Guide。 注意:在新的自定义板上使用 DDR 工具之前,用户应正确地将系统控制器单元固件(SCFW)移植到此新板上。没有正确移植且可工作的 SCFW,DDR 工具将无法运行。          i.MX 8/8X DDR 压力测试 要求 该工具需要访问Windows注册表,因此用户必须以管理员模式运行它。 该工具不能在需要由客户签名的镜像的 OEM 封闭设备上运行。 当用户设计新的 i.MX 8/8X 板时,请确保遵循相应的硬件开发指南和 MX8_DDR_Tool_User_Guide 中概述的规则,这可以帮助用户在其各自的 i.MX 8/8X 板上启动 DDR 设备。   i.MX 8/8X DDR 压力测试 SECO 固件 通常不建议更新 DDR 压力测试默认附带的 SECO (ahab) 固件。不建议这样做是因为 DDR 压力测试的目的是测试 DDR 内存接口,而非整个 SCFW 到 SECO 固件的操作,即便较新版本的 SCFW 可能会提示 SECO 固件版本不是最新的。DDR 压力测试附带的 SECO 固件版本在 DDR 压力测试发布前已通过工厂测试并证实可用;将 SECO 固件更新为其他版本可能会导致意外后果,使 DDR 压力测试无法运行。在大多数情况下,仅更新 SCFW 而不更新 SECO 固件是允许的。 如果用户希望更新 DDR 压力测试中的 SECO 固件版本,则需要重命名该固件,去掉芯片版本(例如,更新 MX8QM SECO 固件时,用户需要将 mx8qmb0-ahab-container.img 重命名为 mx8qm-ahab-container.img,主要是去掉 “b0”)。MX8QXP 是个例外,如果更新 C0 芯片版本的 SECO 固件,用户应保留 C0 这一命名。 如果用户发现更新后的 SECO 固件导致 DDR 压力测试无法运行,建议恢复为 DDR 压力测试发布时附带的默认 SECO 固件版本。 i.MX 8/8X DDR压力测试用户指南 i.MX 8/8X DDR 压力测试工具包含文档:MX8_DDR_Tool_User_Guide.pdf 注意:使用本工具前,请仔细阅读包内的 MX8_DDR_Tool_User_Guide。 DDR 压力测试修订历史 版本 主要变更(功能) NXP BSP软件版本 ER 14 已更新以支持解析 DDR 压力测试脚本中的 VREF 训练命令 此版本与 NXP BSP GA 版本 L5.4.3_2_0_0 及更高版本对齐。 ER15 - 支持 i.MX 8Lite(又名 DXL) - 在数据训练失败时提供更详细的输出,特别是指出哪些字节通道失败 - 有助于调试电路板布局问题 此版本与 NXP BSP GA 版本 Linux 5.15.71_2.2.0 及更高版本保持一致。  相关资源链接: i.MX 8ULP DDR 工具:i.MX 软件和开发工具 | NXP Semiconductors 向下滚动到“其他资源 --> 工具 --> DDR 工具” i.MX 8M 系列 DDR 工具发布 i.MX 6/7 DDR 压力测试 GUI 工具 i.MX 8QM RPA: https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX8QM-DDR-Register-Programming-Aid-RPA/ta-p/1166307 i.MX 8QXP/DXP/DX RPA: https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX8QXP-DXP-DX-DDR-Register-Programming-Aid-RPA/ta-p/1166302 i.MX 8DXL (i.MX 8XLite) RPA: https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX8DXL-DDR-Register-Programming-Aid-RPA/ta-p/1602262 常见问题: 问:DDR 压力测试运行时,会显示先测试区域 1,然后测试区域 2。什么是区域 1 和区域 2? 答:i.MX8X 系列中有两个不同的 DDR 内存区域,这是由于 Cortex A 内核的架构以及 i.MX8X 相关的内存映射所致。 区域 1 是 32 位区域,起始地址为 0x080000000,结束地址为 0x0FFFFFFFF(共 2GB) 区域 2 是 64 位区域(针对 Cortex A 内核架构),起始地址为 0x880000000,结束地址取决于剩余密度: •对于板载总密度为 4GB 的情况,区域 1 为 2GB,区域 2 为 2GB,因此区域 2 的结束地址为 0x8FFFFFFFF(0x900000000 减 1) •对于总密度为 6GB(NXP 板卡密度)的情况,区域 1 为 2GB,区域 2 为 4GB,因此区域 2 的结束地址为 0x97FFFFFFF(0x980000000 减 1) •对于总密度为 8GB 的情况,区域 1 为 2GB,区域 2 为 6GB,因此区域 2 的结束地址为 0x9FFFFFFFF(0xA00000000 减 1) 因此,区域 1 和区域 2 之间的内存映射存在一个 “空洞”。因此,DDR 压力测试首先测试较低的区域(区域 1),直到该区域测试完毕(最多 2GB),如果 DDR 密度超过 2GB,测试将在区域 2 中测试剩余密度。 问:i.MX8X 系列片上系统是否支持具有 17 个行地址 (R [16:0]) 的 LPDDR4 存储器? 答:i.MX8QM、i.MX8QXP 和 i.MX8DXP 片上系统及其衍生产品不支持较新的 17 行地址 LPDDR4 存储器。这意味着,为了支持最大 4GB(32Gb)的 LPDDR4 密度,配置必须为 16 行、2 秩(而非不支持的 17 行、1 秩)。即将推出的 i.MX8DXL 计划支持 17 行地址的 LPDDR4 设备。 问:运行 DDR 压力测试时,我可以选择不同的 i.MX8X AP UART 端口吗? 答:强烈建议遵循 NXP 板卡设计,包括选择相同的 UART 端口;这将减轻用户的软件移植工作,并最大限度地减少不必要的调试问题。DDR 压力测试需要使用 USB OTG 端口和 AP UART 端口(强烈建议连接 SCFW UART 端口以获取 SCFW 调试信息)。到目前为止,工厂认为用户没有理由选择与 NXP 板卡上使用的不同的 AP UART 端口。选择相同的 AP UART 端口可确保 DDR 压力测试更快启动,而不是不必要地调试为什么不同的 UART 端口无法工作。 无论如何,有些人出于某种原因希望使用不同的 UART 端口,因此,NXP 提供了变通方法以允许选择不同的 UART 端口。要选择不同的 UART 端口(0、1 或 2),用户只需在 DDR 压力测试 DDR 初始化(.ds)脚本的末尾添加以下行: memory set  0x5C01042C 32   内存设置 0x5C01042C 32 0x00000000 # UART0 端口选择用于 AP UART(默认) 内存设置 0x5C01042C 32 0x00000001 # UART1端口选择用于AP UART 内存设置 0x5C01042C 32 0x00000002 # UART2端口选择用于AP UART 请注意,UART 端口 0、1 和 2 具有作为默认 UART 引脚的焊盘名称(IOMUX ALT0 配置)。到目前为止,DDR 工具不支持在其他非默认 UART 引脚上多路复用的其他 UART 端口。不过,i.MX8QXP/DXP 和即将推出的 i.MX8DXL 是个例外,它们可以使用在 FLEXCAN2 上多路复用的 UART3。要选择此端口,请在 .ds 文件的末尾添加以下内容: 内存设置 0x5C01042C 32 0x00000003 # UART3 端口选择用于 AP UART(i.MX8QXP/DXP 和 i.MX8DXL 除外) 有些 RPA 内置了支持(通过下拉菜单)来选择 UART 端口。对于那些没有此功能的 RPA,这是因为这些 RPA(恩智浦板卡)未使用不同的 UART 端口进行测试,因为板卡需要切割线路并重新连接 UART 信号,而且有些板卡可能没有现成的这些 UART 线路。不过,用户仍然可以手动添加此 UART 端口选择。参考以下 RPA 以查看 UART 端口选择选项: MX8QXP DDR3 MX8DXP DDR3 问:测试 [8GB(64Gb)的 MX8QM 或 4GB(32Gb)的 MX8QXP] 的 LPDDR4 内存时,DDR 压力测试为何似乎挂起? 答:此问题并非由 DDR 压力测试本身引起,而是由所使用的 SCFW 版本导致。默认版本的 SCFW 二进制文件早于 SCFW 所做的一项更改,即当检测到 DDR 压力测试正在运行时忽略 DRAM 密度限制。与 DDR 压力测试 ER14 相关联的此版本 SCFW 将可测试的 DRAM 密度限制为 [MX8QM:6GB,MX8QXP:3GB],因为此版本的 SCFW 配置为在恩智浦板卡上运行作为基础。如 DDR 压力测试用户指南中所述,建议用户在使用 DDR 压力测试之前,先将最新的 SCFW 移植到其板卡上,以考虑恩智浦板卡与其板卡之间的差异。此外,用户有以下选项可启用超出 [MX8QM:6GB,MX8QXP:3GB] 的测试;请注意,在运行 DDR 压力测试之前,用户有责任确保 SCFW 有一个正常工作的移植版本。 1.最新的 SCFW 应包含一项更新,即如果检测到 SCFW 是为与 DDR 工具一起使用而构建的,则设置无密度限制 —— 用户可以尝试获取最新的移植工具包并构建新的固件。这是推荐的更改。 2. 如果使用早于此更改的现有/较旧版本的 SCFW,在 board.c 的 board_system_config () 函数中,有以下代码块(显示 MX8QM 示例): /* Board has 6GB memory so fragment upper region and retain 4GB */         BRD_ERR(rm_memreg_frag(pt_boot, &mr_temp, 0x980000000ULL,             0xFFFFFFFFFULL)); 用户可以按如下方式进行修改:     if (ddrtest == SC_FALSE)     {         sc_rm_mr_t mr_temp;         /* Board has 6GB memory so fragment upper region and retain 4GB */         BRD_ERR(rm_memreg_frag(pt_boot, &mr_temp, 0x980000000ULL,             0xFFFFFFFFFULL));         BRD_ERR(rm_memreg_free(pt_boot, mr_temp));     } 如果 SCFW 是为 DDR 工具构建的,这将禁用此部分代码的执行(与 1 相同,但使用较早的固件版本时需要用户手动完成)。 3. 在上述代码块中,将 0x980000000 更改为 0xA00000000。这应该允许上述 MX8QM 示例支持 8GB 密度(对于 MX8QXP,将 0x8C0000000ULL 更改为 0x900000000ULL 以支持 4GB 密度)。 i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus
View full article
如何使用 gpio-hog 演示 i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano i.MX6 全部 i.MX6SL i.MX7 双核 i.MX7 单核 i.MX7ULP Linux SCM-i.MX6DQ
View full article
Kinetis M0+ FAQ_软件开发环境 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Common: 1. 如何在IAR、Keil和Codewarrior中禁止掉Kinetis的NMI脚 2. 使用Codewarrior、IAR和Keil三大IDE配置生成bin文件 3. Codewarrior、IAR和Keil三大IDE局部优化指令 Kinetis Design Studio 1. 飞思卡尔免费开发环境KDS调试时显示外设寄存器内容​ CodeWarrior: 1. Codewarrior中如何查看Flash和RAM占用Size大小, include路径如何配置? 2. Codewarrior10.5低功耗模式唤醒后保持调试功能 3. 浅谈Codewarrior局部优化技巧 4. 在Codewarrior10.x调试模式下导出内存数据到s19文件 5. CodeWarrior10.x中英文系统界面切换 6. CodeWarrior10.x新建Kinetis工程方法 7. Codewarrior10.x下使用ewl_noio库以节省代码空间 8. Codewarrior10.x下生成的image文件后缀都是.hex 9.代码重定位-CodeWarrior/KDS-kineits L 系列 IAR: 1. 利用IAR Timeline工具测试delay函数执行时间 2. 使用老版本IAR支持新器件 3. IAR环境下Flash loader工作原理 4. IAR环境下Flash调试和RAM调试的区别 5. IAR环境下更改ARM大小端存储模式 6. 简单移植Kinetis IAR开发框架模板的方法 7. Kinetis图形化显示stack堆栈使用情况 8. IAR使用小技巧(常用快捷键,LiveWatch配置方法,修改调试模式入口地址) 9. 实现IAR下S19、Bin、Hex文件格式转换 10. IAR生成和调用Kinetis函数库 11. 批处理查找添加IAR工程头文件 12. 通过IAR MAP文件查看目标文件内存分配 13. 解析IAR的ILINK链接器icf配置文件 14. 重定向printf输出到IAR虚拟终端 15. 解决双击eww文件无法同时打开多个IAR工程的问题 16. IAR下使用noinit段的方法和指定地址的变量分配 Keil: 1. Keil编译器ARMCC中添加对GCC扩展格式的支持 2. 关于Keil无法正确下载程序问题的总结 Re: Kinetis M0+ FAQ_软件开发环境 So like, could you put this in English so we could all appreciate your input?
View full article
FS26 在调试模式下读取 FS_STATE 寄存器,它始终为 0x14。没有关于此的描述 FS26在调试模式下读取FS_STATE寄存器一直是0x14,手册上没有改变返回值的描述,按照手册中的流程图,上电之后应该要经过OTP程序才会进入01001处的Init FS,然后就可以写入初始化寄存器的数据流了,但是目前由于FS_STATE的问题,无法进入init FS。在社区里我找到了这样的帮助,但是遗憾的是没有具体的说明和解决办法,链接如下: Fs26 使用函数 Sbc_fs26_initDevice() 初始化失败 回复:FS26 在调试模式下读取 FS_STATE 寄存器,它始终为 0x14。没有描述 你好,托马斯 我已成功找出原因并进入正常模式。感谢你的回复。 BRs,zyg 回复:FS26 在调试模式下读取 FS_STATE 寄存器,它始终为 0x14。没有描述 Hello, 您的上电序列是否已成功完成并且 RSTB 引脚是否已释放?如果没有,请参阅下面的 RSTB 低原因清单。 如有必要,请用示波器检查 RSTB 低时的调节器输出,同时请检查是否有报告 OV/UV 标志。 BRs, Tomas
View full article
i.MX 8カメラのユース・ケース <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> この文書は、i.MX 8 MIPI-CSIのすべてのユースケースを説明し、ボードでサポートされているカメラとドーターカード、互換性のあるデバイスツリー(DTS)ファイル、およびi.MX 8ボードでこれらのカメラオプションを有効にする方法を示しています。 さらに、この文書では、imxcompositor_g2dプラグインを使用した複数カメラの出力、GStreamerのゼロコピー パイプライン、V4L2 APIによる追加制御の例など、カメラの高度なユース・ケースについても説明しています。 グラフィックスとディスプレイ i.MX 8ファミリ | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano マルチメディア Re: i.MX 8カメラの使用例 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このカメラは「ユース・ケース」マニュアルによると、「/dev/video0」に割り当てられます。前述した例(gst-launch1.0 v4l2src device=/dev/video0 ! autovideosink)でも動作し、カメラ出力はHDMIにミラーリングされます。 ところが、linux/v4l2 – Gateworksのような例でこのカメラから取得しようとすると、次のメッセージを受信します。 ./capture /dev/video0 1920 1080 1 VIDIOC_G_STD: デバイスに対して不適切な ioctl VIDIOC_S_STD: デバイスに対して不適切な ioctl NTSC TVデコーダーが見つかりました SECAM TVデコーダーが見つかりました PAL TVデコーダーが見つかりました /dev/video0 はビデオキャプチャデバイスではありません なぜこれがキャプチャデバイスではないのですか? 使用環境は以下のとおりです。 v4l2-ctl --all -d /dev/video0 ドライバ情報:        ドライバ名     :mxc-isi-cap        カード・タイプ       :mxc-isi-cap        バス情報        :platform:32e00000.isi:cap_devic         ドライバのバージョン  :5.4.24         性能    :0x84201000                動画キャプチャ・マルチプレーナー                ストリーミング                拡張ピクセル・フォーマット                デバイス性能        デバイス容量     :0x04201000                動画キャプチャ・マルチプレーナー                ストリーミング                拡張ピクセル・フォーマット メディア・ドライバ情報:        ドライバ名     :mxc-md        モデル           :FSLキャプチャ・メディア・デバイス        シリアル           :        ・バス情報        :        メディアのバージョン   :5.4.24         ハードウェア・リビジョン:0x00000000 (0)        ドライバのバージョン  :5.4.24 インターフェース情報:        ID              :0x03000014        タイプ            :V4L動画 エンティティ情報:        ID              :0x00000012 (18)        名前            :mxc_isi.0.capture         機能        :V4L2 I/O        パッド0x01000013  :0:シンク          リンク0x02000021:エンティティ「mxc_isi.0」のリモートパッド0x100000eから:Data, Enabled 優先度:2 フォーマット・動画キャプチャ・マルチプレーナー:        幅/高さ     :0/0        ピクセル・フォーマット     :「RGBP」(16ビットRGB 5-6-5)        フィールド            :なし        プレーン数 :1        フラグ            :        色空間       :JPEG        変換機能:デフォルト        YCbCr/HSVエンコーディング:デフォルト        量子化     :デフォルト        プレーン0          :           1行あたりバイト数:0           画像サイズ    :0 ストリーミング・パラメータ・動画キャプチャ:        性能    :timeperframe        毎秒フレーム数:30.000(30/1)        読み取りバッファ    :0 ユーザーコントロール horizontal_flip 0x00980914 (bool) : デフォルト=0 値=0 vertical_flip 0x00980915 (bool) : デフォルト=0 値=0 alpha_component 0x00980929 (int) : 最小=0 最大=255 ステップ=1 デフォルト=0 値=0 Re: i.MX 8カメラの使用例 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi arno_0‌, 個の件では、SoCリファレンス・マニュアルしかありません。 Marco Re: i.MX 8カメラの使用例 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> MIPIの制御と低レベルでの画像受信について説明した文書はありますか?  Re: i.MX 8カメラの使用例 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Sebster‌, 気に入っていただけてうれしいです。 ご質問に関してですが、i.MX 8QXPとi.MX 8QMのMIPI-CSIチャネル。インターフェースは独立しているため、各チャネルでカメラの最大解像度を取得できます。ただし、当然のことながら、いくつかの帯域幅の制限にも考慮が必要です。 VPUに関しては、残念ながら関連ドキュメントはありませんが、実施する価値のあるテストです。 これらのトピックを確認するためにコミュニティスレッドを開いていただければ幸いです。きっと多くの人々の助けになると確信しています。 よろしくお願いいたします。 Marco Re: i.MX 8カメラの使用例 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Marco, 素晴らしいお仕事です! お客様の例では、3.3 MCIMXCAMERA1MPカメラ・ドータ・カードに接続されているカメラが4台あります。 MIPI-CSIインターフェースを飽和させずに、これらのカメラが到達可能な最大解像度はどれくらいでしょうか。 これらのカメラが到達可能であり、単一VPUで同時にH.264をエンコード可能な最大解像度をご存知ですか?この件に関するドキュメントをお持ちの場合は、ぜひ、拝見したいと思います。 改めて感謝いたします! SPA Re: i.MX 8カメラの使用例 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Ofer, ご提案ありがとうございます。しかし、以下の GStreamer ドキュメントの方がより適していると考えます。 https://community.nxp.com/docs/DOC-347107  ご提案は、v2.0リリースに反映いたします。 BR, Marco Re: i.MX 8カメラの使用例 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi, このガイドを投稿していただきありがとうございます。i.MX8QXP/i.MX8QM用に、ハードウェア・アクセラレーションJPEGエンコーディングとデコーディングの例を追加することをお勧めします。
View full article
MPU6050をAndroidに移植して画面の自動回転を実現     テスト環境:MPU6050モジュール、i.MX8MP、Android11_2.4.0 このソリューションは、MPU6050モジュールをAndroidに移植して、画面の自動回転を実現します。 Android i.MX 8ファミリ | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano
View full article
Kinetis M0+ FAQ_软件开发环境 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Common: 1. 如何在IAR、Keil和Codewarrior中禁止掉Kinetis的NMI脚 2. 使用Codewarrior、IAR和Keil三大IDE配置生成bin文件 3. Codewarrior、IAR和Keil三大IDE局部优化指令 Kinetis Design Studio 1. 飞思卡尔免费开发环境KDS调试时显示外设寄存器内容​ CodeWarrior: 1. Codewarrior中如何查看Flash和RAM占用Size大小, include路径如何配置? 2. Codewarrior10.5低功耗模式唤醒后保持调试功能 3. 浅谈Codewarrior局部优化技巧 4. 在Codewarrior10.x调试模式下导出内存数据到s19文件 5. CodeWarrior10.x中英文系统界面切换 6. CodeWarrior10.x新建Kinetis工程方法 7. Codewarrior10.x下使用ewl_noio库以节省代码空间 8. Codewarrior10.x下生成的image文件后缀都是.hex 9.代码重定位-CodeWarrior/KDS-kineits L 系列 IAR: 1. 利用IAR Timeline工具测试delay函数执行时间 2. 使用老版本IAR支持新器件 3. IAR环境下Flash loader工作原理 4. IAR环境下Flash调试和RAM调试的区别 5. IAR环境下更改ARM大小端存储模式 6. 简单移植Kinetis IAR开发框架模板的方法 7. Kinetis图形化显示stack堆栈使用情况 8. IAR使用小技巧(常用快捷键,LiveWatch配置方法,修改调试模式入口地址) 9. 实现IAR下S19、Bin、Hex文件格式转换 10. IAR生成和调用Kinetis函数库 11. 批处理查找添加IAR工程头文件 12. 通过IAR MAP文件查看目标文件内存分配 13. 解析IAR的ILINK链接器icf配置文件 14. 重定向printf输出到IAR虚拟终端 15. 解决双击eww文件无法同时打开多个IAR工程的问题 16. IAR下使用noinit段的方法和指定地址的变量分配 Keil: 1. Keil编译器ARMCC中添加对GCC扩展格式的支持 2. 关于Keil无法正确下载程序问题的总结 Re: Kinetis M0+ FAQ_软件开发环境 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 那么,您能否用英语表达出来,以便我们都能理解您的意见?
View full article
NXP基于模型的S32M2xx设计工具箱——版本1.0.0 产品发布公告 汽车处理 恩智浦基于模型的设计工具箱 适用于 S32M2xx – 版本 1.0.0树脂经延展 恩智浦半导体汽车处理基于模型的设计工具团队很高兴地宣布发布适用于 S32M2xx 版本 1.0.0 的基于模型的设计工具箱。此版本支持从 MATLAB/Simulink 为 NXP S32M2xx 汽车微处理器自动生成 S32M2xx 外设的代码和应用程序原型。该新产品基于 RTD MCAL 组件(ADC、AE、DIO、CAN、DPGA、GDU、GPT、MCL、PWM、MCU、PORT、QDEC、UART)增加了对 S32M41、S32M242、S32M43、S32M244、S32M274、S32M276 MCU 及其部分外设的支持。在此版本中,我们还添加了对 FreeMASTER、AMMCLib 和 MATLAB 最新版本的支持。该产品附带 60 多个示例,涵盖所有支持的外设,以及 Simulink 仿真模式软件在环、处理器在环和外部模式。 目标受众: 该产品是汽车软件 - S32M2 标准软件包的一部分。 FlexNet 位置: https://nxp.flexnetoperations.com/control/frse/download?element=3785898 技术支持: 针对 S32M2xx 问题的 NXP 基于模型的设计工具箱将通过 NXP 基于模型的设计工具社区空间进行跟踪。 https://community.nxp.com/community/mbdt     版本内容 针对 NXP S32M2xx 衍生产品,从 MATLAB ®自动生成 C 代码: S32M241 S32M242 S32M243 S32M244 S32M274 S32M276 支持以下外设(MCAL 组件): ADC AE DIO CAN DPGA GDU GPT MCL PWM MCU PORT QDEC UART 提供两种操作模式: 基础模式——使用外设的预配置配置;适用于快速硬件评估和测试 高级——使用 S32 配置工具或 EB Tresos 配置外设/引脚/时钟 集成汽车数学和电机控制库版本 1.1.34: 汽车数学和电机控制函数库v1.1.34 中的所有函数作为模拟和嵌入式目标代码生成的块来支持。 与 FreeMASTER 集成 我们提供了多个 Simulink 示例模型和相关的 FreeMASTER 项目,以演示我们的工具箱如何与实时数据可视化工具交互,以及如何用于调整嵌入式软件应用。 支持 MATLAB ®版本 R2021a R2021b R2022a R2022b R2023a R2023b 支持自定义板初始化 Toolbox 按照 Board Initialization 窗口中的配置生成组件的外围设备初始化函数调用,这些函数调用可以根据每个 Simulink 模型进行定制。此功能允许用户为组件初始化、自定义代码序列的插入设置自定义顺序,或通过导出和导入功能与多个 Simulink 模型共享自定义初始化。     支持自定义默认项目配置 该工具箱为用户创建自定义默认项目配置提供支持。这在定制电路板设计时非常有用——只需要创建一次硬件配置。将其保存为自定义默认项目后,它可以用于正在开发的每个模型。 与S32配置工具版本v1.7集成:     与 S32 Design Studio 集成 该工具箱会自动在 Simulink 模型位置旁边生成 _Config 文件夹,让用户可以轻松地将 Simulink 生成的代码导入 S32 Design Studio。每次生成代码时, _Config 文件夹都会根据新的更改进行更新。该工具箱还提供了一种启动 S32 Design Studio 实例的机制,并在 S32DS 的 Project Explorer 选项卡中导入生成的代码项目。 仿真模式: 我们支持以下仿真模式(每种模式均有助于验证和确认): 软件在环 (SIL) 处理器在环 (PIL) 外部模式 支持 PIL 模式下的分析: 每个受支持的外设/功能的示例: 我们添加了60 多个示例,包括: CDD 块(Ae、Dpga、Gdu、Mcl、Qdec) 通信(CAN、UART) AMMCLib IO Blocks (Adc, Dio, Pwm) ISR 块(硬件中断处理程序) MCAL 块(Gpt) 实用程序块(FreeMASTER) 软件在环/处理器在环/外部模式 有关更多详细信息、功能以及如何使用新功能,请参阅随附的《版本说明》文档。   MATLAB® 集成 NXP 基于模型的设计工具箱扩展了 MATLAB ®和 Simulink ®体验,允许客户评估和使用 NXP 的 S32M2xx MCU 和开箱即用的评估板解决方案: 基于模型的设计工具箱 S32M2xx 版本 1.0.0在安装方面与 MATLAB ®环境完全集成:   目标受众 此版本(1.0.0)旨在用于技术演示、评估目的以及 S32M2xx MCU 和评估板的原型设计。   有用的资源 示例、培训和支持: https://community.nxp.com/community/mbdt 回复:基于 NXP 模型的 S32M2xx 设计工具箱 - 版本 1.0.0 当我点击以下“转到 NXP 下载站点”按钮时: 它将我重定向到以下页面: 您能提供我可以下载 S32M2xx 基于模型的设计工具箱的位置吗? 回复:基于 NXP 模型的 S32M2xx 设计工具箱 - 版本 1.0.0 S32M2,不带外部升压电源吗? 回复: NXP 基于模型的设计工具箱(适用于 S32M2xx)– 版本 1.0.0 当我点击这个 Matlab 脚本上的链接时,我仍然找不到正确的 URL。 回复: NXP 基于模型的设计工具箱(适用于 S32M2xx)– 版本 1.0.0 你好,我也遇到了同样的问题。点击这个链接https://nxp.flexnetoperations.com/control/frse/download?element=3785898还是会跳转到账户信息界面,我找不到正确的网址。而且,在此之前我已经登录过我自己的账户。 首先,我点击这个链接: 然后, 结果是无法重定向正确的 URL。 回复:基于 NXP 模型的 S32M2xx 设计工具箱 - 版本 1.0.0 你好@SmallWhite , 发布后我们需要花一点时间来更新 NXP.com 网站上的所有文档。FlexNET 位置网址上提供了适用于 S32M2xx 的 MBDT 的发行说明以及快速入门指南:此处: https://nxp.flexnetoperations.com/control/frse/download ?element=3785898 请在访问此链接之前登录 NXP.COM。 回复: NXP 基于模型的设计工具箱(适用于 S32M2xx)– 版本 1.0.0 当我点击这段文字中的网址时,我总是会重定向到我的个人页面,而无法转到真正的网址。 我想知道是否有类似的 s32m244 快速参考指南?
View full article
罐头连接 Hi , 我有一块 IMX6 ULL evk 板。我的理解是它具有 CAN 功能。 有人可以告诉我将 DB-9 连接器连接到电路板的连接器吗?另外,如果盒子附带的基本图像启用了 CAN,如果没有,如何启用它。 提前致谢, 阿苏尔 i.MX6UL 回复:CAN 连接 Hello,  如果您要查找确切的零件编号,则是 WF1250801200,但它似乎已不再生产。 您可以参考此链接查看9 针 D 型连接器的引脚排列。 顺祝商祺! Salas. 回复:CAN 连接 Hi @Manuel_Salas , 如果您不能给我提供连接器。您能告诉我8针端口中每个针脚的用途吗?例如 CAN0_H 代表哪个引脚、CAN0_L 代表哪个引脚等等。 谢谢! 阿苏尔 回复:CAN 连接 Hi @Manuel_Salas , 谢谢您的回复。我希望使用连接器将 imx6ull 板端口连接到 DB-9 连接器,因为电路板的包装中没有附带连接器。 提前感谢! 阿苏尔 回复:CAN 连接 你好@athul_am 所有 i.MX 6 均支持一个 CAN,并在 i.MX 6SABRE-AI 上使用默认设备树。支持使用 FlexCAN 设备树的两种 CAN,但与 FEC 存在引脚冲突。支持 i.MX 6SoloX-SD、7Dual SABRE-SD、6Ultre Lite EVK 和 6ULL EVK 上的默认设备树。通过支持FlexCAN模块的平台,FlexCAN支持CANFD模式。 您还可以查看表格 42。IMX 参考手册上的 FlexCAN 驱动程序文件。 此外,i.MX6ULL 通过 J1201 端口提供 CAN 访问。 顺祝商祺! Salas.
View full article
bossac_windows.zip <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 适用于 UDOO 的 Arduino IDE 补丁 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 适用于 UDOO 的 Arduino IDE 补丁 研讨会文件
View full article
Freescale's commonly used offline programming tools <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 1. CycloneMAX, Support Kinetis, ColdFire V2/V3/V4, Power MPC5xx/8xx, Qorivva MPC5xxx, DSC, MAC7xxx PE Micro, http://www.pemicro.com/ 2. Flasher ARM Supports the full range of ARM cores, including the traditional ARM7, ARM9 and ARM11, as well as the new Cortex-A, Cortex-M and Cortex-R series, and can power the target board.    Segger, SEGGER - The Embedded Experts - Flasher ARM 3. Flasher Portable Supports the full range of ARM cores, including the traditional ARM7, ARM9 and ARM11, as well as the new Cortex-A, Cortex-M and Cortex-R series, battery-powered, portable programmer.    Segger, SEGGER - The Embedded Experts-Flaser Portable 4. SmartPRO Supports Kinetis, S12, S12X, ColdFireV2. Zhou Ligong, http://www.zlgmcu.com/ 5. MCP-104    支持飞思卡尔ARM based Microcontroller Kinetis.    祥佑科技(Micetek), http://www.micetek.com 6.Xeltek programmer, http://www.xeltek.com 7. Hilo programmer, http://www.hilosystems.com.tw Kinetis Hardware Support
View full article
LS1043ARDB - 如何在 SD 卡上部署 TF-A 二进制文件 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Cortex-A 可信固件 (TF-A) 是 EL3 安全固件的一个实现。TF-A 在安全固件中取代了 PPA 的角色。 请注意,本主题中列出的步骤只能使用LSDK 18.12 及更新版本执行。                                                      要从之前的启动流程(带PPA)迁移到TF-A启动流程,您需要编译TF-A二进制文件,bl2_ . pbl和fip.bin,并将这些二进制文件刷写到主板上的特定启动介质上。 对于 SD 启动,您需要编译以下 TF-A 二进制文件。 TF-A 二进制名称 组件 bl2_sd.pbl BL2 二进制:平台初始化二进制 用于 SD 启动的 RCW 二进制文件 fip.bin BL31:安全运行时固件 BL32:可信操作系统,例如OPTEE(可选) BL33:U-Boot/UEFI 镜像 按照以下步骤编译和部署 TF-A 二进制文件( bl2_sd.pbl 和 SD 卡上有 一个名为 fip.bin 的文件 。 从 RCW 源文件编译 PBL 二进制文件 编译 U-Boot 二进制文件 [可选] 编译 OPTEE 二进制文件 编译 TF- A 二进制文件( bl2_sd.pbl 和 fip.bin) 用于 SD 启动 将 TF-A 二进制文件烧录到 SD 卡 第 1 步:从 RCW 源文件编译 PBL 二进制文件 您需要编译rcw_1600_sdboot.bin二进制文件来构建bl2_sd.pbl二进制文件。 克隆rcw仓库并编译 PBL 二进制文件。 $ git clone https://source.codeaurora.org/external/qoriq/qoriq-components/rcw $ cd rcw $ git checkout -b   . 例如,$ git checkout -b LSDK-19.03 LSDK-19.03  $ cd ls1043ardb 如果需要,请对 rcw 文件进行更改。 $ make 适用于LS1043ARDB 上的 SD 启动的已编译 PBL 二进制文件rcw_1600_sdboot.bin可在rcw/ls1043ardb/RR_FQPP_1455/中找到。  请参阅 rcw/ls1043ardb/README 文件,了解包含 RCW 源代码和二进制文件的目录命名规范。 步骤 2:编译 U-Boot 二进制文件 您需要编译u-boot.bin二进制文件以构建 fip.bin二进制文件。 克隆 u-boot 仓库,并为 TF-A 编译 U-Boot 二进制文件。 $ git clone https://source.codeaurora.org/external/qoriq/qoriq-components/u-boot.git $ cd u-boot $ git checkout -b LSDK- . 例如, $ git checkout -b LSDK-19.03 LSDK-19.03 $ export ARCH=arm64 $ export CROSS_COMPILE=aarch64-linux-gnu- $ make distclean $ make ls1043ardb_tfa_defconfig $ make 如果make命令显示错误 “*** 您的 GCC 版本早于 6.0 且不受支持” ,请确保您使用 Ubuntu 18.04 64 位版本来构建 LSDK 18.12 U-Boot 二进制文件。                                                      编译后的 U-Boot 二进制文件u-boot.bin,可在 u-boot/目录中找到。 第三步:[可选]编译OPTEE二进制文件 要使用OPTEE生成FIP.bin, 您需要编译tee.bin二进制文档。不过,OPTEE是可选的, 如果您想在不使用OPTEE的情况下编译FIP二进制文档, 可以跳过编译OPTEE的步骤。 克隆optee_os存储库并构建OPTEE二进制文件。 $ git clone https://source.codeaurora.org/external/qoriq/qoriq-components/optee_os $ cd optee_os $ git checkout -b LSDK-. . 例如, $ git checkout -b LSDK-19.03 LSDK-19.03 $ export ARCH=arm $ export CROSS_COMPILE=aarch64-linux-gnu- $ make CFG_ARM64_core=y PLATFORM=ls-ls1043ardb $ aarch64-linux-gnu-objcopy -v -O binary out/arm-plat-ls/core/tee.elf out/arm-plat-ls/core/tee.bin 编译后的OPTEE镜像tee.bin可在 optee_os/out/arm-plat-ls/core/处获取。 步骤 4:编译 TF-A 二进制文件以进行 SD 启动 克隆 atf 存储库并编译 TF-A 二进制 文件 bl2_sd.pbl 和 fip.bin 。 $ git clone https://source.codeaurora.org/external/qoriq/qoriq-components/atf $ cd atf $ git checkout -b LSDK-. 例如, $ git checkout -b LSDK-19.03 LSDK-19.03 $ export ARCH=arm64 $ export CROSS_COMPILE=aarch64-linux-gnu- Build BL2 binary with OPTEE. $ make PLAT=ls1043ardb bl2 SPD=opteed BOOT_MODE=sd BL32= / tee.bin pbl RCW= /rcw_1600_sdboot.bin 编译后的 BL2 映像bl2.bin和bl2_sd.pbl可在atf/build/ls1043ardb/release/处找到。 对于 BL2 源代码或 RCW 二进制文件的任何更新,都需要重新编译bl2_sd.pbl二进制文件。 在没有OPTEE的情况下编译BL2二进制文件: $ make PLAT=ls1043ardb bl2 BOOT_MODE=sd pbl RCW= / rcw_1600_sdboot.bin                  使用OPTEE构建FIP二进制文件 ,无需可信板启动。 $ make PLAT=ls1043ardb fip BL33= /u-boot.bin SPD=opteed BL32= /tee.bin 编译后的 BL31 和 FIP 二进制文件,bl31.bin,fip.bin,可在 atf/build/ls1043ardb/release/ 获取。 对于 BL31、BL32 或 BL33 二进制文件的任何更新,需要重新编译 fip.bin二进制文件。 要编译不包含OPTEE且不依赖可信板启动的FIP 二进制文件: $ make PLAT=ls1043ardb fip BOOT_MODE=sd BL33= / u-boot.bin 要编译带有可信板启动的 FIP 二进制文件,请参阅 /plat/nxp/README.TRUSTED_BOOT 中的说明                               步骤 5:将 TF-A 二进制文件烧录到 SD 卡 引导 LS1043ARDB从 NOR 闪存启动。确保开关设置为从 NOR 组 0 启动。从 NOR bank 0 ,开关设置如下: SW3[1:8] = 10110011 SW4[1:8] = 00010010 SW5[1:8] = 10100010 从 NOR bank 0 启动:=> cpld reset 对于 LS1043ARDB,在启动日志中,您会看到: 板:LS1043ARDB,从vBank 0启动   设置以太网连接 主板启动后,U-Boot 会打印出已启用的以太网接口列表。 FM1@DTSEC1, FM1@DTSEC2, FM1@DTSEC3 [PRIME], FM1@DTSEC4, FM1@DTSEC5 将服务器 IP 地址设置为您已配置 TFTP 服务器的主机的 IP 地址。 => setenv serverip 将ethact和ethprime设置为连接到 TFTP 服务器的以太网接口。 请参阅 LS1043ARDB Ethernet 和 FMC 端口映射 ,以了解机箱前面板上显示的以太网端口名称与 U-Boot 和 Linux 中端口名称的映射。                                                   => setenv ethprime 例如: => setenv ethprime FM1@DTSEC4 => setenv ethact 例如: => setenv ethact FM1@DTSEC4 设置电路板的IP地址。您可以设置静态IP地址,或者如果主板可以连接到DHCP服务器,您可以使用 dhcp 命令。 静态 IP 地址分配: => setenv ipaddr => setenv netmask 动态 IP 地址分配: => dhcp 保存设置。 =>  saveenv 检查电路板与 TFTP 服务器之间的连接。 => ping $serverip 使用 FM1@DTSEC4 设备 主机 192.168.1.1 是活跃的。   从TFTP服务器加载TF-A二进制文件 有关 TF-A 二进制文件的闪存映像布局的详细信息,请参阅LSDK 启动流程的内存布局。                               Flash bl2_sd.pbl: => tftp 82000000 bl2_sd.pbl => mmc 写入 82000000 8 此处,blk_cnt指的是根据文件大小需要在SD卡上写入的块数量。 例如,当您从 TFTP 服务器加载bl2_sd.pbl时,如果传输的字节数为82809(十六进制 14379) ,则blk_cnt 的计算方式为“ 82809/512 = 161(十六进制 A1)”+“用于向上舍入的几个扇区,以免遗漏最后一个块” 。因此,如果您按 10(A 十六进制)扇区向上舍入,则对于此示例,mmc 写入命令将为: => mmc write 82000000 8 AB Flash fip.bin: => tftp 82000000 fip.bin => mmc 写入 82000000 800 此处,blk_cnt 指的是根据文件大小需要在 SD 卡上写入的块数量。 例如,当您从 TFTP 服务器加载fip.bin时,如果传输的字节数为1077157(十六进制 106fa5) ,则blk_cnt 计算公式为“ 1077157 / 512 = 2103(837 十六进制)” + “用于向上舍入的几个扇区,以免遗漏最后一个块” 。因此,如果您按 10(A 十六进制)扇区向上舍入,则在此示例中,mmc write 命令将为:=> mmc write 82000000 800 841 从 SD 卡 启动 : => cpld reset sd LS1043ARDB 将使用 TF-A 启动。在启动日志中,您将看到: 注意:已修复主板上的 DDR 注意:2 GB DDR4,32 位,CL=11,ECC 关闭 注意:BL2:v1.5(发布):LSDK-19.03 通知:BL2:建造时间:2019年5月28日 14:59:48 注意:BL31:v1.5(发布):LSDK-19.03 通知:BL31:建造时间:2019年5月28日 15:07:21 通知:欢迎来到 LS1043 BL31 阶段 U-Boot 2018.09(2019 年 5 月 23 日 - 14:35:16 +0530) SoC:LS1043AE Rev1.1(0x87920011) 时钟配置: CPU0(A53):1600 MHz CPU1(A53):1600 MHz CPU2(A53):1600 MHz CPU3(A53):1600 MHz 总线:400 MHz DDR:1600 MT/s FMAN:500 MHz 复位配置字(RCW): 00000000: 08100010 0a000000 00000000 00000000 00000010: 14550002 80004012 60040000 c1002000 00000020: 00000000 00000000 00000000 00038800 00000030: 00000000 00001100 00000096 00000001 型号:LS1043A RDB板 主板:LS1043ARDB,从 SD 启动 QorIQ LS1设备
View full article
NXP 电池管理系统基于模型的设计工具箱 - 版本 1.0.0EAR 产品发布公告 汽车处理 恩智浦基于模型的设计工具箱 适用于 BMS - 版本 1.0.0 EAREAR NXP 半导体汽车处理器与基于模型的设计工具团队欣然发布 BMS 基于模型的设计工具箱 1.0.0 EAR 版本。此版本是 NXP S32K3xx 1.4.0 基于模型设计工具箱的附加组件,支持从 MATLAB/Simulink 自动生成电池单元控制器和应用程序原型。该新产品基于 BMS SDK 组件(Bcc_772c、Bcc_772c_SL、Bcc_775a、Bms_TPL3_SL_E2E、Bms_common、Phy_665a),新增对 MC33775A、MC33772C、MC33665A 电池控制器及其部分外设的支持。在此版本中,我们已添加了与 S32K3xx 基于模型的设计工具箱 1.4.0 的集成,新增对 BMS SDK 1.0.1 的支持,并提供对 MATLAB 最新版本的兼容支持。产品内置针对 NXP 高压 BMS 参考设计板的电池控制器应用示例。 目标受众: 该产品是汽车 SW(基于模型的设计工具箱)的一部分。 FlexNet 位置: https://nxp.flexnetoperations.com/control/frse/download?element=3720278 技术支持: 恩智浦电池管理系统(BMS)基于模型的设计工具箱相关问题将通过恩智浦基于模型设计工具社区空间进行跟踪。 https://community.nxp.com/community/mbdt 发布内容: 从MATLAB®自动生成C代码用于NXP电芯控制器衍生产品: MC33775A MC33772C MC33665A 支持以下外围设备(BMS SDK组件): Bcc_775a Bcc_772c Bms_Common Bms_TD_handler Bcc_772c_SL Bcc_TPL3_SL_E2E 支持MC33775A和MC33772C电池单元控制器及MC33665PHY 该工具箱支持 MC33775A、MC33772C 和 MC33665。MC33775A 和 MC33772C 是专为汽车应用设计的锂离子电池单元控制器 IC,能够对电池单元的差分电压和电池温度进行 ADC 转换,而 MC33665 是一款收发器物理层变压器驱动器,设计用于通过高速隔离通信网络将微控制器与电池单元控制器连接。MBDT for S32K3 提供的现成示例展示了如何通过 MC33665 收发器在 S32K344、MC33775A 和 MC33772C 之间进行通信。对于MC33775A,示例展示了如何配置电池单元控制器以执行主链和次链转换,并从MC33775A读取电池单元电压转换结果。而对于MC33772C,示例展示了如何配置电池单元控制器以读取电流。所有转换后的值均通过FreeMASTER应用程序显示给用户。 支持的BMS SDK版本(1.0.1) 支持 MATLAB 版本 我们增加了对以下 MATLAB 版本的支持: R2021a R2021b R2022a R2022b R2023a 支持的功能示例: MC33775A 配置和数据采集示例 MC33772C 配置和数据采集示例 RD-HVBMSCTBUN 配置和数据采集示例 有关更多详细信息、功能以及如何使用新功能,请参阅随附的《版本说明》文档。 MATLAB ®积分: NXP基于模型设计工具箱扩展了MATLAB®和Simulink®的使用体验,使客户能够评估和使用NXP的电池单元控制器与S32K3xx微控制器及评估板解决方案,实现开箱即用: NXP Model-Based Design Toolbox for BMS 1.0.0 版在安装方面与 MATLAB® 环境完全集成:     目标受众: 此版本(1.0.0 EAR)旨在用于技术演示、评估目的,以及使用NXP电池单元控制器和S32K3xx微控制器及评估板进行电池管理系统的原型设计。 有用的资源: 示例、培训和支持: https://community.nxp.com/community/mbdt  
View full article
[802.11] Wi-Fi接続/切断プロセス 802.11 標準では、接続手順には、デバイスを Wi-Fi ネットワークの一部にし、ネットワーク内で通信するために実行する必要がある 3 つの主要な手順が含まれています。その3つのステップは、デバイスの検出(スキャン)、デバイス認証(接続前に互換性機能などを確認する)、そして最後に接続を確立する(関連付け)です。今後、この投稿では各ステップの詳細を提供します。接続手順でのメッセージのやり取りを以下に示します。   図 1.オープンシステムでの接続プロセス   図 2.接続プロセスでのメッセージ交換 図2は、接続時のクライアントとAPデバイス間のメッセージ交換手順のWi-Fiスニファログを示しています(ここでは、クライアントデバイスはXiaomi、APはMarvellデバイスです。 接続設定プロセス 1. スキャン ネットワークに参加するには、まずクライアントまたはステーションがネットワークを見つける必要があります。有線ネットワークでは、ケーブルまたはジャックを差し込むだけでネットワークが見つかります。ワイヤレスの世界では、参加プロセスを開始する前に、互換性のあるネットワークを特定する必要があります。このネットワークの識別プロセスは、 スキャンと呼ばれます。 スキャンプロセスにはいくつかのパラメータが必要です。これらのパラメータは、BSSType、BSSID、チャンネルリスト、スキャンタイプ、MinChannelTime、MaxChannelTimeです。パラメータは、メーカーのWi-Fiドライバに応じてデフォルトとして設定されますが、ユーザーが変更することができます、つまり、要件が非表示のネットワークの場合、アクティブスキャンは非表示のネットワーク(SSIDをブロードキャストしないネットワーク)には役立たないため、scantypeパラメータをパッシブスキャンとして設定できます。 スキャン方法には、パッシブスキャンとアクティブスキャンの2つがあります。 デフォルトでは、無線は、運用国で許可されているすべてのチャネルで両方のタイプのスキャンを実行します。デフォルトではどちらのタイプのスキャンも使用できますが、アクティブスキャンは、地域の政府の規制で送信が許可されているチャネルによってのみ実行されます。ライセンスなしの使用が許可されていないチャンネルは、アクティブスキャンから除外されます。 パッシブスキャン: パッシブスキャンでは、WLANステーションはチャネルリストに従って各チャネルに移動し、ビーコンフレームを待ちます。ビーコンフレームは、アクセスポイント(およびIBSSのステーション)が通信または自身をアナウンスするために使用されます。 アクセス ポイントは、Target Beacon Transmission Time(TBTT)と呼ばれる定義された間隔でビーコンの送信を試みます それにもかかわらず、アクセスポイントはセル内の他のワイヤレスデバイスと同じです。ネットワークがビジー状態の場合、送信できません。APがビーコンを送信する時間になり、ネットワークがビジー状態になると、APはメディアにアクセスできるようになるまでビーコンの送信を遅らせます。 802.11では、ネットワークがビジーかどうかはCSMA/CAプロトコルを使用して確認できます。CSMA/CA では、フレームの準備ができると、送信デバイスはチャネルがアイドル状態かビジー状態かを確認し、衝突を回避します。チャネルがビジー状態の場合、送信デバイスはランダムな時間待機し、チャネルがアイドル状態であるかどうかを再度確認します。チャネルがアイドル状態の場合は、フレームを送信します。ビーコンのフレーム構造は、以下の通りです。 図 3.ビーコンフレーム   ビーコンフレームの必須フィールドの説明。 タイムスタンプ:ビーコンフレームを受信した後、すべてのステーションはこのタイムスタンプでローカルクロックを更新します。これは同期に役立ちます。 ビーコン間隔: ターゲット ビーコン送信時間 (TBTT) 間の時間単位 (TU) の数を表します。デフォルト値は 100TU (102.4 ミリ秒) です。 機能情報:デバイス/ネットワークの機能に関する情報が含まれています SSID:ネットワークのサービスセットIDが含まれています。 サポートされているレート: このフィールドには、アクセスポイントでサポートされているデータレートの情報が含まれています。 この情報は、パッシブ スキャン中に潜在的なクライアントだけでなく、BSS に既に関連付けられているクライアントによっても使用されることに注意してください。 パッシブスキャンは、クライアントがビーコンをリッスンして待つ必要があるのに対し、APを見つけるためにアクティブにプローブするよりも、通常、より時間がかかります。パッシブ スキャンの別の制限は、クライアントがチャネルで十分な時間待機しない場合、クライアントが AP ビーコンを見逃す可能性があることです。 アクティブスキャン: 可能なすべてのチャネルをスキャンし、ビーコンをリッスンしてネットワークを検出することは、あまり効率的ではないと考えられています。この検出プロセスを強化するために、ステーションはアクティブスキャンと呼ばれるものを使用することがよくあります。 アクティブスキャンモードでは、ステーションは引き続き各チャネルを順番に通過しますが、APからの信号を受動的に聞く代わりに、ステーションはこのチャネルで利用可能なネットワークを尋ねることを目的としたプローブリクエスト管理フレームを送信します。IBSS 内の AP またはアクティブ ステーションがその周波数を示している場合は、プローブ応答フレームで応答する必要があります。   図 4. スキャン方法   プローブ要求が発信ステーションによって送信されると、プローブタイマーのカウントダウンが開始され、応答を待ちます。このプローブタイマーの値は、通常、ビーコン間隔よりもはるかに短くなります。一般的な値は 10 ミリ秒の範囲です。タイマーの終了時に、ステーションは受信した回答を処理します。応答が受信されなかった場合、ステーションは次のチャネル(異なる周波数)に移動し、同じ検出プロセスを繰り返します。 プローブ要求の目的は、通常、AP とそれがサポートするネットワーク (SSID や BSSID) を検出することです。 図 5. プローブ要求/応答フレーム このフレームには、主に SSID と移動局がサポートするレートの 2 つのフィールドが含まれています。プローブ要求を受信したステーションは、この情報を使用して、要求元のステーションがネットワークに参加できるかどうかを判断します。 プローブ応答フレームフィールドは、モバイルステーションがパラメータを一致させてネットワークに参加できるようにするビーコンフレームフィールドと非常によく似ています。   2. 認証 プローブ要求/プローブ応答交換、またはビーコンのリッスンによってネットワーク検出を実行した後、ネットワークに参加したいステーションは、アクセスポイントと認証フレームを交換する認証プロセスを通過します。認証フレームを受信すると、APは確認応答を送信し、次に認証応答を送信します。 「認証」フレームの最初の目的は、デバイス タイプを検証すること、つまり、要求元のステーションがネットワークに参加するための適切な 802.11 機能を持っていることを確認することです。 オープンシステム認証:機能に関連する情報は、認証リクエストを使用してステーションとAP間で交換されます。要求が受け入れられると、APは認証応答で「成功」を送信します。 共有キー認証:IEEE 802.11-1997標準には、「共有キー」と呼ばれるWEP共有キー交換認証メカニズムが含まれていました。この共有キー交換により、デフォルトのオープンシステム認証にさらに 2 つのフレームが追加され、4 フレームの交換が行われます。この後者の方法は共有キー認証と呼ばれ、WEP 暗号化の使用が必要であり、現在では広く使用されていません (また、推奨されません)。 認証の第 1 フェーズは上記で説明されていますが、WPA または WPA2 が使用されている場合は、認証の第 2 フェーズ (つまり、4-way handshakeing process) は、デバイスが関連付けられた後に行われます。 オープンシステム認証と共有鍵認証の詳細については、802.11 セキュリティの投稿 を参照してください。 図 6.認証フレーム 上記のように、認証フレームは次のフィールドで構成されています。 認証アルゴリズム番号: オープン システムの場合は 0、共有キーの場合は 1。 認証トランザクション シーケンス番号: 進行状況の現在の状態を示します。 ステータスコード: 成功の場合は 0、未指定の失敗の場合は 1。 Challenge Text: Shared Key Authentication frameで使用されます。 3. 協会 802.11 認証フェーズが成功の結果で完了すると、ステーションはアソシエーション フェーズに移行します。この交換の目的は、ステーションがネットワークに参加し、アソシエーションID[AID]を取得することです。 関連付けリクエスト: アソシエーション フェーズで送信される最初のフレームは、要求側ステーションから AP(または IBSS 内のステーション)に送信されます。このフレームはアソシエーション要求フレームであり、このフレームの応答はアソシエーション応答フレームです。 アソシエーション要求はユニキャスト管理フレームであり、常に確認応答されます。 図 7.関連付けリクエスト 関連付けの応答: アソシエーション要求が確認されると、AP は要求の各フィールドを調べ、それらがすべて自身の 802.11 パラメータと一致することを確認します(図 6 を参照)。パラメータが一致しない場合、APはその違いがブロッキングであるかどうかを確認し、それに基づいてAPが認証応答を送信します。 - パラメータの差がブロックされている場合は、ステータスコード 1 のレスポンスが送信されます (関連付けを拒否するため)。 - ノンブロッキング差分/パラメータに差分がない場合、ステータスコード0(成功)とAP独自のパラメータの応答がリクエストステーションに送信されます。ステーションは AP の機能と互換性がある必要があり、互換性がないと、関連付けプロセスが終了し、別の AP の検索が開始されます。 図 8.アソシエーションレスポンス 接続のティアダウン アソシエーション解除:ステーションがAPに関連付けられると、どちらの側もアソシエーション解除フレームを送信することで、いつでもアソシエーションを終了できます。 ステーションは、現在のネットワークを離れて別のAPをローミング/参加する前に、Disassociation frameを送信できます。 APは、ステーションが無効なパラメータを使用しようとした場合、AP自体が設定変更中、ハッカーの攻撃など、さまざまな場合にこのフレームを送信できます。 アソシエーション解除フレーム(DA)は、アソシエーションを解除するステーションのユニキャストMACアドレス、またはAPがネットワーク内のすべてのステーションのアソシエーションを解除する必要がある場合のブロードキャストアドレスです。ユニキャストフレームの場合、フレームは受信局によって確認され、ブロードキャストフレームは確認されません。 図 9.アソシエーション解除フレーム Disassociation フレームは非常に小さいです。これには、「理由コード」というフィールドが 1 つだけ含まれています。 関連付けが解除されたステーションは、引き続き認証されます。新しい Association リクエスト フレームを送信して、認証済みステータスを保持したまま、再関連付けを試みることができます。別のセルにローミングするステーションは、認証されたステータスを保持し、認証タイムアウトが期限切れになる前に同じセルに戻るときにプロセスを加速できるように、関連付け解除フレームを使用することも選択できます。   図 10.アソシエーション解除フレーム交換   このフレームは、パラメータが変更され、ステーションまたは AP が通信パラメータを再ネゴシエートする必要がある場合にも使用されます。   認証解除:ステーションまたは AP は、認証解除フレームを送信することもできます。このフレームは、AP の再起動が必要な場合や、ステーションが Wi-Fi 通信を停止した場合など、すべての通信が終了した場合に使用されます。 また、認証が完了する前にフレームを受信した場合にも使用されます。たとえば、認証シーケンスを実行する前にアソシエーション要求またはデータ フレームを送信しようとするステーションは、AP から認証解除フレームを受信し、認証を最初に実行する必要があることを示します。フレーム形式は、関連付け解除フレームと同じです。 図 11.認証解除フレーム交換   ローミング ローミングとは、802.11 ワイヤレス ネットワークのコンテキストでは、クライアントが確立された Wi-Fi ネットワークの関連付けを、接続を失うことなく、同じ拡張サービス セット (ESS) 内の 1 つのアクセス ポイントから別のアクセス ポイントに移動するプロセスです (例:定義された時間間隔内、通常は数秒の範囲)。パフォーマンスを向上させるには、ローミング時間を短くする必要があります。 ローミング プロセスでは、モバイル デバイスは関連付け解除フレームを以前に関連付けられたアクセス ポイント(AP)に送信し、デバイスが接続する別のアクセス ポイントと 802.11 フレームを交換することで再関連付けプロセスを開始します。クライアントデバイスは別のAPをスキャンし、認証フレームを交換した後、再アソシエーション要求を送信しますが、ここではアソシエーションの代わりに再アソシエーション要求が使用され、接続プロセスの最初の2つのステップは同じままです。 図 12.ローミング プロセスでのメッセージ交換     図 13.ローミング表現   接続と切断のプロセスで使用されるWi-Fi API 次の表は、NXP i.MX RT SDKで接続および切断プロセスに使用できるAPIの一部を示しています。   テーブル 1.SDK で使用できる API API 形容 から呼び出すことができます wifi_send_scan_cmd 使用可能なネットワークをスキャンするために使用されます。単一のSSIDベースのスキャンのみをサポートします。これを複数のSSIDのリストに拡張できます。 ステーションとAP wlan_add_network 既知のネットワークのリストに特定のネットワークプロファイルを追加します。 ステーションとAP wlan_remove_network 既知のネットワークのリストから特定のネットワークプロファイルを削除します。 ステーションとAP wlan_connect 特定のネットワーク(AP)に接続します。 駅 wlan_disconnect ステーションをネットワーク(AP)から切断します。 駅 wlan_start_network 特定のネットワークを開始します。 AP wlan_stop_network 特定のネットワークを停止します。 AP このようなAPIの詳細については、ドキュメント「MCUXpresso_SDK_WLAN_Driver_Reference_Manual.pdf」を参照してください。場所 /docs/wifi から入手できます。
View full article
spi nor デモ imx8qxpc0 mek 内のすべて (ブートローダー、デバイスツリー、Linux カーネル、rootfs) SPI内のすべて(ブートローダー、デバイスツリー、Linuxカーネル、rootfs)のデモです。これを実現するために、生の読み取り(sf read)/生の書き込み(uuuスクリプト内のsf write)を使用します。 sf probe 0; sf read ${fdt_addr} 0x500000 0x100000; sf read ${loadaddr} 0x600000 0x1E00000; sf read ${initrd_addr} 0x2400000 0x600000; setenv bootargs console=${console},${baudrate} earlycon=${earlycon},${baudrate} rdinit=/linuxrc; booti ${loadaddr} ${initrd_addr} ${fdt_addr} |-- 0001-all-in-spi-demo-lf-5.10.72-2.2.0.patch --- このデモ用のパッチ |-- demo_binary | |-- flash.b0.bin --- b0 ブートローダー | |-- flash.bin --- c0 ブートローダー | |-- Image-imx8qxpc0mek.bin --- Linux カーネル | |-- imx8qxp-mek.dtb --- デバイスツリー | |-- uramdisk_boot.rootfs.aarch64.img --- RAMディスク | |-- uuu.qspi.all.b0.uuu --- b0用 uuu スクリプト | `-- uuu.qspi.all.uuu --- c0用 uuu スクリプト `-- readme.txt --- このファイル # 使用される SPI レイアウトは次のとおりです: # - --------- -------------------------------------------- # | | flash.bin | env | dtb | Image | rootfs | # - --------------- -------------------------------------- # ^ ^ ^ ^ ^ ^ ^ # | | | | | | | # 0 4kiB 4MiB 5MiB 6MiB 36MiB 42MiB 0x1000 0x400000 0x500000 0x600000 0x2400000 テスト: HW: i.MX8QXP MEK SW: lf-5.10.72-2.2.0 + 0001-all-in-spi-demo-lf-5.10.72-2.2.0.patch テストログ: SF: mt35xu512aba をページサイズ 256 バイト、消去サイズ 128 KiB、合計 64 MiB で検出 デバイス 0 オフセット 0x500000、サイズ 0x100000 SF: 1048576 バイト @ 0x500000 読み取り: OK デバイス 0 オフセット 0x600000、サイズ 0x1e00000 SF: 31457280 バイト @ 0x600000 読み取り: OK デバイス 0 オフセット 0x2400000、サイズ 0x600000 SF: 6291456 バイト @ 0x2400000 読み取り: OK [ 4.787552] imx6q-pcie 5f010000.pcie:PCIeポートを追加できません。 [ 4.797467] 未使用のカーネルメモリを解放中:2944K [ 4.807379] initプロセスとして /linuxrc を実行 syslogdの起動:OK klogdの起動:OK sysctlの実行:OK ネットワークの開始:OK /bin/sh:ttyにアクセスできません。ジョブ制御がオフになっています / # i.MX 8ファミリ | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano i.MX6 全て Linux
View full article
IMX8 SAI TDM16 の問題 IMX8Nano カーネル 5.15 カスタム ボードを使用していますが、SAI5 の TDM16 に問題があります 問題は、TDM 16 ストリームの場合、チャンネルがランダムに 8 チャンネルずつ切り替わることです。カーネルトレースを追加し、fsl_saiドライバーから次のデバッグを確認します if (フラグ & FSL_SAI_CSR_FEF) { dev_dbg(dev, "isr: 送信アンダーランを検出しました\n"); ドライバーはこの状態で FIFO リセットを実行する必要がありますが、これは発生しないか、効果がありません。 次にアンダーランが発生したときに、16 チャンネル構成で常に 8 チャンネルアウトのステップインとして、チャンネルは再調整されます。 SAI はスレーブ モードであり、送信回線のみがアクティブになっています。 &sai5 { #sound-dai-cells = <0>; pinctrl-names = "デフォルト"; ピンctrl-0 = <&pinctrl_sai5>; fsl,dataline = <0 0x00 0xff>; DMas = <&sdma2 8 24 0>, <&sdma2 9 24 0>; fsl,txmasterflag = <1>; status = "大丈夫"; };   simpl-audio-card f の使用   出力1 {   compatible = "シンプルオーディオカード"; simple-audio-card,name = "SAI51"; シンプルオーディオカード、ステータス="大丈夫"; シンプルオーディオカード、ビットクロックマスター= <&spdif_codec1>; シンプルオーディオカード、フレームマスター= <&spdif_codec1>; シンプルオーディオカード、フォーマット= "left_j";                 CPU1:シンプルオーディオカード、CPU {                 sound-dai = <&sai5>;                 dai-tdm-slot-num = <16>; dai-tdm-slot-width = <32>;         };           spdif_codec1:  simple-audio-card,codec { サウンドダイ= <&codec_out1>;         };                };          codec_out1: 1output_txcodec { #sound-dai-cells = <0>; #address セル= <0>; #size セル= <0>;         compatible = "linux,spdif-dit"; サウンド名プレフィックス= "spdif_codec1"; status = "大丈夫";     };   私たちは、オンライン上のさまざまな投稿からこれに対するいくつかの修正を試しましたが、成功しませんでした。   他の誰かがそのような問題を見ましたか?このアンダーランは、インターアップが早期に発生したため、すべてのチャネルのDMAに十分なデータがないと想定しています。 また、再生ログにエラーはなく、TDM8モードにもエラーはありません。   どんな助けでも大歓迎です。 日時:IMX8 SAI TDM16の問題 私たちは問題を脇に押しやった。しかし、dtsの観点から他の人と共有するために、ここで学んだいくつかの重要な教訓があります。 fsl,dataline = <0 0x00 0xff>; ピン マッピングで複数のデータ行を指定した場合は、この設定に注意してください。この構成を次のものと組み合わせます。 CPU1:シンプルオーディオカード、CPU {                 sound-dai = <&sai5>;                 dai-tdm-slot-num = <16>; dai-tdm-slot-width = <32>;         };   これにより、スロット番号は SAI インターフェイスのチャネルの総数ではなく、データ ラインごとに必要なチャネル数を参照する必要があるため、32 チャネル インターフェイスが作成されます。   したがって、これは基本的に32チャネル操作であり、16しか必要としなかったため、64ビットのDMAが表示されていました。   次のように 4 X TDM4 構成に切り替えました。 4データライン pinctrl_sai5: sai5grp { FSL、ピン = < MX8MN_IOMUXC_SAI2_MCLK_SAI5_MCLK 0xd6 MX8MN_IOMUXC_SAI2_RXC_SAI5_TX_BCLK 0xd6 MX8MN_IOMUXC_SAI2_RXFS_SAI5_TX_SYNC 0xd6 MX8MN_IOMUXC_SAI2_RXD0_SAI5_TX_DATA0 0xd6 MX8MN_IOMUXC_SAI2_TXFS_SAI5_TX_DATA1 0xd6 MX8MN_IOMUXC_SAI2_TXC_SAI5_TX_DATA2 0xd6 MX8MN_IOMUXC_SAI2_TXD0_SAI5_TX_DATA3 0xd6 >; }; サイ5 &sai5 { #sound-dai-cells = <0>; pinctrl-names = "デフォルト"; ピンctrl-0 = <&pinctrl_sai5>; fsl,dataline = <0 0x00 0xff>; DMas = <&sdma2 8 24 0>, <&sdma2 9 24 0>; fsl,txmasterflag = <1>; /delete-property/ fsl,shared-interrupt; status = "大丈夫"; };   カードとコーデック   出力1 {   compatible = "シンプルオーディオカード"; simple-audio-card,name = "SAI51"; シンプルオーディオカード、ステータス="大丈夫"; シンプルオーディオカード、ビットクロックマスター= <&spdif_codec1>; シンプルオーディオカード、フレームマスター= <&spdif_codec1>; シンプルオーディオカード、フォーマット= "left_j";                 CPU1:シンプルオーディオカード、CPU {                 sound-dai = <&sai5>;                 dai-tdm-slot-num = <4>; dai-tdm-slot-width = <32>;         };           spdif_codec1:  simple-audio-card,codec { サウンドダイ= <&codec_out1>;         };              };          codec_out1: 1output_txcodec { #sound-dai-cells = <0>; #address セル= <0>; #size セル= <0>;         compatible = "linux,spdif-dit"; サウンド名プレフィックス= "spdif_codec1"; status = "大丈夫";     }; スロー番号が 4 であることに注意してください。各データラインには、現在4つのデータチャネルがあります。ALSA を使用して、これらをマッピングする必要があります。dmixを使用して8つのステレオを作成しますが、マッピングは次のとおりです。 C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 0    4   8    12  1     5    9    13   2   6    10    14   3     7     11     15 チャネル数は、fls、マルチレーン、および共有割り込みを無効にしなかったため、このようなものです これが他の誰かを助けることを願っています。 日時:IMX8 SAI TDM16の問題 Hello, 更新していただきありがとうございます。 確認のため、SAI Transmit Configuration 3 Register (TCR3) の送信チャネル イネーブル ビットがデザインでイネーブルになっていることを確認してください。 よろしくお願いいたします。 日時:IMX8 SAI TDM16の問題 そのため、16ビットオーディオでテストしましたが、これまでのところエラーはありません。まだ数時間しか経っていないため、テストはソークで実行し続けます。これを本番環境で使用することはできませんが、興味深いテストです。 DMAコントローラーは32ビットなので、16chの32ビットオーディオデータの場合、サンプルあたり64ビットのオーディオについて話しており、2つのDMAスロットを使用し、アンダーランの場合、FIFOは1で同期しなくなり、データの半分を表すため、8チャンネルスイッチになります。 ここで、アンダーランが発生したときの32ビットモードでのfifoリセットについて理解する必要がありますが、これは32ビットのデータのみをクリアし、フルサンプルに関連する64ビットはクリアしないため、これが影響しない理由だと思います。また、これらのアンダーランが発生する理由と、DMA割り込みがシステムに追いつかない理由についても説明します。 日時:IMX8 SAI TDM16の問題 DMIXのような他のAlsaプラグインでも発生するため、DMIX自体を除外しました 日時:IMX8 SAI TDM16の問題 この現在のテスト環境では、alsa 経由でパイプされるオーディオが固定されており、受信側コーデック (clck src) も固定されているため、ビット レートを下げることはできません。別の方法で試してみます。 アップデートとして、マスター モードでクロックを設定しましたが、スレーブ モードではクロックの安定性に関連している可能性があると考えていましたが、これは影響しませんでした。 私たちはalsaで16chと8 X 2chを混在させるdmixプラグインを実行しており、現在調査中です。 日時:IMX8 SAI TDM16の問題 Hello, ビットレートを下げた場合、エラーは発生しますか? よろしくお願いいたします。 日時:IMX8 SAI TDM16の問題 alsa再生ログにエラーはなく、TDM8モードにもエラーはありません。
View full article
S12X PLL(フィルタ)カリキュレータ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 以下は、次の計算に使用できる 2 つのユーティリティです。   - HCS12 デバイスの PLL フィルター コンポーネント値 (例: MC9S12DP256   - S12XE、S12XF、S12XS、S12P、S12HYなどのS12(X)デバイスのPLLレジスタ値   どちらのユーティリティにも、PDF形式の適切なユーザーマニュアルが付属しています。 全般
View full article