Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
需要澄清 SBCFS26 VPRE 稳压器电压范围 你好,恩智浦、 我需要 SBCFS26 VPRE 调节器的说明。我分析了 MFS2613AMDA6 数据表中的 VPRE 电压调节器。这是因为当电源电压范围低于 VPRE_IN 最小限值时,FS26 无法提供电源轨。 根据数据表,它的最小电压范围为 4.75V。如果是这样的话,那么 VMONPRE 是否会触发信号 VPRE 欠压故障,因为其阈值是 VPRE 监控电压 6V 的 90%? 另外,请说明在哪种使用情况下会出现 VPRE 欠压故障? 感谢您的理解。 FSBC+PMIC Re: Clarifications required in SBCFS26 VPRE Regulator Voltage Range 你好,西瓦哈里 美好的一天 1.- 是的,但仅限于 VPRE 预计开启和调节时。如果设备处于启用和调节 VPRE 的模式(正常模式或激活 VPRE 的待机模式),并且有效 VPRE 输出低于 VMONPRE 紫外线阈值,则 FS26 的功能安全监测可以在内部去毛刺时间之后标记 VPRE 欠压故障 2.- VPRE 欠压故障可能发生的一些情况有 电池下垂/曲柄 VSUP 低于 VPRE 输入最小值 负载阶跃过大或 VPRE 导轨短路 前端与直接电池拓扑配置错误(取决于 OTP) 热保护或内部保护相互作用 希望这些信息对您有所帮助,如果您还需要其他帮助,请告诉我。 祝你愉快,好运连连。 Re: Clarifications required in SBCFS26 VPRE Regulator Voltage Range 感谢 RafaR 的澄清。
View full article
Lauterbach FCCU_Utility 插件 - S32K3xx Lauterbach FCCU_Utility 插件 - S32K3xx MPC57xx_FCCU_Utility_rev0.pdf 这个 Lauterbach 调试插件允许用户直接从调试器界面使用 FCCU 配置。这将加快开发速度,并且无需每次更改 FCCU 配置时重新编译和编程项目。 @Smartling Language Service 所提供的文档描述了如何使用 Lauterbach FCCU(故障收集和控制单元)外围扩展功能用于 S32K3xx 设备。期望用户对 FCCU 机制有深入了解,以便有效使用此扩展。 在这种情况下,这个调试器插件在多种使用场景中都可能非常有价值,例如 FA 或开发过程中的调试。 顺祝商祺! Peter
View full article
CodeWarrior 8.3 - 支持 DSP56F807PY80E,正确的 .cfg文件和闪存编程器/CCS 问题 留言: 你好 我正在使用 CodeWarrior 8.3(56800E 架构),我需要使用 USB TAP 对 DSP56F807PY80E 进行编程。我有几个问题,希望得到官方的澄清。 创建新目标时,CPU 列表中未显示 DSP56F807。我只看到 DSP5685x 和 M56F8002。我想知道在 CodeWarrior 8.3 中是否有任何支持 DSP56F807 的代码包、更新或附加组件,或者它是否包含在较旧的代码包中。 闪存程序员需要此设备的配置文件,通常称为 56807_flash.cfg。恩智浦是否提供该处理器的官方 cfg 文件?如果是,在哪里可以下载?如果不是,请确认有效配置所需的 HFM 内存范围和参数是否正确? 关于 CCS,我按照 AN4338 中的程序(更换 ccs 文件夹并使用 libusb-win32 驱动程序)让 USB TAP 正常工作。这仍然是 CodeWarrior 8.3 的正确方法吗?Windows 7 或 Windows 10 有更新的 CCS 版本吗?libusb-win32 仍然是受支持的驱动程序吗? 有时 CodeWarrior 会成功擦除闪存,但无法完成编程。将 56800E 闪存编程器与 DSP56F807 一起使用时,是否存在已知的限制?是否有推荐的 JTAG 时钟设置或超时? 最后,CodeWarrior 8.x 中使用 DSP56F807 的最新文档是什么? 谢谢! Re: CodeWarrior 8.3 – Support for DSP56F807PY80E, correct .cfg file, and Flash Programmer/CCS issues 你好@Raffaele_AQS、 谢谢您的帖子。 创建新目标时,CPU 列表中未显示 DSP56F807。我只看到 DSP5685x 和 M56F8002。我想知道在 CodeWarrior 8.3 中是否有任何支持 DSP56F807 的代码包、更新或附加组件,或者它是否包含在较旧的代码包中。 ->> 我认为不需要任何更新,CW8.3下载后即原生支持 DSP56F807。就我而言,通过选择 “文件-> 新建”,然后选择除第一个选项 " DSP56800E Quick Start r2.5 Stateries " 之外的任何项目模板,你可以在可用设备选项中找到列出的 DSP56F807。 闪存程序员需要此设备的配置文件,通常称为 56807_flash.cfg。恩智浦是否提供该处理器的官方 cfg 文件?如果是,在哪里可以下载?如果不是,请确认有效配置所需的 HFM 内存范围和参数是否正确? ->> 我可以在这里找到它,附在后面。 关于 CCS,我按照 AN4338 中的程序(更换 ccs 文件夹并使用 libusb-win32 驱动程序)让 USB TAP 正常工作。这仍然是 CodeWarrior 8.3 的正确方法吗?Windows 7 或 Windows 10 有更新的 CCS 版本吗?libusb-win32 仍然是受支持的驱动程序吗? -> > 要在 win7/10 电脑中使用 CW 8.3,请参阅 Windows 7/10:在 DSC 版 CodeWarrior 上使用 USB TAP。 只需将适用于微控制器的 Eclipse IDE | 恩智浦半导体安装到计算机上,将 ccs 文件夹从 CodeWarrior v11 安装文件夹复制到 CodeWarrior v8.3 安装文件夹,替换原来的 ccs 文件夹。 有时 CodeWarrior 会成功擦除闪存,但无法完成编程。将 56800E 闪存编程器与 DSP56F807 一起使用时,是否存在已知的限制?是否有推荐的 JTAG 时钟设置或超时? ->> 闪存编程名为"56800E Flash programmer" ,但从工具名称可以看出,它只支持以 DSP56800E 为内核的 DSC 处理器,例如 MC56F83xx,DSP56F807 使用的是 DSP56800 内核,而不是 DSP56800E,因此我认为不能使用"56800E Flash programmer" 工具对 DSP56F807 进行编程。 您可以考虑使用 flash-over-jtag.exe 工具,它支持 S_record 文件下载。但是,这些工具必须在DOS操作系统和并行命令变流器设备(Wiggler)中运行,它不支持usbtap设备。 你可以使用 USBTAP 设备下载代码,只能使用 CodeWarrior 来下载适用于 DSP56800E ver8.3 工具的代码,但它不支持 S_Record 文件下载。 Flash-over-jtag 工具可在此处找到: [CodeWarrior Installation Directory]\ProcessorExpert\Tools\applications\flash_over_jtag 最后,CodeWarrior 8.x 中使用 DSP56F807 的最新文档是什么? -> > DSP56F807 是传统设备,不建议用于新设计。我们没有为其提供最新的文档,但我会尽我所能寻找任何可用的资源。 制作 Flash 程序 使用适用于 DSC 的 CodeWarrior 8.3 版对飞思卡尔 DSC 进行生产闪存编程 您还可以尝试使用串行引导加载程序更新固件。 56F8xx 串行引导加载程序 希望对你有所帮助。 如果您有更多问题,请告诉我。 祝你愉快 BR 西莱斯特 ---------------------------------------------------------------------------------------------------------------------- 注:如果本帖回答了您的问题,请点击"ACCEPT AS SOLUTION" 按钮。Thank you! ----------------------------------------------------------------------------------------------------------------------
View full article
大きく異なる こんにちは、 生成されたコードのハードウェア上でのリアルタイム実行が、シミュレーション結果と大きく異なっていました。根本的な原因は何でしたか? また、この実際のパフォーマンス問題を解決するために、モデルまたはターゲット構成をどのように変更しましたか?
View full article
スタンバイ モードから機能をリセットした後のウェイクアップ ソースの認識。 こんにちは、NXPさん 私はスリープウェイクアップアプリケーションに取り組んでいます。スタンバイウェイクアップ用のウェイクアップスリープ構成を構成しました。 私の質問は、スタンバイ ウェイクアップから機能をリセットした後、ウェイクアップ ソースをどのように知ることができるかということです。 Re: Wakeup Source Recognition after function reset from standby mode. こんにちは@aryandis 、 ウェイクアップ後、WISR/WISR_64 レジスタを読み取って、ウェイクアップの原因となったソースを特定CAN。スタンバイ終了後も値はそのまま保持されるため、スタンバイ RAM に保存したり、高速スタンバイ終了を使用したりする必要はありません。 Mcu_GetResetReason() は、前回のリセットがスタンバイ終了だったか、その他のリセット (HW、SW、WDG など) だったかを返しますが、ウェイクアップ ソース用の API はありません。 レジスタを読み取る場合は、メイン ルーチンがレジスタを保存する前にクリアしないようにし、立ち下がりエッジを使用する場合はパッド保持を有効にする必要があることに注意してください (このコミュニティ投稿を参照してください: Solved: WISR_64 no correct after wakeup from fast standby mode on S32K312 - NXPコミュニティ )。 コミュニティからの低電力の例をCAN参照できます。 S32K3 パワーマネージメント AN とデモ - NXPコミュニティ [RTD400 & 500 MCAL & IP] S32K3 パワーマネージメント AN とデモ - NXPコミュニティ MCAL レイヤーは、ウェイクアップ ソースを報告する EcuM モジュールも提供しますが、RTD パッケージは EcuM のスタブ ファイルのみを提供します。これらは参照用として使用することを目的としており、アプリケーションのニーズに応じて変更/置換できます。 よろしくお願いします、 ジュリアン Re: Wakeup Source Recognition after function reset from standby mode. 私は Autosar スタックを使用しているため、ウェイクアップ ソース ID が必要です。 機能リセット後にスタンバイ ドメインに保存するために WISR/WISR_64 値を構成するにはどうすればよいですか? CANどのように設定すればよいか教えていただけますか。 Re: Wakeup Source Recognition after function reset from standby mode. こんにちは@aryandis 、 はい、これはWkpu_Ip_GetInputState() を呼び出し、対応する WKPU チャネルが設定されている場合は TRUE を返し、フラグをクリアします。 ウェイクアップ (スタンバイ終了) 後、NVIC レジスタはデフォルトにリセットされます (すべてのペリフェラル割り込みが無効になります) が、WKPU レジスタの値と以前の状態は保持されます。したがって、ウェイクアップ後にプラットフォーム関数を呼び出してウェイクアップの割り込みを有効にすると(WKPU_IRQn に NVIC_ ISER を構成する)、プログラムはウェイクアップ割り込み関数にジャンプし、どのウェイクアップ ソースが発生したかを判別できます。 ウェイクアップ後の実行モードでウェイクアップの割り込みを有効にするプラットフォーム関数を呼び出さない場合は、Wkpu_Ip_GetInputState() 関数を呼び出してウェイクアップ ソースを判別できます。 ウェイクアップ後に直接レジスタを読み取るCAN。 よろしくお願いします、 ジュリアン Re: Wakeup Source Recognition after function reset from standby mode. はい、質問が1つあります。  EcuMモジュールを有効にし、EcuM_CheckWakeup()内でIcu_Checkwakeup()を呼び出しました。しかし、ICUウェイクアップイベント情報が発生してもEcuM_CheckWakeup()をトリガーできないという問題があります。(チャネル状態がRUNNINGであるため、EcuM_CheckWakeup()を呼び出すことができないためです。) EcuM_CheckWakeup() をどのようにトリガーすればよいですか? ISR と同じウェイクアップ ピンを作成して、EcuM_CheckWakeup()->Icu_CheckWakeup() を呼び出してビット ステータスを WAKEUP_STATE に設定し、EcuM_SerWakeupEvent() を呼び出すことはできますか? ISR として CAN 場合、どうすれば CAN できますか? Re: Wakeup Source Recognition after function reset from standby mode. こんにちは@aryandis 、 申し訳ありませんが、おっしゃる通りです。Icu_Init() 関数を呼び出すと、プラットフォーム 関数を呼び出す前に割り込みフラグがクリアされ、現在のモードが ICU_NORMAL_MODE に変更されます。SO、それ以前に Icu_Init() を呼び出すことはできません。これはドライバの制限のようです。社内チームにフィードバックをお願いします。 また、Icu_GetInputState() 関数内では、Icu_Init() 関数によって初期化する必要があるグローバル変数を使用します。このような状況では、Wkpu_Ip_GetInputState() 関数を呼び出して WISR または WISR_64 のステータスを確認してクリアするか、直接読み取ることができると思います。 よろしくお願いします、 ジュリアン Re: Wakeup Source Recognition after function reset from standby mode. 同じ問題をデバッグしたところ、ウォーム リセットのスタンバイ ウェイクアップ後の Icu_Init の開始時に ICU_NORMAL_MODE が設定されているため、ICU_CurrentMode が原因で EcuM_Checkwakeup が呼び出されなかったことがわかりました。 ウェイクアップ後に EcuM_Cehckwakeup が呼び出されるSOするにはどうすればいいですか? Re: Wakeup Source Recognition after function reset from standby mode. こんにちは、Julian_AragonM さん。スタンバイウェイクアップ後に Icu_Init() で現在のモードを ICU_NORMAL_MODE に変更することに関して、チームに一度連絡していただけますか。これを回避するにはどうすればよいですか? Re: Wakeup Source Recognition after function reset from standby mode. ウェイクアップ ソースは動作しており、ウェイクアップ後に Icu_ReportEvent が来ますが、Icu_CuurentMode 変数が原因で、Icu_Init() から ICU_NORMAL_MODE に初期化され、EcuM_CheckWakeup が呼び出されません。 EcuM_CheckWakeup は Icu_ReportwakeupAndOverFlow ICU ドライバから呼び出されています。 Icu_ReportwakeupAndOverFlow には、変数 Icu_CuurentMode から ICU_MODE_SLEEP マクロまでの条件チェックがあります。 Re: Wakeup Source Recognition after function reset from standby mode. こんにちは、 @aryandis さん。 Icu NORMAL モードでは、ウェイクアップ ソースの処理が妨げられることはありません。Icu が EcuM チェック ウェイクアップを妨げているコード部分を共有していただけますか?ICU モードに関係なく、Icu_CheckWakeup() が呼び出されることは CAN です。 社内チームからも返答がありました。 1.ご存知のとおり、Icu モジュールは、MCAL レイヤーでウェイクアップ ソースを直接チェックできる機能を提供していません。Icu はウェイクアップ ソース情報を EcuM モジュールに転送し、このモジュールはウェイクアップ ソースをチェックします。RTD ドライバでは、EcuM はスタブ モジュールであり、参照として使用することを目的としており、アプリケーションのニーズに応じて変更/置換できます。 ECU 状態マネージャの仕様は次のとおりです。 2. Icu 構成で、ユーザーが「IcuWkpuStandbyWakeSupport」を有効にすると、Icu_Init() は WISR フラグをクリアしません。 プロジェクトで、Wkpu_Ip レイヤーのウェイクアップ ソースを確認するには、以下のコードを参照します。 Icu_Init() 関数の前に Platform_Init(NULL_PTR); を呼び出すと、何らかの理由で WISR フラグが消去されることがわかりました。SO、この関数を Icu_Init() 関数の後に呼び出しました。 よろしくお願いします、 ジュリアン Re: Wakeup Source Recognition after function reset from standby mode. はい、正解です。そして、 Icu_CheckWakeup () は、マッピングした EcuM_CheckWakeup から呼び出されます。また、EcuM_CheckWakeup は、RTD の Icu_ReportWakeupAndOverflow API から呼び出され、SLEEP_MODE をチェックする条件を持ちます。SLEEP_MODE なしで EcuM_CheckWakeup がどのようにトリガーされるか。 それとも、ISR から EcuM_Checkwakeup を呼び出す必要がありますか? これはRTD 3.0.0のスナップショットです Re: Wakeup Source Recognition after function reset from standby mode. こんにちは@aryandis 、 Icu_CheckWakeup () は、ウェイクアップ後に (通常は EcuM によって) 呼び出され、ICU がソースを検証し、それが有効かどうかを EcuM に通知できるようにするためのパブリック AUTOSAR ICU API です。ドライバがSLEEPモードにあるかどうかには依存しません。 Icu_ReportWakeupAndOverflow () は RTD 内部および非 AUTOSAR であり、割り込みコンテキストからすぐにウェイクアップ (およびオーバーフロー) を報告するロジックをバンドルします。   ウェイクアップ後に、Icu_Init() を NORMAL に設定し (IcuWkpuStandbyWakeupSupport = true で WKPU フラグが保持されることを確認)、マップされた EcuM ウェイクアップ ソースを使用して Icu_CheckWakeup() を呼び出すことをお勧めします。これは、Icu_CurrentMode が NORMAL であっても機能します。   よろしくお願いします、 ジュリアン Re: Wakeup Source Recognition after function reset from standby mode. こんにちは@aryandis 、 私の見解では、選択肢は 2 つあります。 1.スタンバイ終了後、EcuM ステート マシンが RUN に移行する前に、 EcuM_Checkwakeup () を呼び出します。これにより、スタンバイ中にウェイクアップ ソースが処理されます。ウェイクアップ ソースが有効な場合、ECU は RUN 状態に戻ります。 これは、ECU 状態マネージャの仕様に記載されています。 2. ISR コンテキストを介してこれを呼び出すと、ウェイクアップ ソースが直ちに処理されます。 よろしくお願いします、 ジュリアン
View full article
NXP汽车以太网:10BASE-T1(S)基础知识(日文博客) 介绍 这次我们将解释 10Mbps 车载以太网 10BASE-T1(S) 的基础知识。 1. 背景 首先,我将解释10BASE-T1(S)标准诞生的背景。 到目前为止, CAN已广泛应用于高速工业和汽车网络。 另一方面,由于大容量通信的需求,Ethernet也开始被引入。 然而,两种方法的通信速度都是 ・CAN FD(0.5M~8Mbps) ・100BASE-T1 (100Mbps) 存在约10Mbps的差距。 CAN FD 速度不够快,而 100BASE-T1 以太网又太贵也太快了。 在许多应用场景中,100BASE-T1 性能过剩,因此需要以合理的成本获得良好的性能,而 10BASE-T1 正是针对这些领域而设计的。 与 10BASE-T1 类似,还有一种名为 CAN XL(10M 至 20Mbps)的新标准,可以覆盖 10Mbps 的范围。我们将在其他场合对此进行详细解释。 2. 10BASE-T1(L)和10BASE-T1(S) IEEE 802.3cg 规范为 10Mbps 范围提供了两种类型的以太网。PHY规范已定义。 10BASE-T1 L:工业 点对点 传输距离1000 m(L表示Long) 全双工通信 10BASE-T1 S :用于汽车 点对点 传输距离:一对一通信15米(S代表短距离) 半双工通信 * 选项:全双工通信 *选项:半双工通信,多点连接(总线连接,最多 8 个节点) 多点传输采用一对双绞线,传输距离为25米,短截线长度为10厘米。 可选:PLCA(物理层碰撞避免)。如果未实现 PLCA,则使用 CSMA/CD(载波感知/碰撞检测)。 未假定使用中继器(最初的 10BASE 假定使用四个中继器连接) 3. 10BASE-T1(S)的优势 兼容 100BASE-T1/1000BASE-T1 车载网络可以与以太网系统统一。 更简单的架构 无需协议转换 减少设计工时 降低 100BASE-T1/1000BASE-T1 的成本 允许使用廉价的电线和连接器 半双工模式,差动曼彻斯特编码 与全双工相比,功能更少/更简单(无需 PHY 控制、简化时钟恢复、无需链路控制、无需链路监视器、无需自动协商、无需 DFE/FFE(判决反馈均衡器/前馈均衡器)、无需基线漂移校正、无需 AGC(自动增益控制)、简化 ADC(模数转换器))。 多点配置 显著减少网络配置所需的交换机/PHY数量 PLCA 提供比 CSMA/CD 和 TDMA 更高效的冲突控制 → 低延迟 4. 10BASE-T1(S) 的用途 以下是一些 10BASE-T1(S) 适用于的车载应用示例。 写作 前大灯、尾灯、氛围灯、内饰灯的LED控制 前照灯中使用的矩阵式 LED 包含数万个 LED,使用传统的 CAN(最大 1Mbps)很难控制它们,但 10BASE-T1S 可以控制它们。 利用LED灯进行高分辨率符号显示和视频投影,照亮路面。 传感器 近距离声纳和各种环境传感器等 执行器 车门车窗、座椅电机等。 音频 扬声器和麦克风音频传输 以上只是一个例子,预计未来价格低廉且易于使用的 10BASE-T1(s) 将有各种各样的用途。 5-1. 主要特性:多点连接 10BASE-T1(S) 除了像 1000BASE-T1 和 100BASE-T1 一样支持菊花链连接外,还支持多点连接,这大大降低了网络配置成本。 如上图所示,即使节点数量相同,与菊花链相比,多点连接也能显著减少所需的以太网交换机和 PHY 的数量。 5-2. PLCA选项的主要特点 对于菊花链连接,由于是一对一链路,因此不存在数据冲突问题;但在多点连接配置中,多个节点共享总线,因此需要数据冲突预防机制。10BASE-T1(S) 也可以使用一种名为 PLCA 的冲突预防技术。 采用仲裁方法,利用PLCA(物理层冲突避免)来避免数据冲突。 由管理设备为每个已连接的设备分配唯一的节点 ID;并依次为各 PHY 授予传输机会。 节点 ID 可以赋值为 0 到 254。 如果未实施PLCA,则CSMA/CD PHY传输机会以轮询方式确定。 ID=0 的节点(被指定为主节点)在总线上发出 BEACON 信号。该 BEACON 信号标志着新一轮传输机会的开始。 当具有其他 ID 的节点收到信标时,它会等待自己的传输机会。 每个节点在发送数据包之前,都会在传输机会期间发送 COMMIT 信号。 每个节点只有在时隙与其自身 ID 匹配时才开始传输(如果 TO_TIMER 周期已过,节点也可以跳过传输机会)。 →与TDMA(时分多址)不同,它不会因为打包未使用的时隙而浪费时间。 COMMIT 请求会停止其他节点的定时器 (TO_TIMER),并让它们等待数据包。 这样,通过将每个节点的通信时间除以时间,就可以避免冲突。 6. 10BASE-T1(S) PHY 和 100BASE-T1/1000BASE-T1 的 比较 在OSI参考模型中的位置 IEEE 802.3cg 定义的 10BASE-T1(S) 对应于 OSI 参考模型的物理层 (PHY),就像 100BASE-T1 和 1000BASE-T1 一样。 从主机控制器通过MII接收的数据会发送到以太网线路。接收过程则相反。 *恩智浦提供主机控制器和10BASE-T1(S)兼容的PHY器件。 物理层模块 下图所示为 10BASE-T1(S) 的 PHY 模块。该配置与 100BASE-T1 和 1000BASE-T1 基本相同,即主机控制器通过 MII 输入的数据经 PCS 编码,PMA 转换为模拟信号,然后发送到传输路径。接收过程则相反。   PCS区块 PCS 与 100BASE-T1/1000BASE-T1 的主要区别在于,PCS 执行 PLCA 冲突控制。 此外,编码使用的是DME,而不是PMA。 DME(差分曼彻斯特编码) 10BASE-T1(S) 使用 DME 的主要原因是降低成本,其主要特点如下: 10Base-T1(S)的DME信号比100BASE-T1等使用的PAM信号成本更低。 由于DME内置时钟,其0和1电平之间的转换频率高于PAM,即使0和1连续出现,同步丢失的可能性也更小。这有助于降低产品成本。 PMA块 PMA模块执行D/A转换和校正控制。 从下面的框图可以看出,10BASE-T1(S) 中许多模块已被消除(或简化),这简化了设备设计并有助于降低成本。 电缆 使用 10BASE-T1(S) 可以采用价格低廉的以太网电缆。 10BASE-T1(S) 使用一对(两根电缆)非屏蔽双绞线 (UTP) 电缆。 (与 100BASE-T1/1000BASE-T1 以太网线相比,可以显著减轻重量并节省空间。) 到目前为止,我们已经解释了支持 10Mbps 范围的 10BASE-T1(S) 汽车以太网 PHY。 希望您能够理解我们是如何降低成本的,以及我们采取的各种措施。 参考信息 NXP 车载以太网网页 TJA1410,10BASE-T1S PMD 收发器网页 =========================​ 我们目前无法 回复 此帖子“ 评论”部分的评论。 对于由此造成的不便,我们深表歉意。如有任何疑问, 请 参考“ 如何就 技术问题 联系 NXP ( 日语 博客 ) ” 。 (如果您已经是 恩智浦的 分销商或 与 恩智浦 有业务往来 ,您可以直接咨询负责人。) 本页概述了车载以太网 10BASE-T1S 的基本知识。 汽车以太网 界面 日本博客
View full article
无法确定连接的 I2C 设备的地址(简单的 I2C 扫描仪) <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好 我有一台 1602A V2.0 液晶显示屏(16 个字符 x 2 行),我打算通过 LCM 1602 I2C 扩展器(上面装有飞利浦 PCF8574AT)连接到我的 MK26 ARM M4 MCU。 从今天早上开始,我就在尝试让它工作,但很明显,我为 I2C 扩展器计算的地址(根据 该数据表 为 0x3F ,A0、A1、A2 为非跳线 )是不正确的,所以我试图扫描 I2C 扩展器会回传 ACK 的有效地址,但我找不到任何地址。 我只将 PCF8574AT 连接到我的板,液晶屏没有连接,它仍然无法正常工作。 我有以下一段代码(KSDK 2.0): #include "fsl_gpio.h" #include "fsl_port.h" #include "fsl_i2c.h" #include "Retarget.h" #include "Log.h" #include #include #include int main() {     RetargetInit();     i2c_master_config_t masterConfig;     uint8_t status;     /* Get default configuration for master. */     I2C_MasterGetDefaultConfig(&masterConfig);     printf("Got def. config\r\n");     /* Init I2C master. */     I2C_MasterInit(I2C0, &masterConfig, CLOCK_GetFreq(I2C0_CLK_SRC));     //I2C_Enable()     printf("Init\r\n");     /* Send start and slave address. */     printf("Starting...\r\n");     // 0x70, 0x27, 0x38, 0x20, 0x3F     uint8_t u8Addr = 0x3F;     for(u8Addr=0; u8Addr<128; u8Addr++)     {         status = I2C_MasterStart(I2C0, u8Addr, kI2C_Write);         LOG("sent address 0x%x", u8Addr);         uint32_t u32Flags;         /* Wait address sent out. */         uint16_t timeout = UINT16_MAX;         while(!((u32Flags = I2C_MasterGetStatusFlags(I2C0)) & kI2C_IntPendingFlag) && (--timeout))         {         }         if((u32Flags = I2C_MasterGetStatusFlags(I2C0)) & kI2C_IntPendingFlag)         {             LOG("ADDRESSS 0x%x IS OK", u8Addr);         }         LOG("timeout is %d", timeout);         //LOG("done address");         status = I2C_MasterStop(I2C0);         LOG("Stopped with status=%d", status);     } }‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 你能否指出我做错了什么,为什么我的扫描没有产量任何结果? 还是我的 I2C 扩展器有问题? 我本以为上述代码的输出会包含一个"ADDRESSS 0x...IS OK" 行,超时时间不等于 0,但事实并非如此。 圣诞快乐 Kinetis M系列MCU Re: Cannot determine address of connected I2C device (simple I2C scanner) 看来问题可能是由于与您的I2C设备的布线或地址冲突造成的。仔细检查上拉电阻,确保设备地址与数据表值相匹配。您还可以通过这份详细的蜂巢规划器评测找到有用的故障排除指导,其中包括常见的连接错误和实用的解决方案。这可以帮助您缩小是硬件问题还是配置问题的范围。 Re: Cannot determine address of connected I2C device (simple I2C scanner) 该问题通常发生在未正确检测到接线或设备地址时。再次扫描之前,请仔细检查上拉电阻并确保设备已正确通电。如果你正在寻找更详细的法律引用资料,你可能还会发现 Bexar County Court Dockets 页面对与案件相关的结构化更新很有用。有时,在排除故障时交叉检查可靠的信息来源有助于保持一切正常。 Re: Cannot determine address of connected I2C device (simple I2C scanner) 听起来问题可能出在上拉电阻或 I2C 线路的布线顺序上,这通常会导致扫描问题。仔细检查设备的数据表,确保通信电压等级正确。您还可以在 wendys talk 上找到有用的故障排除步骤和相关指南 , 它们可以让您更清楚地处理此类错误。分享您的具体设置也有助于其他人提供更有针对性的建议。 Re: Cannot determine address of connected I2C device (simple I2C scanner) 听起来 I2C 扫描仪问题可能与接线或设备无法正确确认地址有关。有时,确保正确的上拉电阻或检查时钟速度设置会有所帮助。顺便提一下,对于任何需要处理复杂财务计算的人来说,像查塔姆利息计算器这样的工具确实可以简化计算过程,节省时间。希望你能尽快让扫描仪顺利工作! Re: Cannot determine address of connected I2C device (simple I2C scanner) 听起来你已经彻底检查了通常的 I2C 地址范围。有时,仔细检查上拉电阻器的连接情况会有所帮助。此外,如果你正在处理多个模块,详细记录的地址搜索可以帮助追踪哪些设备做出了响应。认真记录每个步骤往往会使故障排除更快、更清晰。 Re: Cannot determine address of connected I2C device (simple I2C scanner) 你面临的问题很有意思。有时,布线或配置等小细节会对解决此类错误产生巨大影响。对于那些同时从事研究或背景调查的人来说,县监狱记录等资源可以提供有用的信息,以便有效地交叉参考细节。希望你能尽快让扫描仪顺利工作! Re: Cannot determine address of connected I2C device (simple I2C scanner) 如果您在识别 I2C 设备时遇到问题,请仔细检查接线并确保上拉电阻器放置正确,可能会有所帮助。在某些情况下,跳线故障或电压等级不匹配可能是罪魁祸首。如需更多指导和结构化步骤,您可以参考FEPS 应用指南中的有用指南,以便更清楚地了解文档和故障排除实践。 Re: Cannot determine address of connected I2C device (simple I2C scanner) 问题可能出在布线或 SDA 和 SCL 线路的上拉电阻设置不当上。仔细检查连接,确保设备电源正常。你可能还想用另一个已知的工作元器件来测试你的设置。在涉及编码或基本逻辑验证的项目中,为了快速测试和了解相关算法,凯撒密码工具等工具有时会很有用。 Re: Cannot determine address of connected I2C device (simple I2C scanner) 仔细检查接线并确保上拉电阻正确到位可能会有帮助,尤其是在处理 I2C 通信问题时。有时,设备地址冲突或连接不良会导致扫描仪故障。对于那些有兴趣改进用户反馈系统的人来说,这篇关于 零售体验调查的见解,或许也能为有效收集和分析反馈意见提供一些有价值的视角。 Re: Cannot determine address of connected I2C device (simple I2C scanner) 确保 I2C 连接牢固,上拉电阻放置正确。此外,还要验证您的 MCU 和 PCF8574AT 之间的电压等级。欲了解更多参考,请查看这份县逮捕查询,这可能会对你的研究过程有所帮助。 Re: Cannot determine address of connected I2C device (simple I2C scanner) 听起来您的I2C扫描仪可能由于地址冲突或布线问题而无法检测到设备。仔细检查连接,并尝试运行基本的扫描仪脚本以确保通信。如果你正在从事与公共数据研究相关的项目,或者需要为在押人员提供参考图片,你可能会发现肯塔基州的Mugshot looku p 对你很有帮助。有时,小的编码疏忽或跳线故障也会导致这一问题,因此重新检查硬件设置可能会有所帮助。 Re: Cannot determine address of connected I2C device (simple I2C scanner) 听起来你已经很好地隔离了 I2C 扩展器,但有一点需要仔细检查,那就是 SDA 和 SCL 线路上是否有上拉电阻器--没有它们,通信往往会无声无息地失败。此外,请确保 I2C 时钟频率对 PCF8574AT 而言不会太高。如果您对更广泛的系统诊断或帮助跟踪嵌入式系统问题的工具感兴趣,您可能还想探索像Arrest tracker NJ 这样的资源,它展示了结构化数据记录和跟踪方法。如果您使用逻辑分析仪在总线上发现任何异常,请与我们联系。 Re: Cannot determine address of connected I2C device (simple I2C scanner) 如果你在确定连接的I2C设备的地址时遇到问题,我建议你查看当地的逮捕案件,看是否存在任何潜在的干扰或通信错误。有时,处理问题可能与忽略的连接或设置有关。这还有助于确保您的接线牢固,并且设备已正确通电。对于那些有兴趣查看公共功能安全记录或其他类似数据库的人,有一些工具可供审查,这些工具可能会为社区层面的技术故障排除提供见解。 Re: Cannot determine address of connected I2C device (simple I2C scanner) 听起来你已经很好地缩小了问题的范围。需要仔细检查的一点是 SDA 和 SCL 线路上的上拉电阻--没有它们,许多 I2C 扫描仪将无法获得任何 ACK。此外,确保扩展器电源正常,不存在地址冲突。如果您正在开发嵌入式项目并需要额外的验证工具,这个CO 监狱定位器可以帮助演示结构化数据验证方法,尤其是在组织和读取序列化输出时。继续前进,你就快成功了!     Re: Cannot determine address of connected I2C device (simple I2C scanner) <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,保罗、 请参阅创建 i2c 地址扫描仪。 我正在为此使用处理器专家元器件,它提供了 ScanDevice () 来探测总线上的设备: 由于您使用的是 SDK,因此这种方法无法直接为您所用。不过,您可以查看 GitHub 上 McuEclipseLib 项目(McuOnEclipseLibrary/lib/src at master - ErichStyger/McuOnEclipseLibrary - GitHub)和 McuGenericI2C ScanDevice() 函数中的代码。这个函数是通过 i2cSpy 中的命令行解析器 (parseCommand () 调用的,你可以在 Eclipse 上使用 i2cSpy 和 Freedom 板 | MCU 进行的 CSI 犯罪现场调查中看到会是什么样子。 除此以外:请确保您正确配置了 I2C 时钟:对此有一个硅勘误表(请参阅KL25Z and I2C: Missing Repeated Start Condition | MCU on Eclipse)。 希望能帮到你,圣诞快乐! 埃里希 Re: Cannot determine address of connected I2C device (simple I2C scanner) Arrests.org索引了 3,000 多个县的县治安官登记信息。记录显示 收件后 6-18 小时- 而非实时。该网站是一个私人登记汇总网站,不是警方或法院数据库。如果是联邦特工(联邦调查局、缉毒局、海关及边境保护局、烟酒枪支弹药管理局)实施逮捕,则此人将 永远不会出现在 Arrests.org 上。. Re: Cannot determine address of connected I2C device (simple I2C scanner) 本指南回答了人们对本网站提出的所有实际问题:如何正确搜索?数据究竟意味着什么?为什么明知有人被捕却不露面?当网站给出结果后,下一步该怎么做?我们用通俗易懂的英语写这篇文章,因为当你关心的人被关进县监狱时,你不需要法律术语。您需要明确的前进道路
View full article
S32K324 HSEフラッシュと暗号テストの問題 NXPサポートチーム様 S32K324 マイクロに「HSE_FW_S32K344_12_2_69_1」をフラッシュしようとしています。 以下の投稿に添付されているスクリプトを使用してみました。 S32K324 および S32K312 HSE FW Lauterbach インターフェース スクリプトの要件。- NXPコミュニティ 最初の INSTALL スクリプトでは IVT イメージのみをインストールするように指示されていますが、ピンクのイメージしかないSO、それを使用できませんでした。 2 番目のスクリプト (HSE インターフェース スクリプト) はこれを使用してピンク色のイメージをインストールできますが、暗号化機能はいずれも動作しません。 そして、電子メールで提案されたとおり、確認を求められたアドレスの以下の値を取得しました。これらの値が予想通りであるかどうかをお知らせください。 また、キー プロビジョニングをデバッグしているときに、hse_ip_serv 関数に到達できることを確認できましたが、タイムアウトが発生したため、下の画像に示すように、HSE が応答を返すことができないようです。 サポートをお待ちしております。 よろしくお願いいたします。 ニティン・ヴィシュノイ Re: S32K324 HSE flashing and Crypto test issue 今後のコミュニケーションのため、このチケットをGMサポートフォーラムに移動しました。 S32K324 HSEフラッシュと暗号テストの問題 - NXPコミュニティ Re: S32K324 HSE flashing and Crypto test issue こんにちは@nitvishnoi はい、GSR レジスタのビット 0 が設定されているSO、致命的なエラーが原因で HSE がシャットダウンされました。データ キャッシュを無効にして、違いがあるかどうか確認してみます。 GM は、FAE とプライベート コミュニティ スペースを通じて直接サポートを受けることができます。さらなるサポートについては、むしろこれらのチャネルを使用することをお勧めします。 よろしくお願いいたします。 ルーカス Re: S32K324 HSE flashing and Crypto test issue こんにちは、ルーカス。 FSR レジスタと GSR レジスタの詳細は次のとおりです。何か見つかった場合はお知らせください。 今日午後 4 時 (東部標準時) に電話に参加したい場合はお知らせください。昨日、cinco に招待状を送りました。 よろしくお願いいたします。 ニティン・ヴィシュノイ Re: S32K324 HSE flashing and Crypto test issue こんにちは@nitvishnoi 0x4039_C028 の HSE GPR レジスタによると、HSE ファームウェアがインストールされています。 HSE サービスが完了せず、タイムアウトが発生した場合は、MU 内の FSR および GSR レジスタをチェックして何が起こったかを確認します。タイムアウトの一般的な問題は、何らかのサービスを呼び出すときに間違ったポインタが HSE に渡されることです。HSE がデータにアクセスできない場合 (権限不足、ダブル ビット ECC エラー、実装されていない領域にアクセスしているなど)、HSE はシャットダウンされます。 よろしくお願いいたします。 ルーカス
View full article
关于 ADC 通道分配 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好,社区 在数据表 99 中分配给 ADC1_IN0 至 ADC1_IN3。 另一方面,在《参考手册》的 ADC 存储器映射中,ADC1 有 CH_A 到 CH_D。 是否可以将通道 0 指定为 CHA_SEL,通道 1 指定为 CHB_SEL,通道 2 指定为 CHC_SEL,通道 3 指定为 CHD_SEL,以支持以下操作? IN0-CH_A IN1-CH_B IN2-CH_C IN3-CH_D 顺祝商祺! 请访问 i.MX7 双核 About ADC channel assignment 你好,伊戈尔帕季科夫。 这是一个解决方案,但我不明白,所以我有一个问题。 根据数据手册中的引脚分配,ADC1_IN0 至 ADC2_IN3 共有八个物理输入端。 在参考手册中,adcx_ch_A_CFG1 的 CHA_SEL 的范围从 0 到 15。 ADC1_INx 和 Channelx 对应的是什么? 还是它们互不相关? 应如何设置 ADC2_IN0? 顺祝商祺! Re: About ADC channel assignment <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 后藤 是的,这是可能的。如第 14.1.1 节所述概述 i.MX 7Dual 应用处理器参考手册 "ADC 最多支持五个逻辑组(ChA / ChB / ChC / ChD / SW)的转换。每组可从 0 - 15 个物理通道中选择一个通道 。" 问候 igor ----------------------------------------------------------------------------------------------------------------------- 注:如果本帖回答了您的问题,请点击 "正确答案 "按钮。Thank you! -----------------------------------------------------------------------------------------------------------------------
View full article
安全启动 IMX8MP 在基于i.MX8MP的设备上实现安全启动时,我们使用hab_status进行了全面的测试。一切按预期进行--没有报告发生有害藻类繁殖事件。我们使用不同的图像签名设置进行了 10 多次测试,在图像正确签名的情况下始终没有发现 HAB 事件(在图像未签名的情况下确实发现了事件)。 完成设置后,我们关闭了设备。但是,使用相同的设备和完全相同的签名映像,启动映像开始被拒绝。 如果图像签名或 SRK 密钥出现问题,本应反映在 hab_status 中,但在测试过程中没有出现此类错误。 我附上了我们的安全启动拒绝日志: SPL_ONLY.txt — 没有 FIT 图像可选的配置的默认配置 SPL_FIT.txt — 带有 FIT 图像可选的配置和 csf_fit.txt Re: SECURE BOOT IMX8MP 你好@xae-abhishek 我已经在您的另一张票中回复了您。如果有,请告诉我。 此致 哈维
View full article
mc145010 图 8.MC145010 数据表中典型的电池供电应用。 腔室内部没有反射,但是突然间 LED 开始闪烁几次,但输出 I/O 没有触发信号。 哪些条件会使发光二极管出现这种行为? 在哪里可以获得这些信息? Re: mc145010 亲爱的fpgiovanini 在与烟雾检测无关的几种情况下,LED 会闪烁: 低供电电压状态: 该芯片使用来自 LED 引脚的脉冲负载电流定期检查电源电压。 如果电压下降至阈值以下(由外部电阻器设定),LED 会与蜂鸣音或线性调频一起闪烁,表示电池电量不足。 箱体灵敏度降低: 集成电路会定期检查腔室灵敏度是否下降。 LED 指示灯闪烁到一半时发出 "嘟嘟 "声,表示出现这种情况。 按钮测试模式: 如果按下测试按钮,集成电路将进入高增益模式,并可能导致 LED 指示灯闪烁,作为测试序列的一部分。 上电复位或内部监控: 开机或待机时,集成电路可能会执行内部检查,从而瞬间激活 LED。 致以最崇高的敬意 约瑟夫
View full article
一部のUdiskがMCIMX6ULL-EVK評価ボードで列挙に失敗する 128GB と 64GB の 2 つの Udisk があります。これら 2 つは両方とも MX8MP-EVK 評価ボードで列挙できます。MCIMX6ULL-EVK 評価ボードでは 64GB を列挙できますが、64GB は列挙できません。 MCIMX6ULL-EVK 評価ボードの NXP デモ ファームウェア L4.1.15_2.0.0 と L5.4.24-2.1.0_images_MX6UL7D の両方でこの問題を再現できます。 以下は、MCIMX6ULL-EVK 評価ボードのテスト ログです。 NXP i.MX リリース ディストリビューション 5.4-zeus imx6ul7d ttymxc0 imx6ul7d ログイン: root 最終ログイン: 2020年5月28日(木) 16:05:12 UTC、tty7 ルート@imx6ul7d:~# ルート@imx6ul7d:~# root@imx6ul7d:~# 64GBのudiskを試すが、いつも失敗する -sh: 変更: コマンドが見つかりません ルート@imx6ul7d:~# ルート@imx6ul7d:~# root@imx6ul7d:~# [ 33.127440] VSD_3V3: 無効化 [ 33.130571] CAN-3v3: 無効化 [ 33.977402] usb 1-1: ci_hdrc を使用した新しい高速 USB デバイス番号 2 [ 34.030526] usb 1-1: 新しいUSBデバイスが見つかりました、idVendor=346d、idProduct=5678、bcdDevice= 3.20 [ 34.038928] usb 1-1: 新しいUSBデバイス文字列: Mfr=1、製品=2、SerialNumber=3 [ 34.046215] usb 1-1: 製品: ディスク 20 [ 34.056993] usb 1-1: メーカー: USB [ 34.064009] usb 1-1: シリアル番号: FC31114725D35 [ 34.081397] usb-storage 1-1:1.0: USBマスストレージデバイスが検出されました [ 34.105046] SCSIホスト0: USBストレージ1-1:1.0 [ 35.129674] scsi 0:0:0:0: ダイレクトアクセス ベンダー C 製品コード 3.20 PQ: 0 ANSI: 4 [ 35.154632] sd 0:0:0:0: [sda] 122880000 512バイトの論理ブロック: (62.9 GB/58.6 GiB) [ 35.170574] sd 0:0:0:0: [sda] 書き込み保護はオフです [ 35.190603] sd 0:0:0:0: [sda] キャッシュモードページが見つかりません [ 35.195948] sd 0:0:0:0: [sda] ドライブキャッシュを想定: ライトスルー [ 35.236559] sda: sda1 [ 35.252883] sd 0:0:0:0: [sda] SCSIリムーバブルディスクが接続されました [ 35.273942] usb 1-1: USB切断、デバイス番号2 [ 35.284399] sd 0:0:0:0: [sda] タグ#0 失敗 結果: ホストバイト=DID_ERROR ドライバーバイト=DRIVER_OK [ 35.292811] sd 0:0:0:0: [sda] タグ#0 CDB: 読み取り(10) 28 00 07 52 ff 80 00 00 08 00 [ 35.300184] blk_update_request: I/Oエラー、デバイスSDA、セクター122879872 op 0x0:(READ) フラグ0x80700 phys_seg 1 prioクラス0 [ 35.320469] scsi 0:0:0:0: [sda] tag#0 失敗 結果: ホストバイト=DID_ERROR ドライバーバイト=DRIVER_OK [ 35.329034] scsi 0:0:0:0: [sda] タグ#0 CDB: 読み取り(10) 28 00 07 52 ff 80 00 00 08 00 [ 35.336534] blk_update_request: I/Oエラー、デバイスSDA、セクター122879872 op 0x0:(READ) フラグ0x0 phys_seg 1 prioクラス0 [ 35.347154] デバイスSDAのバッファI/Oエラー、論理ブロック15359984、非同期ページ読み取り [ 35.727532] usb 1-1: ci_hdrc を使用した新しい高速 USB デバイス番号 3 [ 46.307351] USB 1-1: デバイスがアドレス3を受け入れません、エラー -110 [ 46.457428] usb 1-1: ci_hdrc を使用した新しい高速 USB デバイス番号 4 [ 51.967329] USB 1-1: デバイスがアドレス4を受け入れません、エラー -71 [ 51.973421] usb usb1-port1: 電源を入れ直す [ 52.467402] usb 1-1: ci_hdrc を使用した新しい高速 USB デバイス番号 5 [ 52.637376] USB 1-1: デバイス応答なし、デバイスディスクリプタ読み取り/64、エラー -71 [ 57.927378] USB 1-1: デバイス応答なし、デバイスディスクリプタ読み取り/64、エラー -71 [ 58.197409] usb 1-1: ci_hdrc を使用した新しい高速 USB デバイス番号 6 [ 58.367365] USB 1-1: デバイス応答なし、デバイスディスクリプタ読み取り/64、エラー -71 [ 63.687362] USB 1-1: デバイス応答なし、デバイスディスクリプタ読み取り/64、エラー -71 [ 63.807378] usb usb1-port1: USBデバイスを列挙できません ルート@imx6ul7d:~# ルート@imx6ul7d:~# ルート@imx6ul7d:~# ルート@imx6ul7d:~# root@imx6ul7d:~# [ 76.317394] usb 1-1: ci_hdrc を使用して新しい高速USBデバイス番号7を作成しました [ 76.370177] usb 1-1: 新しいUSBデバイスが見つかりました、idVendor=346d、idProduct=5678、bcdDevice= 3.20 [ 76.378577] usb 1-1: 新しいUSBデバイス文字列: Mfr=1、製品=2、SerialNumber=3 [ 76.385854] usb 1-1: 製品: ディスク 20 [ 76.397014] usb 1-1: メーカー: USB [ 76.403918] usb 1-1: シリアル番号: FC31114725D35 [ 76.422972] usb-storage 1-1:1.0: USBマスストレージデバイスが検出されました [ 76.445697] SCSIホスト0: USBストレージ1-1:1.0 [ 77.529821] scsi 0:0:0:0: ダイレクトアクセス ベンダー C 製品コード 3.20 PQ: 0 ANSI: 4 [ 77.554400] sd 0:0:0:0: [sda] 122880000 512バイトの論理ブロック: (62.9 GB/58.6 GiB) [ 77.570541] sd 0:0:0:0: [sda] 書き込み保護はオフです [ 77.587488] sd 0:0:0:0: [sda] キャッシュモードページが見つかりません [ 77.592898] sd 0:0:0:0: [sda] ドライブキャッシュを想定: ライトスルー [ 77.648590] sda: sda1 [ 77.662782] sd 0:0:0:0: [sda] SCSIリムーバブルディスクが接続されました [ 77.683719] usb 1-1: USB切断、デバイス番号7 [ 77.694214] sd 0:0:0:0: [sda] タグ#0 失敗 結果: ホストバイト=DID_ERROR ドライバーバイト=DRIVER_OK [ 77.702615] sd 0:0:0:0: [sda] タグ#0 CDB: 読み取り(10) 28 00 07 52 ff 80 00 00 08 00 [ 77.709992] blk_update_request: I/Oエラー、デバイスSDA、セクター122879872 op 0x0:(READ) フラグ0x80700 phys_seg 1 prioクラス0 [ 77.730370] scsi 0:0:0:0: [sda] tag#0 失敗 結果: ホストバイト=DID_ERROR ドライバーバイト=DRIVER_OK [ 77.738932] scsi 0:0:0:0: [sda] タグ#0 CDB: 読み取り(10) 28 00 07 52 ff 80 00 00 08 00 [ 77.746434] blk_update_request: I/Oエラー、デバイスSDA、セクター122879872 op 0x0:(READ) フラグ0x0 phys_seg 1 prioクラス0 [ 77.757035] デバイスSDAのバッファI/Oエラー、論理ブロック15359984、非同期ページ読み取り [ 78.147306] usb 1-1: ci_hdrc を使用した新しい高速 USB デバイス番号 8 [ 86.837348] USB 1-1: デバイスがアドレス8を受け入れません、エラー -71 [ 87.947309] usb 1-1: ci_hdrc を使用した新しい高速 USB デバイス番号 9 [ 88.397411] USB 1-1: デバイスがアドレス9を受け入れません、エラー -71 [ 88.403501] usb usb1-port1: 電源を入れ直す ルート@imx6ul7d:~# ルート@imx6ul7d:~# ルート@imx6ul7d:~# ルート@imx6ul7d:~# ルート@imx6ul7d:~# ルート@imx6ul7d:~# ルート@imx6ul7d:~# root@imx6ul7d:~# 128GB udisk を変更すると、常に成功します -sh: 変更: コマンドが見つかりません ルート@imx6ul7d:~# ルート@imx6ul7d:~# ルート@imx6ul7d:~# root@imx6ul7d:~# [ 134.957400] usb 1-1: ci_hdrc を使用して新しい高速USBデバイス番号11を作成しました [ 135.010205] usb 1-1: 新しいUSBデバイスが見つかりました、idVendor=346d、idProduct=5678、bcdDevice= 3.20 [ 135.018605] usb 1-1: 新しいUSBデバイス文字列: Mfr=1、製品=2、SerialNumber=3 [ 135.025887] usb 1-1: 製品: ディスク 20 [ 135.037000] usb 1-1: メーカー: USB [ 135.043977] usb 1-1: シリアル番号: FC2900B1485C4 [ 135.062849] usb-storage 1-1:1.0: USBマスストレージデバイスが検出されました [ 135.085469] SCSIホスト0: USBストレージ1-1:1.0 [ 136.169604] scsi 0:0:0:0: ダイレクト アクセス ベンダー C 製品コード 3.20 PQ: 0 ANSI: 4 [ 136.194433] sd 0:0:0:0: [sda] 245760000 512バイトの論理ブロック: (126 GB/117 GiB) [ 136.210578] sd 0:0:0:0: [sda] 書き込み保護はオフです [ 136.227848] sd 0:0:0:0: [sda] キャッシュモードページが見つかりません [ 136.233272] sd 0:0:0:0: [sda] ドライブキャッシュを想定: ライトスルー [ 136.289093] sda: sda1 [ 136.310555] sd 0:0:0:0: [sda] SCSIリムーバブルディスクが接続されました [ 138.115645] EXT4-fs (sda1): 順序付きデータモードでマウントされたファイルシステム。オプション: (null) ルート@imx6ul7d:~# ルート@imx6ul7d:~# ルート@imx6ul7d:~# ルート@imx6ul7d:~# df ファイルシステム 1Kブロック 使用済み 使用可能 使用率 マウント先 /dev/root 1215192 746488 387904 66% / devtmpfs 168088 4 168084 1% /dev tmpfs 250520 0 250520 0% /dev/shm tmpfs 250520 8972 241548 4% /run tmpfs 250520 0 250520 0% /sys/fs/cgroup tmpfs 250520 4 250516 1% /tmp tmpfs 250520 148 250372 1% /var/volatile /dev/mmcblk1p1 27130 10722 16408 40% /run/media/mmcblk1p1 tmpfs 50104 4 50100 1% /run/media/ユーザー/0 /dev/sda1 120819424 61452 114597592 1% /run/media/sda1 root@imx6ul7d:~# [ 161.140099] usb 1-1: USB切断、デバイス番号11 [ 164.677402] usb 1-1: ci_hdrc を使用して新しい高速USBデバイス番号12を作成しました [ 164.730130] usb 1-1: 新しいUSBデバイスが見つかりました、idVendor=346d、idProduct=5678、bcdDevice= 3.20 [ 164.738530] usb 1-1: 新しいUSBデバイス文字列: Mfr=1、製品=2、SerialNumber=3 [ 164.745816] usb 1-1: 製品: ディスク 20 [ 164.756858] usb 1-1: メーカー: USB [ 164.763932] usb 1-1: シリアル番号: FC2900B1485C4 [ 164.790406] usb-storage 1-1:1.0: USBマスストレージデバイスが検出されました [ 164.822090] SCSIホスト0: USBストレージ1-1:1.0 [ 165.849535] scsi 0:0:0:0: ダイレクト アクセス ベンダー C 製品コード 3.20 PQ: 0 ANSI: 4 [ 165.874608] sd 0:0:0:0: [sda] 245760000 512バイトの論理ブロック: (126 GB/117 GiB) [ 165.887981] sd 0:0:0:0: [sda] 書き込み保護はオフです [ 165.907494] sd 0:0:0:0: [sda] キャッシュモードページが見つかりません [ 165.912845] sd 0:0:0:0: [sda] ドライブキャッシュを想定: ライトスルー [ 165.958829] sda: sda1 [ 165.979338] sd 0:0:0:0: [sda] SCSIリムーバブルディスクが接続されました [ 167.820051] EXT4-fs (sda1): 順序付きデータモードでマウントされたファイルシステム。オプション: (null) ルート@imx6ul7d:~# ルート@imx6ul7d:~# root@imx6ul7d:~# [ 178.797249] usb 1-1: USB切断、デバイス番号12 ルート@imx6ul7d:~# ルート@imx6ul7d:~# ルート@imx6ul7d:~# ルート@imx6ul7d:~# root@imx6ul7d:~# 64GB udisk を再試行するが、常に失敗する -sh: 変更: コマンドが見つかりません ルート@imx6ul7d:~# ルート@imx6ul7d:~# root@imx6ul7d:~# [ 206.277395] usb 1-1: ci_hdrc を使用して新しい高速USBデバイス番号13を作成しました [ 206.330256] usb 1-1: 新しいUSBデバイスが見つかりました、idVendor=346d、idProduct=5678、bcdDevice= 3.20 [ 206.338667] usb 1-1: 新しいUSBデバイス文字列: Mfr=1、製品=2、SerialNumber=3 [ 206.345948] usb 1-1: 製品: ディスク 20 [ 206.356882] usb 1-1: メーカー: USB [ 206.363925] usb 1-1: シリアル番号: FC31114725D35 [ 206.381244] usb-storage 1-1:1.0: USBマスストレージデバイスが検出されました [ 206.403761] scsi ホスト0: usb-storage 1-1:1.0 [ 207.449663] scsi 0:0:0:0: ダイレクトアクセス ベンダー C 製品コード 3.20 PQ: 0 ANSI: 4 [ 207.474740] sd 0:0:0:0: [sda] 122880000 512バイトの論理ブロック: (62.9 GB/58.6 GiB) [ 207.487973] sd 0:0:0:0: [sda] 書き込み保護はオフです [ 207.510688] sd 0:0:0:0: [sda] キャッシュモードページが見つかりません [ 207.516111] sd 0:0:0:0: [sda] ドライブキャッシュを想定: ライトスルー [ 207.558710] sda: sda1 [ 207.579364] sd 0:0:0:0: [sda] SCSIリムーバブルディスクが接続されました [ 207.596929] usb 1-1: USB切断、デバイス番号13 [ 207.602671] sd 0:0:0:0: [sda] タグ#0 失敗 結果: ホストバイト=DID_ERROR ドライバーバイト=DRIVER_OK [ 207.611076] sd 0:0:0:0: [sda] タグ#0 CDB: 読み取り(10) 28 00 07 52 ff 80 00 00 08 00 [ 207.618463] blk_update_request: I/Oエラー、デバイスSDA、セクター122879872 op 0x0:(READ) フラグ0x80700 phys_seg 1 prioクラス0 [ 207.643260] scsi 0:0:0:0: [sda] tag#0 失敗 結果: ホストバイト=DID_ERROR ドライバーバイト=DRIVER_OK [ 207.651824] scsi 0:0:0:0: [sda] タグ#0 CDB: 読み取り(10) 28 00 07 52 ff 80 00 00 08 00 [ 207.659379] blk_update_request: I/Oエラー、デバイスSDA、セクター122879872 op 0x0:(READ) フラグ0x0 phys_seg 1 prioクラス0 [ 207.669949] デバイスSDAのバッファI/Oエラー、論理ブロック15359984、非同期ページ読み取り [ 208.067342] usb 1-1: ci_hdrc を使用した新しい高速 USB デバイス番号 14 ルート@imx6ul7d:~# ルート@imx6ul7d:~# ルート@imx6ul7d:~# root@imx6ul7d:~# [ 218.627329] usb 1-1: デバイスがアドレス14を受け入れません、エラー -110 [ 218.777517] usb 1-1: ci_hdrc を使用した新しい高速 USB デバイス番号 15 [ 224.287335] USB 1-1: デバイスがアドレス15を受け入れません、エラー -71 [ 224.293525] usb usb1-port1: 電源を入れ直してみる [ 224.787394] usb 1-1: ci_hdrc を使用した新しい高速 USB デバイス番号 16 [ 224.957376] USB 1-1: デバイス応答なし、デバイスディスクリプタ読み取り/64、エラー -71 [ 230.247424] USB 1-1: デバイス応答なし、デバイスディスクリプタ読み取り/64、エラー -71 [ 230.517415] usb 1-1: ci_hdrc を使用した新しい高速 USB デバイス番号 17 [ 230.687412] USB 1-1: デバイス応答なし、デバイスディスクリプタ読み取り/64、エラー -71 [ 236.007405] USB 1-1: デバイス応答なし、デバイスディスクリプタ読み取り/64、エラー -71 [ 236.127474] usb usb1-port1: USBデバイスを列挙できません ルート@imx6ul7d:~# ルート@imx6ul7d:~# ルート@imx6ul7d:~# root@imx6ul7d:~# [ 1177.397394] usb 1-1: ci_hdrc を使用して新しい高速USBデバイス番号18を作成しました [ 1177.450285] usb 1-1: 新しいUSBデバイスが見つかりました、idVendor=346d、idProduct=5678、bcdDevice= 3.20 [ 1177.458688] usb 1-1: 新しいUSBデバイス文字列: Mfr=1、製品=2、SerialNumber=3 [ 1177.465961] usb 1-1: 製品: ディスク 20 [ 1177.476789] usb 1-1: メーカー: USB [ 1177.483826] usb 1-1: シリアル番号: FC31114725D35 [ 1177.503847] usb-storage 1-1:1.0: USBマスストレージデバイスが検出されました [ 1177.525431] SCSIホスト0: USBストレージ1-1:1.0 [ 1178.569560] scsi 0:0:0:0: ダイレクトアクセス ベンダー C 製品コード 3.20 PQ: 0 ANSI: 4 [ 1178.595649] sd 0:0:0:0: [sda] 122880000 512バイトの論理ブロック: (62.9 GB/58.6 GiB) [ 1178.612255] sd 0:0:0:0: [sda] 書き込み保護はオフです [ 1178.634376] sd 0:0:0:0: [sda] キャッシュモードページが見つかりません [ 1178.639860] sd 0:0:0:0: [sda] ドライブキャッシュを想定: ライトスルー [ 1178.667061] sda: sda1 [ 1178.683380] sd 0:0:0:0: [sda] SCSIリムーバブルディスクが接続されました [ 1178.704463] usb 1-1: USB切断、デバイス番号18 [ 1178.713191] sd 0:0:0:0: [sda] タグ#0 失敗 結果: ホストバイト=DID_ERROR ドライバーバイト=DRIVER_OK [ 1178.721585] sd 0:0:0:0: [sda] タグ#0 CDB: 読み取り(10) 28 00 07 52 ff 80 00 00 08 00 [ 1178.728953] blk_update_request: I/Oエラー、デバイスSDA、セクター122879872 op 0x0:(READ) フラグ0x80700 phys_seg 1 prioクラス0 [ 1178.753859] scsi 0:0:0:0: [sda] tag#0 失敗 結果: ホストバイト=DID_ERROR ドライバーバイト=DRIVER_OK [ 1178.762423] scsi 0:0:0:0: [sda] タグ#0 CDB: 読み取り(10) 28 00 07 52 ff 80 00 00 08 00 [ 1178.769993] blk_update_request: I/Oエラー、デバイスSDA、セクター122879872 op 0x0:(READ) フラグ0x0 phys_seg 1 prioクラス0 [ 1178.780566] デバイスSDAのバッファI/Oエラー、論理ブロック15359984、非同期ページ読み取り [ 1179.167312] usb 1-1: ci_hdrc を使用して新しい高速USBデバイス番号19を作成しました [ 1179.747351] USB 1-1: デバイスがアドレス19を受け入れません、エラー -71 [ 1231.457317] usb 1-1: ci_hdrc を使用した新しい高速 USB デバイス番号 21 [ 1231.509890] usb 1-1: 新しいUSBデバイスが見つかりました、idVendor=346d、idProduct=5678、bcdDevice= 3.20 [ 1231.518295] usb 1-1: 新しいUSBデバイス文字列: Mfr=1、Product=2、SerialNumber=3 [ 1231.525582] usb 1-1: 製品: ディスク 20 [ 1231.536329] usb 1-1: メーカー: USB [ 1231.543336] usb 1-1: シリアル番号: FC31114725D35 [ 1231.561890] usb-storage 1-1:1.0: USBマスストレージデバイスが検出されました [ 1231.584731] SCSIホスト0: USBストレージ1-1:1.0 [ 1232.649677] scsi 0:0:0:0: ダイレクトアクセス ベンダー C 製品コード 3.20 PQ: 0 ANSI: 4 [ 1232.674366] sd 0:0:0:0: [sda] 122880000 512バイトの論理ブロック: (62.9 GB/58.6 GiB) [ 1232.687983] sd 0:0:0:0: [sda] 書き込み保護はオフです [ 1232.710654] sd 0:0:0:0: [sda] キャッシュモードページが見つかりません [ 1232.716076] sd 0:0:0:0: [sda] ドライブキャッシュを想定: ライトスルー [ 1232.768537] sda: sda1 [ 1232.790606] sd 0:0:0:0: [sda] SCSIリムーバブルディスクが接続されました [ 1232.809177] usb 1-1: USB切断、デバイス番号21 [ 1232.820341] sd 0:0:0:0: [sda] タグ#0 失敗 結果: ホストバイト=DID_ERROR ドライバーバイト=DRIVER_OK [ 1232.828769] sd 0:0:0:0: [sda] タグ#0 CDB: 読み取り(10) 28 00 07 52 ff 80 00 00 08 00 [ 1232.836102] blk_update_request: I/Oエラー、デバイスSDA、セクター122879872 op 0x0:(READ) フラグ0x80700 phys_seg 1 prioクラス0 [ 1232.858688] scsi 0:0:0:0: [sda] tag#0 失敗 結果: ホストバイト=DID_ERROR ドライバーバイト=DRIVER_OK [ 1232.867266] scsi 0:0:0:0: [sda] タグ#0 CDB: 読み取り(10) 28 00 07 52 ff 80 00 00 08 00 [ 1232.874768] blk_update_request: I/Oエラー、デバイスSDA、セクター122879872 op 0x0:(READ) フラグ0x0 phys_seg 1 prioクラス0 [ 1232.885360] デバイスSDAのバッファI/Oエラー、論理ブロック15359984、非同期ページ読み取り [ 1233.277349] usb 1-1: ci_hdrc を使用した新しい高速 USB デバイス番号 22 ルート@imx6ul7d:~# ルート@imx6ul7d:~# ルート@imx6ul7d:~# df ファイルシステム 1Kブロック 使用済み 使用可能 使用率 マウント先 /dev/root 1215192 746488 387904 66% / devtmpfs 168088 4 168084 1% /dev tmpfs 250520 0 250520 0% /dev/shm tmpfs 250520 8952 241568 4% /実行 tmpfs 250520 0 250520 0% /sys/fs/cgroup tmpfs 250520 4 250516 1% /tmp tmpfs 250520 184 250336 1% /var/volatile /dev/mmcblk1p1 27130 10722 16408 40% /run/media/mmcblk1p1 tmpfs 50104 4 50100 1% /run/user/0 root@imx6ul7d:~# [ 1243.827330] usb 1-1: デバイスがアドレス22を受け入れません、エラー -110 [ 1243.977433] usb 1-1: ci_hdrc を使用した新しい高速 USB デバイス番号 23 root@imx6ul7d:~# [ 1249.487330] usb 1-1: デバイスがアドレス23を受け入れません、エラー -71 [ 1249.493511] usb usb1-port1: 電源を入れ直す [ 1249.987411] usb 1-1: ci_hdrc を使用した新しい高速 USB デバイス番号 24 [ 1250.157372] USB 1-1: デバイス応答なし、デバイスディスクリプタ読み取り/64、エラー -71 [ 1255.447396] USB 1-1: デバイス応答なし、デバイスディスクリプタ読み取り/64、エラー -71 [ 1255.717429] usb 1-1: ci_hdrc を使用した新しい高速 USB デバイス番号 25 [ 1255.887415] USB 1-1: デバイス応答なし、デバイスディスクリプタ読み取り/64、エラー -71 [ 1261.207667] USB 1-1: デバイス応答なし、デバイスディスクリプタ読み取り/64、エラー -71 [ 1261.327356] usb usb1-port1: USBデバイスを列挙できません Udisk を除き、ハードウェアとソフトウェアは両方とも NXP 製です。この問題の根本的な原因は何でしょうか? i.MX6UL Re: Some Udisks fail to be enumerated in the MCIMX6ULL-EVK evaluation board この問題の根本的な原因は、この 64GB Udisk が USB 2.0 と適切に下位互換性がないことです。 Re: Some Udisks fail to be enumerated in the MCIMX6ULL-EVK evaluation board タイプミスの訂正: 128GB Udisk はMCIMX6ULL-EVK 評価ボードで列挙できますが、64GB Udisk は列挙できません。   追加情報:前述の Thinkplus Udisk はどちらもLenovo ブランドの製品です。下の図に示すように:
View full article
安装 HSE 后应用程序固件损坏 使用固件 S32K3_HSE_DemoExamples_1_0_0 安装 HSE 后,我安装了完整的内存。 我的应用程序代码不再工作。在调试模式下,尝试访问闪存时可能会出现致命故障。 要与 HSE 合作,我是否需要更改申请中的某些内容? 我只想让 HSE 生成随机数。 Re: application firmware broke after installing HSE 你好@ggreguer 如果 HSE 已启动并运行,如果仍处于 CUST_DEL 生命周期,则可以使用服务 HSE_SRV_ID_ERASE_FW。这将擦除 HSE 固件和 SYS_IMG,所以从 HSE 的角度来看,它几乎就像 "RESET" 一样。我之所以说 "几乎",是因为它不会影响在 OTP 存储器 UTEST 闪存中编程的数据。这意味着,如果UTEST 中的 HSE 功能标志已编程,且已安装 FULL_MEM 固件,则 HSE 保留区域仍将保留。如果安装了 AB_SWAP,UTEST 中的 OTA 标志已编程,因此即使在 HSE FW 擦除后,仍会保留 AB_SWAP 固件的区域。因此,它不是 100% RESET。 如果 HSE 固件出了问题,导致无法启动,则需要恢复固件或通过 SBAF 擦除固件 - 这可以通过握手机制完成。遗憾的是,在这种情况下别无他法。 此致, Lukas Re: application firmware broke after installing HSE 嗨,@lukaszadrapa,你好吗?我会检查这些标志,进一步调查可能发生的情况。 同时,有没有办法对这些锁定的 MCU 进行主 RESET?我需要 RESET 才能从 HSE 中移除所有内容,让它恢复正常工作。我锁定了好几个板,它们确实是必要的。 Re: application firmware broke after installing HSE 如果 HSE 出了问题(时钟配置错误导致的致命错误、HSE 内存资源中的 ECC 错误......),则有可能闪存已为 HSE 锁定,但由于某些错误,操作尚未完成。你可以在 0x4039_C028 位的 16-29 位查看 HSE GPR 寄存器(参见 HSE 固件参考手册 v2.6,表 143)。HSE_CONFIG_GPR3)上的状态位。如果某些位在 RESET 后大约 1 秒后仍被永久设置,那么 HSE 可能处于关机模式,必须开始握手程序。请参阅 HSE 固件参考手册中的 “14.6.7 HSE 固件握手”。我还在这里写了一些说明: https://community.nxp.com/t5/S32K/S32K3-HSE-ERR-GENERAL/m-p/2072826/highlight/true#M47407 如果这还没有帮助,我需要更多详细信息,以了解故障的具体原因。 此致, Lukas Re: application firmware broke after installing HSE 我还有一个问题:有没有办法在我的 MCU 上执行硬RESET并将其恢复到以前的状态,这样我就可以毫无错误地擦除所有内存? 如您发送的图片所示,我已经通过等待 HSE 初始化测试了我的应用固件,但仍然无法正常工作。当我尝试使用以下方式向闪存写入数据时: C40_Ip_pFlashBaseAddress->DATA[0] = 0x00U; Re: application firmware broke after installing HSE 你好@ggreguer 1.安装 HSE 后,闪存中的部分内容将专门分配给 HSE 固件。您可以查看参考手册中的以下表格: 表 199。启用 HSE_B 固件使用功能标志时的配置详情 表 200。AB 交换配置 https://www.nxp.com/webapp/Download?colCode=S32K3XXRM 表 199 实际上是安装 FULL_MEM 时的内存状态。 例如,如果使用 Pemicro 调试器,用户可根据安装的固件选择正确的闪存算法。这样的闪存算法就可以避免进入保留区域。 我相信,Segger 的工具会根据状态寄存器自动完成这项工作。详情请直接与 Segger 联系。 https://kb.segger.com/NXP_S32K3xx#HSE_activated https://www.segger.com/support/technical-support/ 2.安装 HSE 固件后,需要做两件事: - 需要等待 MU_0 中 FSR 寄存器中的 HSE_STATUS_INIT_OK 标志被设置。在此之前,你无法触发任何 HSE 服务。例如,您可以在 HSE DemoExamples 中找到类似的内容: 或者类似 RTD 中的例子: - RESET 后初始化时钟时,必须等待 PRTN0_CORE2_STAT 寄存器中的 WFI 位。这一点表明 SBAF/HSE 处于 IDLE状态,时钟可以更改。在 HSE 运行时不能更改 HSE_CLK,否则会导致不可预测的行为。早期版本的 RTD 驱动程序没有这样做,而是由用户自行决定。现在它已得到修复,并在 RTD 5.0.0 及更高版本的时钟初始函数中实现。 问候, Lukas Re: application firmware broke after installing HSE 安装 HSE 后,我也无法使用 j-flash 擦除内存。 Re: application firmware broke after installing HSE #hello@lukaszadrapa 我正在开发 S32K3X4EVB-T172 板并尝试安装 HSE 固件 HSE 固件刷新成功,但我的应用程序始终停在: if (FALSE == checkHseFwFeatureFlagEnabled()) { /* Stuck here */ } 因此,HSE FW 初始化无法进行。 我检查了 UTEST 区域 (0x1B000080),得到的值是 0XFFFFFFFF ,请查看我们的项目和图像,并帮助我们解决这个问题。 谢谢
View full article
S32K144 上的 VLPS 唤醒 ISR + FreeRTOS xTaskNotifyFromISR 问题 您好,NXP团队, 我正在使用 FreeRTOS 处理 S32K144 MCU,并实施超低功耗停止 (VLPS) 模式。我在 PORTB 上有一个 GPIO 开关,用于唤醒 MCU 并通知 FreeRTOS 任务。 设置: 连接到 PORTB 的 GPIO 开关。 按下开关时会触发信号 ISR。 使用 xTaskNotifyFromISR 通知 FreeRTOS 任务。 FreeRTOS 配置: configPRIO_BITS = 4 configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY = 0x01 configMAX_SYSCALL_INTERRUPT_PRIORITY = (configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY<< (8 - configPRIO_BITS)) configKERNEL_INTERRUPT_PRIORITY = 255 ISR 和 NVIC 配置: PORTB->ISFR = (1U<< SWITCH_PIN_NUMBER) // 清除开关引脚的中断标志 INT_SYS_SetPriority(PORTB_IRQn, SWITCH_IRQ_PRIORITY) INT_SYS_EnableIRQ(PORTB_IRQn) void PORTB_IRQHandler(void) { BaseType_t xHigherPriorityTaskWoken = pdFALSE; if (PORTB->ISFR& (1U<< SWITCH_PIN_NUMBER)){ PORTB->ISFR = (1U<< SWITCH_PIN_NUMBER) // 清除中断标志 uint32_t switch_state = (((PINS_DRV_ReadPins(PTB)>> SWITCH_PIN_NUMBER)& 0x01) == 0) ?SWITCH_ON : SWITCH_OFF xTaskNotifyFromISR(hmainTask, switch_state, eSetBits,&xHigherPriorityTaskWoken) portYIELD_FROM_ISR(xHigherPriorityTaskWoken) } } vPortEnterCritical() status_t ret = POWER_SYS_SetMode(0, POWER_MANAGER_POLICY_AGREEMENT) if (ret == STATUS_SUCCESS) wakeupOccurred = true vPortExitCritical() 观察到的行为 ISR 优先级 = 0(最高):MCU 从 VLPS 唤醒,但 xTaskNotifyFromISR 不工作。 ISR 优先级 = 1:xTaskNotifyFromISR 起作用,但 MCU 无法从 VLPS 唤醒。 我的理解是 BASEPRI 无法屏蔽优先级为 0 的中断,因此无法安全地调用 FreeRTOS API。 FreeRTOS API 必须从优先级为>= configMAX_SYSCALL_INTERRUPT_PRIORITY 的 ISR 中调用。 VLPS 唤醒可能需要最高优先级的中断。 问题 建议在 S32K144 上使用什么模式才能可靠地从 VLPS 唤醒 MCU 并安全地通知 FreeRTOS 任务? 恩智浦是否提供了更好的方法? 如有任何指导、参考示例或最佳实践,将不胜感激。 谢谢! 致以最诚挚的问候, Pandiyan T Re: VLPS Wakeup ISR + FreeRTOS xTaskNotifyFromISR Issue on S32K144 你好,Daniel, 在调用 POWER_SYS_SetMode() 之前禁用 SysTick 定时器后,系统现在无需使用 vPortEnterCritical()即可成功进入 VLPS。 此外,唤醒和来自 ISR 的通知机制都能按预期正常工作。 非常感谢你的指导! 致以最崇高的敬意, Pandiyan Re: VLPS Wakeup ISR + FreeRTOS xTaskNotifyFromISR Issue on S32K144 我还没有找到任何将 FreeRTOS 和 VLPS 结合起来的官方示例。 在我看来,唤醒问题很可能是由于 SysTick 仍在运行造成的。 尝试在调用 POWER_SYS_SetMode() 进入 VLPS 之前禁用 SysTick。 请记住 在 VLPS 中,由于内核时钟处于门控状态,因此 SysTick 定时器被禁用。 但是,如果连接了调试器,MCU 不会进入真正的 VLPS 模式,而是进入仿真的 STOP 模式。 此外,FreeRTOS port.c已经提供了 vPortSuppressTicksAndSleep() 的弱实现。 它会在空闲时停止 SysTick。 计算下一个刻度的重载值。 执行 __WFI()。 调用两个钩子: configPRE_SLEEP_PROCESSING() configPOST_SLEEP_PROCESSING() 这是一个弱实现,可以被你自己的实现所覆盖。 此致, 丹尼尔 Re: VLPS Wakeup ISR + FreeRTOS xTaskNotifyFromISR Issue on S32K144 你好@丹尼尔-马蒂内克 感谢您的快速回复。 如果我在 POWER_SYS_SetMode()之前删除 vPortEnterCritical()调用,MCU 实际上并没有进入 VLPS 模式 - 它只是瞬间转换,然后立即唤醒。 您能否建议正确或推荐的方法,以便在运行 FreeRTOS 时正确进入 VLPS 模式? 如果可能的话,你能否分享一个示例或参考实现,演示如何从 FreeRTOS 任务上下文安全地进入 VLPS? 感谢您的支持! 致以最诚挚的问候, Pandiyan T Re: VLPS Wakeup ISR + FreeRTOS xTaskNotifyFromISR Issue on S32K144 你好@Panidiyan_T、 如果你能分享项目,我可以在我这边进行测试。 总之,FreeRTOS 要求调用 FromISR API 的 ISR 的优先级等于或低于 configMAX_SYSCALL_INTERRUPT_PRIORITY。 不要在 POWER_SYS_SetMode() 之前调用 vPortEnterCritical()。
View full article
iMXRT1165でSDPを使用したQSPIフラッシュのプログラミング 私は、iMX RT 1165を使用しているカードで生産のためのセットアップを試みています。USB経由のシリアルダウンロードを利用したいのですが。SDKのフラッシュローダーの例を使用し、古いプロセッサ(1060など)でsdphostとblhostを使用するプロセスを説明するいくつかのドキュメントを見つけました。私は、指示は同等であると思っていました。しかし、私はそれを機能させることができませんでした。私はsdphostとblhost用のspsdk pythonツールを使用しています。 それで私の質問はこれらの指示の更新版がありますか?または、これらの指示が同じである場合、私は何が間違っていますか? これが私の試みからの出力です: $ sdphost -v -u 0x1fc9:0x013d write-file 0x20202000 evkmimxrt1160_flashloader_cm7.bin INFO:spsdk.sdp.sdp:Connect: identifier='usb', device=SE Blank RT Family (0x1FC9, 0x013D)path=b'/dev/hidraw1' sn='' INFO:spsdk.sdp.sdp:TX-CMD: WriteFile(address=0x20202000, length=83432) Status (HAB mode) = 2 (0x2) NO DESCRIPTION. Response status = 32 (0x20) NO DESCRIPTION. $ sdphost -v -u 0x1fc9:0x013d jump-address 0x20202400 INFO:spsdk.sdp.sdp:Connect: identifier='usb', device=SE Blank RT Family (0x1FC9, 0x013D)path=b'/dev/hidraw1' sn='' INFO:spsdk.sdp.sdp:TX-CMD: Jump To Address: 0x20202400 INFO:spsdk.sdp.sdp:RX-PACKET: Response: 0x00000020 Status (HAB mode) = 32 (0x20) NO DESCRIPTION. $ blhost -v -u 0x1fc9:0x013d flash-image program.bin erase INFO:spsdk.mboot.mcuboot:Connect: identifier='usb', device=SE Blank RT Family (0x1FC9, 0x013D)path=b'/dev/hidraw1' sn='' INFO:spsdk.mboot.mcuboot:CMD: FlashEraseRegion(address=0x00000000, length=90112, mem_id=0) INFO:spsdk.mboot.mcuboot:CMD: Status: 10000 (0x2710) Unknown Command. Response status = 10000 (0x2710) Unknown Command.
View full article
S32K358安全调试 我们使用 NXP S32K358 微控制器设计了一个定制板。尝试使用 S32 Design Studio (S32DS) IDE 上传第一个代码时,我们遇到以下错误: “此设备可能启用了安全调试。如果是这样,请在尝试再次连接之前通过 PEmicro 脚本解锁设备。” 我们怀疑 MCU 的调试接口被锁定,导致我们无法上传代码或进行调试。您能否提供解锁调试界面的分步指南? 回复:S32K358安全调试 你好@VaneB , 感谢您的支持。我们已经发现了这个问题。FS26 的 RST_B 引脚处于低电平,它正在重置 MCU,从而限制我们调试 MCU。将 RST_B 与 MCU 引脚隔离后,我们现在可以调试 MCU。 回复:S32K358安全调试 你好@VaneB , FS26 电源轨工作正常。 我们检查了FS26和MCU的物理引脚的电压。 我们已经申请 > VDD_HV_A 和 VDD_HV_B - (+5V) >核心电压 - (+1.5V) >参考电压-(+5V) 我们还检查了V11和V25,它们也都正常。我们之前用过同样的电路板,之前用过MCU(P32K358HVS 0P14E CTAB2335A),运行良好。 当前 MCU 部件编号为 - S32K358GHMPCS 1P14E CTAG2428B 回复:S32K358安全调试 你好@VaneB , 我们仍然无法调试 MCU。 我们的支持票已关闭,但没有任何解决方案,感谢您的反馈。 BR,纳伊姆
View full article
Jetson (arm64/aarch64) 用 ZLG USBCAN-II ドライバーのヘルプ こんにちは、皆さん Jetson プラットフォームで作業しており、CAN 通信に ZLG USBCAN-II デバイスを使用しています。ZLGドライバのダウンロードページ(https://manual.zlg.cn/web/#/146)に行ってきましたが、しかし、ドライバーはAMD64アーキテクチャでのみ使用でき、arm64またはaarch64のバージョンはないようです。 ここにいる誰かが同様の問題に直面しているか、Jetson(arm64 / aarch64)にドライバーをインストールする方法について提案がありますか?どんな助けやポインタでも大歓迎です! よろしくお願いいたします! 日時:Jetson(arm64 / aarch64)用のZLG USBCAN-IIドライバーのヘルプ https://community.nxp.com/t5/FreeMASTER/Help-with-ZLG-USBCAN-II-Driver-for-Jetson-arm64-aarch64/m-p/1991351 の複製として終了する
View full article
新手该使用哪个 IDE? 当为 iMXRT1010 或 iMXRT1064 板启动新项目时,哪个 IDE 最适合新手? 这是 MCUXpress 还是 VSCode(带有 MCUXpress 用于 VSCode 扩展)。 或者它们是一样的?我尝试了一段时间来找出答案,但仍然不确定。 MCUXpress for VSCode 是否基于 Zephyr? 对于新手来说 Zephyr 是否更容易学习? 与 Zephyr 相比,MCUXpress 是否对外设提供更好的支持? 我不介意学习新的环境。但我不想在学习了几个小时之后才发现我需要学习不同的课程。 回复:新手应该使用哪个 IDE? 非常感谢 Diego 的详细回答!我现在终于明白了其中的区别。 在我看来,VSCode 路线是一种新的工作方式。MCUXpresso SDK 会在未来 10 年左右继续存在吗?那么使用 MCUXpresso SDK 启动新项目仍然明智吗?
View full article
MC EDAC を Linux EDAC サブシステムに登録します NXP が提供する BSP 40 を使用して Linux を実行している S32G-VNP-EVB3 ボードがあります。LinuxカーネルのEDACシステムを有効にしてsbesとdbesを監視しましたが、ファイルシステムに表示されません。このボードでEDACが実際に有効になっているのかどうか疑問に思いますか?使用可能なメモリの量は、そうであることを示しているようです。ただし、デバイスツリーで再確認するメモリノードが見つかりませんでした。私が確認する方法はありますか? ここにedacの情報が見られることを期待してください、 /sys/devices/system/edac/mc # ls power subsystem uevent システムメモリ、 /sys/devices/system/edac/mc # cat /proc/meminfo MemTotal: 3500312 kB MemFree: 3442776 kB MemAvailable: 3442020 kB Buffers: 1724 kB Cached: 9168 kB SwapCached: 0 kB Active: 7532 kB Inactive: 3924 kB Active(anon): 64 kB Inactive(anon): 640 kB Active(file): 7468 kB Inactive(file): 3284 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 24 kB Writeback: 0 kB AnonPages: 724 kB Mapped: 2116 kB Shmem: 60 kB KReclaimable: 25168 kB Slab: 33908 kB SReclaimable: 25168 kB SUnreclaim: 8740 kB KernelStack: 1376 kB PageTables: 192 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 1750156 kB Committed_AS: 2520 kB VmallocTotal: 259653632 kB VmallocUsed: 1872 kB VmallocChunk: 0 kB Percpu: 656 kB CmaTotal: 262144 kB CmaFree: 260576 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB Hugetlb: 0 kB Re: MC EDAC を Linux EDAC サブシステムに登録する これは、このボードがインラインドラムを使用しているため、スクラバーがMCからの結果を難読化しているため、ARMがこの情報にアクセスできないためですか?
View full article
Are there any guidelines for multiple chained MIMXRT105x JTAG PCB layout and MCU-LINK-Pro settings We are looking to include multiple MIMXRT105x chips along with other devices in a 5 pin JTAG chain (TMS, TCK, TDI, TDO and nTRST). We have found AN4826, AN12419 and the MCU-LINK-PRO UM11673-2940346 documents. Are there any other application notes or other documentation that could contain useful guidelines and instructions for PCB layout and how to write an appropriate custom MCU-LINK-PRO connection scripts. Thank you for your help, Richard Re: Are there any guidelines for multiple chained MIMXRT105x JTAG PCB layout and MCU-LINK-Pro settin Thank you for you help Sam. +1 My take away is that there is no additional NXP documentation to find detailed NCU-LINK-Pro configuration comparable to e.g. Segger's more expensive debug probe and it's documentation; no worries and thank you once again. Best regards, Richard  Re: Are there any guidelines for multiple chained MIMXRT105x JTAG PCB layout and MCU-LINK-Pro settin Hi @RidiculousRichard  Thanks for your questions, it seems you want to know how to find dedicated documentaion about JTAG or MCU-LINK-pro for program or debug when you use MIMXRT105X, e.g useful guidelines and instructions for PCB layout. There are some comments from my side, please help clarify more if my understanding is wrong. 1. MIMXRT1050 EVKB Board Hardware User’s Guide to find JTAG connetor (J21 is a standard 20-pin/2.54 mm Box Header Connector for JTAG) 2. MIMXRT1050-EVK Design Resouces to download the schematics, layout files, and gerber files (including Silkscreen) for layout reference 3. AN4826 published by 2014 is still good guidelines for Schematic and PCB Layout, also please refer MCU-LINK-Pro User Manual to find more details, or other from MCU-LINK-Pro Documentation, it works well with our MCUXpresso or 3rd part IDE. Have a nice day. Sam Hi @Masmiseim  Thanks for your information and input. Have a nice day, Sam Re: Are there any guidelines for multiple chained MIMXRT105x JTAG PCB layout and MCU-LINK-Pro settin Thank you for the link and good experience report. +1 I'm hoping someone who knows of MCUXpresso & MCU-LINK-Pro configuration documents will post some links to them. Re: Are there any guidelines for multiple chained MIMXRT105x JTAG PCB layout and MCU-LINK-Pro settin Hello, We did this with the 1170. The whole thing was very unspectacular and runs without any problems. If you want to achieve good performance, you should just follow the usual layout rules. Microchip has also created a nice summary on chaining: https://onlinedocs.microchip.com/pr/GUID-73C92233-8EC5-497C-92C3-D52ED257761E-en-US-1/index.html?GUID-31B03AFD-1033-4EF9-A937-872192990AE9 How you have to adapt the connect script depends on the development environment you are using. In principle, you only have to configure the bits before and after the device to be addressed, in each case for the instruction and data register. Unfortunately, I cannot say how this works with MCUXpresso. We use Rowley Crossworks, which makes this very easy. Regards
View full article