Multi Source Translation Content

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Multi Source Translation Content

讨论

排序依据:
使用 Simulink 模型模块异常的 MBDT 工具箱 现在使用 S32k3 的 MBDT 工具,顶层模型包含 MBDT 工具箱模块,顶层模块包含 Simulink 模型模块。使用子系统是正常的。该模型加载了包含纯算法的 SLX 模型,但有两个问题: (1) 在每个算法模型下,都会生成 MBDT 工具箱驱动的 *. c *. h *. o,但理论上讲,纯算法模块没有这些? (2) 在 S32 ds 中编译一次所有生成的代码,并报告图中所示的错误(make:* * No rule to make target'D:/Work/APP.Merge/test260409/s32k3xx_dious32ct_Cnfig/../slprj/ert/_stharedutils/rtwshare d ', needed by' s32k3xx_dious32ct.精灵停止) " make-j8 all " 以退出代码 2 终止。版本可能不完整。),原因何在?
查看全文
获取 TapLinx 许可证密钥时遇到的问题 我正在尝试使用 TapLinx SDK,需要离线 TapLinx 许可证密钥。 项目模式: 11823812 在 "我的项目 "页面,我刚刚创建了一个项目,但忘记将项目名称与应用程序 ID 应用程序 ID。 我把名称改回来了,但还是看不到许可证密钥。然后,我尝试删除文件并创建一个新文件。即使我是单独开发者,它也会提示:"You do not have access to delete the owner's detail record" 。 如何解决这些问题? 我需要什么? 1.验证我的账户为所有者 2. 给我基于项目模式: 11823812 的离线 TapLinx 许可密钥;或帮我删除项目模式: 11823812,让我创建一个新项目 谢谢!
查看全文
i.MX95 EVK(19x19):M7 内核上的 CAN1 不工作 我正试图在 i.MX95 19x19 EVK的M7 内核上使用CAN1来接收/发送 CAN 报文。 我使用的是带有 M7 内核的 i.MX95 EVK (19x19),Yocto Linux 在 A 内核上运行,CAN 路由SW9:3 设置为 ON。 我在 M7 内核上使用了 FlexCAN SDK 示例。通过系统管理器,我使用"mm 0x443c01e0 0x6"和"mm 0x443c01e4 0x6"授予 M7 访问这些引脚的权限,但仍然不起作用。 如何在 i.MX95 的 M7 内核上正确启用 FlexCAN1?是否需要其他配置? Re: i.MX95 EVK (19x19): CAN1 on M7 core not working 确保 M7 真正拥有 FlexCAN1 外设 在 i.MX95 上,每个外设默认都归 SCMI/System Manager 所有。 您必须明确授予 FlexCAN1 寄存器 PER:CAN1(AIPSTZ/外设 ID) FlexCAN1 信息 RAM CAN1_MR(独立外设范围) CAN1 I/O 焊盘 与CAN1_TX和CAN1_RX相对应的 GPIO_IOxx 引脚 您的命令 毫米 0x443c01e0 0x6 毫米 0x443c01e4 0x6 只能修改引脚模式, 不能授予 M7权限。 您必须通过 SCFW(系统控制器固件)申请所有权。 在 Cortex-M7 SDK 示例中,可通过以下方式实现: sc_err_t err; err = sc_rm_get_partition(&ptn); err = sc_rm_assign_resource(ptn, SC_R_CAN_1); err = sc_rm_assign_resource(ptn, SC_R_CAN_1_MEM); 显示更多线条 如果缺少这一步,CAN1 寄存器看似 "工作",但实际上什么也没发生。
查看全文
CAAM 演出 你好 我有一个项目示例(源于 SDK 25.06.00 CAAM 示例),附在后面,我想测量仅计算 CRC 的 CAAM 性能。事实上,当我运行这个示例时,我立刻感觉它太慢了。为此,我使用了DWT->CYCCNT 寄存器。 我还将其与软件实施进行了比较。 我在 RT1170-EVKB 上运行它,得到的结果是这样的:   如果说第一项计算对于 CAAM 这样的加速器来说已经显得太慢(甚至比软件实现还要慢),那么第二项计算就太疯狂了。 有什么问题?也许是 SDK 中的一个错误? 顺祝商祺! 最大值 Re: CAAM performaces 你好@Kan_Li 感谢您的回复。 不幸的是,你的回答恰恰证实了我的担忧:在回复之前,所附项目显然根本没有打开过。 我这样说的原因很简单,也很客观: 该项目已经使用了 CAAM_CRC()。这不是我忽视的理论可能性,也不是我忘记尝试的替代途径。在随附的示例中,它@@ 已经存在了,而这正是我的测量中表现最差的路径。 因此,我想再次澄清,我并没有发布关于如何使用驱动程序的通用问题。我花时间准备并附上了一个源自SDK示例的完整项目,特别是为了让恩智浦的支持人员可以直接构建、运行和验证行为。 我比较了相同 CRC 的计算结果: 软件中 与 CAAM 结果与我报告的问题如出一辙:对于硬件加速器来说,测得的性能出乎意料地差,在其中一个测试案例中,性能比软件实现要差得多。 这就是问题所在。 而不是 "也许可以试试 CAAM_CRC()"。 这已经完成了。 当客户附加一个可随时运行的项目时,通常不会浪费论坛存储空间、网络带宽或任何人的时间。这是因为客户希望支持人员能亲手重现问题,尤其是在项目已经为此最小化的情况下。 也许是我太相信附带的复制项目会在回答之前得到真正的审查。如果是这样,那就是我的责任了。 但如果这就是对附带完整复制器的技术帖子的关注程度,那么坦率地说,许多用户抱怨他们得到的支持质量不高也就不足为奇了。 因此,让我以一种现在不可能被误解的方式来重述这个问题: 所附项目已经使用了 CAAM_CRC()。 我使用 DWT->CYCCNT 测量了周期计数。 我比较了同一目标上的软件 CRC 和 CAAM CRC。 CAAM 的性能比预期的要差,有一次甚至比软件差了一大截。 鉴于这些事实,恩智浦能否采取以下措施之一: 使用所附项目重现结果、 解释管理费用的来源、 说明这是否是 SDK/驱动程序的问题、 或明确说明这些性能指标是预期的。 如果能提供具体的技术分析,我们将非常感激,而不是那些与所附例子本身已经相矛盾的建议。 致以最诚挚的问候, Max Re: CAAM performaces 你好@mastupristi、 SDK 示例使用了单独的 CRC 初始、更新和结束函数。驱动程序确实有一个一次性使用的 CAAM_CRC()函数,可以用来替代它,速度应该会更快。请尝试使用 CAAM_CRC(),并检查是否有任何不同。 祝您愉快, Kan ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"标记正确" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请打开一个新主题并参考已关闭的主题。 ------------------------------------------------------------------------------- Re: CAAM performaces 你好@mastupristi、 对不起,是我不好!我正在查看您与我们分享的另一个 CRCendianess 项目。你们的项目在我的项目视图中靠得太近了,而且它们的 main() 几乎是一样的,......。很抱歉我忽略了这一点!   我刚刚使用不同的 CRC 输入数据长度对您的项目进行了测试,当要 CRC 的数据足够长时,例如您在测试中使用的数据长度的两倍,基于 CRC 初始、更新和结束的硬件计算比软件实现要好,但 CAAM_CRC() 在测试中总是最差的情况。 感谢您的耐心等待! 祝您愉快, Kan ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"标记正确" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请打开一个新主题并参考已关闭的主题。 ------------------------------------------------------------------------------- Re: CAAM performaces 你好@mastupristi、 看来我的主板出了点问题,我刚刚使用另一个 RT1170EVKB 主板得出了以下结果。 你还有其他板可以再试一次吗? 祝您愉快, Kan ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"标记正确" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请打开一个新主题并参考已关闭的主题。 ------------------------------------------------------------------------------- Re: CAAM performaces 你好@Kan_Li 令我担忧的是,在3个板和总共4次测试中,我们看到的行为截然不同,数字也截然不同。 让我们牢记一点:CAAM 是 MCU 的内部外设,它与 MCU 内部的 RAM 相互影响。实际上,板上的哪些外部元器件会以如此显著且不一致的方式影响 CAAM? 在这一阶段,似乎有理由考虑关键问题实际上是否可能在 MCU 方面。 这是我的 EVK 上的照片 另外,能否请您说明一下,您是在什么确切条件下从 3 次测试中得出这些数字的?特别是 使用了哪个板, 安装了哪个 MCU、 以及在设置或条件方面是否存在其他相关差异。 最重要的是,你如何解释我和你的数字之间的差异? 目前我没有其他板可供进一步测试。 此致问候 最大值   Re: CAAM performaces 你好@mastupristi, 我这边的设备是 MIMXRT1176DVMAA/0P94B/CTAS2152A,和你的设备一样,在我的测试中,为了避免任何程序在调试你的代码之前在闪存启动,我将启动模式设置为串行下载模式并在SRAM中运行你的代码。你也这样做了吗?有可能从你这边跨板分享你的结果吗? 顺祝商祺! 坎 Re: CAAM performaces 你好@Kan_Li 我尝试了 "将应用程序链接到 RAM"(项目附后) 通过这种设置,我得到了以下结果: 如您所见,情况有了明显改善,但真正令人惊讶的是,使用 CAAM 进行首次 CRC 计算所需的时间与 SW 版本相同。 使用 CAAM(CAAM_CRC())进行最新的 CRC 计算需要耗费 3.37 亿个周期(以前需要 14.22 亿个周期,因此只减少了 4 倍)。 我设法借到了另一个 EVKB,上面有这个微控制器 结果如下 因此,软件实现在这两个板上的行为完全相同。这并不奇怪,事实上,这正是我所期待的。 第一个 CAAM 所需的时间稍长,而第二个 CAAM 所需的时间要短得多(2.52 亿个周期)。 以下是摘要: SW CRC32 iSCSI SW CRC16 CCITT 硬件 (CAAM) CRC32 iSCSI(分别调用 init、update 和 finalize) 硬件 (CAAM) CRC16 CCITT(调用 CAAM_CRC() 这给我提出了很多问题 这种表现上的不一致性,尤其是第 4 号,令人十分担忧。是什么原因造成的? 与软件实现相比,这种加速器似乎根本没有加快速度。真的是这样吗,还是我遗漏了什么? 此致问候 最大值 Re: CAAM performaces 你好@mastupristi、 我仍在对 4 号检测结果进行内部核查,有更多信息时会通知你们。 对于其他测试,您是否按 SW/HW 计算了更多数据? 在核心上运行的 SW 确实能从缓存中获得一些好处,但当你放入更多数据时,你就会发现其中的差别。 顺祝商祺! 坎 Re: CAAM performaces 你好@mastupristi、 内部之后。经过讨论,我们发现问题是由 DCACHE 失效引起的: DCACHE invalidate 函数会降低函数的性能,因为项目使用了写入缓存 ("CACHE_MODE_WRITE_THROUGH=1") 配置,这也启用了宏 ("CAAM_OUT_INVALIDATE") 。这是在 SDK 示例中实现的,以避免数据一致性问题,主要是在中间件中。由于出现 ERR050396(如下),TCM 无法用于写入。 以下是该功能的测量结果: 在本例中,"输出" 位于非缓存区域,因此无需在该特定函数中进行无效处理。 /*!@brief CRC 的输出缓冲区。*/ uint8_t AT_NONCACHEABLE_SECTION(crc_output[4U]); 因此,当 DCACHE 失效被取消时: 最高优化 -O3 已启用: 考虑到数据访问的限制以及 CAAM 配置结构的处理,在这种情况下,从 ITCM 执行的优化 SW 实现(数据在 DTCM 中,频率为 @800 MHz)可能比 CAAM 更快。我认为,这取决于有效载荷的大小以及 SW 计算是否经常中断的整体应用概念。 顺祝商祺! 坎
查看全文
HSE_IP核无法添加 Hello nxp的技术支持, 我在使用S32DS IDE3.6.2版本,RTD6.0.0版本,我无法在外设配置的界面添加HSE的IP核,可能会导致配置文件无法自动生成hse_mu的driver,请问一下这个问题该怎么解决? BR/chenyuhang Re: HSE_IP核无法添加 Hi @lukaszadrapa , 感谢您的回复,我目前已经安装了6.0.0 QLP01的包并且已经可以在外设中添加HSE的IP核了。我还有一个疑问想问您,就是我在使用HSE的时候,已经将 C:\NXP\HSE_FW_S32K344_0_2_55_0\hse_full_mem\interface 下的全部文件添加到工程中了,那么 Framework 和 services 文件夹应该如何添加?(附录的图中展示的工程结构是C:\NXP\S32K3_HSE_DemoExamples_1_0_0\S32K3_HSE_DemoExamples\Key Management\S32K344_DemoApp_SessionKeys 的示例工程),是否可以通过外设配置界面添加到工程中?还是说需要手动将这两个文件夹粘贴到我自己的工程中?另外我有查阅到nxp的中国团队有做过HSE_Lib2.0的内容,这些资料我应该如何获取? BR/chenyuhang Re: HSE_IP核无法添加 你好@chenyuhang 可能会出现并非所有模块都包含在 RTD 软件包中的情况。RTD 6.0.0 就是这种情况,当时还没有 Crypto 驱动程序。它后来在 6.0.0 QLP01 软件包中提供: 在版本说明文件中,您可以发现该软件包仅提供 Crypto 驱动程序,因此您可以将其安装在 6.0.0 软件包之上: 此致, Lukas Re: HSE_IP核无法添加 该框架只是纯 C 代码,不能通过外设配置界面添加。应手动将其添加到项目中。 让我分享一下我之前写给另一位客户的答案--可能是数据缓存出了问题: "我可以看到,该框架尚未完全准备好无缝实施 RTD 项目。我刚刚发现,我在这里的所有项目实际上都禁用了缓存。 该框架使用一个描述符数组,在运行时根据需要选择这些描述符。有一个定义 HSE_ENABLE_SHARED_MEM,可用于将数组强制转入共享区域。但是,默认情况下并不使用这个地址,而且我可以看到,它可能因为使用了一些奇怪的地址而无法工作。 那么,看看 hse_host.c 中的实现吧并将描述符数组也强制设置为 no_cachable 区域"。 关于 HSE_Lib,这是中国应用程序团队的一个项目,目前尚未公开。请与当地的恩智浦 FAE 或分销 FAE 讨论。 此致, Lukas
查看全文
RAM上のECCエラーのフォールトインジェクション 実際のハードウェア上の異なるタイプの RAM に ECC エラーを挿入する必要があります。 また、利用可能なすべてのタイプの RAM でそれらを読み取る必要があります。 これを実行するための正確な方法が必要です。 また、S32K3GHS マイクロコントローラを使用しています。 これを実行する方法に関する何らかのドキュメントまたは方法論を提供してください。 Re: Fault Injection of ECC error on RAM こんにちは@Bhumika_NL 、 NXP は、S32K3xx ファミリ向けに Safety ペリフェラル Driver (SPD) を提供しています。 eMCEM ドライバーは、ECC エラーを挿入するために使用される EIM モジュールを制御します。 SPD ドライバは、S32K3xx 標準ソフトウェア パッケージの一部として無料で入手できます。 https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SW32K3-STDSW-D NXP は、SPD をパッケージの一部として含む、有料のプレミアム ソリューションとして セーフティ ソフトウェア Framework (SAF) も提供しています。 完全な SAF バージョンも、NDA に基づいて評価および開発目的に限り無料で利用できるようになりました。 ご興味がございましたら、担当の NXP FAE (会社に FAE がある場合) にお問い合わせいただくか、お近くの NXP 販売代理店を通じてご連絡ください。 https://www.nxp.com/design/design-center/software/functional-safety-software/s32-safety-software-framework-saf-and-safety-peripheral-drivers-spd:SAF BR、ダニエル Re: Fault Injection of ECC error on RAM 独自の関数と、参照用の疑似コードまたはサンプルコードを使用して、RAM に ECC エラーを挿入したいと考えています。 また、モジュールやドライバを使用せずに障害を注入する方法について詳しく教えていただけますか。または、それが実行可能な方法であるかどうかをお知らせください。 Re: Fault Injection of ECC error on RAM こんにちは@Bhumika_NL 、 次の例をご覧ください。 https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K344-EIM-ERM-DTCM-SRAM-ベアメタル-v3-0-S32DS36/ta-p/2193534 よろしくお願いいたします。 ダニエル Re: Fault Injection of ECC error on RAM こんにちは@Bhumika_NL 、 残念ながら、そのような擬似コードは存在しません。 BR、ダニエル Re: Fault Injection of ECC error on RAM こんにちは、ダニエルさん。 ご回答いただき、誠にありがとうございます。 🙂 返信内容を確認しなかったことをお詫び申し上げます。 あなたの例を確認しましたが、ECCエラーを検出するための独自の関数を開発するために使用できる擬似コードのようなものを期待していました。 Re: Fault Injection of ECC error on RAM こんにちは、danielmartynekさん、 リファレンスマニュアルのモジュールの1つに、さまざまな種類のメモリにECCエラーを注入できると記載されているのを見つけました。   45.2 概要 エラー注入モジュール(EIM)は、主に診断目的で使用されます。これは、現場でエラーを注入することによって診断機能(メモリECC、相互接続パリティ)をテストする方法を提供する。この方法でサポートされている機能安全機能を確認するには、チップ固有のEIM情報を参照してください。 EIMを使用すると、RAM読み出しデータやパリティビットのECCなど、システムのエラーチェック機構に人工的なエラーを注入できます。EIMがチップ上でサポートする各メカニズムについて、EIMは該当するターゲットバス内のデータに、シングルビットおよびマルチビットの反転を挿入することができる。メモリアクセス時に意図的に障害を注入することで、関連システムのSEC-DED ECC機能を検証することができる。 45.2.1 特徴 EIMには以下の機能が含まれています。 • 19種類のエラー注入チャネルをサポートします。チャネル割り当ての詳細については、チップ固有のEIM情報を参照してください。 • 2段階有効化メカニズムによる、偶発的な有効化および再構成エラー注入機能に対する保護 EIMモジュールを使用してエラーを注入できるチャネルと方法について、もう少し詳しい情報が必要です。 また、S32K3のリファレンスマニュアルで見たERMモジュールには、メモリ1、メモリ1など、さまざまなメモリがあります。 しかし、どのメモリがメモリ0で、どのメモリがメモリ1であるかなどはどこにも記載されていません。 これらについても情報を提供していただけますか? エンシエ0 エンシエ0 メモリ0の非訂正可能割り込み通知を有効にする このフィールドは、すべての場合でサポートされているわけではありません。以下の表には、サポートされているレジスタのみが記載されています。 注記 実例 サポートされている分野 フィールドはサポートされていません ERM_0 CR0 — ERM_1 — CR0 0b - メモリ0の訂正不可能なエラーイベント情報の割り込み通知は無効になっています。 1b - メモリ0の訂正不可能なエラーイベント情報の割り込み通知が有効になっています。 29-28 — 予約済み 27 ESCIE1 ESCIE1 メモリ1の単一修正割り込み通知を有効にする このフィールドは、すべての場合でサポートされているわけではありません。以下の表には、サポートされているレジスタのみが記載されています。 注記 実例 サポートされている分野 フィールドはサポートされていません ERM_0 CR0 — ERM_1 — CR0 0b - メモリ1のシングルビット修正イベント情報通知が無効になっています。                     Re: Fault Injection of ECC error on RAM こんにちは、 @danielmartynek さん、 この件についてご協力いただけますか? Re: Fault Injection of ECC error on RAM こんにちは@Bhumika_NL 、 EIMチャネルの割り当てに関する詳細は、リファレンスマニュアル改訂版12に記載されています。 表273 – EIMチャネルマッピング – S32K3x1、S32K3x2、S32K344/S32K324/S32K314 ERMモジュールの場合、メモリとチャネルのマッピングは以下のように提供されます。 表291 – S32K389を除くすべてのデバイスのERM_0チャネルマッピング よろしくお願いいたします。 ダニエル Re: Fault Injection of ECC error on RAM 改訂版12のリファレンスマニュアルを見つけるのは非常に難しいと感じています。 しかし、現在私が使用しているのはリビジョン4で、表273と表291にはメモリへのチャネル割り当てに関する情報が見つかりませんでした。そこには他にもいくつか情報が見えました。 この件に関して何かご提案いただけますでしょうか? Re: Fault Injection of ECC error on RAM 本当にありがとうございます。それでは、このマニュアルを一度確認してみます。 🙂 Re: Fault Injection of ECC error on RAM 最新のマニュアルはこちらです (改訂版)。12): https://www.nxp.com/webapp/Download?colCode=S32K3XXRM BR、ダニエル Re: Fault Injection of ECC error on RAM 現在、NXP社のS32K394マイクロコントローラに取り組んでおり、これをターゲットデバイスとして確定しました。 しかし、以前使用していたリファレンス・マニュアルには、この特定のコントローラに関する記述はありませんでした。つきましては、S32K394シリーズの適切なリファレンスマニュアルをご提供いただけますでしょうか。特に以下の詳細を含めていただけると幸いです。 異なるメモリ領域へのチャネル割り当て EIM(エラー注入モジュール)に関連するマッピング ERM(エラー報告モジュール)に関連するマッピング この情報は、デバッガーを使用した検証とテストを進める上で役立ちます。 Re: Fault Injection of ECC error on RAM ありがとうございます。S32K394をお使いだとは知りませんでした。 S32K39、S32K37、S32K36リファレンスマニュアル、改訂版4、2024年11月 表210。ACP_EIM_0 表211。ACP_EIM_1 表212。ACP_EIM_2 表219。ACP_ERM_0 チャネルマッピング 表220。ACP_ERM_1チャネルマッピング よろしくお願いいたします。 ダニエル Re: Fault Injection of ECC error on RAM 私は上記のEIMモジュールのレジスタを使用して、SRAM0メモリ位置に対してs32k3(シングルビットとマルチビットの両方)にECCエラーを正常に注入することができました。 しかし、他のメモリ位置では、同じ方法で ECC エラーを注入することはできません。 参考のためにコードを添付します typedef enum {     EIM_MEM_SRAM_L = 0 、     EIM_MEM_SRAM_U = 1 } EIM_メモリタイプ; typedef enum {     EIM_ERROR_SINGLE_BIT = 1 、     EIM_ERROR_DOUBLE_BIT = 2 } EIM_ErrorType ; #define IP_EIM_0_BASE  0x4050C000 #define IP_EIM_1_BASE 0x40510000 #define IP_EIM_2_BASE 0x40514000 #define EIMCR_BASE_ADDR ( IP_EIM_2_BASE + 0x0 ) #define EICHEN_BASE_ADDR ( IP_EIM_2_BASE + 0x4 ) #define EICHD0_WORD0_ADDR ( IP_EIM_2_BASE + 0x100 ) #define EICHD0_WORD1_ADDR ( IP_EIM_2_BASE + 0x104 ) void EIM_InjectSramEccError ( EIM_MemoryType mem , EIM_ErrorType errType , volatile uint32 * testAddr ) {     uint8チャネル= ( uint8 ) mem ; * ( volatile uint32 * ) EICHEN_BASE_ADDR = 0x80000000 ; * ( volatile uint32 * ) EIMCR_BASE_ADDR = 0x00000001 ; //(void)*(volatile uint32 *) EIMCR_BASE_ADDR; /* ステップ 1: 以前の設定をクリアする */   * ( volatile uint32 * ) EICHD0_WORD0_ADDR = 0x00000000 ;   * ( volatile uint32 * ) EICHD0_WORD1_ADDR =  0x00000000 ; /* ステップ 2: ECC インジェクションの設定 */     if ( errType == EIM_ERROR_SINGLE_BIT )     {         /* 1ビットのデータビットを反転 → 訂正可能 */         * ( volatile uint32 * ) EICHD0_WORD1_ADDR = 0x00000001 ;    }     それ以外     { /* 2ビットのデータ反転 → 訂正不能なエラー */        * ( volatile uint32 * ) EICHD0_WORD1_ADDR = 0x00000003 ;    } /* ステップ 3: ダミー書き込み (有効な ECC が存在することを確認) */     * testAddr = 0xA5A5A5A5 ; /* ステップ 4: 読み戻し → ECC エラーが発生する */     volatile uint32 readVal = * testAddr ;     ( void ) readVal ; /*最適化*/    * ( volatile uint32 * ) EICHEN_BASE_ADDR = 0x80000000 ; } void test_ecc () {     volatile uint32 * addr = ( uint32 * ) 0x20400000 ; // SRAM_L アドレスの例 /* シングルビットエラー(訂正可能)のテスト */     EIM_InjectSramEccError ( EIM_MEM_SRAM_L , EIM_ERROR_SINGLE_BIT , addr ); /* ダブルビットエラー(訂正不能)のテスト */     EIM_InjectSramEccError ( EIM_MEM_SRAM_L , EIM_ERROR_DOUBLE_BIT , addr ); } 手順や理解に誤りがあれば、ご指摘いただけますでしょうか。 他に何か追加すべきことがあれば、お知らせください。 しかし、SRAM0については、ECCに障害を注入することができ、ERMレジスタに障害が設定されていることを観測できます。 前もって感謝します ! Re: Fault Injection of ECC error on RAM こんにちは@Bhumika_NL 、 新しいスレッドを作成していただけますか? こちらは既に主要な品質保証体制が整っています。 ありがとうございました。 BR、ダニエル
查看全文
Kinara ARA-SDK 许可 恩智浦团队(以及所有熟悉 Ara-2 / Kinara 工具的人员)你们好、 我想了解为 Ara-2 (Kinara) 计算模块编译模型的正确许可/访问路径,尤其是现在 Kinara 已被恩智浦收购,而且恩智浦的公开资料描述了 SDK 与恩智浦软件生态系统的集成。 我的设置/目标 硬件Geniatech Ara-2 计算模块 SDK:Geniatech 提供的 Kinara Ara-2 SDK r1.3 使用情况:个人、非商业(研究/学习/测试) 模型目标:Qwen/Qwen2.5-7B-Instruct (GPTQ Int4) 目前有效的方法 我可以完成模式 1 流程,将模型转换为 ONNX。 我的结局是 model.onnx(小图形文件) 同一目录下的 model.onnx.data(大型外部张量数据/权重)。 什么失败了 模式 2(生成可部署 .dvm 的编译阶段)因 SDK 版本工具中的许可证签出/验证错误而失败。 据我所知,这将阻止生成 .dvm即使 ONNX 导出成功。 我的困惑 我没有 Kinara 许可证密钥。 Geniatech 的文档指出,必须通过 Kinara 获取 SDK 许可证密钥。 Kinara客户支持门户网站似乎拒绝使用常见的个人电子邮件功能域(例如gmail.com)进行注册,所以我无法在那里提交申请。 我为什么要在这里提问(恩智浦/Kinara 集成混淆) ,恩智浦的公开资料显示,Kinara 的 SDK 和模型工具正在集成到恩智浦的生态系统(包括 eIQ)中,Ara-2 现在作为恩智浦的产品提供,并提供相关的 "Ara 软件开发包 "下载。 然而,在实践中,这一点并不明确: 开发人员应在其中获取用于编译的许可证密钥,以及 现在是否支持 "Ara SDK / eIQ 集成 "路径。 问题 编译 ONNX → .dvm 是否需要许可证密钥使用 Ara-2 SDK 工具链(r1.3 / ARA-SDK),甚至用于个人/非商业用途? 如果是,个人/业余爱好者用户获得评估/开发者访问权限(尤其是在没有公司电子邮件域的情况下)的官方流程是什么? 有了现有的恩智浦账户,Ara-2 用户应该从哪里获取: “官方” Ara SDK 二进制文件/工具链(编译器),和/或 编译所需的许可机制? 如果编译需要许可证密钥,而许可证密钥又不容易获得,那么是否有任何预编译的 .dvm模型软件包(例如,用于 Qwen 7B/Qwen2.5恩智浦/Kinara/合作伙伴提供给 Ara-2 用户运行的 7B)? 如果恩智浦/Kinara 的相关人员能说明计划的路径(恩智浦门户网站与传统 Kinara 门户网站的对比,以及现在如何处理许可问题),那将大有帮助。 Re: Kinara ARA-SDK Licensing 我也有同样的问题!我拿到了设备,驱动程序。但没有 SDK,我猜也没有许可证(如果需要的话)。该设备只是静默地坐在我的联想 ThinkCentre Ultra neo 电脑里什么也没做。联想从未将其整合到 Windows 11 作为 NPU。我想至少用它来运行一些模型或进行学习。现在,它已经成为我电脑中一块完全闲置的硅片。我想,如果有更多的人开始使用这项技术,将有助于技术的普及。 Re: Kinara ARA-SDK Licensing @kratafila在我通过 Geniatech 获得 Linux SDK 软件包之前,我的硅片基本上也是闲置的。老实说,它仍然是未使用的硅,因为我无法让模型编译和运行。 值得一提的是,Geniatech(我的 Kinara Ara-2 M.2 模块的供应商)与我分享了这些 SDK/runtime 下载。它们以 Linux 为重点,我不确定它们是否适用于你的 ThinkCentre 中的 Ara-2 硬件(或者在 Windows 11 上提供帮助,里面有 Windows 二进制文件,但我在 Linux 软件方面取得了更大的成功),但是如果你能在 Linux 下测试/确认你的设备能正常运行,它们可能仍然有用: 1) 驱动程序/运行时间 + .dvm 示例型号(Geniatech"客户就绪" 捆绑): hxxps://mega[.]nz/file/nJcF0K5a#W-Ote-fp59hXoq4T0GGsaQmwGTRphWz0JATowyWjQpg 2) " 模型编译 " 文件夹 Geniatech 最初寄给我(注意:仅此一项就不包括编译器二进制文件): hxxps://mega[.]nz/file/KoclFQrJ#ifNOX7w2Y1qgLM6rnm7xPnUprwZZqhuRvelFG5p0MJQ 3) Geniatech 随后提供的完整 Ara-2 SDK 压缩包(此压缩包应包含实际的工具链/编译器,例如dvrun): hxxps: //文件 [.] geniatech [.] com/down-eng/bsp/kinara_sdk_20251120 [.] tar [.] bz2 如果你尝试了上述任何一种方法并取得了进展(即使只是安装了SDK并看到设备被识别),请在这里发回去,这不仅是为了我们,也是因为多个社区似乎对于 " 官方 " 的工作路径、SDK/许可的实际来源以及如何编译和运行其他模型存在更广泛的困惑。
查看全文
RT1170 以太网中的自由缓冲区超出范围问题 您好, 我正在尝试从自定义板上的自定义项目中执行基本的以太网测试。作为该项目(该项目集成了不同的模块,如SD卡、CAN、GPIO、ADC、以太网和EEPROM)的一部分,基本的以太网发送和接收有待验证。但我在 ping 发送前遇到"freed buffer out of range 错误" 。我已经完成了与以太网有关的所有基本初始化和配置。我看到出现错误的原因是函数"ethernetif_rx_free" (enet_ethernetif_kinetis.c) 中的 LWIP_ASSERT("Freed buffer out of range", ((idx>= 0)&& (idx< ENET_RXBUFF_NUM))); 其中的 idx 值为负数。这一完整的功能可在 EVK 套件上使用。 还能缺少什么?请提出建议。 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 大家好 这个问题也发生在我的 RT1024 客户板上,当我在某个地方放了一个断点然后它就停止了,然后恢复正常运行更有可能导致这个错误。 此致敬礼! Ping Re: Freed Buffer out of Range Issue in Ethernet for RT1170 如果示例项目在您的自定义板中运行良好,则问题似乎出在软件方面。 您使用的不是 FreeRTOS 对吗? 似乎有什么东西干扰了示例的行为,可能是缺少某些配置,或者只是示例流程受到应用程序其他部分的影响。 我建议你尝试使用最新的软件开发工具包版本,即2.15.000。如果您的问题在此版本中仍然出现,那么恐怕您的应用程序流程出现了问题。 此致, 丹尼尔 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 您好, 是的,在自定义板中实现合并的源代码时会出现问题。但是,没有与其他接口合并的 Ethernet_PING 的单个来源在自定义板中运行良好。当以太网的单个源与其余接口合并时,就会出现问题。 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 如果我没有理解错的话,当您运行 SDK 示例时,它是可以工作的。但当您添加自定义应用程序时,问题就出现了。你能确认吗? 此致, 丹尼尔 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 您好, 实际上,以太网的各个源代码在自定义板中运行良好。当我尝试集成代码时,以太网无法正常工作。我观察到EIR 寄存器的第 25 (RXF)、26 (TXB) 和 27 (TXF) 位被设置为 0,RDAR 寄存器的第 24 位被更新为 0,但在以太网的工作代码中,这些寄存器被设置为 "1"。 我怀疑这些寄存器更新是由中断处理的,但我无法在自定义项目代码库中找到负责这些更新的特定处理程序。请帮帮我。 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 请仔细检查是否有任何外围更改(例如:......)。为了让 EVK 示例在您的定制硬件中运行,您的项目中需要哪些外围实例? 如果您已经验证了这一点,看来问题出在硬件方面。 您是否已经用 HDG 验证了您的设计? 此致, 丹尼尔 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 您好, 我使用的是 SDK 11.6.1 版。我正在尝试测试 lwip_ping_bm_cm7 示例。在 EVK 中运行正常。 但是,当尝试将所有源代码与以太网连接时,它在自定义板上不起作用。如果我们面临"Freed Buffer out of range" ,可能会出现什么问题?请帮我解决这个问题。 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 您好, 您使用的是哪个版本的 SDK? 您用来测试的 SDK 示例是什么? 如果我理解正确,应用程序在 EVK 中运行正常,对吗? 此致, 丹尼尔
查看全文
PCIe: i.MX 95: 複数の MSI IRQ ベクトルを割り当てる こんにちは、 PCIe2 インスタンス経由でコネクテッドされた i.MX95 ベースのシステムで ATH12K Wi-Fi モジュールを使用しています。 linux-imx lf‑6.12.y ベースのカーネルではこのセットアップは失敗しますが、lf‑6.6.y ベースのカーネルでは期待どおりに動作します。 カーネル ドライバは 16 個の MSI 割り込みを正常に要求し、受信します。しかし、その後、Wi-Fi モジュールの起動に失敗します。 [ 5.888139] ath12k_pci 0001:01:00.0:iommuグループ5に追加 [ 5.888506] ath12k_pci 0001:01:00.0:BAR 0 [mem 0xa10000000-0xa101fffff 64bit]: 割り当て済み [ 5.888553] ath12k_pci 0001:01:00.0:有効化デバイス (0000 -> 0002) [ 5.889315] ath12k_pci 0001:01:00.0:MSIベクター: 16 [ 5.889334] ath12k_pci 0001:01:00.0:ハードウェア名: wcn7850 hw2.0 [ 6.475718] ath12k_pci 0001:01:00.0:チップID 0x2 チップファミリー 0x4 ボードID 0xff soc_id 0x40170200 [ 6.475743] ath12k_pci 0001:01:00.0:fw_version 0x110cffff fw_build_timestamp 2025-06-25 09:26 fw_build_id QC_IMAGE_VERSION_STRING=WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3 [ 7.647106] ath12k_pci 0001:01:00.0:制御応答完了、ポーリングを受信できませんでした。 [ 8.675241] ath12k_pci 0001:01:00.0:サービス接続タイムアウト [ 8.681002] ath12k_pci 0001:01:00.0:HTTへの接続に失敗しました: -110 [ 8.692180] ath12k_pci 0001:01:00.0:コアの起動に失敗しました: -110 カーネルメーリングリスト[1]では別のPCIeデバイスに関する関連した議論がありましたが、まだ私たちのシステムで動作する構成には至っていません。 どうすれば最善の進め方でしょうか? 再開まで今しばらくお待ちください。 最大 [1] https://lore.kernel.org/all/1819305.VLH7GnMWUR@steina-w/ Re: PCIe: i.MX 95: Allocate Multiple MSI IRQ Vectors こんにちは、 i,MX95 はまだ初期段階であり、一部の構成はデザインされていません。しかし、PCIe2経由でATH12Kを搭載したi.MX95は lf-6.12.y ですが、 lf-6.6.y で作業中ですこれは、新しいカーネルの PCIe または Wi-Fi スタックにおける回帰またはドライバー相互作用の変更を示唆しており、PCIe パワーマネージメント (ASPM)、MSI マッピング、または ATH12K の特定の PCIe エンドポイントの癖に関係している可能性があります。多くの場合、カーネル パッチを適用するか、新しいカーネルのブート引数で ASPM を無効にすることで解決できます。dmesg で PCIe エラーを確認し、デバイスツリーを比較し、NXP/Linux カーネル メーリング リストで関連するコミットを探します。  考えられる原因とトラブルシューティングの手順を次に示します。 1. カーネルログを確認する ( dmesg ) PCIe エラーを探す: 障害が発生した lf-6.12.y カーネルの dmesg で、「PCI」、「MSI」、「ATH12K」、「Error」、「Firmware」、または「Timeout」メッセージを検索します。 ファームウェアのロード: ath12k ファームウェアが正しくロードされているかどうか、および初期化中にエラーが発生していないかどうかを確認します。  2. PCIe電源管理(ASPM) 一般的な問題:新しいカーネルでは、多くの場合、Active State パワーマネージメント (ASPM) がデフォルトで有効になっています。これにより、組み込みシステム上の ATH12K などの PCIe デバイス、特に古いファームウェア/ハードウェアで問題が発生する可能性があります。 ASPM を無効にしてみてください:カーネル ブート引数 (U-Boot または GRUB など) に pcie_aspm=off を追加して、再度テストします。  3. Devicetree/DTBの違い DTB の比較:両方のカーネル ( .dtb ファイル) で使用されるデバイス ツリー BLOB (DTB) を生成して比較します。特に割り込み、電源ドメイン、または互換性プロパティに関連する、 pci2 の PCIe ノードの変更を探します。  4. カーネルドライバー/ファームウェアの回帰 特定のコミット: ATH12K ドライバ ( ath12k )、 mac80211 、または lf-6.12.y のコア PCIe/Arm コードによって、セットアップを壊す変更が導入された可能性があります。 メーリング リストを検索: ath12k 、 i.MX95 、およびそれ以降のカーネル (6.12+) に関するパッチやディスカッションについては、Linux カーネル メーリング リスト (LKML) および NXP のリストを確認してください。  5. MSIの取り扱い 割り込み再マッピング:割り込みを受信すると、その処理方法 (MSI-X と MSI、割り込み再マッピング) が微妙に変わる場合があります。 proc/interrupts で割り込みをチェックします。カーネル間で割り込みの分布またはカウントが異なるかどうかを確認します。  6. ファームウェアブロブ ファームウェア バージョン:新しいカーネルのドライバと互換性のある、ATH12K 用の正しいファームウェアを使用していることを確認します。新しいドライバには新しいファームウェアが必要になる場合があります。  要約すると、 dmesg から始めてASPMを無効にしてみてください。これらは、組み込みプラットフォームの新しいカーネルでPCIe Wi-Fiの障害が発生する最も一般的な原因です。   よろしくお願いします。 Re: PCIe: i.MX 95: Allocate Multiple MSI IRQ Vectors 提案は問題をデバッグするための良い指針でしたが、解決策を見つけることができませんでした。つまり、すべての MSI IRQ ベクトルがドライバ内の IRQ ルーチンをトリガーしたわけではありません。 最終的には、ath12k ドライバーを変更して、1 つの MSI IRQ のみを要求するようにすることで、この問題を回避しました。 現在の Linux マスターにはこの問題は発生しないことに注意してください。 よろしくお願いします。 最大
查看全文
如何安装"S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip" 您好, 我从 GreenVIP 安装了"S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite" ,但在下面的截图中找不到它。 如果我再次安装,就会出现错误提示。 请帮帮我。 谢谢! Re: How to install "S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip" 你好,Lvyang508 感谢您的回复。 您是否安装了 SW32ZE_RTD_R21-11_2.0.1_D2505_? 在 S32DS IDE 中使用 DesignStudio_updatesite.zip? BR 乔伊 Re: How to install "S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip" S32DS IDE:S32DS for Platform 3.6.5 我下载了相应的软件包并根据 UG_S32ZE_GreenVIP.pdf 进行了安装 Re: How to install "S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip" 你好,Lvyang508 请检查您的 RTD 版本,RTD 和 RTOS 软件包之间似乎存在冲突。 另外,您使用的是什么版本的 S32DS 集成开发环境? BR 乔伊 Re: How to install "S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip&&&& 嗨,乔伊、 我已经安装了 SW32ZE_RTD_R21-11_2.0.1_D2505_。 S32DS 集成开发环境中的 DesignStudio_updatesite.zip 文件。 谢谢您! Re: How to install "S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip&&&& 你好,Lvyang508 感谢您的回复。 这个问题可能是由版本冲突引起的。请尝试使用 S32DS IDE 3.6.1 参考 UG_S32ZE_GreenVIP.pdf。 BR 乔伊 Re: How to install "S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip&&&& 嗨,乔伊、    感谢您的回复。 我已经安装了 S32IDE 3.6.1、但问题依然存在。 BR、
查看全文
What is the meaning of FLEXIO_CTRL[DBGE] The reference manual wording on DBGE is a bit short with only "Enables the FLEXIO operation in Debug mode" What happens if it is disabled and you debug code? Trying to figure out what debug operations are safe when using FLEXIO and debugging FLEXIO drivers. I guess it is NOT safe to let the debugger read SHIFTBUFn in receive mode or any other hardware register with read sideeffect, not even by accidently howering over it in the debugger. Re: What is the meaning of FLEXIO_CTRL[DBGE] Hi @Henrik-Wires  If the "Enable FLEXIO operation in debug mode" is disabled, the FLEXIO module stops when the debugger stops the CPU. All FIexIO activity is freeze until execution resumes. This topic has also been discussed in the following thread: Does it means that flexio can't work in debug mode? BR, VaneB Re: What is the meaning of FLEXIO_CTRL[DBGE] Does that also mean that it is safe to access the FLEXIO registers using the debugger if DBGE is disabled, or will reading SHIFTBUFn with the debugger disturb the Shift Status Flag SHIFTSTAT[SSF] Re: What is the meaning of FLEXIO_CTRL[DBGE] Hi @Henrik-Wires  As stated in the S32K3 reference manual, the SHIFTBUFn register must be read only when the corresponding SHIFTSTAT[SSF] flag is set. Re: What is the meaning of FLEXIO_CTRL[DBGE] Hi @Henrik-Wires  Could you please clarify what this will be used for or what kind of analysis you are trying to achieve? Re: What is the meaning of FLEXIO_CTRL[DBGE] Can I somehow block S32DS from attempting to access registers? Only briefly howering over a pointer to SHIFTBUFn makes the debugger access the value which disturbs the FLEXIO state by clearing SHIFTSTAT[SSF] Re: What is the meaning of FLEXIO_CTRL[DBGE] Hi @Henrik-Wires  The IDE itself does not block access to registers. That kind of protection can be implemented using the MPU or XRDC; however, I do think that approach aligns with what you are trying to achieve. Instead, you could monitor when SHIFTSTAT[SSF] is set and then verify whether the corresponding SHIFTBUFn register contains the expected value. Re: What is the meaning of FLEXIO_CTRL[DBGE] I am exploring, writing and debugging a custom low level FLEXIO driver. Experienced odd results while debugging which I suspect is due to S32DS fetching SHIFTBUFn register values while stepping thru the driver, disturbing the SHIFTSTAT[SSF] state and resulting in lost events. Re: What is the meaning of FLEXIO_CTRL[DBGE] The driver obviously monitors SHIFTSTAT and access SHIFTBUFn accordingly. My issue is that it that stepping over the driver code with S32DS can trigger a debug read of SHIFTSTAT, which seems to disturb the state held in that register. For example when howering with the mouse over a pointer to SHIFTSTAT. If I carefully avoid touching any such pointers with the debugger then the driver works. I had hope that disabling DBGE would allow the debugger to access SHIFTSTAT without disturbing the **bleep**FSTAT register state, but from your response this is not the case. Re: What is the meaning of FLEXIO_CTRL[DBGE] Hi @Henrik-Wires  Disabling the DBGE bit does not prevent the debugger from disturbing registers such as SHIFTSTAT, because DBGE does not control debug read behavior. Instead, DBGE controls whether the peripheral keeps running when the core is halted.
查看全文
オンラインカスタマーサービスWeChat:xins4698。ポイントの入出金申請やゲーム手続きに関するお問い合わせは、マルボロ社の現地管理事務所まで直接ご連絡ください。 オンラインカスタマーサービスWeChat:xins4698。ポイントの入出金申請やゲーム手続きに関するお問い合わせは、マルボロ社の現地管理事務所まで直接ご連絡ください。 LPCマーケティング LPC11xx LPC12xx lpc13xx lpc15xx LPC51Uxx LPC546xx LPC54xxx LPC55xx LPC800
查看全文
溦【xins4698】腾龙新公司注册游戏账号网址是多少 溦【xins4698】腾龙新公司注册游戏账号网址是多少 LPC Marketing LPC51Uxx LPC546xx LPC54xxx LPC55xx LPC800
查看全文
如何:使用 NXP Vision SDK 示例项目中的现有代码在 S32DS 中创建新的 Makefile 项目 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本文档详细介绍了如何在 S32 Design Studio 中创建新项目,以及如何使用 NXP Vision SDK 示例项目中提供的现有代码和 makefile 进行构建。如果您使用来自任何其他来源的代码创建新的 makefile 项目,则过程可能会有所不同。 在从现有代码创建新的 makefile 项目之前,我们需要向环境变量 PATH 添加一些路径和几个新的环境变量。添加这些路径和变量主要有 3 种方法。哪种方法取决于您的需要。 方法 1 路径和变量可以单独添加到每个项目。如果您只希望这些更改影响少数项目,这将很有用。或者如果您的项目需要不同的路径和变量。注意:这些更改将在项目创建后进行(如下面的步骤 15 - 17 所示) 方法 2 路径和变量可以添加到 S32DS 内的整个工作区。这些在 S32DS 之外是不可见的,因此不会影响整个 Windows 环境。如果您有大量对路径和变量有共同要求的项目,并且不希望它们在 S32DS 之外的任何工具中可见,这将非常有用。 方法 3 路径和变量可以全局添加到 Windows 环境中,并将影响所有已安装的工具。不推荐使用这种方法。 选择方法后,将以下路径添加到 PATH 变量(使用 S32DS 的默认安装设置显示的路径): C:\NXP\S32DS.3.1\S32DS\build_tools\gcc-6.3-arm32-eabi\bin C:\NXP\S32DS.3.1\S32DS\build_tools\gcc-6.3-arm64-eabi\bin C:\NXP\S32DS.3.1\S32DS\build_tools\gcc-6.3-arm64-linux\bin C:\NXP\S32DS.3.1\S32DS\build_tools\msys32\mingw32\bin 或者在 Eclipse 中(可以使用变量,如果 S32DS 安装布局在未来版本中发生变化,则无需更新这些变量) ${S32DS_ARM32_TOOLCHAIN_DIR} ${S32DS_ARM64_LINUX_TOOLCHAIN_DIR} ${S32DS_ARM64_TOOLCHAIN_DIR} ${S32DS_GCC_TOOCHAIN_DIR} 还需要添加以下 Windows 系统变量: 变量名称:S32V234_SDK_ROOT 变量值:C:\NXP\S32DS_Vision_v2018.R1\S32DS\s32v234_sdk 变量名称:APU_TOOLS 变量值:C:\NXP\S32DS_Vision_v2018.R1\S32DS\APUC 以下步骤演示了基于上述方法 1 的过程。 1)启动S32DS for Vision 2)点击“新建” 3)选择“使用现有代码的 Makefile 项目” 4)选择下一步 5)输入项目名称。 6)对于“现有代码位置”, a)选择“浏览… ”,然后选择目录C:\NXP\S32DS.3.1\S32DS\software\VSDK_S32V2_RTM_1_3_0\s32v234_sdk\demos\isp\isp_sonyimx224_rgb_yuv_gs8    b) Click OK 7)对于“索引器设置工具链”,选择与您所需的构建配置相匹配的选项。对于我们这里的示例,我们将选择“ ARM Linux 64 位目标二进制工具链”。有关工具链选项的更多详细信息,请参阅 Vision 扩展包用户指南。这设置了一些工具链路径,但稍后我们将根据 VSDK 示例的特定需求设置更多路径。 8)点击完成 9) 在项目资源管理器中右键单击该项目。选择“属性” 10) 转到“C/C++ 构建”部分 11)转到“行为”选项卡,在“构建”旁边的字段中输入: ISP 示例:' allsub ' APEX 示例:' APU_COMP=nxp allsub ' 12)转到“构建器设置”选项卡,在“构建位置”部分更改“构建目录”的路径。点击“工作区... ”按钮 13) 在文件夹选择菜单中,选择子文件夹“ build-v234ce-gnu-linux-d ”,然后单击“确定” 14)转到“环境”部分 15)选择环境变量“ PATH ”,然后单击“编辑... ” 16)将路径变量添加到值字段,每个变量用逗号“;”分隔 ${S32DS_ARM32_TOOLCHAIN_DIR} ${S32DS_ARM64_LINUX_TOOLCHAIN_DIR} ${S32DS_ARM64_TOOLCHAIN_DIR} ${S32DS_GCC_TOOCHAIN_DIR} 单击OK。 17) Click 'Add...' 18) 单击“添加... ”,然后输入变量名称“ APU_TOOLS ”和值“ ${S32DS_APU_TOOLCHAIN_DIR} ” 单击OK。 19)单击“确定”关闭“属性”菜单。 20)点击“构建” 21) 构建完成后,将创建二进制文件(ELF)
查看全文
回复:Freemaster 无法检测任何指定的 UART 通信端口 Hi  iulian 我的目标是:使用MBDT工具在Matlab中进行编程,通过UART或CAN自动将代码刷入开发板,然后使用Freemaster进行观察。基于此,我有几个问题: 关于使用 S32 和 MPC574xP_S32DS_UART0_CAN0_OpenSDA_RevE.rbf 进行闪存,我是否需要使用 S32 再次配置 Freemaster 驱动程序环境?如何配置Freemaster环境(请提供完整教程),或者可以直接使用Matlab中的Freemaster配置模块吗? 针对我的使用目的,能否提供相应的分步操作?我目前可以从 Matlab 进行闪存,但无法与 Freemaster 通信。 MBDT 是否支持 XCP/CCP? 如果您需要专门从事 MBDT 的同事的支持,请将他们添加到此问题中或帮助我为他们创建相应的问题。 回复:Freemaster 无法检测任何指定的 UART 通信端口 您好,感谢您对 MBDT 产品的关注, 1)配置FreeMASTER主要包括配置FreeMASTER要使用的UART/CAN外设的实例。 此配置完全由FreeMaster_Config块完成,无需在 S32 Design Studio 中进行进一步配置。 2) 如上所述配置的 UART / CAN 实例不能用于除使用 FreeMASTER 进行调试之外的用途。因此,应用程序本身需要使用不同的 UART / CAN 实例。 3) MBDT 不支持 XCP,无论是通过 UART 还是 CAN。但 FreeMASTER 在大多数情况下可以实现相同的目的。 回复:Freemaster 无法检测任何指定的 UART 通信端口 Hi  iulian 我看了第一个视频并阅读了第二篇文章。 我按照视频里的步骤操作,使用相同的模型编译然后刻录,但是还是无法连接Freemaster。 关于第二篇文章,我不确定是否需要在使用 Matlab 之前先使用 S32 配置 UART,或者是否可以直接使用 Matlab。 回复:Freemaster 无法检测任何指定的 UART 通信端口 Hi @Renjie-Wang, 以下 2 篇文章是一个很好的起点: https://www.nxp.com/design/design-center/training/TIPS-ENHANCING-EMBEDDED-APP 通过 UART 发送数据并使用 FreeMASTER 监控信号 我将您的问题移至此社区空间,以便 MBDT 专家可以进行解答。
查看全文
スペア MPU リージョン Hello, ここでは、XIP で実行される 64 MB の外部フラッシュと 64 MB の SDRAM を搭載した MIMXRT1176 を使用しています。 SDRAM の最後の 16 MB をキャッシュ不可にしたいと考えています。ただし、SDK のデフォルトの MPU コンフィギュレーションを見ると、M7 コアのすべての領域 (0 から 15) が取得されます (以下のスニペット)。これらのメモリ領域については、リファレンスマニュアルを見て回ったところ、ほとんどが予約済み/使用中です。 アドレス 0x8300_0000 に 16 MB のキャッシュ不可能な領域のためのスペースを確保するために、安全にあきらめることができる領域 (またはその他のアイデア) はありますか? SDRAM アドレス空間を合計 3 つの領域から再構築する必要があります。 48 MB キャッシュ可能 - 32 MB + 16 MB (MPU RBAR ADDR フィールドは 48 MB を受け入れないため、2 つのリージョンから構築します) 16 MB キャッシュ不可 リージョン 2 (FlexSPI2、0x6000_0000) は使用していないため (XIP フラッシュは FlexSPI1 にあります)、安全に再利用できると考えていますが、それはまだもう 1 つのリージョンが不足していることを意味します。 助けてくれてありがとう! /* MPU configuration. */ #if __CORTEX_M == 7 void BOARD_ConfigMPU(void) { /* ... some variable definitions ... */ #if defined(__ICACHE_PRESENT) && __ICACHE_PRESENT /* Disable I cache and D cache */ if (SCB_CCR_IC_Msk == (SCB_CCR_IC_Msk & SCB->CCR)) { SCB_DisableICache(); } #endif #if defined(__DCACHE_PRESENT) && __DCACHE_PRESENT if (SCB_CCR_DC_Msk == (SCB_CCR_DC_Msk & SCB->CCR)) { SCB_DisableDCache(); } #endif /* Disable MPU */ ARM_MPU_Disable(); /* MPU configure: * Use ARM_MPU_RASR(DisableExec, AccessPermission, TypeExtField, IsShareable, IsCacheable, IsBufferable, * SubRegionDisable, Size) * API in mpu_armv7.h. * param DisableExec Instruction access (XN) disable bit,0=instruction fetches enabled, 1=instruction fetches * disabled. * param AccessPermission Data access permissions, allows you to configure read/write access for User and * Privileged mode. * Use MACROS defined in mpu_armv7.h: * ARM_MPU_AP_NONE/ARM_MPU_AP_PRIV/ARM_MPU_AP_URO/ARM_MPU_AP_FULL/ARM_MPU_AP_PRO/ARM_MPU_AP_RO * Combine TypeExtField/IsShareable/IsCacheable/IsBufferable to configure MPU memory access attributes. * TypeExtField IsShareable IsCacheable IsBufferable Memory Attribute Shareability Cache * 0 x 0 0 Strongly Ordered shareable * 0 x 0 1 Device shareable * 0 0 1 0 Normal not shareable Outer and inner write * through no write allocate * 0 0 1 1 Normal not shareable Outer and inner write * back no write allocate * 0 1 1 0 Normal shareable Outer and inner write * through no write allocate * 0 1 1 1 Normal shareable Outer and inner write * back no write allocate * 1 0 0 0 Normal not shareable outer and inner * noncache * 1 1 0 0 Normal shareable outer and inner * noncache * 1 0 1 1 Normal not shareable outer and inner write * back write/read acllocate * 1 1 1 1 Normal shareable outer and inner write * back write/read acllocate * 2 x 0 0 Device not shareable * Above are normal use settings, if your want to see more details or want to config different inner/outter cache * policy. * please refer to Table 4-55 /4-56 in arm cortex-M7 generic user guide * param SubRegionDisable Sub-region disable field. 0=sub-region is enabled, 1=sub-region is disabled. * param Size Region size of the region to be configured. use ARM_MPU_REGION_SIZE_xxx MACRO in * mpu_armv7.h. */ /* * Add default region to deny access to whole address space to workaround speculative prefetch. * Refer to Arm errata 1013783-B for more details. * */ /* Region 0 setting: Instruction access disabled, No data access permission. */ MPU->RBAR = ARM_MPU_RBAR(0, 0x00000000U); MPU->RASR = ARM_MPU_RASR(1, ARM_MPU_AP_NONE, 0, 0, 0, 0, 0, ARM_MPU_REGION_SIZE_4GB); /* Region 1 setting: Memory with Device type, not shareable, non-cacheable. */ MPU->RBAR = ARM_MPU_RBAR(1, 0x80000000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 2, 0, 0, 0, 0, ARM_MPU_REGION_SIZE_512MB); /* Region 2 setting: Memory with Device type, not shareable, non-cacheable. */ MPU->RBAR = ARM_MPU_RBAR(2, 0x60000000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 2, 0, 0, 0, 0, ARM_MPU_REGION_SIZE_512MB); /* Region 3 setting: Memory with Device type, not shareable, non-cacheable. */ MPU->RBAR = ARM_MPU_RBAR(3, 0x00000000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 2, 0, 0, 0, 0, ARM_MPU_REGION_SIZE_1GB); /* Region 4 setting: Memory with Normal type, not shareable, outer/inner write back */ MPU->RBAR = ARM_MPU_RBAR(4, 0x00000000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_256KB); /* Region 5 setting: Memory with Normal type, not shareable, outer/inner write back */ MPU->RBAR = ARM_MPU_RBAR(5, 0x20000000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_256KB); #if defined(CACHE_MODE_WRITE_THROUGH) && CACHE_MODE_WRITE_THROUGH /* Region 6 setting: Memory with Normal type, not shareable, write through */ MPU->RBAR = ARM_MPU_RBAR(6, 0x20200000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 0, 0, ARM_MPU_REGION_SIZE_1MB); /* Region 7 setting: Memory with Normal type, not shareable, write trough */ MPU->RBAR = ARM_MPU_RBAR(7, 0x20300000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 0, 0, ARM_MPU_REGION_SIZE_512KB); #else /* Region 6 setting: Memory with Normal type, not shareable, outer/inner write back */ MPU->RBAR = ARM_MPU_RBAR(6, 0x20200000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_1MB); /* Region 7 setting: Memory with Normal type, not shareable, outer/inner write back */ MPU->RBAR = ARM_MPU_RBAR(7, 0x20300000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_512KB); #endif #if defined(XIP_EXTERNAL_FLASH) && (XIP_EXTERNAL_FLASH == 1) /* Region 8 setting: Memory with Normal type, not shareable, outer/inner write back. */ MPU->RBAR = ARM_MPU_RBAR(8, 0x30000000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_64MB); #endif #ifdef USE_SDRAM #if defined(CACHE_MODE_WRITE_THROUGH) && CACHE_MODE_WRITE_THROUGH /* Region 9 setting: Memory with Normal type, not shareable, write trough */ MPU->RBAR = ARM_MPU_RBAR(9, 0x80000000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 0, 0, ARM_MPU_REGION_SIZE_64MB); #else /* Region 9 setting: Memory with Normal type, not shareable, outer/inner write back */ MPU->RBAR = ARM_MPU_RBAR(9, 0x80000000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_64MB); #endif #endif while ((size >> i) > 0x1U) { i++; } if (i != 0) { /* The MPU region size should be 2^N, 5<=N<=32, region base should be multiples of size. */ assert(!(nonCacheStart % size)); assert(size == (uint32_t)(1 << i)); assert(i >= 5); /* Region 10 setting: Memory with Normal type, not shareable, non-cacheable */ MPU->RBAR = ARM_MPU_RBAR(10, nonCacheStart); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 1, 0, 0, 0, 0, i - 1); } /* Region 11 setting: Memory with Device type, not shareable, non-cacheable */ MPU->RBAR = ARM_MPU_RBAR(11, 0x40000000); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 2, 0, 0, 0, 0, ARM_MPU_REGION_SIZE_16MB); /* Region 12 setting: Memory with Device type, not shareable, non-cacheable */ MPU->RBAR = ARM_MPU_RBAR(12, 0x41000000); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 2, 0, 0, 0, 0, ARM_MPU_REGION_SIZE_2MB); /* Region 13 setting: Memory with Device type, not shareable, non-cacheable */ MPU->RBAR = ARM_MPU_RBAR(13, 0x41400000); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 2, 0, 0, 0, 0, ARM_MPU_REGION_SIZE_1MB); /* Region 14 setting: Memory with Device type, not shareable, non-cacheable */ MPU->RBAR = ARM_MPU_RBAR(14, 0x41800000); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 2, 0, 0, 0, 0, ARM_MPU_REGION_SIZE_2MB); /* Region 15 setting: Memory with Device type, not shareable, non-cacheable */ MPU->RBAR = ARM_MPU_RBAR(15, 0x42000000); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 2, 0, 0, 0, 0, ARM_MPU_REGION_SIZE_1MB); /* Enable MPU */ ARM_MPU_Enable(MPU_CTRL_PRIVDEFENA_Msk); /* Enable I cache and D cache */ #if defined(__DCACHE_PRESENT) && __DCACHE_PRESENT SCB_EnableDCache(); #endif #if defined(__ICACHE_PRESENT) && __ICACHE_PRESENT SCB_EnableICache(); #endif } Re:スペアMPU領域 ありがとう、オマール、これを調べます。 Re:スペアMPU領域 VScode の場合、リンカを変更して他の SDRAM パーティションを持つ必要があります。MPUでncache領域を構成するには、添付されているコードを参照できます。 そこでは、SDRAM 領域は非キャッシュとして構成されています。リンカーは、この領域の開始位置を定義します。MCUXpressoを使用すると、MCU設定を変更できますが、VScodeを使用するとリンカを変更する必要があります。 よろしくお願いいたします オマル Re:スペアMPU領域 こんにちはオマール、 VSCode 拡張機能用の MCUXpresso を使用しているため、MCUXpresso IDE には MCU 設定メニューがありません。この状況をIDEで再現して、IDEなしでどのように実現できるかを確認します。 SDRAM の例は既に確認しましたが、見落としていないか確認するためにもう一度確認します。もし私がどの例を見るべきかご存知の場合は、ぜひお知らせください。 Re:スペアMPU領域 MCUの設定では、SDRAMのパーティションを作成できるため、MPUでは非キャッシュ設定を行います。 この 1 つの例は、EVK SDRAM の 1 つの領域が非キャッシュに設定されているため、一部の SDK の例にあります。 よろしくお願いいたします オマル
查看全文
弗劳恩霍夫 IIS 将主办 2014 年飞思卡尔®杯欧洲、中东和非洲地区面向有志工程师的决赛 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 位于德国埃尔兰根的弗劳恩霍夫集成电路研究所(与汤姆逊合作)发明了我们目前在智能手机和媒体播放器中广泛使用的 MP3 文件。他们拥有超过 20,000 名研究人员,是德国乃至全球研发界的一支力量。 该学院将于2014年4月29日至30日举办飞思卡尔杯2014年欧洲、中东和非洲地区决赛。 对于参加活动的学生团队来说,这是一个绝佳的机会,可以一睹工程研发的最佳成果,并与塑造未来世界的弗劳恩霍夫研究所的优秀工程师进行交流。 请参阅新闻稿20130715_Freescale_2014 - 弗劳恩霍夫集成电路研究所 IIS 飞思卡尔杯内容
查看全文
NicheLite 用于 LPC <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> InterNiche 的 NicheLite for LPC 是其 NicheLite ™产品的一个变体,它是一个针对嵌入式系统优化的全功能 TCP/IP 堆栈,只需要 12 KB 的代码。NicheLite for LPC 是符合 RFC 标准的 TCP/IP 协议套件实现,它包括 TCP/IP 协议系列综合子集的 ANSI C 源代码、“Mini”Sockets API 以及高效的系统优化和调整工具。NicheLite for LPC 的 IP 层可以支持一个硬件接口,并且完全支持 SNMP 代理的 MIB-II 访问。MIB-II 表包括:接口、IP、ICMP、TCP 和 UDP 信息。 数据包数据(包括标头)位于连续的缓冲区中,以简化内存管理并避免数据复制。很少使用宏来保护代码的关键部分,以提高吞吐量并减少内存需求。可调参数(如 MSS(最大段大小)和 TCP 窗口大小)可以留给运行时逻辑,也可以根据您的应用程序进行定制。 NicheLite for LPC 支持以下协议: 地址解析协议(ARP) 互联网协议(IP) 互联网控制消息协议(ICMP) 用户数据报协议(UDP) 传输控制协议(TCP) 动态主机配置协议 (DHCP) 客户端 域名系统 (DNS) 客户端 引导程序协议(BOOTP) 简单文件传输协议(TFTP) NicheLite for LPC宣传单(附件) 软件 获取软件 NicheLite for LPC 源代码免费提供给恩智浦客户,且仅限在恩智浦 LPC1000、LPC2000 和 LPC3000 系列微控制器上使用。获取和使用 NicheLite for LPC 的前提是接受详细的软件许可协议 (SLA)。如果您尚未下载并仔细阅读 SLA,请下载并仔细阅读: NicheLite V1.02 修订历史(2007 年 7 月 17 日)(附件) 目录 NicheLite for LPC软件包包括: NicheTask ™协作式多任务调度程序 TCP 支持 InterNiche 的轻量级 API,并带有零拷贝选项 无需分片/重组的 IPv4 地址解析协议 ICMP Ping TFTP NicheTool™ NicheFile VFS Mini-Sockets API 单个以太网接口,配备针对 LPC17xx、LPC23xx/LPC24xx 和 LPC32x0 优化的设备驱动程序 TFTP客户端 TFTP服务器 示例应用程序(TFTP 客户端、TFTP 服务器、HTTP 侦听器) NicheLite 参考手册(不得重新分发) HTML 格式的用户指南(旨在分发给最终客户) 清晰书写、注释丰富的 ANSI-“C”源代码 编译时所需的头文件阐明了源许可证的细节,该许可证禁止最终客户分发 NicheLite for LPC 的源代码。 最终客户选项和升级 InterNiche 为 NXP 的 NicheLite LPC 客户提供的选项和升级包括: 技术支持 专业服务 HTTP Server PPP SNMP v1, v2c, v3 SMTP 客户端(电子邮件警报器) NicheStack SSL POP3 客户端 FTP 服务器和客户端 升级到完整的 NicheStack IPv4、IPv6、双重产品   NicheStack HTTPServer ™ (已附加) NicheStack SSL ™ (附件) NicheStack IPv4 ™ (附件) 联系InterNiche了解详情 详细信息 Cortex-M0 微控制器 Cortex-M3 微控制器 Cortex-M4 微控制器 ARM7 微控制器 ARM9 微控制器 InterNiche Technologies, Inc. 概况介绍(附件) InterNiche 技术公司 NicheTask开源操作系统
查看全文
LS1046 RESET_REQ 和 RSTRQSR 我们看到 RESET_REQ_B 在我们的定制 LS1046 硬件上被断言。当我们读取 RSTRQSR 时,我们得到以下内容: md 1ee00C8 01ee00c8: 00480000 00000000 00000000 00000000 如果我正确排序字节,则意味着: MBEE_RR(多位 ECC 重置请求)和 SRDS_RST_RR(SerDes 复位事件。如果任何启用的 SerDes PLL 未锁定,则会发生这种情况。) 有人能确认我的解码是否正确,并指出可能导致 MBEE_RR 的原因吗?我不确定从哪里开始寻找这个。 谢谢! 回复:LS1046 RESET_REQ 和 RSTRQSR 我们修复了这个问题 - 我们的 SRDS_PLL_PD_S1 和 SRDS_PLL_PD_S2 的值是错误的 - 参考手册对这些值有点令人困惑。一旦我们解决了这个问题,错误就消失了。 回复:LS1046 RESET_REQ 和 RSTRQSR 亲爱的@SimonRo , 您能否指出在“4.4.1 开机复位序列”的哪一步中遇到了这个问题? 还是启动结束后才会发生? 我需要更多信息才能了解可能发生的情况。 回复:LS1046 RESET_REQ 和 RSTRQSR 我通过将 SRDS_PLL_PD_S1 和 SRDS_PLL_PD_S2 设置为 0 来关闭 SERDES。 我的 RCW 现在看起来像这样: 00000000: 0c150010 10000000 00000000 00000000 00000010: 11330559 40000012 60040000 c1000000 00000020: 00000000 00000000 00000000 10038ffe 00000030: 20124000 04261301 00000096 00000001 但RESET_REQ_B 仍然有效: => md 1ee0000 01ee0000: 7f7f7720 0000004f 00000000 00000000 w..O........... 01ee0010: 00000000 00000000 00000000 00000000 ................ 01ee0020: 00000000 00000000 00000000 00000000 ................ 01ee0030: 00000000 00000000 00000000 00000000 ................ 01ee0040: 00000000 00000000 00000000 00000000 ................ 01ee0050: 00000000 00000000 00000000 00000000 ................ 01ee0060: 00000000 00000000 00000000 00000000 ................ 01ee0070: 00000000 00000000 00000000 00000000 ................ 01ee0080: 00000000 00000000 00000000 00000000 ................ 01ee0090: 00000000 00000000 00000000 00000000 ................ 01ee00a0: 00000000 10010787 40000000 00000000 ...........@.... 01ee00b0: 00000000 00000000 00000000 00000000 ................ 01ee00c0: 00400000 00000000 00480000 00000000 [email protected]..... 01ee00d0: 00000000 00000000 00000000 00000000 ................ 01ee00e0: 00000000 00000000 00000000 00000000 ................ 01ee00f0: 00000000 00000000 00000000 00000000 ................ 我认为是: SRDS_RST_RR(SerDes 重置事件。如果任何启用的 SerDes PLL 未锁定,则会发生。) 我想知道如果 SERDES 断电为什么会看到这个? 谢谢!
查看全文
Single channel ABS SB0401 Monitoring Module Issue Hello @nxp , I’m using the SB0401 Single-Channel ABS module IC with an NXP S32K31xEVB-Q48 MCU as the SPI master. I transmit the monitoring/module data once every 10 ms, but the SB0401 monitoring module appears to reset/restart repeatedly (about once every 50 ms). Along with this, my SPI “error count” increases on every SPI transfer. Below are the setup and my specific questions. HW/SW setup MCU (SPI Master): S32K31xEVB-Q48 (S32K31x family) Device: SB0401 (Single-Channel ABS module IC) Interface: SPI (LPSPI) (DMA based transfers) Periodic transmission: every 10 ms Observed issue: SB0401 monitoring module reset/restart every ~50 ms (see attached logs) Observed behavior The error counter increments for every SPI byte/word transfer. I read AR (seed) from SB0401 message 18 and calculate MR based on that AR. Despite sending frames periodically, the SB0401 monitoring module resets/restarts. Questions MR calculation vs AR (Message 18) My error count increases on every SPI transfer. I calculate MR using the AR value received from SB0401 message 18. Is it expected that an error counter would increment on every transfer in this condition, or does it indicate MR/AR logic is incorrect? Please confirm the correct MR computation flow/timing relative to AR (message 18) and any common pitfalls (e.g., using stale AR, wrong byte/bit extraction, timing window, counter alignment). ACK position when writing Message 0 If I write data into Message 0 at TxBuf[0], where should I check the acknowledgement? Example: For a write in TxBuf[0], does the ACK appear in RxBuf[0] (same word) or in RxBuf[1] (next word)? If there is a defined “ACK occurs in the following SPI word/frame” rule, please share the exact mapping. Reference SW / CDD driver Is there any reference CDD / example driver for SB0401 (C source or AUTOSAR-style CDD integration) that can be shared for guidance? If not shareable, can you recommend the official SB0401 software package / app note / reference implementation details to follow? Re: Single channel ABS SB0401 Monitoring Module Issue Hi Is possible to show your company and project information here? Re: Single channel ABS SB0401 Monitoring Module Issue Hi @guoweisun     yeah ok.     Company:  Ettiksoft technologies Pvt ltd.     project:  Two-wheeler single channel ABS.  Re: Single channel ABS SB0401 Monitoring Module Issue This part doesn't have CDD or other software drive and the reference schematic also need customer sign NDA then share. Re: Single channel ABS SB0401 Monitoring Module Issue Let me check again for the reference code about this special part. Re: Single channel ABS SB0401 Monitoring Module Issue For the example code I can't post here, could you please submit ticket from case port? Home Re: Single channel ABS SB0401 Monitoring Module Issue hello @guoweisun    ok.  Any other reference code is there, like this module behaviour. 
查看全文