Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
首次成功设计 KW47(汽车级)或 MCX W72(物联网 / 工业级)PCB 的最佳方法 /*** 2025 年 4 月最新免责声明: - KW47、MCX W72 是 KW45 和 MCX W71 的直接衍生产品 —— 请将本页面加入书签以获取未来更新 - 本文基于 KW45、K32W148、MCX W71 进行早期启用说明,有待 2025 年 KW47 和 MCX W72 更广泛发布时更新 -- 大部分设计文档(包括数据手册、参考手册和硬件制造文件)可应要求提供--  ***/ 请参考以下重要链接,了解如何使用 KW47 或 MCX W72 设计 PCB,以及有关射频性能、低功耗和射频认证 (CE/FCC/IC) 的所有信息。 KW47 产品 NXP 官网页面:https://www.nxp.com/products/KW47 MCXW72 产品 NXP 官网页面:https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/mcx-arm-cortex-m/mcx-w-series-microcontrollers/mcx-w72x-secure-and-ultra-low-power-mcus-for-matter-thread-zigbee-and-bluetooth-le:MCX-W72X KW-MCXW-EVK 入门指南 NXP 官网页面(待 KW47/MCXW72 发布) KW47-LOC 入门指南 NXP 官网页面(待 KW47/MCXW72 发布) MCXW72-LOC 入门指南 NXP 官网页面(待 KW47/MCXW72 发布) 硬件  KW47 和 MCX W72 EVK 开发板:初步附件  KW47 LOC 信道探测板 - 原理图:初步附件  KW47-MCXW72-EVK 硬件指南:可应要求提供    HVQFN48 封装规格:SOT619-17 (D)(待 SOT619-17 (DD) 发布)    KW47-MCXW72-EVK 用户手册(待 KW47/MCXW72 发布)    最小物料清单(附件)>> KW45 - MCX W71 - KW47 - MCX W72 Minimum BoM Presentation Customers July25.pdf   DC-DC 管理指南 (AN13831):KW45/K32W148 - 电源管理硬件 (nxp.com)(KW45 的内容适用于 KW47,待 KW47/MCXW72 版本发布)   Design-In 检查清单:请参阅本文底部附件   射频匹配:S 参数(附件)(待 KW47/MCXW72 发布)   PCB 上纽扣电池应用处理方法:AN14664_Coincell_Hardware_recommendation_Rev1.0.pdf 说明:“由于射频性能取决于 PCB 布局和制造工艺,基于 NXP 建议制作的 PCB 原型必须进行微调,以确保最终产品平台达到预期的射频合格标准。” 在 EVK 上,为连接 M10 模块进行射频测试,建议使用 μFL 转 SMA 电缆: CSH-SGFB-200-UFFR TE Connectivity / Linx Technologies | Mouser France 在 KW47-LOC 或 MCXW72-LOC 上,需安装特定的 SMA 连接器以实现连接:TE Connectivity Ltd CONSMA021.062-G 从 KW45 到 KW47 的硬件移植: KW47 与 KW45 引脚到引脚兼容。然而,从硬件的角度来看,某些组件的值需要进行调整,例如 RF 匹配组件的值。 根据当前的硅验证,预计KW4x周围的其他组件不会发生变化。 另请注意,为实现 KW47 的新功能,部分引脚采用了新的复用配置。例如,KW47 提供了第二个 Flex CAN。详见附件。 射频   射频报告:KW45 和 K32W148 的蓝牙低功耗射频系统评估报告,以及 K32W148 的 802.15.4 应用评估报告……(待 KW47/MCXW72 发布,可应要求提供)   射频共存:Kinetis 无线系列产品的蓝牙低功耗与 Wi-Fi 共存应用(nxp.com)(待 KW47/MCXW72 发布)   距离性能:参考附件(待 KW47/MCXW72 发布)   天线: 用于NXP EVK板的2.4 GHz通信设计和应用的紧凑型平面天线 用于信道探测应用的天线   BLE 连接性测试二进制文件:可按需在 SDK 中获取   回波损耗 (S11) 测量:如何测量射频匹配的回波损耗 (S11)(射频报告 AN13728 的一部分)   负载牵引:待 KW47/MCXW72 发布 用于 RF 试验的 SW 工具:   IoT 工具箱(移动应用)   连接性产品的连接测试工具(IoT 工具箱的一部分)   DTM:如何在 Kinetis 系列产品上使用 HCI_bb……- NXP 社区 https://community.nxp.com/t5/Wireless-Connectivity-Knowledge/BLE-HCI-Application-to-set-transmitter-... 晶体  文章:KW45/K32W1 的 32MHz 和 32kHz 振荡裕量 - NXP 社区(待 KW47/MCXW72 发布) 推荐的水晶已附上 低功耗 蓝牙 LE 功耗配置文件估算工具 KW45_WK47_BLE_power_profile_calculator_v1.32.xlsm   低功耗              AN14554 Kinetis KW47 & MCX W72 Bluetooth LE Power profile analysis release.pdf 802.15.4 Matter & Zigbee 功率配置文件估算工具               MCX W7x 802.15.4 Matter ICD SIT LIT & ZED Power profile v0.2.xlsx                 AN MCX W72 802.15.4 Matter and Zigbee Power profile analysis - proposal.pdf CCC 信道探测 BLE 功率配置文件估算工具               KW47 Digital Key CCC CS Power Estimator tool v0.8.xlsx               AN14628_AN14628_KW47_CCC_CS_Power_Profile_estimator tool_release.pdf Bluetooth ® 信道探测技术概述  认证 RF 预认证已完成 - 完整认证待 KW47/MCXW72发布 KW47 和 MCXW72 已通过蓝牙 6.0 信道探测认证!
View full article
S32K314 LPSPI - 在 DMA 下出现异常 CS toogle 你好@DanNguyenDuy 如下图所示,在 LPSPI DMA 模式下发生了意外的 CS 切换。 帧大小为 8 位,默认配置下 DMA 传输大小为一个字节。SPI 波特率为 10 Mbps。 绿色信号代表 CS,在使用 " Keep " 选项时,CS 应在传输过程中保持钳位状态。然而,它却意外地发生了切换。在中断模式下,CS 保持钳位状态。此外,使用基于 GPIO 的 CS 而不是 PCS,在不切换的情况下也能正常工作。 这种现象在波特率较高时比在波特率较低时出现得更频繁,这表明原因可能是 SPI 端 TX 欠运行。 我试着启用散点采集模式和调整 SPI 时序,但都没有解决问题。 我认为,默认 DMA 配置可能不具备处理高速 LPSPI 传输的能力。 请问如何解决 CS 意外切换的问题? 谢谢。 BRs, Alex Yang RTD Re: S32K314 LPSPI - Unexpected CS toogle under DMA @DanNguyenDuy 我共享 Mobis 的 arxml 文件。 热电阻版本为 4.0.0_HF04(适用于HKMC) Re: S32K314 LPSPI - Unexpected CS toogle under DMA @DanNguyenDuy 我分享 Mobis 的 LPSPI DMA 配置屏幕截图。在捕获的图像上,使用的频道名称是 Vsp。 Re: S32K314 LPSPI - Unexpected CS toogle under DMA 你好@alexyang、 你使用了哪个软件包版本? 能否将您的示例或配置文件(.xdm 或 .arxml文件)? 顺祝商祺! 丹 Re: S32K314 LPSPI - Unexpected CS toogle under DMA 你好@alexyang、 1.我查看了配置,没有发现任何问题。 2.因为我没有 S32K314,所以我在 S32K344 上检查了这个问题,我这边没有发现这个问题(传输过程中 PCS 保持低电平)。 3.能否检查调用前后 LPSPI2_TCR 寄存器的值 Spi_AsyncTransmit() 函数? 如果在发送过程中的任何时候 TCR[CONT] = 0,则 PCS 引脚将被置为高电平。 否则,当 LPSPI 从 TX FIFO 空数据移位时,可能会出现此问题,因为在 FIFO 空之前,DMA 没有将数据传输到 TX FIFO。这种情况将触发信号 PCS,因为 LPSPI 会检测到终端传输信号,这看起来像是设计限制。 顺祝商祺! 丹 Re: S32K314 LPSPI - Unexpected CS toogle under DMA 你好@DanNguyenDuy CS 切换的原因似乎是 TX FIFO 空了,因为 TX 水印降低了 CS 切换率。 不过,这一改动并没有完全解决 CS 切换问题。在 TX 水印的基础上,您还有什么其他建议可以完全防止 CS 切换? 此外,如果TX watermark = 0 是 Lpspi_ErrataHandle() 函数之后的意外动作,您是否有计划进行修正?Autoever 希望得到 NXP 对 TX 水印处理的确认,并在需要修正时得到 NXP 的补丁计划。 谢谢。 BRs, Alex Yang Re: S32K314 LPSPI - Unexpected CS toogle under DMA 你好@alexyang..、 在联系 RTD 团队之前,我希望他们尝试两种测试方案: 情况 1:在 Lpspi_ErrataHandle() 函数之后设置 Dma 优先级中断为最高,且 TX watermark = RX watermark = 3。 场景 2:场景 1 + 禁用 RX DMA 并通过轮询方法接收数据。 顺祝商祺! 丹 Re: S32K314 LPSPI - Unexpected CS toogle under DMA @DanNguyenDuy TCR[CONT] 已设置,因此这不是 CS 意外切换的原因。 我对 LPSPI 的 TX 水印有疑虑,据我估计,这可能是 TX FIFO 空的原因。 在 Lpspi_Ip_Init 中将 TX 水印设置为 2,如下所示。 但是,ERR_IPV_LPSPIV2_0001 的 Lpspi_ErrataHandle(Base,State)将其设置为 0,据我估计,这是意料之外的操作。 因此,在我的审查中,ERR_IPV_LPSPIV2_0001 解决方法意外地使 TX 水印为 0。另一位客户 Autoever 也报告了这一情况。 在 Autoever 报告中,发生了 SPI TX 欠运行,Autoever 发现 Lpspi_TransmitTxInit 清除了 TX 水印。因此,Autoever 通过添加"Base->FCR = LPSPI_FCR_TXWATER((uint32)LPSPI_IP_FIFO_SIZE_U8-(uint32)2u);" ,将 TX 水印返回到 2,从而减少了 TX 欠运行。 您如何看待 TX 水印?TX 水印为 0 是否会导致 DMA 意外切换 CS? Re: S32K314 LPSPI - Unexpected CS toogle under DMA 你好@alexyang、 在我看来,TX 水印等于 0 会导致此问题。我建议你在测试时提高 Dma 中断的优先级,并在 Lpspi_ErrataHandle() 函数 后添加一条语句,将 TX 水印修改为 3(最大值) 。 顺祝商祺! 丹
View full article
关于使用 FS32K144HAT0MMHT EVK 的热电阻驱动器可用性的说明 大家好, 我想购买FS32K144HAT0MMHTMCU 和相关评估套件 (EVK)。我想知道 EVK 是否包含热电阻驱动器,无需额外费用? 如果不是,是否需要单独购买 RTD 驱动器? 预先感谢您的帮助! Re: Clarification on RTD Driver Availability with FS32K144HAT0MMHT EVK 你好@NagulMeera 实时驱动程序 (RTD) 和 S32 设计工作室 (S32DS) 是免费的。 EB tresos Studio 提供免费评估许可证,但必须向 Elektrobit 订购生产许可证。 我们还提供高级软件,例如: - S32 功能安全软件框架 (SAF) 和功能安全外设驱动器 (SPD) - 结构核心自检 (SCST) 如需高级软件,请联系您的恩智浦代表。 BR、VaneB
View full article
S32K5 SAF 版本时间表 嗨,团队、 客户 PATAC 正在评估我们的 S32K5 SAF。他们知道,目前的 S32K5 SAF 只能提供非常有限的功能,无法满足他们的实际使用要求。因此,他们要求我们提供 S32K5 SAF 的详细时间表。 大概的版本发布时间。 下一个版本将支持哪些功能和模块? 谢谢& ,致以最崇高的敬意、 理查德 优先级:中等 SAFETY_SW 资料来源直接客户 Re: S32K5 SAF release schedule 你好@RaduBraga、 是否有任何更新? BR 理查德 Re: S32K5 SAF release schedule 嗨 @RichardLi,计划 在 2026 年 7 月版本 K5 PRC,我们的目标是涵盖所有 SAF 模块的全部功能。 亲切的问候, Radoslav Re: S32K5 SAF release schedule 嗨 @RichardLi, 我们今年 1 月没有任何 EAR 版本。 EAR 0.8.0 已于 2025 年 12 月发布,功能非常有限,直到 7 月 26 日 PRC 才有其他计划。 亲切的问候, Radoslav Re: S32K5 SAF release schedule 你好@RadoslavB、 感谢您的反馈。计划于今年1月底发布的SAF EAR版本有任何范围吗?它能涵盖大部分功能吗? BR 理查德
View full article
嵌入式系统开发的最佳 DevOps 实践 大家好 我想讨论在嵌入式系统开发中实施 DevOps 的最佳实践。我们都知道,嵌入式系统面临着独特的挑战,但结合 DevOps 原则并利用正确的 DevOps 解决方案可以大大改善我们的工作流程。 以下是我发现的一些有用的做法: 自动版本构建和 CI/CD 设置自动构建管道对于嵌入式系统至关重要。借助 CI/CD,我们可以自动测试、刷新和部署到真实设备,从而确保尽早发现错误。 固件和硬件的版本控制 将固件视为软件 — 使用 Git 或类似工具进行版本控制,以及硬件抽象层 (HAL),有助于同步管理软件和硬件依赖关系。 硬件在环 (HIL) 的持续集成 将 HIL 测试内置到您的 CI 管道中可确保您针对真实场景进行验证,而不仅仅是模拟环境。这有助于发现只有在实际硬件中才会出现的问题。 嵌入式软件的容器化 使用 容器 或类似工具进行软件环境复制可确保开发、测试和部署阶段的一致性,即使在使用嵌入式平台时也是如此。 我很想听听您的想法和其他有效的做法。您如何将 DevOps 内置到嵌入式开发工作流程中? DSC Re: Best DevOps Practices for Embedded Systems Development 我们正在努力做你所建议的事情。您有什么具体的建议吗?
View full article
S32K 输入捕获 嗨,团队、 我们使用的是 S32K146 微控制器,我们需要任何一个输入引脚作为输入捕获引脚,你能建议我应该使用哪个模块配置吗? 如果我使用 FTM 作为信号测量,我能否实现输入捕获功能?或者我应该使用 ic_pal 功能? 请支持 谢谢 Shruthi C Re: S32K Input Capture 你好,彼得、 我无法使用 INT_SYS_InstallHandler(FTM0_Ch0_Ch1_IRQn,PWM_InputCapture_IRQHandler,NULL);函数,因为它使用默认处理程序,而不使用FTM0_Ch0_Ch1_IRQn处理程序。 我的配置是 /* flexTimer_ic_1 InitConfig 的全局配置 */ ftm_user_config_t flexTimer_ic_1_InitConfig = {     { true,/* 软件触发信号状态 */ false,/* 硬件触发信号 1 状态 */ false,/* 硬件触发信号 2 状态 */ false,/* 硬件触发信号 3 状态 */ 虚假,/* 最大加载点状态 */ 虚假,/* 最小装载点状态 */ ftm_system_clock、/* INVCTRL 寄存器的更新模式 */ ftm_system_clock、/* SWOCTRL 寄存器的更新模式 */ ftm_system_clock、/* OUTMASK 寄存器的更新模式 */ ftm_system_clock、/* CNTIN 寄存器的更新模式 */ false,/* 自动清除触发信号 */ ftm_update_now、/* 同步点 */ }, ftm_mode_input_capture、/* FTM 的运行模式 */ ftm_clock_divid_by_1、/* FTM 时钟预分频器 */ ftm_clock_source_systemclk、 /* FTM 时钟源 */ ftm_bdm_mode_11、/* FTM 调试模式 */ 虚假, /* 中断状态 */ false /* 初始化触发信号 */ }; /* FlexTimer_IC_1 的输入捕获配置 */ ftm_input_param_t flexTimer_ic_1_InputCaptureConfig = { 1U,/* 通道配置数量 */ 65535U,/* 最大计数值 */ flexTimer_ic_1_InputCaptureChannelConfig/* 通道配置*/ }; /* FlexTimer_IC_1 输入捕获的信道配置结构 */ ftm_input_ch_param_t flexTimer_ic_1_InputCaptureChannelConfig[1] = {     { 0U,/* 通道 ID */ FTM_SIGNAL_MEASUREMENT,/* 输入捕获操作模式 */ ftm_rising_edge、/* 边缘对齐模式 */ ftm_falling_edge_period_measurement、/* 信号测量操作类型 */ 0U,/* 过滤器值 */ 虚假,/* 过滤器状态(启用/禁用) */ true,/* 连续测量状态 */ NULL,/* 通道事件的回调参数向量 */ NULL/* 通道事件的回调向量 */    } }; Re: S32K Input Capture 您好, 是的,这些功能应该足够了。SDK 驱动程序启用了 FTM 通道中断,我认为正确的处理程序应从启动时分配。如果不是正确的处理程序,则为 FTM0_Ch0_Ch1_IRQHandler。 调用 ftm_drv_getInputCaptureMeasuremeasum 以获取捕获的值。 BR, Petr Re: S32K Input Capture 你好,彼得、   感谢您的明确说明。   我可以使用这些函数将 FTM 引脚初始化为输入捕获 `ftm_drv_init () ``ftm_drv_init_initCapture () `ftm_drv_initInputCapture ()`   并安装一个 IRQ 处理器来捕获脉冲发生情况 `INT_SYS_InstallHandler(FTM0_Ch0_Ch1_IRQn, PWM_InputCapture_IRQHandler, NULL)`     请支持   谢谢 Shruthi C Re: S32K Input Capture 您好, 最常见和最有效的方法是在输入捕获模式下配置 FTM 并使用具有 FTM 功能的引脚。每个 FTM 通道均可配置为输入捕获模式,在该模式下,它捕获输入信号边缘(上升、下降或两者兼有)上的计时器值。这通常用于测量:信号周期、脉冲宽度、频率。 IC PAL 驱动器允许检测输入信号并测量通道输入信号的脉冲宽度或周期。其设计目的是使其可移植到支持 FTM、eMIOS、FLEXPWM 和 ETIMER 的所有平台和 IP 上。 因此,如果您想获得全面的控制和性能,请直接使用 FTM。如果您希望代码更简单、更便于携带,请使用 IC PAL。 BR, Petr Re: S32K Input Capture 您好, 您可以直接参考 SDK 示例 (ftm_signal_measurement)。 或共享显示该问题的简化项目。 BR, Petr Re: S32K Input Capture 您好, 在 SDK 示例中,我直接提到(ftm_signal_measurement)。 在这个例子中,他们没有使用中断方法,他们使用了轮询方法,然后他们调用了 ftm_drv_g etInputCap t ureMeasuremeasum 我正在寻找带中断功能的 FTM 信号测量,一旦输入捕获识别出信号,我需要中断才能触发并调用 ISR 中的 ftm_dr v_getInputCaptureMeasuremeasurem ensum 函数 请提供相关代码 谢谢 Shruthi C Re: S32K Input Capture 您好, 如果您需要再次安装处理程序,您应该有 extern void FTM0_Ch0_Ch1_IRQHandler(void); INT_SYS_InstallHandler(FTM0_Ch0_Ch1_IRQn, FTM0_Ch0_Ch1_IRQHandler, NULL); BR, Petr Re: S32K Input Capture 你好, 是的,我确实定义了该函数,但函数调用后会进入无限循环,并继续运行 整个系统将无法运行, 谢谢 Shruthi C Re: S32K Input Capture 你好、 感谢您的支持和代码片段,我将进行检查 T&R、 Shruthi C Re: S32K Input Capture 你好,我 能否获得任何支持中断的 FTM 引脚的输入作为输入捕获 谢谢! Shruthi C Re: S32K Input Capture 您好, 驱动程序使用中断来捕获事件,只是没有直接显示在示例中。 我修改了 FTM IC 设置,使其使用单发模式,并添加了从驱动程序中断调用的回调。 ftm_signal_measurement_s32k146 演示修改后的 main.c 参见附件。 BR, Petr
View full article
MaaxBoard (NXP i.MX93) で GPIO およびタイマー ピンを構成し、pinmux 設定を有効にする方法は? 私は MaaxBoard (NXP i.MX93 プロセッサベース) を使用していますが、次のユースCASEの pinmux とピン構成の設定について支援が必要です。 トリガー ピン (出力) として GPIO ピンが 1 つ必要です。 1 つのピンをタイマー入力 (TPM 入力キャプチャまたは PWM) 用に構成する必要があります。 問題は次の通りです: GPIO ピンが読み取り/書き込み操作に正しく応答しません。 pinmux 構成が欠落しているか間違っているか、デバイス ツリーが適切に更新されていないと思われます。 以下の点についてご協力いただけますでしょうか? MaaxBoard のピン配置とリファレンス マニュアルで GPIO とタイマーの正しいピン名とパッドを見つけるにはどうすればよいでしょうか? 必要なピン多重化を有効にするには、デバイス ツリー (.dts) にどのような変更を加える必要がありますか。 GPIOピンを出力用に設定し、ユーザー空間からの読み取り/書き込みを許可する タイマーピンを入力キャプチャまたはPWM用に設定する MaaxBoard で GPIO が正しく動作しない原因となる一般的な問題はありますか? 1 つの GPIO を読み取りと書き込み用に設定する方法の例はありますか?そのために、pin_mux.c や app.h など、何を更新する必要がありますか? i.MX93 #マックスボード MCX C Re: How to configure GPIO and Timer pins on MaaxBoard (NXP i.MX93) and enable pinmux settings ? こんにちは、Manjunathb MaaxBoard は Element14 によって製造およびサポートされています。所有者に問い合わせて、BSP とボードに関する詳しい情報を入手することをお勧めします。 MaaXBoard OSM93 - element14 コミュニティ MaaXBoardハードウェアデザイン - element14コミュニティ    i.MX 93 EVK 用の NXP MCUXpresso SDK も参照できます。 SDKは以下からダウンロードできます。 MCUXpresso SDK Builder パッケージ内には TPM と GPIO / タイマーのデモが含まれています。 よろしくお願いします。 ダニエル よろしくお願いします。 ダニエル Re: How to configure GPIO and Timer pins on MaaxBoard (NXP i.MX93) and enable pinmux settings ? -> ここで参考のためにコードを添付しました。1 つの GPIO を構成して読み取りおよび書き込み操作を実行するだけで、コードを次のように更新しました。   /* * 著作権 (c) 2015、Freescale Semiconductor, Inc. * 著作権 2016-2017 NXP * 無断転載を禁じます。 * * SPDXライセンス識別子: BSD-3条項 */ #include "board.h" #include "fsl_debug_console.h" #include "fsl_rgpio.h" #include "app.h" /**************************************************************************************** * 定義 **********************************************************************************/ /**************************************************************************************** * プロトタイプ **********************************************************************************/ /*! * @briefしばらく遅延します。 */ void遅延( void ); /**************************************************************************************** * 変数 **********************************************************************************/ /**************************************************************************************** * コード **********************************************************************************/ /*! * @briefメイン関数 */ int main( void ) { /*[手動で]-> GPIO入力のinit構造体を定義する*/ rgpio_pin_config_t 入力構成 = {         kRGPIO_デジタル入力、         0 , }; /* ボードピン、クロック、デバッグコンソールの初期化 */ BOARD_InitHardware(); /* 端末にメモを印刷します。*/     PRINTF ( "\r\n GPIO は状態の読み取りを開始します.....\r\n" ); /* 出力 LED GPIO を初期化します。*/ RGPIO_PinInit( BOARD_LED_RGPIO 、 BOARD_LED_RGPIO_PIN 、 &input_config);     一方( 1 )     {         uint32_t val = RGPIO_PinRead( BOARD_LED_RGPIO 、 BOARD_LED_RGPIO_PIN );         PRINTF ( "GPIO%d の現在の値は : %d\r\n" , BOARD_LED_RGPIO_PIN ,val); SDK_DelayAtLeastUs( 500000U , SystemCoreClock);    } } ######################################################## /* * 著作権 2022 NXP * * SPDXライセンス識別子: BSD-3条項 */ /******************************************************************************************************************************** * このファイルは、MCUXpresso Config Tools によって生成されました。このファイルに対して手動で行われた編集 * それぞれの MCUXpresso Config Tools を使用してこのファイルを更新すると、上書きされます。 ******************************************************************************************************************************/ /* * 以下のテキストはツールの設定として使用されます ************************************* !!グローバル情報 製品: Pins v12.0 プロセッサ: MIMX9352xxxxM パッケージID: MIMX9352DVVXM mcu_data: ksdk2_0 プロセッサバージョン: 0.12.3 * このコメントを変更する際は注意してください - これはツールの YAML 設定です *********** */ #include "pin_mux.h" /* 関数 ************************************************************************************************************ * * 関数名: BOARD_InitBootPins * 説明: 初期化関数を呼び出します。 * * 終わり ****************************************************************************************************************/ BOARD_InitBootPins を無効にします( void ) { BOARD_InitPins(); } /* * 以下のテキストはツールの設定として使用されます ************************************* ボード初期ピン: - オプション: {callFromInitBoot: 'true', coreID: cm33} - ピンリスト: - {pin_num: F20、ペリフェラル: LPUART2、信号: lpuart_rx、pin_signal: UART2_RXD、HYS: DISABLED、FSEL1: SlOW_SLEW_RATE、DSE: NO_DRIVE} - {pin_num: F21、ペリフェラル: LPUART2、信号: lpuart_tx、pin_signal: UART2_TXD、HYS: 無効、PD: 無効、FSEL1: SlOW_SLEW_RATE} - {pin_num: L17、ペリフェラル: GPIO2、信号: 'gpio_io, 04'、ピン信号: GPIO_IO04、HYS: 無効} * このコメントを変更する際は注意してください - これはツールの YAML 設定です *********** */ /* 関数 ************************************************************************************************************ * * 関数名: BOARD_InitPins * 説明: ピンのルーティングとオプションでピンの電気機能を構成します。 * * 終わり ****************************************************************************************************************/ void BOARD_InitPins( void ) { /*!< コアに割り当てられた関数: undefined[cm33] */     // IOMUXC_SetPinMux(IOMUXC_PAD_GPIO_IO04__GPIO2_IO04, 0U); IOMUXC_SetPinMux( IOMUXC_PAD_UART2_RXD__LPUART2_RX 、 0U ); IOMUXC_SetPinMux( IOMUXC_PAD_UART2_TXD__LPUART2_TX 、 0U ); /* 手動で追加 (開始)*/ IOMUXC_SetPinMux( IOMUXC_PAD_GPIO_IO13__GPIO2_IO13 , 0U ); IOMUXC_SetPinConfig( IOMUXC_PAD_GPIO_IO13__GPIO2_IO13 、 /* 手動で追加 (終了)*/     // IOMUXC_SetPinConfig(IOMUXC_PAD_GPIO_IO04__GPIO2_IO04,     // IOMUXC_PAD_PD_MASK); IOMUXC_SetPinConfig( IOMUXC_PAD_UART2_RXD__LPUART2_RX 、                         IOMUXC_PAD_PD_MASK ); IOMUXC_SetPinConfig( IOMUXC_PAD_UART2_TXD__LPUART2_TX 、                         IOMUXC_PAD_DSE ( 15U )); } /******************************************************************************************************************************** * 終了 ******************************************************************************************************************************/ /* * 著作権 2022 NXP * * SPDXライセンス識別子: BSD-3条項 */ #ifndef _APP_H_ #define _APP_H_ /**************************************************************************************** * 定義 **********************************************************************************/ /* ${macro:start} */ #BOARD_LED_RGPIOを定義します          GPIO2 #BOARD_LED_RGPIO_PINを定義します      13U #DEFINE EXAMPLE_RGPIO_CLOCK_ROOT kCLOCK_Root_BusWakeup #DEFINE EXAMPLE_RGPIO_CLOCK_GATE kCLOCK_Gpio2 /* ${macro:end} */ /**************************************************************************************** * プロトタイプ **********************************************************************************/ /* ${prototype:start} */ BOARD_InitHardware をvoidにします。 /* ${prototype:end} */ #endif /* _APP_H_ */
View full article
SPSDK v3.1 release We are excited to annouce the release of Secure Provisioning SDK (SPSDK) 3.1 Please note this release is a new generation of SPSDK and it is NOT backward compatible to 2.x versions.  A migration guide is provided below: ⭐What's NEW: https://spsdk.readthedocs.io/en/latest/release_notes.html ⚠️Migration Guide: https://spsdk.readthedocs.io/en/latest/migration_guide.html 📦Supported Devices: https://spsdk.readthedocs.io/en/latest/devices_list.html 👇More details: Github PyPi Documentation SPSDK Plugins 3.1: Github (Plugins) PyPi (Plugins) Restricted Data Package for SPSDK 3.1: Please note that the package uses an LA_OPT license. Package will be located in the Download section. announcement
View full article
Zephyr SDKバージョンのインストール Zephyr SDKは、Zephyrアプリケーションをビルドするためのビルド・ツールセットです。GCCやCMakeが含まれており、各Zephyrリリースは特定の Zephyr SDKバージョンに紐づいています。このバージョンは、Zephyrリポジトリ内のSDK_VERSIONファイルに記載されています。推奨されているZephyr SDKバージョンを使用することが重要です。バージョンが一致しないと、ビルド・エラーが発生する可能性があります。 たとえば、Zephyr v4.1はZephyr SDK v0.17.0を指定します。Zephyr SDK v0.17.2(Zephyr v4.2 用)を Zephyr v4.1 で使用すると、ビルドエラーが発生します。Zephyr v4.1 用のアプリをビルドする必要がある場合は、Zephyr SDK v0.17.0をインストールしてください。 複数のZephyr SDKバージョンをインストールしておき、ビルド時に切り替えることが可能です(下記の手順を参照)。 フルインストールと最小インストールの比較 フルインストール(Full Install): すべてのサポートされているSoCアーキテクチャ向けの全ツールチェーンが含まれます。初心者に推奨されますが、より多くのディスク容量とダウンロード時間が必要です。 最小インストール(Minimal Install): 必要なツールチェーンのみを選択できます。スペースと時間を節約できます。 最小インストールの場合は、setup.cmdスクリプトを実行して、インストールするツールを選択します。NXPボードでは、次を選択します。 Zephyr SDK CMakeパッケージを登録する Install host tools aarch64-zephyr-elf (64ビットARM) arm-zephyr-eabi (32ビットARM、NXP MCUを含む) オプション xtensa-nxp… (Cadence Tensilica DSPコア) Zephyr SDKをインストールします これらの手順では、MCUXpresso Installer、CLI(West)、または手動ダウンロードを使用してZephyr SDKをインストールする方法を説明しています。 MCUXpresso Installerを使用したインストール MCUXpresso InstallerはZephyr v4.2からZephyr用パックをサポートし始めました。各パックは対応するZephyr SDKバージョンをインストールします(例:v4.2パックはSDK v0.17.2をインストール)。このオプションはNXP開発用の最小限のツールセットをインストールします。 MCUXpressoインストーラーは、古いZephyr SDKバージョンをサポートしていません。v0.17.1以前の場合は、Westまたは手動インストールを使用してください。 West CLIを使用したインストール Zephyr ProjectはWestにZephyr SDKのインストール機能を追加しました。 CLIの場合は、Python仮想環境をアクティブ化してから、次を実行します。 west sdk install --version 0.17.0   --version が省略された場合、WestはZephyrリポジトリのSDK_VERSIONファイルにあるバージョンを使用します。 デフォルトでは、Fullパッケージがインストールされます。最小のインストールを行う場合は、 -i を追加します。 手動ダウンロードによるインストール https://github.com/zephyrproject-rtos/sdk-ng/releasesから、Zephyr SDKをダウンロードします。 使用するホストOS向けに、FullまたはMinimalを選択します。 WestとMCUXpressoの場合のデフォルトの場所として、ユーザーフォルダーに展開します。 Windows: C:\Users\ \zephyr-sdk-0.17.0 Ubuntu: /home/ /zephyr-sdk-0.17.0 Zephyr SDKのバージョンの選択 複数のZephyr SDKバージョンを共存させることができます。Westはデフォルトで最新バージョンを使用しますが、次の方法で上書きできます。 VS Code: 例をインポートする際は、ウィザードでZephyr SDKバージョンを選択してください。 CLI:環境変数 ZEPHYR_SDK_INSTALL_DIR を、ビルド前に設定します。このコマンドはUbuntuでその変数を設定します。 export ZEPHYR_SDK_INSTALL_DIR="/home/ /zephyr-sdk-0.17.0" またはWindowsの場合: set ZEPHYR_SDK_INSTALL_DIR= C:\Users\ \ zephyr-sdk-0.17.0   Zephyr Knowledge Hubに戻る    
View full article
Linux 嵌入式挑战项目 - 2014 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 1. 带行人聚光灯功能的自适应动态大灯 - eVision 团队成员: Balaban Valeriu - 高级微电子学、电子学、UPB 硕士 Voicu Tudor Alexandru - 学士,应用电子,电子,UPB Stanescu Sebastian - 学士,电信网络和软件,UPB 简短描述: 由于夜间事故死亡率高,因此开展了大量研究以开发技术 增加夜间驾驶员的视野范围,并在无法避免的情况下减少事故损失。这 自适应大灯功能有助于在光线不足的情况下,尤其是在弯道中看得更远:转向灯 按照行驶方向旋转前照灯,旋转角度由 CPU 计算,以照亮尽可能多的道路 面积尽可能 一个有趣的解决方案是聚光灯照明功能,它是一种专门照亮潜在危险的 LED 光束。 如果近红外摄像头检测到路边的鹿或道路上的行人,它们就会被短暂地照亮 在远光灯正常覆盖范围之外,用聚光灯提醒驾驶员注意可能存在的危险。 推介会: 请查阅eVisionPresentation.pdf 。 文档: 请查阅eVisionDoc.pdf 。 代码源 https://github.com/izzi/app-evision https://github.com/izzi/meta-evision 2. 人车交互语音控制界面 - She# 团队成员: Iulia Neagoe - 军事技术学院计算机科学与军事信息系统专业 Mihaela-Anca Sorostinean - 军事技术学院计算机科学与军事信息系统 简短描述: 在汽车和通信领域技术不断进步的背景下,驱动因素 责任已经从仅仅控制汽车转变为与汽车提供的众多小工具进行交互 制造商。该项目的目的是设计一个界面,为驾驶员提供控制 通过语音命令来控制汽车的一些非重要功能,以便驾驶员集中注意力 在路上行驶的同时还能与汽车进行舒适的通讯。 我们开发了一个语音识别系统,可以识别收音机、窗户、气候或电话等一些基本功能 我们在 Wandboard 上实现了它。我们还为用户提供了一个公认的图形界面 命令以增强他与车辆的互动。 推介会: 请查阅ShePresentation.pdf 。 文档: 请查阅SheDoc.pdf 。 代码源 请参阅She#_Project_Source.zip。 3. 驾驶控制软件 - FreeSoftwares 团队成员: Petrosanu Adrian-Sabin - 计算机科学,UPB Birsan Nicoleta Cosmina - 计算机科学,UPB Radoi Ioana Gabriela - 计算机科学,UPB 简短描述: 《驾驶控制软件》是一款控制自动变速箱的软件。该项目包括模拟行为 自动变速箱在 Wandboard 上的应用。自动变速箱是一种机动车辆变速箱,可以 随着车辆移动自动改变齿轮比。 推介会: 请查阅FreeSoftwaresPresentation.pdf 。 文档: 请查阅FreeSoftwaresDoc.pdf 。 代码源 请参阅Freesoftwares_Project_Source.zip。 4. 自动泊车 - 通过 ATM 团队成员: Mihai Coca - 军事技术学院计算机科学与军事信息系统专业 格鲁吉亚安德烈 - 军事技术学院计算机科学与军事信息系统 Hiji Iulian -军事技术学院计算机科学与军事信息系统 简短描述: 许多公司正在开发自动驾驶汽车技术,通过将其在该领域的工作应用于 一个特定的用例:停车。该项目的目的是设计一款概念车,它可以停放在 主人把车停在路边,让它自己进入停车位。这个过程甚至可以逆转 当车主准备离开时,汽车会自行停放离开现场,并在路边与钥匙持有者再次会合。 文档: 请查阅ATM Doc.pdf 代码源 请参阅ATM_Project_Source.zip。 5. 碰撞检测 - Beer2.0 团队成员: Nitu Adrian - 计算机科学,UPB 简短描述: 我们项目的目的是让汽车感知前方道路,并使其能够采取预防措施 碰撞;我们希望通过这种方式减少道路上的事故。它将收集来自不同硬件的信号和信息 并会向驾驶员发出警报或立即控制车辆,以便采取关键操作来保护驾驶员 免受任何危及生命的事件的影响。 飞思卡尔杯赛车将配备一个Wandboard和两个USB摄像头,以便我们能够追踪环境。初始之后 对象跟踪我们将通过远程控制融入人机交互。对于这个项目,我们相信一个简单的警告系统 和/或打破就足以作为概念的证明。 推介会: 请参阅Beer20Presentation.pdf 文档: 请查阅Beer20Doc.pdf 代码源 https://bitbucket.org/adriannitu92/freechallenge 6. 使用子带归一化滤波 X LMS 算法实现前馈自适应噪声消除 - Brainiacs 团队成员: Cristian Monea - 电信和信息技术、电子、UPB Madalin Zaharia - 电信和信息技术、电子、UPB 简短说明 本项目提出了一种基于子带归一化滤波X LMS(NFXLMS)的前馈自适应噪声消除(ANC)算法。 使用自适应算法比固定 FIR 或 IIR 滤波器等简单滤波算法具有优势。此外, 汽车环境可以被认为是静止的,因为它保留了一些属性,比如光谱分布、均值、方差,这些属性 允许在汽车噪音消除应用中使用自适应滤波器。 前馈系统应该比反馈系统更有效。在这种情况下,在它之前感测到相干参考噪声输入 传播通过取消扬声器。 因此,该算法将模拟两个传感器(麦克风):参考传感器,用于测量需要消除的主要噪声, 和错误传感器。 推介会: 请参阅BrainiacsPresentation.pdf 文档: 请查阅BrainiacsDoc.pdf 2014年Linux嵌入式挑战赛
View full article
开放工业Linux ® (OpenIL)——安全、稳健、实时的工业和自动化应用_Connects China <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> OpenIL 是专为工业市场设计的 Linux ®发行版。OpenIL 是 PLC、HMI、工业控制和自动化系统的理想部署。OpenIL 是一个基于 buildroot 的开源项目,旨在为工业用途提供紧凑的文件系统,支持 LTS Linux 内核 4.1 和 4.9、Xenomai 钴核、工业 IEEE ® 1588、时间敏感网络等诸多功能。实时裸机框架支持继电器控制和机器人应用。了解 OpenIL、架构、设计目标和路线图。了解如何为 OpenIL 做出贡献并推动社区项目的发展方向。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> OpenIL 是专为工业市场设计的 Linux ®发行版。OpenIL 是 PLC、HMI、工业控制和自动化系统的理想部署。OpenIL 是一个基于 buildroot 的开源项目,旨在为工业用途提供紧凑的文件系统,支持 LTS Linux 内核 4.1 和 4.9、Xenomai 钴核、工业 IEEE ® 1588、时间敏感网络等诸多功能。实时裸机框架支持继电器控制和机器人应用。了解 OpenIL、架构、设计目标和路线图。了解如何为 OpenIL 做出贡献并推动社区项目的发展方向。
View full article
ワイヤレス充電でそのコードを切ることができます! <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> スマートフォン、テーブルPC、デジタルスマートウォッチのバッテリー切れのリスクがある場合、またはナイトスタンドやオフィスデスクの間違った充電コードに絡まってしまった場合は、ワイヤーレス充電器のシンプルさが夢の実現です。しかし、ワイヤレス充電器には多くの技術が必要であり、同じように作られているわけではありません。NXPのトランスミッタおよびレシーバコンポーネントのファミリは、Qi規格とRezence規格の両方に対応するソリューションを提供します。私たちは両方を見て、そのコードを切断するためのいくつかの実用的なハードウェアソリューションを提供します。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> スマートフォン、テーブルPC、デジタルスマートウォッチのバッテリー切れのリスクがある場合、またはナイトスタンドやオフィスデスクの間違った充電コードに絡まってしまった場合は、ワイヤーレス充電器のシンプルさが夢の実現です。しかし、ワイヤレス充電器には多くの技術が必要であり、同じように作られているわけではありません。NXPのトランスミッタおよびレシーバコンポーネントのファミリは、Qi規格とRezence規格の両方に対応するソリューションを提供します。私たちは両方を見て、そのコードを切断するためのいくつかの実用的なハードウェアソリューションを提供します。
View full article
FTF-ACC-F1259 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 同時マルチスレッド (SMT) は、独立した実行スレッドがスーパースカラー CPU パイプライン編成をより効果的に利用できるようにする高度なプロセッサ マイクロアーキテクチャ機能です。2ウェイ・スーパースカラー・パイプラインでのSMT実装は、動的消費電力の増加が比較的少ないデュアル・スレッドの同時実行性を最大化します。このセッションでは、次世代のPower Architecture e200z9プロセッサ・コアに含まれるSMT機能と、このマイクロアーキテクチャによって達成可能なパフォーマンス/パワー・メトリックの向上に焦点を当てます。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 同時マルチスレッド (SMT) は、独立した実行スレッドがスーパースカラー CPU パイプライン編成をより効果的に利用できるようにする高度なプロセッサ マイクロアーキテクチャ機能です。2ウェイ・スーパースカラー・パイプラインでのSMT実装は、動的消費電力の増加が比較的少ないデュアル・スレッドの同時実行性を最大化します。このセッションでは、次世代のPower Architecture e200z9プロセッサ・コアに含まれるSMT機能と、このマイクロアーキテクチャによって達成可能なパフォーマンス/パワー・メトリックの向上に焦点を当てます。 日時:FTF-ACC-F1259 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 新しいe200z9はいつ発売されますか?
View full article
Installing Ubuntu Rootfs on NXP i.MX6 boards This post describes the setup detail for installing Ubuntu based distro in any i.Mx6x NXP Boards. Details are described on: 1. Select your board, Setting the host, Download and compile uboot , dtb and and the Kernel version on your board. 2. Installing the Ubuntu core, Lubuntu graphics desktop version and/or Build your own Ubuntu rootfs with debootstrap. 3. Modify rootfs and Installing needed packages 4. Setting with SD image. 5. Setting Ubuntu on target 6. Adding GPU acceleration 1: Select your board, Setting the host, Download and compile uboot , dtb and and the Kernel version on your board. Supported NXP HW boards: i.MX 6QuadPlus SABRE-SD Board and Platform i.MX 6Quad SABRE-SD Board and Platform i.MX 6DualLite SABRE-SD Board i.MX 6Quad SABRE-AI Board i.MX 6DualLite SABRE-AI Board i.MX 6SoloX SABRE-SD Board i.MX 6SoloX SABRE-AI Board Install host dependences (version tested 14.04): $ sudo apt-get install gparted git build-essential libncurses5 wget u-boot-tools zlib1g-dev ncurses-dev \ cmake libc-dev-armhf-cross pkg-config-arm-linux-gnueabihf build-essential checkinstall cmake \ pkg-config lzop libc6 libstdc++6 debootstrap qemu-user-static binfmt-support Download the compiler toolchain and extract it: $ cd ~/ $ wget -c https://releases.linaro.org/14.09/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz $ tar xf gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz Create general variable environments: $ export target=mx6q (e.g. processor: mx6sx, mx6d, mx6dl,etc) $ export board=sabresd (e.g. sabresd, sabreauto) $ export ARCH=arm $ export CROSS_COMPILE=../gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf- $ unset LDFLAGS Download u-boot At the release of this document, latest uboot version was imx_3.14.52, it should work with other version as well, so please check the proper version for your board: $ cd ~/ $ wget –c http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/snapshot/uboot-imx-rel_imx_3.14.52_1.1.0_ga.tar.gz $ tar -xf uboot-imx-rel_imx_3.14.52_1.1.0_ga.tar.gz $ cd uboot-imx-rel_imx_3.14.52_1.1.0_ga $ make $targetboard_config    # e.g. mx6qsabresd_config $ make Linux Kernel, Firmware, headers, modules and DTS files $ cd ~/ $ wget –c http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/snapshot/linux-2.6-imx-rel_imx_3.14.52_1.1.0_ga.tar.gz $ tar xf linux-2.6-imx-rel_imx_3.14.52_1.1.0_ga.tar.gz $ cd linux-2.6-imx-rel_imx_3.14.52_1.1.0_ga $ make imx_v7_defconfig $ make menuconfig $ make -j4 zImage modules dtbs $ cd ~/ move your image to binary folder: $ sudo cp –v uboot-imx-rel_imx_3.14.52_1.1.0_ga/u-boot.imx binary/ $ sudo cp –v linux-2.6-imx-rel_imx_3.14.52_1.1.0_ga/arch/arm/boot/zImage binary/ $ sudo cp –v linux-2.6-imx-rel_imx_3.14.52_1.1.0_ga/arch/arm/boot/dts/i$target-$board.dtb binary/ Now you have the bootloader, device tree and kernel image of your board ready, let’s create the rootfs. 2: Installing the Ubuntu core, Lubuntu graphics desktop version and/or Build your own Ubuntu rootfs with debootstrap. Installing ubuntu core: $ cd ~/ $ sudo mkdir –p core /media/rootfs /media/kernel $ wget –c http://cdimage.ubuntu.com/ubuntu-core/releases/14.04/release/ubuntu-core-14.04.4-core-armhf.tar.gz $ sudo tar –xf ubuntu-core-14.04.4-core-armhf.tar.gz –C core $ sudo cp -vr core/* /media/rootfs $ cd linux-2.6-imx-rel_imx_3.14.52_1.1.0_ga $ sudo make modules_install firmware_install INSTALL_MOD_PATH=/media/rootfs/ ARCH=arm CROSS_COMPILE=../../gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf- $ sudo make ARCH=arm CROSS_COMPILE=../../gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf- headers_install INSTALL_HDR_PATH=/media/rootfs/usr Now you should have your ubuntu rootfs on /media/rootfs folder. and you can pass to part 3 of this post. Installing ubuntu Linaro LXDE: $ cd ~/ $ sudo mkdir –p core /media/rootfs /media/kernel $ wget https://releases.linaro.org/14.10/ubuntu/trusty-images/alip/linaro-trusty-alip-20141024-684.tar.gz $ sudo tar -xf linaro-trusty-alip-20141024-684.tar.gz –C core $ sudo mv core/binary/* core/ $ sudo rm –rf core/binary $ sudo cp -vr core/* /media/rootfs $ cd linux-2.6-imx-rel_imx_3.14.52_1.1.0_ga $ sudo make modules_install firmware_install INSTALL_MOD_PATH=/media/rootfs/ ARCH=arm CROSS_COMPILE=../../gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf- $ sudo make ARCH=arm CROSS_COMPILE=../../gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf- headers_install INSTALL_HDR_PATH=/media/rootfs/usr Now you should have your ubuntu rootfs on /media/rootfs folder. and you can pass to part 3 of this post. Installing with debootstrap $ cd ~/ $ target=rootfs $ distro=trusty $ sudo debootstrap --arch=armhf --foreign --include=ubuntu-keyring,apt-transport-https,ca-certificates,openssl $distro "$target" http://ports.ubuntu.com $ sudo cp /usr/bin/qemu-arm-static $target/usr/bin $ sudo cp /etc/resolv.conf $target/etc Now have a minimal Ubuntu rootfs - chroot to it and perform the 2nd stage install: $ sudo chroot $target  //Now we are in chroot # distro=trusty # export LC_ALL=C LANGUAGE=C LANG=C # /debootstrap/debootstrap --second-stage Edit the sources.list repositories # cat < /etc/apt/sources.list deb http://ports.ubuntu.com/ubuntu-ports/ $distro main restricted universe multiverse deb http://ports.ubuntu.com/ubuntu-ports/ $distro-updates main restricted universe multiverse deb http://ports.ubuntu.com/ubuntu-ports/ $distro-security main restricted universe multiverse EOT # apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 40976EAF437D05B5 # apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 3B4FE6ACC0B21F32 # apt-get update # apt -y -f install # apt-get upgrade # apt-get install nano Now you should be able to login without password, then use passwd command to set one. If you like to add custom users: # passwd root # adduser # usermod -a -G tty myuser # usermod -a -G dialout, adm, sudo, dip, plugdev myuser # visudo Under the line that looks like: root ALL=(ALL:ALL) ALL add the following (change user with your actual username) ALL=(ALL) ALL your rootfs is ready, exit chroot # exit $ sudo rm $target/etc/resolv.conf $ sudo rm $target/usr/bin/qemu-arm-static $ sudo mv rootfs/* /media/rootfs $ cd linux-2.6-imx-rel_imx_3.14.52_1.1.0_ga $ sudo make modules_install firmware_install INSTALL_MOD_PATH=/media/rootfs/ ARCH=arm CROSS_COMPILE=../../gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf- $ sudo make ARCH=arm CROSS_COMPILE=../../gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf- headers_install INSTALL_HDR_PATH=/media/rootfs/usr Now you should have your ubuntu rootfs on /media/root. 3: Modify Rootfs and Install needed packages Edit and verify the sources.list repositories $ cd /media/rootfs $ sudo cat < etc/apt/sources.list deb http://ports.ubuntu.com/ubuntu-ports/ trusty main restricted universe multiverse deb http://ports.ubuntu.com/ubuntu-ports/ trusty-updates main restricted universe multiverse deb http://ports.ubuntu.com/ubuntu-ports/ trusty-security main restricted universe multiverse EOT Edit networks interfaces and append in the existing file: $ sudo nano etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp If you require Serial Console, remove and include an additional line at the end of the file for  ttymxc0 output as below, $ sudo nano etc/init/tty1.conf exec /sbin/getty -8 38400 tty1 exec /sbin/getty -L 115200 ttymxc0 If you like to change the localhostname: $ sudo nano etc/hostname and change to “your name” e.g. imx6Q. Set the date and time clock and update $ sudo nano /etc/rc.local  Add this: if [ `date +"%Y"` -eq "1970" ]; then                     date --set="2016-04-01" fi exit 0 (optional for Linaro rootfs) Edit passwd and remove the x in root and linaro lines $ sudo nano etc/passwd root:x:0:0:root:/root:/bin/bash linaro:x:0:0.. and change like this:                                   root::0:0:root:/root:/bin/bash linaro:::0:.. Now you are ready to program your sd image. 4: Setup microSD/SD card For these instructions, we are assuming: DISK=/dev/sdg on your HOST, cat /proc/partitions is very useful for determining the device id. $ cd ~/ $ export DISK=/dev/sdg Erase microSD/SD card: $ sudo dd if=/dev/zero of=${DISK} bs=1M count=10 Install Bootloader $ cd binary/ $ sudo dd if=u-boot.imx of=${DISK} bs=512 seek=2 $ sync Create Partition layout: $ cd ~/ $ sudo fdisk ${DISK} steps:        d ///delete all partitions currently on sd n // create new partition p // Primary partition 1 // partition number 1 2048 //default +1G // n // created 2d parition p 2 default default 1 // firts B // to be fat32 W // write partiotions $ sudo mkfs.vfat ${DISK}1 $ sudo mkfs.ext3  ${DISK}2 Mount ext3 SD partition to /media/rootfs: $ sudo mount ${DISK1} /media/kernel_target $ sudo mount ${DISK}2 /media/rootfs_target Copy Files on the SD. $ cd ~/ $ sudo cp –v binary/ i$target-$board.dtb /media/kernel_target $ sudo cp –v binary/zImage /media/kernel_target $ sudo mv /media/rootfs/* /media/rootfs_target Remove SD: $ sync $ sudo umount /media/kernel_target $ sudo umount /media/rootfs_target Boot the target, in console you should be login as root. root@imx6QSabreSD:~# 5: Setting Ubuntu on target Note: If you have issues with sudo on user UID, need to logout and log as root: imx6Q login: root Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 3.14.52 armv7l) root@imx6Q:~# chown root:root /usr/bin/sudo root@imx6Q:~# chmod 4755 /usr/bin/sudo root@imx6Q:~# exit Login with or root # # apt-get update # apt-get –f install # apt-get install locales dialog wget # dpkg-reconfigure locales # apt-get upgrade Optional – install some useful packages: # apt-get install openssh-server can-utils usbutils build-essential automake autoconf libtool Get and Install the BSP packages (EULA required) # cd /home/user # mkdir –p vpu_pack # cd vpu_pack # wget http://www.nxp.com/lgfiles/NMG/MAD/YOCTO//firmware-imx-5.3.bin # wget http://www.nxp.com/lgfiles/NMG/MAD/YOCTO//imx-vpu-5.4.32.bin # wget http://www.nxp.com/lgfiles/NMG/MAD/YOCTO//libfslcodec-4.0.8.bin # wget http://www.nxp.com/lgfiles/NMG/MAD/YOCTO//imx-lib-5.1.tar.gz # chmod +x * # ./firmware-imx-5.3.bin --auto-accept --force # mkdir –p /lib/firmware/vpu # cp -ravf firmware-imx-5.3/firmware/* /lib/firmware/ # ./imx-vpu-5.4.32.bin --auto-accept --force # cd imx-vpu-* # make PLATFORM=IMX6Q all # make install # tar -xf imx-lib-5.1.tar.gz # cd  imx-lib-5.1/ # make -j1 PLATFORM="IMX6Q" # make PLATFORM="IMX6Q" install # cd .. # ./libfslcodec-4.0.8 --auto-accept –force # cd libfslcodec-* # ./autogent.sh --prefix=/usr --enable-fhw --enable-vpu # make # make install # mv /usr/lib/imx-mm/video-codec/* /usr/lib # mv /usr/lib/imx-mm/audio-codec/* /usr/lib # rm –rf /usr/lib/imx-mm/ # cd .. # mkdir –p gpu_pack # cd gpu_pack # wget http://www.nxp.com/lgfiles/NMG/MAD/YOCTO//imx-gpu-viv-5.0.11.p7.4-hfp.bin # wget http://www.nxp.com/lgfiles/NMG/MAD/YOCTO//xserver-xorg-video-imx-viv-5.0.11.p7.4.tar.gz # chmod +x * # ./imx-gpu-viv-5.0.11.p7.4-hfp –-auto-accept -–force # cd imx-gpu* # cp g2d/usr/include/* /usr/include/ # cp -d g2d/usr/lib/* /usr/lib/ # cp -Pr gpu-core/usr/* /usr # optional: install demos # cp -r gpu-demos/opt / # optional: install gpu tools # cp -axr gpu-tools/gmem-info/usr/bin/* /usr/bin/ # cd .. Installing gstreamer-imx, IPU, VPU and GPU support: Install build deps, gstreamer1.x, this step could take some time (~350MB): # apt-get install python pkg-config git gstreamer1.0-x gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-alsa libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev g++-multilib # git clone git://github.com/Freescale/gstreamer-imx.git # cd gstreamer-imx # ln –s /usr/lib/arm-linux-gnueabihf/gstreamer-1.0/ /usr/lib/gstreamer-1.0 # ./waf configure --prefix=/usr --kernel-headers=/include # ./waf # ./waf install # cd ../../ (optional) Install libimxvpuapi library: This library provides a community based open-source API to the NXP imx-vpu library (the low-level IMX6 VPU interface). # git clone git://github.com/Freescale/libimxvpuapi.git # cd libimxvpu* # ./waf configure –-prefix=/usr # ./waf # ./waf install # cd .. note './waf install' installs artifacts to its prefix + /lib/gstreamer-1.0 but they need to be installed to /usr/lib/arm-linux-gnueabihf/gstreamer-1.0 which is why we created a symlink above before installing note g2d lib required to build G2D note that x11 library is required to build EGL sink with Vivante direct textures (only needed for X11 support) note that libfslaudiocodec is required to build audio plugins Now you are ready to test gstreamer 6: Add GPU HW Acceleration for X11 NOTE: The original version of these build instructions can be found in the Gateworks wiki . Many thanks to them for writing this! IMX6 IPU, VPU, and GPU support via GStreamer and Gstreamer-imx plugins. Many of the pieces needed (firmware and source-code) are from NXP and not freely redistributable thus must be downloaded from their mirror and extracted from a shell script that forces you to read and agree to their End User License Agreement (EULA). The following instructions can be used on top of the debootstrap and should work on other sources of Ubuntu or other Linux distributions root filesystems as well You can easily add X11 support to a base image created with the debootstrap instructions above by adding a few package groups. You will need the following: X11 server - ie Xorg Display Manager - this controls the login to the X session Window Manager - manages window position, re-sizing, decorations, etc for X clients If in any case you have installed the Linaro LXDE rootfs, it includes the Xorg X11 server, the lxdm Display Manager, the openbox Window Manager, and others useful user applications including the Chromium browser, if you do not install linaro lxde and want to install it please do: this step could take some time (~650MB)   # apt-get install xinit lxde lxterminal lxappearance lxrandr lxshortcut lxinput xinit  xserver-xorg-dev mesa-utils mesa-utils-extra Notes: you will need to add a non-root user with adduser for Chromium browser to work. You may choose to set up auto-login for that user by editing /etc/lxdm/default.conf and setting the autologin property in the base section at the beginning of the config file. /etc/xdg/lubuntu/lxdm/lxdm.conf This document takes as based kernel version 3.14.52v, vivante 5.0.11p7.4 correspond to the kernel version used. you should check the BSP release notes in order to know which xserver and Vivante GPU files need to be downloaded from the NXP repos. $ sudo nano /etc/lxdm/default.conf    [base]    autologin=user To add hardware GPU acceleration to X11 you need to add some libraries and drivers provided by Freescale from the imx-gpu-viv package. This requires signing Freescales End User License Agreement (EULA). This package provides the following: libg2d - a documented low-level API to the GPU (used by things like libimxvpuapi for gstreamer-imx and the gpu-core drivers) gpu-core - provides all the various OpenGL libs (libGL, libGLESv1_CM, libGLESv1_CL, libGLESv2, libGLSLC, libCLC, libEGL, libGAL, libOpenCL, ls libOpenVG) typically provided by the mesa project. Note that several versions of libEGL/libGAL/libGLESv2/libVIVANTE are provided for different backend rendering systems: dfb, fb, wl, x11. # cd gpu_pack #cd imx-gpu-* # cp gpu-core/usr/lib/dri/vivante_dri.so /usr/lib/xorg/modules/drivers/ # chmod 644 /usr/lib/xorg/modules/drivers/vivante_dri.so # rm /usr/lib/arm-linux-gnueabihf/mesa/libGL.so* # rm /usr/lib/arm-linux-gnueabihf/mesa-egl/libEGL.so* # rm /usr/lib/arm-linux-gnueabihf/mesa-egl/libGLESv2.so* # rm /usr/lib/arm-linux-gnueabihf/mesa-egl/libOpenVG.so* # cd ../../ # cd gpu-pack # wget http://www.nxp.com/lgfiles/NMG/MAD/YOCTO//xserver-xorg-video-imx-viv-5.0.11.p7.4.tar.gz # tar –xf xserver* # cd xserver-org-video-imx* #looks lik have to made #git init # ./fastbuild.sh  BUILD_HARD_VFP=1 XSERVER_GREATER_THAN_13=1 # cd.. # cd kernel-modu* # make Switch to gpu-core x11 backend: # backend=x11 # ln -sf libEGL-${backend}.so /usr/lib/libEGL.so # ln -sf libEGL-${backend}.so /usr/lib/libEGL.so.1 # ln -sf libEGL-${backend}.so /usr/lib/libEGL.so.1.0 # ln -sf libGAL-${backend}.so /usr/lib/libGAL.so # ln -sf libGLESv2-${backend}.so /usr/lib/libGLESv2.so # ln -sf libGLESv2-${backend}.so /usr/lib/libGLESv2.so.2 # ln -sf libGLESv2-${backend}.so /usr/lib/libGLESv2.so.2.0.0 # ln -sf libVIVANTE-${backend}.so /usr/lib/libVIVANTE.so # ln -sf libGAL_egl.dri.so /usr/lib/libGAL_egl.so # for i in egl glesv1_cm glesv2 vg; do         cp /usr/lib/pkgconfig/${i}_${backend}.pc/usr/lib/pkgconfig/${i}.pc     done #rm /usr/lib/*-dfb.so /usr/lib/*-fb.so /usr/lib/*-wl.so (Optional in case you deploy your kernel version with GPU as module) make vivante kernel module (GPU kernel driver) load on boot: # echo vivante >> /etc/modules # nano /etc/udev/rules.d/10-imx.rules KERNEL=="galcore",  MODE="0660", GROUP="video" KERNEL=="mxc_asrc",  MODE="0666" Create an xorg.conf configured for the Vivante fbdev driver: # nano /etc/X11/xorg.conf Section "Device"     Identifier "i.MX Accelerated Framebuffer Device"     Driver "vivante"     Option "fbdev" "/dev/fb0"     Option "vivante_fbdev" "/dev/fb0"     Option "HWcursor" "false" EndSection Section "ServerFlags"     Option "BlankTime"  "0"     Option "StandbyTime"  "0"     Option "SuspendTime"  "0"     Option "OffTime"  "0" EndSection # cd .. Make sure the files copied into the correct places. If all compiled and copied, you should now see a bunch of new libraries in /usr/lib! Congratulations! After you finish you can reboot your system and start playing. Testing Gstreamer examples: show gstreamer-imx plugins: # gst-inspect-1.0 | grep imx imxvpu:  imxvpuenc_mjpeg: Freescale VPU motion JPEG video encoder imxvpu:  imxvpuenc_mpeg4: Freescale VPU MPEG-4 video encoder imxvpu:  imxvpuenc_h264: Freescale VPU h.264 video encoder imxvpu:  imxvpuenc_h263: Freescale VPU h.263 video encoder imxvpu:  imxvpudec: Freescale VPU video decoder imxv4l2videosrc:  imxv4l2videosrc: V4L2 CSI Video Source imxg2d:  imxg2dcompositor: Freescale G2D video compositor imxg2d:  imxg2dvideotransform: Freescale G2D video transform imxg2d:  imxg2dvideosink: Freescale G2D video sink imxipu:  imxipucompositor: Freescale IPU video compositor imxipu:  imxipuvideosink: Freescale IPU video sink imxipu:  imxipuvideotransform: Freescale IPU video transform imxpxp:  imxpxpvideotransform: Freescale PxP video transform imxpxp:  imxpxpvideosink: Freescale PxP video sink imxipuvideosink: # gst-launch-1.0 videotestsrc ! imxipuvideosink imxg2dvideosink: # gst-launch-1.0 videotestsrc ! imxg2dvideosink The imxeglvivsink allows hardware accelerated display to a window on the X11 host # export DISPLAY=:0.0 # gst-launch-1.0 videotestsrc ! imxeglvivsink To test if you have graphics support you can run any glmark2 and/or mesa-utils or can run example of the next route: # cd /opt/viv_samples/vdk/ # ./tutorial1                                                                      //any example root@imx6Q:~# glxgears -info GL_RENDERER   = Vivante GC2000 GL_VERSION    = 2.1 2.0.1 GL_VENDOR     = Vivante Corporation GL_EXTENSIONS = WGL_ARB_extensions_string WGL_EXT_extensions_string WGL_EXT_swap_control GL_EXT_texture_env_add GL_ARB_multitexture GL_ARB_multisample GL_ARB_texture_env_add GL_ARB_texture_compression GL_ARB_texture_env_combine GL_ARB_depth_texture GL_ARB_window_pos …. 1606 frames in 5.0 seconds = 321.130 FPS 1650 frames in 5.0 seconds = 329.834 FPS L_RENDERER   = Vivante GC2000 GL_VERSION    = 2.1 2.0.1 GL_VENDOR     = Vivante Corporation1629 frames in 5.0 seconds = 325.644 FPS 1621 frames in 5.0 seconds = 324.072 FPS 1650 frames in 5.0 seconds = 329.806 FPS 1651 frames in 5.0 seconds = 330.079 FPS Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi Bio_TICFSL, Thank for your excellent doc. I'm working on imx6q sabreauto. successfully flashed uboot,zimage,*dtb and rootfs in sdcard and tried to bootup the board.but it stucks at one point my debug log is below. how can i fix it? U-Boot 2015.04-gb8837c4-dirty (Aug 13 2019 - 17:05:21) CPU: Freescale i.MX6Q rev1.2 at 792 MHz CPU: Temperature 41 C Reset cause: POR Board: MX6Q-Sabreauto revA I2C: ready DRAM: 2 GiB PMIC: PFUZE100 ID=0x10 NAND: 0 MiB MMC: FSL_SDHC: 0, FSL_SDHC: 1 No panel detected: default to HDMI Display: HDMI (640x480) In: serial Out: serial Err: serial switch to partitions #0, OK mmc1 is current device Net: FEC [PRIME] Error: FEC address not set. Normal Boot Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc1 is current device reading boot.scr ** Unable to read file boot.scr ** reading zImage 6022032 bytes read in 293 ms (19.6 MiB/s) Booting from mmc ... reading imx6q-sabreauto.dtb 41594 bytes read in 19 ms (2.1 MiB/s) Kernel image @ 0x12000000 [ 0x000000 - 0x5be390 ] ## Flattened Device Tree blob at 18000000 Booting using the fdt blob at 0x18000000 Using Device Tree in place at 18000000, end 1800d279 Starting kernel ... Booting Linux on physical CPU 0x0 Linux version 3.14.52-g0e08af9-dirty (BspDeveloper2@BspDeveloper2) (gcc version 4.8.5 (Linaro GCC 4.8-2015.06) ) #9 SMP PREEMPT Tue Aug 13 16:58:40 IST 2019 CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache Machine model: Freescale i.MX6 Quad SABRE Automotive Board cma: CMA: reserved 320 MiB at 6a000000 Memory policy: Data cache writealloc PERCPU: Embedded 8 pages/cpu @ee71e000 s8320 r8192 d16256 u32768 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 520720 Kernel command line: console=ttymxc3,115200 root=/dev/mmcblk2p2 rootwait rw PID hash table entries: 4096 (order: 2, 16384 bytes) Dentry cache hash table entries: 262144 (order: 8, 1048576 bytes) Inode-cache hash table entries: 131072 (order: 7, 524288 bytes) Memory: 1739236K/2097152K available (7452K kernel code, 460K rwdata, 2596K rodata, 392K init, 433K bss, 357916K reserved, 270336K highmem) Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) vmalloc : 0xf0000000 - 0xff000000 ( 240 MB) lowmem : 0x80000000 - 0xef800000 (1784 MB) pkmap : 0x7fe00000 - 0x80000000 ( 2 MB) modules : 0x7f000000 - 0x7fe00000 ( 14 MB) .text : 0x80008000 - 0x809d828c (10049 kB) .init : 0x809d9000 - 0x80a3b080 ( 393 kB) .data : 0x80a3c000 - 0x80aaf340 ( 461 kB) .bss : 0x80aaf34c - 0x80b1b99c ( 434 kB) SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 Preemptible hierarchical RCU implementation. NR_IRQS:16 nr_irqs:16 16 L310 cache controller enabled l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x32070000, Cache size: 1024 kB Switching to timer-based delay loop sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655765682ns Console: colour dummy device 80x30 Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 4096 (order: 2, 16384 bytes) Mountpoint-cache hash table entries: 4096 (order: 2, 16384 bytes) CPU: Testing write buffer coherency: ok CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 Setting up static identity map for 0x10717d60 - 0x10717db8 CPU1: Booted secondary processor CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 CPU2: Booted secondary processor CPU2: thread -1, cpu 2, socket 0, mpidr 80000002 CPU3: Booted secondary processor CPU3: thread -1, cpu 3, socket 0, mpidr 80000003 Brought up 4 CPUs SMP: Total of 4 processors activated (24.00 BogoMIPS). CPU: All CPU(s) started in SVC mode. devtmpfs: initialized VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4 pinctrl core: initialized pinctrl subsystem regulator-dummy: no parameters NET: Registered protocol family 16 DMA: preallocated 256 KiB pool for atomic coherent allocations cpuidle: using governor ladder cpuidle: using governor menu CPU identified as i.MX6Q, silicon rev 1.2 Use WDOG1 as reset source syscon 20c8000.anatop: regmap [mem 0x020c8000-0x020c8fff] registered vdd1p1: 800 <--> 1375 mV at 1100 mV vdd3p0: 2625 <--> 3400 mV at 3000 mV vdd2p5: 2000 <--> 2750 mV at 2400 mV vddarm: 725 <--> 1450 mV at 1150 mV vddpu: 725 <--> 1450 mV vddsoc: 725 <--> 1450 mV at 1175 mV syscon 20e0000.iomuxc-gpr: regmap [mem 0x020e0000-0x020e0037] registered syscon 21bc000.ocotp-ctrl: regmap [mem 0x021bc000-0x021bffff] registered hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers. hw-breakpoint: maximum watchpoint size is 4 bytes. imx6q-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver bio: create slab at 0 mxs-dma 110000.dma-apbh: initialized cs42888_supply: 3300 mV 3P3V: 3300 mV vio1: 3300 mV vio2: 3300 mV vd: 3300 mV va: 5000 mV platform usb_h1_vbus.29: Driver reg-fixed-voltage requests probe deferral platform usb_otg_vbus.30: Driver reg-fixed-voltage requests probe deferral i2c-core: driver [max17135] using legacy suspend method i2c-core: driver [max17135] using legacy resume method SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb usbphy_nop1.12 supply vcc not found, using dummy regulator usbphy_nop2.13 supply vcc not found, using dummy regulator i2c i2c-1: IMX I2C adapter registered pca953x 2-0032: failed reading register pca953x: probe of 2-0032 failed with error -5 i2c i2c-2: IMX I2C adapter registered Linux video capture interface: v2.00 pps_core: LinuxPPS API ver. 1 registered pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]> PTP clock support registered imx-ipuv3 2400000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7) imx-ipuv3 2800000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7) MIPI CSI2 driver module loaded Advanced Linux Sound Architecture Driver Initialized. Bluetooth: Core ver 2.18 NET: Registered protocol family 31 Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized Bluetooth: L2CAP socket layer initialized Bluetooth: SCO socket layer initialized cfg80211: Calling CRDA to update world regulatory domain Switched to clocksource mxc_timer1 NET: Registered protocol family 2 TCP established hash table entries: 16384 (order: 4, 65536 bytes) TCP bind hash table entries: 16384 (order: 5, 131072 bytes) TCP: Hash tables configured (established 16384 bind 16384) TCP: reno registered UDP hash table entries: 1024 (order: 3, 32768 bytes) UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available imx rpmsg driver is registered. imx_busfreq busfreq.16: DDR medium rate not supported. Bus freq driver module loaded futex hash table entries: 1024 (order: 4, 65536 bytes) bounce pool size: 64 pages VFS: Disk quotas dquot_6.5.2 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) NFS: Registering the id_resolver key type Key type id_resolver registered Key type id_legacy registered jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. fuse init (API version 7.22) msgmni has been set to 3508 io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) imx-weim 21b8000.weim: Driver registered. backlight.17 supply power not found, using dummy regulator MIPI DSI driver module loaded MIPI DSI driver module loaded mxc_sdc_fb fb.22: registered mxc display driver ldb imx-ipuv3 2800000.ipu: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7) Console: switching to colour frame buffer device 128x48 mxc_hdmi 20e0000.hdmi_video: Detected HDMI controller 0x13:0xa:0xa0:0xc1 fbcvt: 1920x1080@60: CVT Name - 2.073M9 mxc_sdc_fb fb.23: registered mxc display driver hdmi mxc_sdc_fb fb.24: NO mxc display driver found! mxc_sdc_fb fb.25: registered mxc display driver ldb imx-sdma 20ec000.sdma: no iram assigned, using external mem imx-sdma 20ec000.sdma: no event needs to be remapped imx-sdma 20ec000.sdma: loaded firmware 3.2 imx-sdma 20ec000.sdma: initialized pfuze100-regulator 1-0008: Full layer: 2, Metal layer: 1 pfuze100-regulator 1-0008: FAB: 0, FIN: 0 pfuze100-regulator 1-0008: pfuze100 found. SW1AB: 300 <--> 1875 mV at 1375 mV SW1C: 300 <--> 1875 mV at 1375 mV SW2: 800 <--> 3300 mV at 3000 mV SW3A: 400 <--> 1975 mV at 1500 mV SW3B: 400 <--> 1975 mV at 1500 mV SW4: 800 <--> 1975 mV at 1800 mV SWBST: 5000 <--> 5150 mV at 5000 mV VSNVS: 1000 <--> 3000 mV at 3000 mV VREFDDR: 750 mV VGEN1: 800 <--> 1550 mV at 800 mV VGEN2: 800 <--> 1550 mV at 1500 mV VGEN3: 1800 <--> 3300 mV at 1800 mV VGEN4: 1800 <--> 3300 mV at 1800 mV VGEN5: 1800 <--> 3300 mV at 2500 mV VGEN6: 1800 <--> 3300 mV at 2800 mV Serial: IMX driver 21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 60, base_baud = 5000000) is a IMX 21f0000.serial: ttymxc3 at MMIO 0x21f0000 (irq = 61, base_baud = 5000000) is a IMX console [ttymxc3] enabled serial: Freescale lpuart driver imx sema4 driver is registered. [drm] Initialized drm 1.1.0 20060810 [drm] Initialized vivante 1.0.0 20120216 on minor 0 brd: module loaded loop: module loaded si476x-core 1-0063: Using default platform data. si476x-core 1-0063: No IRQ number specified, will use polling si476x-core 1-0063: Error while sending command 0x11 si476x-core 1-0063: The device in inconsistent power state ahci-imx 2200000.sata: fsl,transmit-level-mV not specified, using 00000024 ahci-imx 2200000.sata: fsl,transmit-boost-mdB not specified, using 00000480 ahci-imx 2200000.sata: fsl,transmit-atten-16ths not specified, using 00002000 ahci-imx 2200000.sata: fsl,receive-eq-mdB not specified, using 05000000 ahci-imx 2200000.sata: failed to reset phy: -110 ahci-imx: probe of 2200000.sata failed with error -110 CAN device driver interface 2094000.can supply xceiver not found, using dummy regulator flexcan 2094000.can: device registered (reg_base=f01f0000, irq=143) ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ehci-mxc: Freescale On-Chip EHCI Host driver usbcore: registered new interface driver usb-storage usbcore: registered new interface driver usb_ehset_test 2184800.usbmisc supply vbus-wakeup not found, using dummy regulator imx_usb 2184000.usb: Can't register ci_hdrc platform device, err=-517 platform 2184000.usb: Driver imx_usb requests probe deferral imx_usb 2184200.usb: Can't register ci_hdrc platform device, err=-517 platform 2184200.usb: Driver imx_usb requests probe deferral mousedev: PS/2 mouse device common for all mice egalax_ts 1-0004: Failed to read firmware version egalax_ts: probe of 1-0004 failed with error -5 2-0044 supply vdd not found, using dummy regulator i2c-core: driver [isl29023] using legacy suspend method i2c-core: driver [isl29023] using legacy resume method snvs_rtc 20cc034.snvs-rtc-lp: can't get snvs-rtc clock snvs_rtc 20cc034.snvs-rtc-lp: rtc core: registered 20cc034.snvs-rtc-lp as rtc0 i2c /dev entries driver IR NEC protocol handler initialized IR RC5(x) protocol handler initialized IR RC6 protocol handler initialized IR JVC protocol handler initialized IR Sony protocol handler initialized IR RC5 (streamzap) protocol handler initialized IR SANYO protocol handler initialized IR MCE Keyboard/mouse protocol handler initialized mxc_v4l2_output v4l2_out.33: V4L2 device registered as video16 mxc_v4l2_output v4l2_out.33: V4L2 device registered as video17 mxc_v4l2_output v4l2_out.33: V4L2 device registered as video18 mxc_v4l2_output v4l2_out.33: V4L2 device registered as video19 mxc_v4l2_output v4l2_out.33: V4L2 device registered as video20 2-000e supply vdd not found, using dummy regulator 2-000e supply vddio not found, using dummy regulator mag3110 2-000e: check mag3110 chip ID mag3110 2-000e: read chip ID 0xfffffffb is not equal to 0xc4! mag3110: probe of 2-000e failed with error -22 i2c-core: driver [mag3110] using legacy suspend method i2c-core: driver [mag3110] using legacy resume method 2-001c supply vdd not found, using dummy regulator 2-001c supply vddio not found, using dummy regulator mma8451 2-001c: read chip ID 0x1 is not equal to 0x1a or 0x2a! mma8451: probe of 2-001c failed with error -22 imx2-wdt 20bc000.wdog: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=0) Bluetooth: HCI UART driver ver 2.2 Bluetooth: HCI H4 protocol initialized Bluetooth: HCI BCSP protocol initialized Bluetooth: HCIATH3K protocol initialized usbcore: registered new interface driver bcm203x usbcore: registered new interface driver btusb usbcore: registered new interface driver ath3k sdhci: Secure Digital Host Controller Interface driver sdhci: Copyright(c) Pierre Ossman sdhci-pltfm: SDHCI platform and OF driver helper mmc1: no vqmmc regulator found mmc1: no vmmc regulator found mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA mmc2: no vqmmc regulator found mmc2: no vmmc regulator found mmc2: SDHCI controller on 2198000.usdhc [2198000.usdhc] using ADMA Galcore version 5.0.11.33433 mmc1: new high speed DDR MMC card at address 0001 mmcblk1: mmc1:0001 VM010B 14.5 GiB mmcblk1boot0: mmc1:0001 VM010B partition 1 512 KiB mmcblk1boot1: mmc1:0001 VM010B partition 2 512 KiB mmcblk1rpmb: mmc1:0001 VM010B partition 3 512 KiB Alternate GPT is invalid, using primary GPT. mmcblk1: p1 p2 p3 p4 p5 p6 p7 mmcblk1boot1: unknown partition table mmcblk1boot0: unknown partition table mmc2: host does not support reading read-only switch. assuming write-enable. mmc2: new high speed SDHC card at address e624 mmcblk2: mmc2:e624 SS16G 14.8 GiB mmcblk2: p1 p2 mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed mxc_vpu 2040000.vpu: VPU initialized caam 2100000.caam: Instantiated RNG4 SH0 caam 2100000.caam: Instantiated RNG4 SH1 caam 2100000.caam: device ID = 0x0a160100 (Era 4) caam 2100000.caam: job rings = 2, qi = 0 caam algorithms registered in /proc/crypto caam_jr 2101000.jr0: registering rng-caam platform caam_sm: blkkey_ex: 4 keystore units available platform caam_sm: 64-bit clear key: platform caam_sm: [0000] 00 01 02 03 04 0f 06 07 platform caam_sm: 64-bit black key: platform caam_sm: [0000] 17 d4 14 e3 cd 14 99 3c platform caam_sm: [0008] 28 ac 13 da 4f 13 86 b9 platform caam_sm: 128-bit clear key: platform caam_sm: [0000] 00 01 02 03 04 0f 06 07 platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f platform caam_sm: 128-bit black key: platform caam_sm: [0000] 47 20 d5 8a 08 2e c9 76 platform caam_sm: [0008] 21 a3 ab 86 72 eb e0 d7 platform caam_sm: 192-bit clear key: platform caam_sm: [0000] 00 01 02 03 04 0f 06 07 platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f platform caam_sm: [0016] 10 11 12 13 14 15 16 17 platform caam_sm: 192-bit black key: platform caam_sm: [0000] a0 ab 18 b1 c0 86 52 c3 platform caam_sm: [0008] 26 02 62 70 a8 78 4c f2 platform caam_sm: [0016] 4e 6c e5 31 7e 6c d1 25 platform caam_sm: [0024] 48 62 78 86 93 70 62 ff platform caam_sm: 256-bit clear key: platform caam_sm: [0000] 00 01 02 03 04 0f 06 07 platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f platform caam_sm: [0016] 10 11 12 13 14 15 16 17 platform caam_sm: [0024] 18 19 1a 1b 1c 1d 1e 1f platform caam_sm: 256-bit black key: platform caam_sm: [0000] 61 42 d7 cf 79 ad 81 5c platform caam_sm: [0008] cc 1b 9e 5c a0 20 0e 54 platform caam_sm: [0016] ed fa 74 03 08 e1 96 e2 platform caam_sm: [0024] 5c 85 e0 cc ab f4 9e 3b platform caam_sm: 64-bit unwritten blob: platform caam_sm: [0000] 00 00 00 00 00 00 00 00 platform caam_sm: [0008] 00 00 00 00 00 00 00 00 platform caam_sm: [0016] 00 00 00 00 00 00 00 00 platform caam_sm: [0024] 00 00 00 00 00 00 00 00 platform caam_sm: [0032] 00 00 00 00 00 00 00 00 platform caam_sm: [0040] 00 00 00 00 00 00 00 00 platform caam_sm: [0048] 00 00 00 00 00 00 00 00 platform caam_sm: [0056] 00 00 00 00 00 00 00 00 platform caam_sm: [0064] 00 00 00 00 00 00 00 00 platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 128-bit unwritten blob: platform caam_sm: [0000] 00 00 00 00 00 00 00 00 platform caam_sm: [0008] 00 00 00 00 00 00 00 00 platform caam_sm: [0016] 00 00 00 00 00 00 00 00 platform caam_sm: [0024] 00 00 00 00 00 00 00 00 platform caam_sm: [0032] 00 00 00 00 00 00 00 00 platform caam_sm: [0040] 00 00 00 00 00 00 00 00 platform caam_sm: [0048] 00 00 00 00 00 00 00 00 platform caam_sm: [0056] 00 00 00 00 00 00 00 00 platform caam_sm: [0064] 00 00 00 00 00 00 00 00 platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 196-bit unwritten blob: platform caam_sm: [0000] 00 00 00 00 00 00 00 00 platform caam_sm: [0008] 00 00 00 00 00 00 00 00 platform caam_sm: [0016] 00 00 00 00 00 00 00 00 platform caam_sm: [0024] 00 00 00 00 00 00 00 00 platform caam_sm: [0032] 00 00 00 00 00 00 00 00 platform caam_sm: [0040] 00 00 00 00 00 00 00 00 platform caam_sm: [0048] 00 00 00 00 00 00 00 00 platform caam_sm: [0056] 00 00 00 00 00 00 00 00 platform caam_sm: [0064] 00 00 00 00 00 00 00 00 platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 256-bit unwritten blob: platform caam_sm: [0000] 00 00 00 00 00 00 00 00 platform caam_sm: [0008] 00 00 00 00 00 00 00 00 platform caam_sm: [0016] 00 00 00 00 00 00 00 00 platform caam_sm: [0024] 00 00 00 00 00 00 00 00 platform caam_sm: [0032] 00 00 00 00 00 00 00 00 platform caam_sm: [0040] 00 00 00 00 00 00 00 00 platform caam_sm: [0048] 00 00 00 00 00 00 00 00 platform caam_sm: [0056] 00 00 00 00 00 00 00 00 platform caam_sm: [0064] 00 00 00 00 00 00 00 00 platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 64-bit black key in blob: platform caam_sm: [0000] fc e1 2d 2c 81 75 5e 99 platform caam_sm: [0008] 2d 93 9b b0 a6 5a 3d 49 platform caam_sm: [0016] 98 96 9d 0c 39 36 da 72 platform caam_sm: [0024] f9 1d 66 0c 78 24 20 9a platform caam_sm: [0032] 85 3c 92 1e a4 55 d2 4b platform caam_sm: [0040] e4 7a ed 19 af 70 2e f6 platform caam_sm: [0048] cf c9 07 0e 82 19 47 7f platform caam_sm: [0056] 00 00 00 00 00 00 00 00 platform caam_sm: [0064] 00 00 00 00 00 00 00 00 platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 128-bit black key in blob: platform caam_sm: [0000] c6 ae 04 56 f6 5e c2 1b platform caam_sm: [0008] d9 6c 07 89 9d 1e 20 0f platform caam_sm: [0016] 72 4c 63 e1 ed d2 fd 68 platform caam_sm: [0024] 99 81 17 32 33 39 2a 1c platform caam_sm: [0032] fb e4 bb db 0c 07 c0 f2 platform caam_sm: [0040] eb 23 cf 79 64 2a ca f3 platform caam_sm: [0048] d9 84 ac 22 0b 49 79 e9 platform caam_sm: [0056] 7d 8b 97 09 6a d4 72 0b platform caam_sm: [0064] 00 00 00 00 00 00 00 00 platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 192-bit black key in blob: platform caam_sm: [0000] 9c ec 58 09 50 20 80 1d platform caam_sm: [0008] 21 b6 e3 64 41 ed 14 12 platform caam_sm: [0016] 16 e1 c7 d3 fe 54 40 ed platform caam_sm: [0024] bc 92 e0 0c 6b 0a ec 02 platform caam_sm: [0032] 3b 60 6f 18 20 26 e4 04 platform caam_sm: [0040] c2 94 5e 2f 1e e4 99 b1 platform caam_sm: [0048] 9c 05 65 95 9b 8d db 72 platform caam_sm: [0056] a8 50 b0 50 9d f8 67 66 platform caam_sm: [0064] 33 ae 46 e9 42 6c fb ab platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 256-bit black key in blob: platform caam_sm: [0000] 9b 50 6d 78 93 a8 08 84 platform caam_sm: [0008] e5 3b 26 18 1d 6a 42 80 platform caam_sm: [0016] 3f c9 7f 4d dd 1a b6 a3 platform caam_sm: [0024] 02 6a 4d 64 a6 cc c3 61 platform caam_sm: [0032] 15 9e c8 1f 75 72 01 af platform caam_sm: [0040] f5 87 b3 78 b0 78 3f 34 platform caam_sm: [0048] bf 19 80 05 72 32 c2 82 platform caam_sm: [0056] d1 fd 4c f7 c6 c9 98 85 platform caam_sm: [0064] 9d 02 55 75 35 d5 ef ca platform caam_sm: [0072] 80 f5 21 87 ef 6c cd 96 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: restored 64-bit black key: platform caam_sm: [0000] 47 9d fa 49 f0 cf c5 1c platform caam_sm: [0008] 90 4d 0a e3 a1 ee 72 5c platform caam_sm: restored 128-bit black key: platform caam_sm: [0000] 47 20 d5 8a 08 2e c9 76 platform caam_sm: [0008] 21 a3 ab 86 72 eb e0 d7 platform caam_sm: restored 192-bit black key: platform caam_sm: [0000] a0 ab 18 b1 c0 86 52 c3 platform caam_sm: [0008] 26 02 62 70 a8 78 4c f2 platform caam_sm: [0016] 8d 0d bc 2d 2c 90 67 0c platform caam_sm: [0024] 93 91 ea 59 81 df 52 df platform caam_sm: restored 256-bit black key: platform caam_sm: [0000] 61 42 d7 cf 79 ad 81 5c platform caam_sm: [0008] cc 1b 9e 5c a0 20 0e 54 platform caam_sm: [0016] ed fa 74 03 08 e1 96 e2 platform caam_sm: [0024] 5c 85 e0 cc ab f4 9e 3b snvs-secvio 20cc000.caam-snvs: can't get snvs clock snvs-secvio 20cc000.caam-snvs: violation handlers armed - non-secure state usbcore: registered new interface driver usbhid usbhid: USB HID core driver cs42xx8 1-0048: found device, revision 4 fsl-asrc 2034000.asrc: driver registered snd-soc-dummy snd-soc-dummy: ASoC: Failed to create platform debugfs directory imx-cs42888 sound-cs42888.26: cs42888 <-> 2024000.esai mapping ok imx-cs42888 sound-cs42888.26: snd-soc-dummy-dai <-> 2034000.asrc mapping ok imx-cs42888 sound-cs42888.26: cs42888 <-> 2024000.esai mapping ok imx-spdif sound-spdif.19: snd-soc-dummy-dai <-> 2004000.spdif mapping ok imx-audio-hdmi sound-hdmi.20: hdmi-hifi <-> hdmi_audio.3 mapping ok imx-tuner-si476x sound-fm.31: failed to find FM platform device imx-tuner-si476x: probe of sound-fm.31 failed with error -22 NET: Registered protocol family 26 TCP: cubic registered NET: Registered protocol family 10 sit: IPv6 over IPv4 tunneling driver NET: Registered protocol family 17 can: controller area network core (rev 20120528 abi 9) NET: Registered protocol family 29 can: raw protocol (rev 20120528) can: broadcast manager protocol (rev 20120528 t) can: netlink gateway (rev 20130117) max_hops=1 Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM ver 1.11 Bluetooth: BNEP (Ethernet Emulation) ver 1.3 Bluetooth: BNEP filters: protocol multicast Bluetooth: BNEP socket layer initialized Bluetooth: HIDP (Human Interface Emulation) ver 1.2 Bluetooth: HIDP socket layer initialized 8021q: 802.1Q VLAN Support v1.8 Key type dns_resolver registered VGEN2: disabling SWBST: disabling SW4: disabling regulator-dummy: disabling imx mcc test is registered. platform usb_h1_vbus.29: Driver reg-fixed-voltage requests probe deferral usb_otg_vbus: 5000 mV imx_usb 2184200.usb: Can't register ci_hdrc platform device, err=-517 platform 2184200.usb: Driver imx_usb requests probe deferral platform usb_h1_vbus.29: Driver reg-fixed-voltage requests probe deferral snvs_rtc 20cc034.snvs-rtc-lp: setting system clock to 1970-01-01 00:00:02 UTC (2) imx_usb 2184200.usb: Can't register ci_hdrc platform device, err=-517 ALSA device list: #0: cs42888-audio #1: imx-spdif #2: imx-hdmi-soc p�� �platform usb_h1_vbus.29: Driver reg-fixed-voltage requests probe deferral kjournald starting. Commit interval 5 seconds EXT3-fs (mmcblk2p2): using internal journal EXT3-fs (mmcblk2p2): recovery complete EXT3-fs (mmcblk2p2): mounted filesystem with ordered data mode VFS: Mounted root (ext3 filesystem) on device 179:34. devtmpfs: error mounting -2 Freeing unused kernel memory: 392K (809d9000 - 80a3b000) Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance. CPU2: stopping CPU: 2 PID: 0 Comm: swapper/2 Not tainted 3.14.52-g0e08af9-dirty #9 [<80014764>] (unwind_backtrace) from [<80011488>] (show_stack+0x10/0x14) [<80011488>] (show_stack) from [<807119b4>] (dump_stack+0x7c/0xbc) [<807119b4>] (dump_stack) from [<80013718>] (handle_IPI+0x144/0x158) [<80013718>] (handle_IPI) from [<800085b0>] (gic_handle_irq+0x58/0x5c) [<800085b0>] (gic_handle_irq) from [<80011f80>] (__irq_svc+0x40/0x70) Exception stack(0xd80adf50 to 0xd80adf98) df40: d80adf98 3b9aca00 e9b5de9d 00000000 df60: e882c038 00000000 ee72f0d0 80a4a814 00000001 ee72f0d4 d80ac000 d80ac000 df80: a6aaaaab d80adf98 00000009 804b64bc 60000113 ffffffff [<80011f80>] (__irq_svc) from [<804b64bc>] (cpuidle_enter_state+0x50/0xe0) [<804b64bc>] (cpuidle_enter_state) from [<804b6648>] (cpuidle_idle_call+0xfc/0x150) [<804b6648>] (cpuidle_idle_call) from [<8000edf0>] (arch_cpu_idle+0x8/0x44) [<8000edf0>] (arch_cpu_idle) from [<8006b140>] (cpu_startup_entry+0x104/0x150) [<8006b140>] (cpu_startup_entry) from [<10008644>] (0x10008644) CPU0: stopping CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.14.52-g0e08af9-dirty #9 [<80014764>] (unwind_backtrace) from [<80011488>] (show_stack+0x10/0x14) [<80011488>] (show_stack) from [<807119b4>] (dump_stack+0x7c/0xbc) [<807119b4>] (dump_stack) from [<80013718>] (handle_IPI+0x144/0x158) [<80013718>] (handle_IPI) from [<800085b0>] (gic_handle_irq+0x58/0x5c) [<800085b0>] (gic_handle_irq) from [<80011f80>] (__irq_svc+0x40/0x70) Exception stack(0x80a3df18 to 0x80a3df60) df00: 80a3df60 3b9aca00 df20: e9b5de9d 00000000 e883714d 00000000 ee71f0d0 80a4a814 00000001 ee71f0d4 df40: 80a3c000 80a3c000 a6aaaaab 80a3df60 00000009 804b64bc 60000113 ffffffff [<80011f80>] (__irq_svc) from [<804b64bc>] (cpuidle_enter_state+0x50/0xe0) [<804b64bc>] (cpuidle_enter_state) from [<804b6648>] (cpuidle_idle_call+0xfc/0x150) [<804b6648>] (cpuidle_idle_call) from [<8000edf0>] (arch_cpu_idle+0x8/0x44) [<8000edf0>] (arch_cpu_idle) from [<8006b140>] (cpu_startup_entry+0x104/0x150) [<8006b140>] (cpu_startup_entry) from [<809d9af0>] (start_kernel+0x350/0x35c) CPU3: stopping CPU: 3 PID: 0 Comm: swapper/3 Not tainted 3.14.52-g0e08af9-dirty #9 [<80014764>] (unwind_backtrace) from [<80011488>] (show_stack+0x10/0x14) [<80011488>] (show_stack) from [<807119b4>] (dump_stack+0x7c/0xbc) [<807119b4>] (dump_stack) from [<80013718>] (handle_IPI+0x144/0x158) [<80013718>] (handle_IPI) from [<800085b0>] (gic_handle_irq+0x58/0x5c) [<800085b0>] (gic_handle_irq) from [<80011f80>] (__irq_svc+0x40/0x70) Exception stack(0xd80aff50 to 0xd80aff98) ff40: d80aff98 3b9aca00 e9b5de9d 00000000 ff60: e882c2d3 00000000 ee7370d0 80a4a814 00000001 ee7370d4 d80ae000 d80ae000 ff80: a6aaaaab d80aff98 00000009 804b64bc 60000113 ffffffff [<80011f80>] (__irq_svc) from [<804b64bc>] (cpuidle_enter_state+0x50/0xe0) [<804b64bc>] (cpuidle_enter_state) from [<804b6648>] (cpuidle_idle_call+0xfc/0x150) [<804b6648>] (cpuidle_idle_call) from [<8000edf0>] (arch_cpu_idle+0x8/0x44) [<8000edf0>] (arch_cpu_idle) from [<8006b140>] (cpu_startup_entry+0x104/0x150) [<8006b140>] (cpu_startup_entry) from [<10008644>] (0x10008644) Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hello, Can same instrctions can be used with imx.8? Thanks Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi  in section "Download u-boot" I excuted the "make" instruction and seens like it doesnt work, show as below what's wrong with it?how can i fixed it? Thanks.. ../gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf-gcc: 1: ../gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf-gcc: Syntax error: "(" unexpected ../gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf-gcc: 1: ../gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf-gcc: Syntax error: "(" unexpected dirname: missing operand Try 'dirname --help' for more information. scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config.h GEN include/autoconf.mk ../gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf-gcc: 1: ../gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf-gcc: Syntax error: "(" unexpected scripts/Makefile.autoconf:71: recipe for target 'include/autoconf.mk' failed make[1]: *** [include/autoconf.mk] Error 1 make: *** No rule to make target 'include/config/auto.conf', needed by 'include/config/uboot.release'. Stop. Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Basically, I found the solution. To generate a zImage instead of Image, you have to enter make menuconfig and select this option Gzip is not the defaut choice.  Now I have a ubuntu 14.04 running on my I.MX6Q SABRESD board. Thanks for this essential post ! Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hello, Thanks for this great post ! My goal is to run an Ubuntu 14.04 or higher on my IMX6Q SABRE SD board from the mmc card. I am following the post.  The following link is not valid any more: https://releases.linaro.org/14.09/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz  I replace it by the following one:  https://releases.linaro.org/archive/14.09/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz But it does not work, I get the following strange error: (same error described by wenming feng) /bin/sh: 1: /home/guillaume/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf-gcc: not found  If I select this toolchain, I can compile: gcc-linaro-4.8-2015.06-x86_64_arm-linux-xxxx But I am generating an Image file and NOT a zImage file. And u-boot does not take it (bad linux arm zimage magic error at u boot runtime). It seems that it exists uImage, Image and zImage. Image would correspond to a 64bit image if I understand correctly.   Question 1: Which toolchain or option I have to use/set to generate a zImage ? (and not an Image) Question 2: Would it be possible to update this post with up to date links ? Question 3: Is there somewhere an already builded .sdcard for SABRE SD with everything on it (u-boot, kernel, dtb, ubuntu 14.04 or higher ..) ? Best regards, Guillaume HUGUES Re: Installing Ubuntu Rootfs on NXP i.MX6 boards I am using imx6q-sabresd board. I am following steps from Installing Ubuntu Rootfs on NXP i.MX6 boards.  My kernel version is 3.14.52 and i am using ubuntu Rootfs 14.04. My Xorg xserver version is 1.15.1. I am observing that if i enable PCI bus support in the kernel, then i am not able to use x11 gpu hardware acceleration(glxgears and es2gears give segmentation faults). But if i disable PCI support , i could use x11 gpu hardware acceleration with above mentioned versions of xserver. What role is PCI drivers playing in x11 hardware acceleration? How to get x11 acceleration working with PCI bus support enabled. Has anyone faced similar issue? Is there any fix for this or patches for pci or drm drivers?? Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi Wenming, I ignore the cd kernel-modu* too. My board is i.mx6q sabre sd and I use a LVDS display. Have you try the toolchain gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz as the doc discribed? You can search "Kane Jiang" in the Skype for Business. All the Best Kane Jiang Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi Kane, I am used the linaro-trusty-alip-20141024-684.tar.gz , I can not start the desktop for my imx6dl customer board, I used an OSD-WVGA lcd to connect with ipu.di0/fb0. for the ubuntu core version I can not boot into console. about the kernel-modu* there is a link in the note:ventana/ubuntu – Gateworks  section 2, what I do just ignore the cd kernel-modu* make, I just cd /usr/lib to do the ln -sf . the fastbuild.sh only build the vivante_drv.so, the vivante_dri.so is copy from gpu_core. I can not find any folder name kernel-modu* maybe a mistake. BTW,  what is you video= line, Thanks! Wenming Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi @Bio_TICFSL, Thanks for your excellent doc!!  There's two questions I have get now. 1. I did not find the folder named kernel-modu* as the doc said, where is it? # ./fastbuild.sh  BUILD_HARD_VFP=1 XSERVER_GREATER_THAN_13=1   # cd..      # cd kernel-modu*   # make   Switch to gpu-core x11 backend:   # backend=x11     2. And when I use the rootfs named linaro-jessie-alip-20160428-22.tar.gz(debian based ubuntu 16.04), I can not successfully login to the console: [FAILED] Failed to start Login Service. See 'systemctl status systemd-logind.service' for details. [ OK ] Started Permit User Sessions. [FAILED] Failed to start LSB: Load kernel mo...eeded to enable cpufreq scaling. See 'systemctl status loadcpufreq.service' for details. [ OK ] Started /etc/rc.local Compatibility. [ OK ] Started LSB: network benchmark. [ OK ] Started LSB: Advanced IEEE 802.11 management daemon. [ OK ] Started Initialize hardware monitoring sensors. [ TIME ] Timed out waiting for device dev-ttymxc0.device. [DEPEND] Dependency failed for Serial Getty on ttymxc0. [FAILED] Failed to start Network Manager. See 'systemctl status NetworkManager.service' for details. So how to login to the console, any ideas? All the Best Kane Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi Wenming, You may try command: apt-get install libxtst-dev to overcome the fatal error: X11/extensions/Xext.h: No such file or directory. All the Best Kane Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi Wenming, Which rootfs did you choose? I think you may not choose the Linaro LXDE rootfs(E.g. linaro-trusty-alip-20141024-684.tar.gz) as mentioned in the doc above. The  vivid-preinstalled-core-armhf.tar.gz I mentioned didn't have a GUI desktop, it just have a console terminal. And it seems that did not support the commands like apt-get. But I also tried the rootfs linaro-trusty-alip-20141024-684.tar.gz as same as the doc. And I can succeed to bring up the desktop in i.MX6Q SABRE SD, but there's some issues about how to find the GPU Vivante and play tutorials. Besides, I did not find the folder named kernel-modu* as the doc said, have you? # ./fastbuild.sh  BUILD_HARD_VFP=1 XSERVER_GREATER_THAN_13=1   # cd..      # cd kernel-modu*   # make   Switch to gpu-core x11 backend:   # backend=x11   All the Best Kane Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi Kane, I export the BUILD_HARD_VFP=1 and XSERVER_GREATER_THAN_13=1 it will not make for the DRI_1.10.4/src/, but I still got  fatal: bad default revision 'HEAD' fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git [ ...] -- [ ...]' fsl_pixmap_ext.c:31:33: fatal error: X11/extensions/Xext.h: No such file or directory #include Does me missed some installed package? BTW, as your mentioned vivid-preinstalled-core-armhf.tar.gz  are you tried and success to bring up the desktop for your imx6 board? thanks! Wenming Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi, Prathamesh You can run the command: git init as the the doc said to have a try. You can open the ubuntu-core link in the Explorer and use another. E.g in the link: Index of /ubuntu-core/vivid/daily-preinstalled/current  You may select vivid-preinstalled-core-armhf.tar.gz . Kane Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi Pratham, I got the same issue with you. Do you get it worked? Thanks! Wenming Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi erikraynolds‌ , I have the same question as yours. There seems no folder named kernel-modu*. Have you solved the problem now? Thanks! Kane Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi feng, the issue "Waiting for root device /dev/mmcblk0p2.." , seems to be related to sd card initialization failure, once kernel comes up. Try to boot from eMMc and see if you still get same issue. I am using toolchain mentioned above in this post. Thanks, Prathamesh  Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi Pratham, Do you used any patches?  I can not boot into rootfs on my mx6dl customer board, I only can start uboot and kernel. Kenerl will stop at waiting "Waiting for root device /dev/mmcblk0p2... which version of toolchain are you used? Thanks! Wenming Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi, I am using above steps to get ubuntu rootfs running on imx6q-sabrsd board. I am not able to build xserver-xorg-video-imx-viv-5.0.11.p7.4. I am getting below error with linaro rootfs: gcc -DCOMMIT="`git log -n 1 --format=%H``git diff-index --quiet HEAD || echo '-dirty'`" -DFIX_NO_MI_BACKINGSTORE -fvisibility=hidden -fPIC -DPIc fatal: Not a git repository (or any of the parent directories): .git fatal: Not a git repository (or any of the parent directories): .git gcc -shared -fPIC -o vivante_drv.so vivante_gal/vivante_gal_blit.o vivante_gal/vivante_gal_gpu.o vivante_gal/vivante_gal_surface.o vivante_fbde make: Leaving directory `/root/gpu/xserver-xorg-video-imx-viv-5.0.11.p7.4/EXA/src' make: *** DRI_1.10.4/src/: No such file or directory. Stop. has anybody able to solve this issue?? Also has anybody tried brnigup with ubuntu-core rootfs? Link for ubuntu-core rootfs seems dead. Thanks, Prathamesh Re: Installing Ubuntu Rootfs on NXP i.MX6 boards It seems now no way to build by this thread. I changed the gcc toolchain, still not compilable. But I can build one month ago, there should be some commits blocked the build. Does someone else encounter the same issue as me currently? Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi, I installed ubuntu Linaro LXDE desktop but the touch panel doesn't work. I confirmed the touch panel driver is ok. It generates input events when I cat /dev/input/event0 and touch the panel. But the ubuntu desktop does not have response. Anyone has advice on it? Thanks! Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi, I encounter a uboot compiler issue, when I try to build the wandboard_dl_defconfig. Anybody else encounter this? share your fix. LD examples/standalone/hello_world OBJCOPY examples/standalone/hello_world.srec OBJCOPY examples/standalone/hello_world.bin LDS u-boot.lds LD u-boot arch/arm/imx-common/built-in.o: In function `print_cpuinfo': /home/lucid/imx6dl/uboot-imx-rel_imx_3.14.52_1.1.0_ga/arch/arm/imx-common/cpu.c:199: undefined reference to `uclass_get_device' /home/lucid/imx6dl/uboot-imx-rel_imx_3.14.52_1.1.0_ga/arch/arm/imx-common/cpu.c:201: undefined reference to `thermal_get_temp' arch/arm/imx-common/built-in.o: In function `arch_preboot_os': /home/lucid/imx6dl/uboot-imx-rel_imx_3.14.52_1.1.0_ga/arch/arm/imx-common/cpu.c:270: undefined reference to `ldo_mode_set' drivers/built-in.o: In function `read_cpu_temperature': /home/lucid/imx6dl/uboot-imx-rel_imx_3.14.52_1.1.0_ga/drivers/thermal/imx_thermal.c:43: undefined reference to `dev_get_platdata' /home/lucid/imx6dl/uboot-imx-rel_imx_3.14.52_1.1.0_ga/drivers/thermal/imx_thermal.c:45: undefined reference to `dev_get_priv' drivers/built-in.o: In function `imx_thermal_probe': /home/lucid/imx6dl/uboot-imx-rel_imx_3.14.52_1.1.0_ga/drivers/thermal/imx_thermal.c:226: undefined reference to `dev_get_platdata' /home/lucid/imx6dl/uboot-imx-rel_imx_3.14.52_1.1.0_ga/drivers/thermal/imx_thermal.c:227: undefined reference to `dev_get_priv' /home/lucid/toolchain/gcc-linaro-4.8-2015.06-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ld.bfd: BFD (GNU Binutils) Linaro 2014.11-3-git 2.24.0.20141017 assertion fail /home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64/target/arm-linux-gnueabihf/snapshots/binutils-gdb.git~linaro_binutils-2_24-branch@a93e252ee5250dba831e54f98336b40c7210dac7/bfd/elf32-arm.c:7710 /home/lucid/toolchain/gcc-linaro-4.8-2015.06-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ld.bfd: BFD (GNU Binutils) Linaro 2014.11-3-git 2.24.0.20141017 assertion fail /home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64/target/arm-linux-gnueabihf/snapshots/binutils-gdb.git~linaro_binutils-2_24-branch@a93e252ee5250dba831e54f98336b40c7210dac7/bfd/elf32-arm.c:7710 /home/lucid/toolchain/gcc-linaro-4.8-2015.06-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ld.bfd: BFD (GNU Binutils) Linaro 2014.11-3-git 2.24.0.20141017 assertion fail /home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64/target/arm-linux-gnueabihf/snapshots/binutils-gdb.git~linaro_binutils-2_24-branch@a93e252ee5250dba831e54f98336b40c7210dac7/bfd/elf32-arm.c:7710 /home/lucid/toolchain/gcc-linaro-4.8-2015.06-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ld.bfd: BFD (GNU Binutils) Linaro 2014.11-3-git 2.24.0.20141017 assertion fail /home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64/target/arm-linux-gnueabihf/snapshots/binutils-gdb.git~linaro_binutils-2_24-branch@a93e252ee5250dba831e54f98336b40c7210dac7/bfd/elf32-arm.c:7710 /home/lucid/toolchain/gcc-linaro-4.8-2015.06-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ld.bfd: BFD (GNU Binutils) Linaro 2014.11-3-git 2.24.0.20141017 assertion fail /home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64/target/arm-linux-gnueabihf/snapshots/binutils-gdb.git~linaro_binutils-2_24-branch@a93e252ee5250dba831e54f98336b40c7210dac7/bfd/elf32-arm.c:7710 /home/lucid/toolchain/gcc-linaro-4.8-2015.06-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ld.bfd: error: required section '.rel.plt' not found in the linker script /home/lucid/toolchain/gcc-linaro-4.8-2015.06-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ld.bfd: final link failed: Invalid operation make: *** [u-boot] Error 1 lucid@ubuntu:~/imx6dl/uboot-imx-rel_imx_3.14.52_1.1.0_ga$ Thanks! WF Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Dears, I'd like to continue with adding GPU HW Acceleration for X11 per instruction with that section and working within gpu_pack directory instructions say: # cd kernel-modu*   # make   Switch to gpu-core x11 backend:   # backend=x11   Where kernel-modu* is coming from? How kernel-modu* to create from? Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi, Is there anyway to rotate LCD from landscape mode to portrait mode with ubuntu Linaro LXDE rootfs? Thanks! Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi, I connected USB disk and USB mouse to the USB Host port, but the devices were not able to be detected. I can see following message during kernel booting up: usb_otg_vbus: disabling What could be the possible reasons? Thanks! Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi What error are you getting. I am still having the error messages I posted but my audio is working nonetheless so I stopped troubleshooting further on it until someone gives me an idea what should be done. Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Cool. I had changed it to 'linaro' user which also doesnt have a password but still showed me login page. Anyways will try 'root.' But I was getting launched into desktop directly already so dont know if I should bother. Anyways thank for the info.  Re: Installing Ubuntu Rootfs on NXP i.MX6 boards I can login as root with no login screen automatically. this works for me /etc/lxdm$ lxdm.conf [base] ## uncomment and set autologin username to enable autologin autologin=root ## uncomment and set timeout to enable timeout autologin, ## the value should >=5 # timeout=10 ## default session or desktop used when no systemwide config session=/usr/bin/startlxde ## uncomment and set to set numlock on your keyboard # numlock=0 ## set this if you don't want to put xauth file at ~/.Xauthority # xauth_path=/tmp ## greeter used to welcome the user greeter=/usr/lib/lxdm/lxdm-greeter-gtk [server] ## arg used to start xserver, not fully function # arg=/usr/bin/X -background vt1 [display] ## gtk theme used by greeter gtk_theme=Clearlooks ## background of the greeter bg=/usr/share/backgrounds/default.png ## if show bottom pane bottom_pane=1 ## if show language select control lang=1 ## if show keyboard layout select control keyboard=0 ## the theme of greeter theme=Industrial [input] [userlist] ## if disable the user list control at greeter disable=0 ## whitelist user white= ## blacklist user black= Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Nice. Do let me know if you figure out how to remove the login page completely from 'startlxde'. Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Have you fixed gstreamer-imx somehow? Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Finally I got login: After I got LXDE login screen which I needed to switch off the GUI and start in console mode via CTRL+ALT+F1 then I set passwd for root again and then switch back via CTRL+ALT+F7 and I did login as root. Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Erik, Maybe you have not installed xorg and xinit. Try that. Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Understand but on my side after install I can't run 'startx' command (command not found). I have my console on PC host side where I'm connected to the target via UART. On target itself I got Login screen which I can't go thru. I did changes as you suggested but no success. Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi Erik,    If you have also used Linaro LXDE then the default display manager is lxdm which is upstarted from /etc/init.d/. Lxdm uses /etc/lxdm/lxdm.conf for its configuration. I changed the default session to 'startx' to avoid the login page. Just a workaround for now. More info here : LXDM - ArchWiki  Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi Jaffin, I'm in  pretty much the same situation: have you chance to resolve it? Thank you. Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi Erik Any idea how to boot into desktop rather than to the login window I am getting. When I execute startx from serial console, it starts desktop environment on the screen. But by default, startlxde is getting executed and that takes me to the login page from where I cant login with any user. By default I want startx to load. (later I would like to just boot into just one gui application) Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi Erik, I am using iMX6 QP Sabre Board. Everything is working fine just that I am unable to login through the gui login manager. Also I am facing another issue today. I installed gstreamer-imx and its plugins but I am getting an error with the audio codec plugin which is not working. When I run 'gst-inspect-1.0 -b' I get. (gst-plugin-scanner:8983): GStreamer-WARNING **: Failed to load plugin '/usr/lib/arm-linux-gnueabihf/gstreamer-1.0/libgstimxaudio.so': lib_mp3_enc_arm12_elinux.so.2: cannot open shared object file: No such file or directory (gst-plugin-scanner:8983): GStreamer-WARNING **: Failed to load plugin '/usr/lib/arm-linux-gnueabihf/gstreamer-1.0/gstreamer-1.0/libgstimxaudio.so': lib_mp3_enc_arm12_elinux.so.2: cannot open shared object file: No such file or directory (gst-plugin-scanner:8983): GStreamer-WARNING **: Failed to load plugin '/usr/lib/arm-linux-gnueabihf/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/libgstimxaudio.so': lib_mp3_enc_arm12_elinux.so.2: cannot open shared object file: No such file or directory (gst-plugin-scanner:8983): GStreamer-WARNING **: Failed to load plugin '/usr/lib/arm-linux-gnueabihf/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/libgstimxaudio.so': lib_mp3_enc_arm12_elinux.so.2: cannot open shared object file: No such file or directory (gst-plugin-scanner:8983): GStreamer-WARNING **: Failed to load plugin '/usr/lib/arm-linux-gnueabihf/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/libgstimxaudio.so': lib_mp3_enc_arm12_elinux.so.2: cannot open shared object file: No such file or directory (gst-plugin-scanner:8983): GStreamer-WARNING **: Failed to load plugin '/usr/lib/arm-linux-gnueabihf/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/libgstimxaudio.so': lib_mp3_enc_arm12_elinux.so.2: cannot open shared object file: No such file or directory (gst-plugin-scanner:8983): GStreamer-WARNING **: Failed to load plugin '/usr/lib/arm-linux-gnueabihf/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/libgstimxaudio.so': lib_mp3_enc_arm12_elinux.so.2: cannot open shared object file: No such file or directory (gst-plugin-scanner:8983): GStreamer-WARNING **: Failed to load plugin '/usr/lib/arm-linux-gnueabihf/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/libgstimxaudio.so': lib_mp3_enc_arm12_elinux.so.2: cannot open shared object file: No such file or directory (gst-plugin-scanner:8983): GStreamer-WARNING **: Failed to load plugin '/usr/lib/arm-linux-gnueabihf/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/libgstimxaudio.so': lib_mp3_enc_arm12_elinux.so.2: cannot open shared object file: No such file or directory (gst-plugin-scanner:8983): GStreamer-WARNING **: Failed to load plugin '/usr/lib/arm-linux-gnueabihf/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/libgstimxaudio.so': lib_mp3_enc_arm12_elinux.so.2: cannot open shared object file: No such file or directory (gst-plugin-scanner:8983): GStreamer-WARNING **: Failed to load plugin '/usr/lib/arm-linux-gnueabihf/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/gstreamer-1.0/libgstimxaudio.so': lib_mp3_enc_arm12_elinux.so.2: cannot open shared object file: No such file or directory Blacklisted files: libgstimxaudio.so Total count: 1 blacklisted file I dont understand why only audio plugin got blacklisted when I installed both fsl video and audio codec together. I have followed the links from this post. Also the error that it shows that it cannot open shared file, I checked the directory and the file is inside it. Re: Installing Ubuntu Rootfs on NXP i.MX6 boards What imx board/chip do you use? Re: Installing Ubuntu Rootfs on NXP i.MX6 boards First of all, thanks for this amazing post. Helped a lot. I have used the Linaro LXDE rootfs(partly because the ubuntu core link didnt work). Now apart from few hiccups I faced here and there in the process, I am able to boot the hardware and login from the serial console to the shell. But on the HDMI display I am shown a login window. I tried typing username 'root' and 'linaro' without any password(since I had removed the password from the root and linaro user as per the process above) and I am still stuck on the same window. I am unable to move past the login window and enter the GUI. Did anyone else face this. Please advise if I have missed something. Or I could just remove this login window manager and install another. Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Now I got Linaro, 14.10 image booting.. but still get into HDMI display and it's Serial console from PC. How can I enable and run it form within HDMI monitor? Secondly I followed  section 3: Modify Rootfs and Install needed packages  even though network, sources.list, hostname are not configured accordingly.. I change it on host PC and those setting are not reflected...       U-Boot 2016.03 (Nov 04 2016 - 11:24:24 +0100) CPU: Freescale i.MX6QP rev1.0 996 MHz (running at 792 MHz) CPU: Automotive temperature grade (-40C to 125C) at 31C Reset cause: POR Board: MX6Q-Sabreauto revA I2C: ready DRAM: 2 GiB PMIC: PFUZE100 ID=0x10 NAND: 0 MiB MMC: FSL_SDHC: 0, FSL_SDHC: 1 No panel detected: default to Hannstar-XGA Display: Hannstar-XGA (1024x768) In: serial Out: serial Err: serial switch to partitions #0, OK mmc1 is current device Net: FEC [PRIME] Normal Boot Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc1 is current device reading boot.scr ** Unable to read file boot.scr ** reading zImage 6637656 bytes read in 328 ms (19.3 MiB/s) Booting from mmc ... reading imx6qp-sabreauto.dtb 48853 bytes read in 20 ms (2.3 MiB/s) Kernel image @ 0x12000000 [ 0x000000 - 0x654858 ] ## Flattened Device Tree blob at 18000000 Booting using the fdt blob at 0x18000000 Using Device Tree in place at 18000000, end 1800eed4 Starting kernel ... Booting Linux on physical CPU 0x0 Linux version 4.1.15 (r59400@Latitude) (gcc version 4.8.5 (Linaro GCC 4.8-2015.06) ) #1 SMP PREEMPT Fri Nov 4 11:53:43 CET 2016 CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache Machine model: Freescale i.MX6 Quad Plus SABRE Automotive Board Reserved memory: created CMA memory pool at 0x6a000000, size 320 MiB Reserved memory: initialized node linux,cma, compatible id shared-dma-pool Memory policy: Data cache writealloc PERCPU: Embedded 12 pages/cpu @ee6fe000 s16960 r8192 d24000 u49152 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 520720 Kernel command line: console=ttymxc3,115200 root=/dev/mmcblk2p2 rootwait rw PID hash table entries: 4096 (order: 2, 16384 bytes) Dentry cache hash table entries: 262144 (order: 8, 1048576 bytes) Inode-cache hash table entries: 131072 (order: 7, 524288 bytes) Memory: 1737928K/2097152K available (8295K kernel code, 435K rwdata, 2892K rodata, 432K init, 450K bss, 31544K reserved, 327680K cma-reserved, 270336K highmem) Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xffc00000 - 0xfff00000 (3072 kB) vmalloc : 0xf0000000 - 0xff000000 ( 240 MB) lowmem : 0x80000000 - 0xef800000 (1784 MB) pkmap : 0x7fe00000 - 0x80000000 ( 2 MB) modules : 0x7f000000 - 0x7fe00000 ( 14 MB) .text : 0x80008000 - 0x80af51c8 (11189 kB) .init : 0x80af6000 - 0x80b62000 ( 432 kB) .data : 0x80b62000 - 0x80bcec40 ( 436 kB) .bss : 0x80bd1000 - 0x80c41a5c ( 451 kB) SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 Preemptible hierarchical RCU implementation. Additional per-CPU info printed with stalls. NR_IRQS:16 nr_irqs:16 16 L2C-310 erratum 769419 enabled L2C-310 enabling early BRESP for Cortex-A9 L2C-310 full line of zeros enabled for Cortex-A9 L2C-310 ID prefetch enabled, offset 16 lines L2C-310 dynamic clock gating enabled, standby mode enabled L2C-310 cache controller enabled, 16 ways, 1024 kB L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76470001 mxc_clocksource_init 3000000 Switching to timer-based delay loop, resolution 333ns sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 715827882841ns clocksource mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns Console: colour dummy device 80x30 Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 4096 (order: 2, 16384 bytes) Mountpoint-cache hash table entries: 4096 (order: 2, 16384 bytes) CPU: Testing write buffer coherency: ok CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 Setting up static identity map for 0x10008280 - 0x100082d8 CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 CPU2: thread -1, cpu 2, socket 0, mpidr 80000002 CPU3: thread -1, cpu 3, socket 0, mpidr 80000003 Brought up 4 CPUs SMP: Total of 4 processors activated (24.00 BogoMIPS). CPU: All CPU(s) started in SVC mode. devtmpfs: initialized VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4 clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns pinctrl core: initialized pinctrl subsystem NET: Registered protocol family 16 DMA: preallocated 256 KiB pool for atomic coherent allocations cpuidle: using governor ladder cpuidle: using governor menu CPU identified as i.MX6QP, silicon rev 1.0 hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers. hw-breakpoint: maximum watchpoint size is 4 bytes. imx6q-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/hdmicecgrp imx6q-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver imx-gpc 20dc000.gpc: no fsl,ldo-bypass found! mxs-dma 110000.dma-apbh: initialized SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb 2000000.aips-bus:usbphy_nop1 supply vcc not found, using dummy regulator 2000000.aips-bus:usbphy_nop2 supply vcc not found, using dummy regulator i2c i2c-1: IMX I2C adapter registered i2c i2c-1: can't use DMA i2c i2c-2: IMX I2C adapter registered i2c i2c-2: can't use DMA Linux video capture interface: v2.00 pps_core: LinuxPPS API ver. 1 registered pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]> PTP clock support registered imx-ipuv3 2400000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7) imx-ipuv3 2800000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7) imx-prg 21cc000.prg: driver probed imx-prg 21cd000.prg: driver probed imx-pre 21c8000.pre: driver probed imx-pre 21c9000.pre: driver probed imx-pre 21ca000.pre: driver probed imx-pre 21cb000.pre: driver probed MIPI CSI2 driver module loaded Advanced Linux Sound Architecture Driver Initialized. Bluetooth: Core ver 2.20 NET: Registered protocol family 31 Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized Bluetooth: L2CAP socket layer initialized Bluetooth: SCO socket layer initialized Switched to clocksource mxc_timer1 NET: Registered protocol family 2 TCP established hash table entries: 16384 (order: 4, 65536 bytes) TCP bind hash table entries: 16384 (order: 5, 131072 bytes) TCP: Hash tables configured (established 16384 bind 16384) UDP hash table entries: 1024 (order: 3, 32768 bytes) UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. CPU PMU: Failed to parse /soc/pmu/interrupt-affinity[0] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available imx rpmsg driver is registered. Bus freq driver module loaded futex hash table entries: 1024 (order: 4, 65536 bytes) VFS: Disk quotas dquot_6.6.0 VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) NFS: Registering the id_resolver key type Key type id_resolver registered Key type id_legacy registered jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. fuse init (API version 7.23) bounce: pool size: 64 pages io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) backlight supply power not found, using dummy regulator MIPI DSI driver module loaded MIPI DSI driver module loaded mxc_sdc_fb fb@0: registered mxc display driver ldb imx-ipuv3 2800000.ipu: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7) Console: switching to colour frame buffer device 128x48 mxc_hdmi 20e0000.hdmi_video: Detected HDMI controller 0x13:0xa:0xa0:0xc1 fbcvt: 1920x1080@60: CVT Name - 2.073M9 mxc_sdc_fb fb@1: registered mxc display driver hdmi mxc_sdc_fb fb@2: NO mxc display driver found! mxc_sdc_fb fb@3: registered mxc display driver ldb mxc_hdmi 20e0000.hdmi_video: Read EDID again imx-sdma 20ec000.sdma: no iram assigned, using external mem imx-sdma 20ec000.sdma: no event needs to be remapped imx-sdma 20ec000.sdma: loaded firmware 3.3 imx-sdma 20ec000.sdma: initialized pfuze100-regulator 1-0008: Full layer: 2, Metal layer: 1 pfuze100-regulator 1-0008: FAB: 0, FIN: 0 pfuze100-regulator 1-0008: pfuze100 found. 21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 298, base_baud = 5000000) is a IMX 21f0000.serial: ttymxc3 at MMIO 0x21f0000 (irq = 299, base_baud = 5000000) is a IMX mxc_hdmi 20e0000.hdmi_video: create default modelist console [ttymxc3] enabled imx sema4 driver is registered. [drm] Initialized drm 1.1.0 20060810 [drm] Initialized vivante 1.0.0 20120216 on minor 0 brd: module loaded loop: module loaded si476x-core 1-0063: Using default platform data. si476x-core 1-0063: No IRQ number specified, will use polling si476x-core 1-0063: Error while sending command 0x11 si476x-core 1-0063: The device in inconsistent power state ahci-imx 2200000.sata: fsl,transmit-level-mV not specified, using 00000024 ahci-imx 2200000.sata: fsl,transmit-boost-mdB not specified, using 00000480 ahci-imx 2200000.sata: fsl,transmit-atten-16ths not specified, using 00002000 ahci-imx 2200000.sata: fsl,receive-eq-mdB not specified, using 05000000 ahci-imx 2200000.sata: SSS flag set, parallel bus scan disabled ahci-imx 2200000.sata: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode ahci-imx 2200000.sata: flags: ncq sntf stag pm led clo only pmp pio slum part ccc apst scsi host0: ahci-imx ata1: SATA max UDMA/133 mmio [mem 0x02200000-0x02203fff] port 0x100 irq 313 CAN device driver interface 2188000.ethernet supply phy not found, using dummy regulator pps pps0: new PPS source ptp0 libphy: fec_enet_mii_bus: probed fec 2188000.ethernet eth0: registered PHC device 0 ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ehci-mxc: Freescale On-Chip EHCI Host driver usbcore: registered new interface driver usb-storage usbcore: registered new interface driver usb_ehset_test 2184800.usbmisc supply vbus-wakeup not found, using dummy regulator imx_usb 2184000.usb: Can't register ci_hdrc platform device, err=-517 imx_usb 2184200.usb: Can't register ci_hdrc platform device, err=-517 mousedev: PS/2 mouse device common for all mice egalax_ts 1-0004: Failed to read firmware version egalax_ts: probe of 1-0004 failed with error -5 2-0044 supply vdd not found, using dummy regulator input: isl29023 light sensor as /devices/virtual/input/input1 isl29023 2-0044: driver version 1.0 enabled snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as rtc0 i2c /dev entries driver IR NEC protocol handler initialized IR RC5(x/sz) protocol handler initialized IR RC6 protocol handler initialized IR JVC protocol handler initialized IR Sony protocol handler initialized IR SANYO protocol handler initialized IR Sharp protocol handler initialized IR MCE Keyboard/mouse protocol handler initialized IR XMP protocol handler initialized mxc_v4l2_output v4l2_out: V4L2 device registered as video16 mxc_v4l2_output v4l2_out: V4L2 device registered as video17 mxc_v4l2_output v4l2_out: V4L2 device registered as video18 mxc_v4l2_output v4l2_out: V4L2 device registered as video19 mxc_v4l2_output v4l2_out: V4L2 device registered as video20 2-000e supply vdd not found, using dummy regulator 2-000e supply vddio not found, using dummy regulator mag3110 2-000e: check mag3110 chip ID input: mag3110 as /devices/virtual/input/input2 mag3110 2-000e: mag3110 is probed 2-001c supply vdd not found, using dummy regulator 2-001c supply vddio not found, using dummy regulator input: mma845x as /devices/virtual/input/input3 imx2-wdt 20bc000.wdog: timeout 60 sec (nowayout=0) Bluetooth: HCI UART driver ver 2.3 Bluetooth: HCI UART protocol H4 registered Bluetooth: HCI UART protocol BCSP registered Bluetooth: HCI UART protocol ATH3K registered ata1: SATA link down (SStatus 0 SControl 300) ahci-imx 2200000.sata: no device found, disabling link. usbcore: registered new interface driver bcm203x usbcore: registered new interface driver btusb usbcore: registered new interface driver ath3k ahci-imx 2200000.sata: pass ahci_imx..hotplug=1 to enable hotplug sdhci: Secure Digital Host Controller Interface driver sdhci: Copyright(c) Pierre Ossman sdhci-pltfm: SDHCI platform and OF driver helper /soc/aips-bus@02100000/usdhc@02190000: voltage-ranges unspecified sdhci-esdhc-imx 2190000.usdhc: Got CD GPIO sdhci-esdhc-imx 2190000.usdhc: No vmmc regulator found sdhci-esdhc-imx 2190000.usdhc: No vqmmc regulator found mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA /soc/aips-bus@02100000/usdhc@02198000: voltage-ranges unspecified sdhci-esdhc-imx 2198000.usdhc: Got CD GPIO sdhci-esdhc-imx 2198000.usdhc: Got WP GPIO sdhci-esdhc-imx 2198000.usdhc: No vqmmc regulator found mmc2: SDHCI controller on 2198000.usdhc [2198000.usdhc] using ADMA 218c000.mlb supply reg_nvcc not found, using dummy regulator mxc_mlb150 218c000.mlb: enalbe regulator mxc_vpu 2040000.vpu_fsl: VPU initialized mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed imx6q-pinctrl 20e0000.iomuxc: unable to find group for node hdmicecgrp imx6q-pinctrl 20e0000.iomuxc: unable to find group for node hdmicecgrp mxc_hdmi_cec soc:hdmi_cec@00120000: can't get/select CEC pinctrl Galcore version 5.0.11.41671 mmc2: new ultra high speed SDR104 SDHC card at address 0007 mmcblk2: mmc2:0007 SD32G 28.9 GiB mmcblk2: p1 p2 caam 2100000.caam: Entropy delay = 3200 caam 2100000.caam: Instantiated RNG4 SH0 caam 2100000.caam: Instantiated RNG4 SH1 caam 2100000.caam: device ID = 0x0a16010000000000 (Era -524) caam 2100000.caam: job rings = 2, qi = 0 caam algorithms registered in /proc/crypto caam_jr 2101000.jr0: registering rng-caam platform caam_sm: blkkey_ex: 4 keystore units available platform caam_sm: 64-bit clear key: platform caam_sm: [0000] 00 01 02 03 04 0f 06 07 platform caam_sm: 64-bit black key: platform caam_sm: [0000] b1 20 7c 0a 8a 86 61 07 platform caam_sm: [0008] f0 19 01 46 38 76 bd 49 platform caam_sm: 128-bit clear key: platform caam_sm: [0000] 00 01 02 03 04 0f 06 07 platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f platform caam_sm: 128-bit black key: platform caam_sm: [0000] 2f 06 82 1f cc b0 35 1f platform caam_sm: [0008] 72 03 b1 f3 aa e0 3e b0 platform caam_sm: 192-bit clear key: platform caam_sm: [0000] 00 01 02 03 04 0f 06 07 platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f platform caam_sm: [0016] 10 11 12 13 14 15 16 17 platform caam_sm: 192-bit black key: platform caam_sm: [0000] 1b b3 ad 95 d0 24 81 9a platform caam_sm: [0008] fd b9 b8 4c 55 17 92 c4 platform caam_sm: [0016] ae af b5 6a ea 59 01 4f platform caam_sm: [0024] 1b be de e8 dd 5c 8b 10 platform caam_sm: 256-bit clear key: platform caam_sm: [0000] 00 01 02 03 04 0f 06 07 platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f platform caam_sm: [0016] 10 11 12 13 14 15 16 17 platform caam_sm: [0024] 18 19 1a 1b 1c 1d 1e 1f platform caam_sm: 256-bit black key: platform caam_sm: [0000] cf f7 16 54 2e 7b 19 e0 platform caam_sm: [0008] fe 96 8c 8b 3e 1b b3 f0 platform caam_sm: [0016] 38 35 bc 80 67 35 ed 58 platform caam_sm: [0024] e1 dd 73 11 85 8b 10 1f platform caam_sm: 64-bit unwritten blob: platform caam_sm: [0000] 00 00 00 00 00 00 00 00 platform caam_sm: [0008] 00 00 00 00 00 00 00 00 platform caam_sm: [0016] 00 00 00 00 00 00 00 00 platform caam_sm: [0024] 00 00 00 00 00 00 00 00 platform caam_sm: [0032] 00 00 00 00 00 00 00 00 platform caam_sm: [0040] 00 00 00 00 00 00 00 00 platform caam_sm: [0048] 00 00 00 00 00 00 00 00 platform caam_sm: [0056] 00 00 00 00 00 00 00 00 platform caam_sm: [0064] 00 00 00 00 00 00 00 00 platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 128-bit unwritten blob: platform caam_sm: [0000] 00 00 00 00 00 00 00 00 platform caam_sm: [0008] 00 00 00 00 00 00 00 00 platform caam_sm: [0016] 00 00 00 00 00 00 00 00 platform caam_sm: [0024] 00 00 00 00 00 00 00 00 platform caam_sm: [0032] 00 00 00 00 00 00 00 00 platform caam_sm: [0040] 00 00 00 00 00 00 00 00 platform caam_sm: [0048] 00 00 00 00 00 00 00 00 platform caam_sm: [0056] 00 00 00 00 00 00 00 00 platform caam_sm: [0064] 00 00 00 00 00 00 00 00 platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 196-bit unwritten blob: platform caam_sm: [0000] 00 00 00 00 00 00 00 00 platform caam_sm: [0008] 00 00 00 00 00 00 00 00 platform caam_sm: [0016] 00 00 00 00 00 00 00 00 platform caam_sm: [0024] 00 00 00 00 00 00 00 00 platform caam_sm: [0032] 00 00 00 00 00 00 00 00 platform caam_sm: [0040] 00 00 00 00 00 00 00 00 platform caam_sm: [0048] 00 00 00 00 00 00 00 00 platform caam_sm: [0056] 00 00 00 00 00 00 00 00 platform caam_sm: [0064] 00 00 00 00 00 00 00 00 platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 256-bit unwritten blob: platform caam_sm: [0000] 00 00 00 00 00 00 00 00 platform caam_sm: [0008] 00 00 00 00 00 00 00 00 platform caam_sm: [0016] 00 00 00 00 00 00 00 00 platform caam_sm: [0024] 00 00 00 00 00 00 00 00 platform caam_sm: [0032] 00 00 00 00 00 00 00 00 platform caam_sm: [0040] 00 00 00 00 00 00 00 00 platform caam_sm: [0048] 00 00 00 00 00 00 00 00 platform caam_sm: [0056] 00 00 00 00 00 00 00 00 platform caam_sm: [0064] 00 00 00 00 00 00 00 00 platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 64-bit black key in blob: platform caam_sm: [0000] 7c 66 1b 86 2d 1c b7 2d platform caam_sm: [0008] 20 1f bb eb b4 00 1c 56 platform caam_sm: [0016] 8f b7 46 a6 40 58 28 49 platform caam_sm: [0024] 55 a0 50 1c 58 1d 43 a9 platform caam_sm: [0032] 06 3c 86 13 da 7d c1 6a platform caam_sm: [0040] 3b 09 77 ee 3a ee 3f e6 platform caam_sm: [0048] 7e be 58 92 f4 b9 1d 4a platform caam_sm: [0056] 00 00 00 00 00 00 00 00 platform caam_sm: [0064] 00 00 00 00 00 00 00 00 platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 128-bit black key in blob: platform caam_sm: [0000] 61 a7 fd 69 ac 06 3c 35 platform caam_sm: [0008] 55 aa 49 66 c1 d2 ee 49 platform caam_sm: [0016] 04 af 80 4a fe 33 92 ab platform caam_sm: [0024] 9c a7 c3 82 25 53 80 63 platform caam_sm: [0032] 22 3e 89 9a e6 d8 a6 54 platform caam_sm: [0040] c6 e6 f7 34 b6 1f 2c 9e platform caam_sm: [0048] 5e 96 89 5e a6 fc 7f 87 platform caam_sm: [0056] 20 5f 7a 16 11 3b e7 ce platform caam_sm: [0064] 00 00 00 00 00 00 00 00 platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 192-bit black key in blob: platform caam_sm: [0000] 23 2c cb 1b 73 ab 7d 23 platform caam_sm: [0008] f4 b0 f7 92 b2 78 0d 4c platform caam_sm: [0016] b7 ba 1e 4d 05 6d 31 f5 platform caam_sm: [0024] ce c9 fd 0a ce 39 eb 94 platform caam_sm: [0032] cb b1 33 41 b7 f7 6b 26 platform caam_sm: [0040] 44 80 d7 26 36 25 ad 73 platform caam_sm: [0048] 87 a0 51 29 82 7f 9c d8 platform caam_sm: [0056] 2f 75 98 5f b7 50 f3 db platform caam_sm: [0064] b3 39 17 c7 c9 90 c8 26 platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 256-bit black key in blob: platform caam_sm: [0000] 49 ff 5a d8 79 44 e7 67 platform caam_sm: [0008] 96 87 75 f6 5c 8a 2e df platform caam_sm: [0016] ae cc a1 b6 4a 31 f6 e8 platform caam_sm: [0024] 8d fd ad 8b 07 f3 e8 b0 platform caam_sm: [0032] c0 58 18 9b ae 02 bb ce platform caam_sm: [0040] 38 fb 44 db 04 67 1b c7 platform caam_sm: [0048] 2c 15 75 41 8d c1 77 cf platform caam_sm: [0056] a1 68 de 68 2d cd 24 e7 platform caam_sm: [0064] d5 7e e3 22 eb 7a 21 9d platform caam_sm: [0072] 63 67 cf 3b 32 19 e0 03 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: restored 64-bit black key: platform caam_sm: [0000] 95 c8 a2 bc ac 2e 8e d7 platform caam_sm: [0008] f7 cc fa 5b b6 a5 5b 4b platform caam_sm: restored 128-bit black key: platform caam_sm: [0000] 2f 06 82 1f cc b0 35 1f platform caam_sm: [0008] 72 03 b1 f3 aa e0 3e b0 platform caam_sm: restored 192-bit black key: platform caam_sm: [0000] 1b b3 ad 95 d0 24 81 9a platform caam_sm: [0008] fd b9 b8 4c 55 17 92 c4 platform caam_sm: [0016] 5f 82 48 34 d8 cb 15 a9 platform caam_sm: [0024] b0 6c fe c8 ee 8e cd 21 platform caam_sm: restored 256-bit black key: platform caam_sm: [0000] cf f7 16 54 2e 7b 19 e0 platform caam_sm: [0008] fe 96 8c 8b 3e 1b b3 f0 platform caam_sm: [0016] 38 35 bc 80 67 35 ed 58 platform caam_sm: [0024] e1 dd 73 11 85 8b 10 1f snvs-secvio 20cc000.caam-snvs: can't get snvs clock snvs-secvio 20cc000.caam-snvs: violation handlers armed - non-secure state usbcore: registered new interface driver usbhid usbhid: USB HID core driver cs42xx8 1-0048: found device, revision 4 fsl-asrc 2034000.asrc: driver registered imx-cs42888 sound-cs42888: cs42888 <-> 2024000.esai mapping ok imx-cs42888 sound-cs42888: snd-soc-dummy-dai <-> 2034000.asrc mapping ok imx-cs42888 sound-cs42888: cs42888 <-> 2024000.esai mapping ok imx-spdif sound-spdif: snd-soc-dummy-dai <-> 2004000.spdif mapping ok imx-tuner-si476x sound-fm: failed to find FM platform device imx-tuner-si476x: probe of sound-fm failed with error -22 imx-audio-hdmi sound-hdmi: hdmi-hifi <-> soc:hdmi_audio@00120000 mapping ok NET: Registered protocol family 26 NET: Registered protocol family 10 sit: IPv6 over IPv4 tunneling driver NET: Registered protocol family 17 can: controller area network core (rev 20120528 abi 9) NET: Registered protocol family 29 can: raw protocol (rev 20120528) can: broadcast manager protocol (rev 20120528 t) can: netlink gateway (rev 20130117) max_hops=1 Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM ver 1.11 Bluetooth: BNEP (Ethernet Emulation) ver 1.3 Bluetooth: BNEP filters: protocol multicast Bluetooth: BNEP socket layer initialized Bluetooth: HIDP (Human Interface Emulation) ver 1.2 Bluetooth: HIDP socket layer initialized 8021q: 802.1Q VLAN Support v1.8 Key type dns_resolver registered can-stby: supplied by can-en flexcan 2094000.flexcan: device registered (reg_base=f0648000, irq=31) ci_hdrc ci_hdrc.0: EHCI Host Controller ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1 ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00 hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected ci_hdrc ci_hdrc.1: EHCI Host Controller ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 2 ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00 hub 2-0:1.0: USB hub found hub 2-0:1.0: 1 port detected dhd_module_init in input: gpio-keys as /devices/soc0/gpio-keys/input/input4 snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01 00:00:02 UTC (2) can-stby: disabling can-en: disabling VGEN2: disabling SWBST: disabling SW4: disabling ALSA device list: #0: cs42888-audio #1: imx-spdif #2: imx-hdmi-soc usb 1-1: new high-speed USB device number 2 using ci_hdrc hub 1-1:1.0: USB hub found hub 1-1:1.0: 4 ports detected usb 1-1.2: new low-speed USB device number 3 using ci_hdrc input: DELL DELL USB Laser Mouse as /devices/soc0/soc/2100000.aips-bus/2184000.usb/ci_hdrc.0/usb1/1-1/1-1.2/1-1.2:1.0/0003:046D:C063.0001/input/input5 hid-generic 0003:046D:C063.0001: input: USB HID v1.10 Mouse [DELL DELL USB Laser Mouse] on usb-ci_hdrc.0-1.2/input0 usb 1-1.3: new low-speed USB device number 4 using ci_hdrc input: Dell Dell QuietKey Keyboard as /devices/soc0/soc/2100000.aips-bus/2184000.usb/ci_hdrc.0/usb1/1-1/1-1.3/1-1.3:1.0/0003:413C:2106.0002/input/input6 hid-generic 0003:413C:2106.0002: input: USB HID v1.10 Keyboard [Dell Dell QuietKey Keyboard] on usb-ci_hdrc.0-1.3/input0 kjournald starting. Commit interval 5 seconds EXT3-fs (mmcblk2p2): using internal journal EXT3-fs (mmcblk2p2): recovery complete EXT3-fs (mmcblk2p2): mounted filesystem with ordered data mode VFS: Mounted root (ext3 filesystem) on device 179:2. devtmpfs: mounted Freeing unused kernel memory: 432K (80af6000 - 80b62000) Mount failed for selinuxfs on /sys/fs/selinux: No such file or directory random: init urandom read with 34 bits of entropy available init: plymouth-upstart-bridge main process (175) terminated with status 1 init: plymouth-upstart-bridge main process ended, respawning init: plymouth-upstart-bridge main process (185) terminated with status 1 init: plymouth-upstart-bridge main process ended, respawning init: plymouth-upstart-bridge main process (189) terminated with status 1 init: plymouth-upstart-bridge main process ended, respawning init: ureadahead main process (178) terminated with status 5 init: mounted-proc main process (204) terminated with status 1 DBG sensor data is at 7f010188 * Stopping Send an event to indicate plymouth is up [ OK ] * Starting Mount filesystems on boot [ OK ] * Starting Signal sysvinit that the rootfs is mounted [ OK ] * Starting Populate /dev filesystem [ OK ] * Stopping Populate /dev filesystem [ OK ] * Starting Clean /tmp directory [ OK ] * Starting Populate and link to /run filesystem [ OK ] * Stopping Clean /tmp directory [ OK ] * Stopping Populate and link to /run filesystem [ OK ] * Stopping Track if upstart is running in a container [ OK ] * Starting Initialize or finalize resolvconf [ OK ] * Starting set console keymap [ OK ] * Starting Signal sysvinit that virtual filesystems are mounted [ OK ] * Starting Signal sysvinit that virtual filesystems are mounted [ OK ] * Starting Bridge udev events into upstart [ OK ] * Stopping set console keymap [ OK ] * Starting device node and kernel event manager [ OK ] * Starting Signal sysvinit that local filesystems are mounted [ OK ] * Starting Signal sysvinit that remote filesystems are mounted [ OK ] * Starting load modules from /etc/modules [ OK ] * Starting cold plug devices [ OK ] * Starting log initial device creation [ OK ] * Stopping load modules from /etc/modules [ OK ] * Starting flush early job output to logs [ OK ] * Stopping Mount filesystems on boot [ OK ] * Stopping flush early job output to logs [ OK ] * Starting D-Bus system message bus [ OK ] * Starting set console font [ OK ] * Starting SystemD login management service [ OK ] * Stopping set console font [ OK ] * Starting userspace bootsplash [ OK ] * Stopping userspace bootsplash [ OK ] * Starting Send an event to indicate plymouth is up [ OK ] * Starting bluetooth daemon [ OK ] * Stopping Send an event to indicate plymouth is up [ OK ] * Starting system logging daemon [ OK ] * Starting configure network device security [ OK ] * Starting mDNS/DNS-SD daemon [ OK ] * Starting Reload cups, upon starting avahi-daemon to make sure remote q[ OK ]are populated * Starting configure network device [ OK ] * Starting Reload cups, upon starting avahi-daemon to make sure remote q[fail]are populated * Starting configure network device security [ OK ] * Starting configure network device [ OK ] * Starting configure network device security [ OK ] * Starting configure network device security [ OK ] * Starting configure network device [ OK ] * Starting Mount network filesystems [ OK ] * Starting Failsafe Boot Delay [ OK ] * Stopping Mount network filesystems [ OK ] * Starting configure network device [ OK ] * Stopping Failsafe Boot Delay [ OK ] * Starting System V initialisation compatibility [ OK ] * Setting up X socket directories... [ OK ] * Stopping System V initialisation compatibility [ OK ] Last login: Thu Jan 1 00:00:23 UTC 1970 on tty1 Welcome to Linaro 14.04 (GNU/Linux 4.1.15 armv7l) * Documentation: https://wiki.linaro.org/ root@linaro-alip:~# Re: Installing Ubuntu Rootfs on NXP i.MX6 boards I did compile for 4.1.15 kernel but I need to set (configure) proper board instead of Board: MX6Q-Sabreauto revA I need to have: MX6QP-Sabreauto Where and how to configure it? How can I redirect display to HDMI? U-Boot 2016.03 (Nov 03 2016 - 11:28:37 +0100) CPU: Freescale i.MX6QP rev1.0 996 MHz (running at 792 MHz) CPU: Automotive temperature grade (-40C to 125C) at 28C Reset cause: POR Board: MX6Q-Sabreauto revA I2C: ready DRAM: 2 GiB PMIC: PFUZE100 ID=0x10 NAND: 0 MiB MMC: FSL_SDHC: 0, FSL_SDHC: 1 *** Warning - bad CRC, using default environment No panel detected: default to Hannstar-XGA Display: Hannstar-XGA (1024x768) In: serial Out: serial Err: serial switch to partitions #0, OK mmc1 is current device Net: FEC [PRIME] Normal Boot Hit any key to stop autoboot: 0 Re: Installing Ubuntu Rootfs on NXP i.MX6 boards How can I redirect output to HDMI monitor? I am trying to start the system but I got stuck at  * Stopping save kernel messages                                         [ OK ] U-Boot 2015.04 (Nov 02 2016 - 23:46:14) CPU: Freescale i.MX6QP rev1.0 at 792 MHz CPU: Temperature 33 C Reset cause: POR Board: MX6Q-Sabreauto revA I2C: ready DRAM: 2 GiB PMIC: PFUZE100 ID=0x10 NAND: 0 MiB MMC: FSL_SDHC: 0, FSL_SDHC: 1 *** Warning - bad CRC, using default environment No panel detected: default to Hannstar-XGA Display: Hannstar-XGA (1024x768) In: serial Out: serial Err: serial switch to partitions #0, OK mmc1 is current device Net: FEC [PRIME] Normal Boot Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc1 is current device reading boot.scr ** Unable to read file boot.scr ** reading zImage 6022776 bytes read in 309 ms (18.6 MiB/s) Booting from mmc ... reading imx6qp-sabreauto.dtb 46893 bytes read in 20 ms (2.2 MiB/s) Kernel image @ 0x12000000 [ 0x000000 - 0x5be678 ] ## Flattened Device Tree blob at 18000000 Booting using the fdt blob at 0x18000000 Using Device Tree in place at 18000000, end 1800e72c Starting kernel ... Booting Linux on physical CPU 0x0 Linux version 3.14.52 (r59400@Latitude) (gcc version 4.8.5 (Linaro GCC 4.8-2015.06) ) #3 SMP PREEMPT Wed Nov 2 23:55:53 CET 2016 CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache Machine model: Freescale i.MX6 Quad Plus SABRE Automotive Board cma: CMA: reserved 320 MiB at 6a000000 Memory policy: Data cache writealloc PERCPU: Embedded 8 pages/cpu @ee71d000 s8320 r8192 d16256 u32768 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 520720 Kernel command line: console=ttymxc3,115200 root=/dev/mmcblk2p2 rootwait rw PID hash table entries: 4096 (order: 2, 16384 bytes) Dentry cache hash table entries: 262144 (order: 8, 1048576 bytes) Inode-cache hash table entries: 131072 (order: 7, 524288 bytes) Memory: 1739228K/2097152K available (7452K kernel code, 460K rwdata, 2596K rodata, 392K init, 433K bss, 357924K reserved, 270336K highmem) Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) vmalloc : 0xf0000000 - 0xff000000 ( 240 MB) lowmem : 0x80000000 - 0xef800000 (1784 MB) pkmap : 0x7fe00000 - 0x80000000 ( 2 MB) modules : 0x7f000000 - 0x7fe00000 ( 14 MB) .text : 0x80008000 - 0x809d82d4 (10049 kB) .init : 0x809d9000 - 0x80a3b080 ( 393 kB) .data : 0x80a3c000 - 0x80aaf340 ( 461 kB) .bss : 0x80aaf34c - 0x80b1b99c ( 434 kB) SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 Preemptible hierarchical RCU implementation. NR_IRQS:16 nr_irqs:16 16 L310 cache controller enabled l2x0: 16 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x32070000, Cache size: 1024 kB Switching to timer-based delay loop sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655765682ns Console: colour dummy device 80x30 Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 4096 (order: 2, 16384 bytes) Mountpoint-cache hash table entries: 4096 (order: 2, 16384 bytes) CPU: Testing write buffer coherency: ok CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 Setting up static identity map for 0x10718008 - 0x10718060 CPU1: Booted secondary processor CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 CPU2: Booted secondary processor CPU2: thread -1, cpu 2, socket 0, mpidr 80000002 CPU3: Booted secondary processor CPU3: thread -1, cpu 3, socket 0, mpidr 80000003 Brought up 4 CPUs SMP: Total of 4 processors activated (24.00 BogoMIPS). CPU: All CPU(s) started in SVC mode. devtmpfs: initialized VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4 pinctrl core: initialized pinctrl subsystem regulator-dummy: no parameters NET: Registered protocol family 16 DMA: preallocated 256 KiB pool for atomic coherent allocations cpuidle: using governor ladder cpuidle: using governor menu CPU identified as i.MX6QP, silicon rev 1.0 Use WDOG1 as reset source syscon 20c8000.anatop: regmap [mem 0x020c8000-0x020c8fff] registered vdd1p1: 800 <--> 1375 mV at 1100 mV vdd3p0: 2625 <--> 3400 mV at 3000 mV vdd2p5: 2000 <--> 2750 mV at 2400 mV vddarm: 725 <--> 1450 mV at 1150 mV vddpu: 725 <--> 1450 mV at 1150 mV vddsoc: 725 <--> 1450 mV at 1175 mV syscon 20e0000.iomuxc-gpr: regmap [mem 0x020e0000-0x020e0037] registered syscon 21bc000.ocotp-ctrl: regmap [mem 0x021bc000-0x021bffff] registered hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers. hw-breakpoint: maximum watchpoint size is 4 bytes. imx6q-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver bio: create slab at 0 mxs-dma 110000.dma-apbh: initialized cs42888_supply: 3300 mV 3P3V: 3300 mV vio1: 3300 mV vio2: 3300 mV vd: 3300 mV va: 5000 mV platform usb_h1_vbus.30: Driver reg-fixed-voltage requests probe deferral platform usb_otg_vbus.31: Driver reg-fixed-voltage requests probe deferral P3V3_SDa_SWITCHED: 3300 mV i2c-core: driver [max17135] using legacy suspend method i2c-core: driver [max17135] using legacy resume method SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb usbphy_nop1.12 supply vcc not found, using dummy regulator usbphy_nop2.13 supply vcc not found, using dummy regulator i2c i2c-1: IMX I2C adapter registered i2c i2c-2: IMX I2C adapter registered Linux video capture interface: v2.00 pps_core: LinuxPPS API ver. 1 registered pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]> PTP clock support registered imx-ipuv3 2400000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7) imx-ipuv3 2800000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7) imx-prg 21cc000.prg: driver probed imx-prg 21cd000.prg: driver probed imx-pre 21c8000.pre: driver probed imx-pre 21c9000.pre: driver probed imx-pre 21ca000.pre: driver probed imx-pre 21cb000.pre: driver probed MIPI CSI2 driver module loaded Advanced Linux Sound Architecture Driver Initialized. Bluetooth: Core ver 2.18 NET: Registered protocol family 31 Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized Bluetooth: L2CAP socket layer initialized Bluetooth: SCO socket layer initialized cfg80211: Calling CRDA to update world regulatory domain Switched to clocksource mxc_timer1 NET: Registered protocol family 2 TCP established hash table entries: 16384 (order: 4, 65536 bytes) TCP bind hash table entries: 16384 (order: 5, 131072 bytes) TCP: Hash tables configured (established 16384 bind 16384) TCP: reno registered UDP hash table entries: 1024 (order: 3, 32768 bytes) UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available imx rpmsg driver is registered. imx_busfreq busfreq.16: DDR medium rate not supported. Bus freq driver module loaded futex hash table entries: 1024 (order: 4, 65536 bytes) bounce pool size: 64 pages VFS: Disk quotas dquot_6.5.2 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) NFS: Registering the id_resolver key type Key type id_resolver registered Key type id_legacy registered jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. fuse init (API version 7.22) msgmni has been set to 3508 io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) backlight.17 supply power not found, using dummy regulator MIPI DSI driver module loaded MIPI DSI driver module loaded mxc_sdc_fb fb.23: registered mxc display driver ldb imx-ipuv3 2800000.ipu: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7) Console: switching to colour frame buffer device 128x48 mxc_hdmi 20e0000.hdmi_video: Detected HDMI controller 0x13:0xa:0xa0:0xc1 fbcvt: 1920x1080@60: CVT Name - 2.073M9 mxc_sdc_fb fb.24: registered mxc display driver hdmi mxc_sdc_fb fb.25: NO mxc display driver found! mxc_sdc_fb fb.26: registered mxc display driver ldb imx-sdma 20ec000.sdma: no iram assigned, using external mem imx-sdma 20ec000.sdma: no event needs to be remapped imx-sdma 20ec000.sdma: loaded firmware 3.2 mxc_hdmi 20e0000.hdmi_video: Read EDID again imx-sdma 20ec000.sdma: initialized pfuze100-regulator 1-0008: Full layer: 2, Metal layer: 1 pfuze100-regulator 1-0008: FAB: 0, FIN: 0 pfuze100-regulator 1-0008: pfuze100 found. SW1AB: 300 <--> 1875 mV at 1375 mV SW1C: 300 <--> 1875 mV at 1375 mV SW2: 800 <--> 1975 mV at 1375 mV SW3A: 400 <--> 1975 mV at 1350 mV SW3B: 400 <--> 1975 mV at 1350 mV SW4: 800 <--> 1975 mV at 1825 mV SWBST: 5000 <--> 5150 mV at 5000 mV VSNVS: 1000 <--> 3000 mV at 3000 mV VREFDDR: 750 mV VGEN1: 800 <--> 1550 mV at 1200 mV VGEN2: 800 <--> 1550 mV at 1500 mV VGEN3: 1800 <--> 3300 mV at 1800 mV VGEN4: 1800 <--> 3300 mV at 3000 mV VGEN5: 1800 <--> 3300 mV at 2500 mV VGEN6: 1800 <--> 3300 mV at 2800 mV Serial: IMX driver 21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 60, base_baud = 5000000) is a IMX 21f0000.serial: ttymxc3 at MMIO 0x21f0000 (irq = 61, base_baud = 5000000) is a IMX mxc_hdmi 20e0000.hdmi_video: create default modelist console [ttymxc3] enabled serial: Freescale lpuart driver imx sema4 driver is registered. [drm] Initialized drm 1.1.0 20060810 [drm] Initialized vivante 1.0.0 20120216 on minor 0 brd: module loaded loop: module loaded si476x-core 1-0063: Using default platform data. si476x-core 1-0063: No IRQ number specified, will use polling si476x-core 1-0063: Error while sending command 0x11 si476x-core 1-0063: The device in inconsistent power state ahci-imx 2200000.sata: fsl,transmit-level-mV not specified, using 00000024 ahci-imx 2200000.sata: fsl,transmit-boost-mdB not specified, using 00000480 ahci-imx 2200000.sata: fsl,transmit-atten-16ths not specified, using 00002000 ahci-imx 2200000.sata: fsl,receive-eq-mdB not specified, using 05000000 ahci-imx 2200000.sata: SSS flag set, parallel bus scan disabled ahci-imx 2200000.sata: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode ahci-imx 2200000.sata: flags: ncq sntf stag pm led clo only pmp pio slum part ccc apst scsi0 : ahci_platform ata1: SATA max UDMA/133 mmio [mem 0x02200000-0x02203fff] port 0x100 irq 71 CAN device driver interface 2094000.can supply xceiver not found, using dummy regulator flexcan 2094000.can: device registered (reg_base=f0238000, irq=143) 2188000.ethernet supply phy not found, using dummy regulator pps pps0: new PPS source ptp0 libphy: fec_enet_mii_bus: probed fec 2188000.ethernet eth0: registered PHC device 0 ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ehci-mxc: Freescale On-Chip EHCI Host driver usbcore: registered new interface driver usb-storage usbcore: registered new interface driver usb_ehset_test 2184800.usbmisc supply vbus-wakeup not found, using dummy regulator imx_usb 2184000.usb: Can't register ci_hdrc platform device, err=-517 platform 2184000.usb: Driver imx_usb requests probe deferral imx_usb 2184200.usb: Can't register ci_hdrc platform device, err=-517 platform 2184200.usb: Driver imx_usb requests probe deferral mousedev: PS/2 mouse device common for all mice egalax_ts 1-0004: Failed to read firmware version egalax_ts: probe of 1-0004 failed with error -5 2-0044 supply vdd not found, using dummy regulator input: isl29023 light sensor as /devices/virtual/input/input1 isl29023 2-0044: driver version 1.0 enabled i2c-core: driver [isl29023] using legacy suspend method i2c-core: driver [isl29023] using legacy resume method snvs_rtc 20cc034.snvs-rtc-lp: can't get snvs-rtc clock snvs_rtc 20cc034.snvs-rtc-lp: rtc core: registered 20cc034.snvs-rtc-lp as rtc0 i2c /dev entries driver IR NEC protocol handler initialized IR RC5(x) protocol handler initialized IR RC6 protocol handler initialized IR JVC protocol handler initialized IR Sony protocol handler initialized IR RC5 (streamzap) protocol handler initialized IR SANYO protocol handler initialized IR MCE Keyboard/mouse protocol handler initialized mxc_v4l2_output v4l2_out.35: V4L2 device registered as video16 mxc_v4l2_output v4l2_out.35: V4L2 device registered as video17 mxc_v4l2_output v4l2_out.35: V4L2 device registered as video18 mxc_v4l2_output v4l2_out.35: V4L2 device registered as video19 mxc_v4l2_output v4l2_out.35: V4L2 device registered as video20 2-000e supply vdd not found, using dummy regulator 2-000e supply vddio not found, using dummy regulator mag3110 2-000e: check mag3110 chip ID input: mag3110 as /devices/virtual/input/input2 mag3110 2-000e: mag3110 is probed i2c-core: driver [mag3110] using legacy suspend method i2c-core: driver [mag3110] using legacy resume method 2-001c supply vdd not found, using dummy regulator 2-001c supply vddio not found, using dummy regulator ata1: SATA link down (SStatus 0 SControl 300) ahci-imx 2200000.sata: no device found, disabling link. ahci-imx 2200000.sata: pass ahci_imx..hotplug=1 to enable hotplug input: mma845x as /devices/virtual/input/input3 imx2-wdt 20bc000.wdog: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=0) Bluetooth: HCI UART driver ver 2.2 Bluetooth: HCI H4 protocol initialized Bluetooth: HCI BCSP protocol initialized Bluetooth: HCIATH3K protocol initialized usbcore: registered new interface driver bcm203x usbcore: registered new interface driver btusb usbcore: registered new interface driver ath3k sdhci: Secure Digital Host Controller Interface driver sdhci: Copyright(c) Pierre Ossman sdhci-pltfm: SDHCI platform and OF driver helper mmc0: no vqmmc regulator found mmc0: no vmmc regulator found mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA mmc2: no vqmmc regulator found mmc2: SDHCI controller on 2198000.usdhc [2198000.usdhc] using ADMA Warning: No contiguous memory is reserverd for gpu.! Warning: Will use default value(134217728) for the reserved memory! Galcore version 5.0.11.41671 mmc2: Problem setting current limit! mmc2: new ultra high speed DDR50 SDHC card at address aaaa mmcblk2: mmc2:aaaa SU08G 7.40 GiB mmcblk2: p1 p2 mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed mxc_vpu 2040000.vpu: VPU initialized caam 2100000.caam: Instantiated RNG4 SH0 caam 2100000.caam: Instantiated RNG4 SH1 caam 2100000.caam: device ID = 0x0a160100 (Era 4) caam 2100000.caam: job rings = 2, qi = 0 caam algorithms registered in /proc/crypto caam_jr 2101000.jr0: registering rng-caam platform caam_sm: blkkey_ex: 4 keystore units available platform caam_sm: 64-bit clear key: platform caam_sm: [0000] 00 01 02 03 04 0f 06 07 platform caam_sm: 64-bit black key: platform caam_sm: [0000] e5 67 1a 32 44 12 3e 71 platform caam_sm: [0008] 35 de 20 2e 43 ce ec 82 platform caam_sm: 128-bit clear key: platform caam_sm: [0000] 00 01 02 03 04 0f 06 07 platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f platform caam_sm: 128-bit black key: platform caam_sm: [0000] d4 b2 d2 cd de 16 e3 b1 platform caam_sm: [0008] 13 7c 1e af 4c a4 40 14 platform caam_sm: 192-bit clear key: platform caam_sm: [0000] 00 01 02 03 04 0f 06 07 platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f platform caam_sm: [0016] 10 11 12 13 14 15 16 17 platform caam_sm: 192-bit black key: platform caam_sm: [0000] 3d 4f 1d c9 83 84 b5 8a platform caam_sm: [0008] 50 8e de 15 8e 02 00 8d platform caam_sm: [0016] 67 cd 31 2d c6 9c 13 60 platform caam_sm: [0024] 35 2d b7 c2 10 76 36 e9 platform caam_sm: 256-bit clear key: platform caam_sm: [0000] 00 01 02 03 04 0f 06 07 platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f platform caam_sm: [0016] 10 11 12 13 14 15 16 17 platform caam_sm: [0024] 18 19 1a 1b 1c 1d 1e 1f platform caam_sm: 256-bit black key: platform caam_sm: [0000] c4 4e d7 b6 3e 43 2f 66 platform caam_sm: [0008] 36 df f3 c9 1c b4 d5 28 platform caam_sm: [0016] 4b 48 f0 e6 04 2e 87 2c platform caam_sm: [0024] 30 f4 10 8d c6 91 bd 77 platform caam_sm: 64-bit unwritten blob: platform caam_sm: [0000] 00 00 00 00 00 00 00 00 platform caam_sm: [0008] 00 00 00 00 00 00 00 00 platform caam_sm: [0016] 00 00 00 00 00 00 00 00 platform caam_sm: [0024] 00 00 00 00 00 00 00 00 platform caam_sm: [0032] 00 00 00 00 00 00 00 00 platform caam_sm: [0040] 00 00 00 00 00 00 00 00 platform caam_sm: [0048] 00 00 00 00 00 00 00 00 platform caam_sm: [0056] 00 00 00 00 00 00 00 00 platform caam_sm: [0064] 00 00 00 00 00 00 00 00 platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 128-bit unwritten blob: platform caam_sm: [0000] 00 00 00 00 00 00 00 00 platform caam_sm: [0008] 00 00 00 00 00 00 00 00 platform caam_sm: [0016] 00 00 00 00 00 00 00 00 platform caam_sm: [0024] 00 00 00 00 00 00 00 00 platform caam_sm: [0032] 00 00 00 00 00 00 00 00 platform caam_sm: [0040] 00 00 00 00 00 00 00 00 platform caam_sm: [0048] 00 00 00 00 00 00 00 00 platform caam_sm: [0056] 00 00 00 00 00 00 00 00 platform caam_sm: [0064] 00 00 00 00 00 00 00 00 platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 196-bit unwritten blob: platform caam_sm: [0000] 00 00 00 00 00 00 00 00 platform caam_sm: [0008] 00 00 00 00 00 00 00 00 platform caam_sm: [0016] 00 00 00 00 00 00 00 00 platform caam_sm: [0024] 00 00 00 00 00 00 00 00 platform caam_sm: [0032] 00 00 00 00 00 00 00 00 platform caam_sm: [0040] 00 00 00 00 00 00 00 00 platform caam_sm: [0048] 00 00 00 00 00 00 00 00 platform caam_sm: [0056] 00 00 00 00 00 00 00 00 platform caam_sm: [0064] 00 00 00 00 00 00 00 00 platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 256-bit unwritten blob: platform caam_sm: [0000] 00 00 00 00 00 00 00 00 platform caam_sm: [0008] 00 00 00 00 00 00 00 00 platform caam_sm: [0016] 00 00 00 00 00 00 00 00 platform caam_sm: [0024] 00 00 00 00 00 00 00 00 platform caam_sm: [0032] 00 00 00 00 00 00 00 00 platform caam_sm: [0040] 00 00 00 00 00 00 00 00 platform caam_sm: [0048] 00 00 00 00 00 00 00 00 platform caam_sm: [0056] 00 00 00 00 00 00 00 00 platform caam_sm: [0064] 00 00 00 00 00 00 00 00 platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 64-bit black key in blob: platform caam_sm: [0000] 9c 5f c6 a9 06 33 a5 a5 platform caam_sm: [0008] de 27 35 d8 15 e5 a1 4f platform caam_sm: [0016] f7 e1 e8 d0 74 23 fd a8 platform caam_sm: [0024] 68 81 69 46 49 13 17 3e platform caam_sm: [0032] 9c fc 15 f5 39 0a c6 3d platform caam_sm: [0040] d7 00 d0 49 9a bb 3f c3 platform caam_sm: [0048] e4 ef 05 f9 e5 38 da f8 platform caam_sm: [0056] 00 00 00 00 00 00 00 00 platform caam_sm: [0064] 00 00 00 00 00 00 00 00 platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 128-bit black key in blob: platform caam_sm: [0000] 84 6e 68 1d 03 6b f8 3b platform caam_sm: [0008] 09 da 7c 60 70 f4 df 65 platform caam_sm: [0016] 95 b5 48 9d 70 e4 47 ca platform caam_sm: [0024] e9 1f 5a e5 f0 43 26 a7 platform caam_sm: [0032] a9 90 65 92 42 ab fd 46 platform caam_sm: [0040] fb 3d e9 13 5c 24 f1 e9 platform caam_sm: [0048] 8b ca b4 c1 10 23 9d 66 platform caam_sm: [0056] 85 68 14 30 47 ce 43 c0 platform caam_sm: [0064] 00 00 00 00 00 00 00 00 platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 192-bit black key in blob: platform caam_sm: [0000] 57 a6 97 3f 43 96 cf 87 platform caam_sm: [0008] 1f 72 89 a6 a0 ad 0e 48 platform caam_sm: [0016] 7a ad 5c e4 6e 37 04 3d platform caam_sm: [0024] e4 95 c9 09 aa c7 12 bb platform caam_sm: [0032] 56 3c d7 dc 03 6b 2f e1 platform caam_sm: [0040] 16 a8 c2 c3 78 7a 95 ce platform caam_sm: [0048] 05 75 fc d4 a6 84 be d3 platform caam_sm: [0056] c7 df 01 4f bc 17 fd 9d platform caam_sm: [0064] 98 25 68 26 f6 9b 5c 99 platform caam_sm: [0072] 00 00 00 00 00 00 00 00 platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: 256-bit black key in blob: platform caam_sm: [0000] fe a8 22 dd 34 d2 00 3e platform caam_sm: [0008] 7e e8 32 93 59 a4 96 72 platform caam_sm: [0016] 47 9a dd 3e fe 2a 83 27 platform caam_sm: [0024] 92 05 b2 c8 cc 3e fe 64 platform caam_sm: [0032] 9b 6b 2d 47 bc 58 ca 1c platform caam_sm: [0040] 8d c2 b4 94 81 b1 80 bf platform caam_sm: [0048] 0e 59 38 50 47 61 09 f4 platform caam_sm: [0056] 22 c2 fa 92 56 92 df 2e platform caam_sm: [0064] 62 84 43 56 69 3a 85 f1 platform caam_sm: [0072] c4 f4 f7 54 46 4c 0b ca platform caam_sm: [0080] 00 00 00 00 00 00 00 00 platform caam_sm: [0088] 00 00 00 00 00 00 00 00 platform caam_sm: restored 64-bit black key: platform caam_sm: [0000] c8 bd 51 12 0f 8c 3c 9b platform caam_sm: [0008] 94 ac 86 67 55 65 75 24 platform caam_sm: restored 128-bit black key: platform caam_sm: [0000] d4 b2 d2 cd de 16 e3 b1 platform caam_sm: [0008] 13 7c 1e af 4c a4 40 14 platform caam_sm: restored 192-bit black key: platform caam_sm: [0000] 3d 4f 1d c9 83 84 b5 8a platform caam_sm: [0008] 50 8e de 15 8e 02 00 8d platform caam_sm: [0016] 47 6b e3 e8 62 6f 89 8f platform caam_sm: [0024] 7c dc 6f eb cc 73 30 1c platform caam_sm: restored 256-bit black key: platform caam_sm: [0000] c4 4e d7 b6 3e 43 2f 66 platform caam_sm: [0008] 36 df f3 c9 1c b4 d5 28 platform caam_sm: [0016] 4b 48 f0 e6 04 2e 87 2c platform caam_sm: [0024] 30 f4 10 8d c6 91 bd 77 snvs-secvio 20cc000.caam-snvs: can't get snvs clock snvs-secvio 20cc000.caam-snvs: violation handlers armed - non-secure state usbcore: registered new interface driver usbhid usbhid: USB HID core driver cs42xx8 1-0048: found device, revision 4 fsl-asrc 2034000.asrc: driver registered snd-soc-dummy snd-soc-dummy: ASoC: Failed to create platform debugfs directory imx-cs42888 sound-cs42888.27: cs42888 <-> 2024000.esai mapping ok imx-cs42888 sound-cs42888.27: snd-soc-dummy-dai <-> 2034000.asrc mapping ok imx-cs42888 sound-cs42888.27: cs42888 <-> 2024000.esai mapping ok imx-spdif sound-spdif.20: snd-soc-dummy-dai <-> 2004000.spdif mapping ok imx-audio-hdmi sound-hdmi.21: hdmi-hifi <-> hdmi_audio.3 mapping ok imx-tuner-si476x sound-fm.33: failed to find FM platform device imx-tuner-si476x: probe of sound-fm.33 failed with error -22 NET: Registered protocol family 26 TCP: cubic registered NET: Registered protocol family 10 sit: IPv6 over IPv4 tunneling driver NET: Registered protocol family 17 can: controller area network core (rev 20120528 abi 9) NET: Registered protocol family 29 can: raw protocol (rev 20120528) can: broadcast manager protocol (rev 20120528 t) can: netlink gateway (rev 20130117) max_hops=1 Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM ver 1.11 Bluetooth: BNEP (Ethernet Emulation) ver 1.3 Bluetooth: BNEP filters: protocol multicast Bluetooth: BNEP socket layer initialized Bluetooth: HIDP (Human Interface Emulation) ver 1.2 Bluetooth: HIDP socket layer initialized 8021q: 802.1Q VLAN Support v1.8 Key type dns_resolver registered VGEN2: disabling SWBST: disabling SW4: disabling regulator-dummy: disabling imx mcc test is registered. usb_h1_vbus: 5000 mV usb_otg_vbus: 5000 mV ci_hdrc ci_hdrc.0: EHCI Host Controller ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1 ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00 hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected ci_hdrc ci_hdrc.1: doesn't support gadget ci_hdrc ci_hdrc.1: EHCI Host Controller ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 2 ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00 hub 2-0:1.0: USB hub found hub 2-0:1.0: 1 port detected input: gpio-keys.18 as /devices/soc0/gpio-keys.18/input/input4 snvs_rtc 20cc034.snvs-rtc-lp: setting system clock to 1970-01-01 00:00:02 UTC (2) ALSA device list: #0: cs42888-audio #1: imx-spdif #2: imx-hdmi-soc usb 1-1: new high-speed USB device number 2 using ci_hdrc hub 1-1:1.0: USB hub found hub 1-1:1.0: 4 ports detected kjournald starting. Commit interval 5 seconds EXT3-fs (mmcblk2p2): using internal journal EXT3-fs (mmcblk2p2): recovery complete EXT3-fs (mmcblk2p2): mounted filesystem with ordered data mode VFS: Mounted root (ext3 filesystem) on device 179:2. devtmpfs: mounted Freeing unused kernel memory: 392K (809d9000 - 80a3b000) usb 1-1.2: new low-speed USB device number 3 using ci_hdrc Mount failed for selinuxfs on /sys/fs/selinux: No such file or directory random: init urandom read with 68 bits of entropy available input: DELL DELL USB Laser Mouse as /devices/soc0/soc.0/2100000.aips-bus/2184000.usb/ci_hdrc.0/usb1/1-1/1-1.2/1-1.2:1.0/0003:046D:C063.0001/input/input5 hid-generic 0003:046D:C063.0001: input: USB HID v1.10 Mouse [DELL DELL USB Laser Mouse] on usb-ci_hdrc.0-1.2/input0 usb 1-1.3: new low-speed USB device number 4 using ci_hdrc init: plymouth-upstart-bridge main process (177) terminated with status 1 init: plymouth-upstart-bridge main process ended, respawning init: plymouth-upstart-bridge main process (187) terminated with status 1 init: plymouth-upstart-bridge main process ended, respawning init: plymouth-upstart-bridge main process (190) terminated with status 1 init: plymouth-upstart-bridge main process ended, respawning input: Dell Dell QuietKey Keyboard as /devices/soc0/soc.0/2100000.aips-bus/2184000.usb/ci_hdrc.0/usb1/1-1/1-1.3/1-1.3:1.0/0003:413C:2106.0002/input/input6 hid-generic 0003:413C:2106.0002: input: USB HID v1.10 Keyboard [Dell Dell QuietKey Keyboard] on usb-ci_hdrc.0-1.3/input0 init: ureadahead main process (180) terminated with status 5 init: mounted-proc main process (204) terminated with status 1 DBG sensor data is at 7f010190 * Starting Mount filesystems on boot [ OK ] * Stopping Send an event to indicate plymouth is up [ OK ] * Starting Signal sysvinit that the rootfs is mounted [ OK ] * Starting Clean /tmp directory [ OK ] * Starting Populate and link to /run filesystem [ OK ] * Stopping Populate and link to /run filesystem [ OK ] * Stopping Clean /tmp directory [ OK ] * Stopping Track if upstart is running in a container [ OK ] * Starting Initialize or finalize resolvconf [ OK ] * Starting Signal sysvinit that virtual filesystems are mounted [ OK ] * ERROR: v4l2 capture: slave not found! Starting Signal sysvinit that virtual filesystems are mounted [ OK ] * Starting Bridge udev events into upstart [ OK ] * Starting Signal sysvinit that local filesystems are mounted [ OK ] * Starting Signal sysvinit that remote filesystems are mounted [ OK ] * Stopping Mount filesystems on boot [ OK ] * Starting device node and kernel event manager [ OK ] * Starting flush early job output to logs [ OK ] * Starting load modules from /etc/modules [ OK ] * Starting cold plug devices [ OK ] * Starting log initial device creation [ OK ] * Stopping flush early job output to logs [ OK ] * Stopping load modules from /etc/modules [ OK ] * Starting set console font [ OK ] * Starting system logging daemon [ OK ] * Stopping set console font [ OK ] * Starting userspace bootsplash [ OK ] * Stopping userspace bootsplash [ OK ] * Starting Send an event to indicate plymouth is up [ OK ] * Stopping Send an event to indicate plymouth is up [ OK ] * Starting configure network device security [ OK ] * Starting configure network device [ OK ] * Starting configure network device security [ OK ] * Starting configure network device security [ OK ] * Starting configure network device security [ OK ] * Starting configure network device [ OK ] * Starting Mount network filesystems [ OK ] * Starting Failsafe Boot Delay [ OK ] * Stopping Mount network filesystems [ OK ] * Starting configure network device [ OK ] * Starting Bridge socket events into upstart [ OK ] * Starting Bridge file events into upstart [ OK ] * Starting Mount network filesystems [ OK ] * Starting configure network device [ OK ] * Stopping Failsafe Boot Delay [ OK ] * Starting System V initialisation compatibility [ OK ] * Stopping System V initialisation compatibility [ OK ] * Starting System V runlevel compatibility [ OK ] * Starting save kernel messages [ OK ] * Starting configure network device security [ OK ] * Starting regular background program processing daemon [ OK ] * Stopping System V runlevel compatibility [ OK ] * Stopping Mount network filesystems [ OK ] * Stopping save kernel messages [ OK ] Re: Installing Ubuntu Rootfs on NXP i.MX6 boards HI Erik, I do not have a i.mx 6 QuadPlus board to try. If you tried and share me the results. Thanks! Wenming Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Have you chance to test it for i.MX 6QuadPlus SABRE-AI Board? Can be used a newer BSP rel_imx_4.1.15_1.1.0_ga?  Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi , I build one following the guidance for my im53qsb reference board. But I got kernel panic at imx5_pm_init, I am using the imx_v7_defconfig, is anybody else has this issue or has fix for this issue or can I remove the pm configuration. U-Boot 2015.04 (Oct 04 2016 - 12:17:39) Board: MX53 LOCO I2C: ready DRAM: 1 GiB MMC: FSL_SDHC: 0, FSL_SDHC: 1 *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: FEC Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device reading boot.scr ** Unable to read file boot.scr ** reading zImage 5997120 bytes read in 346 ms (16.5 MiB/s) Booting from mmc ... reading imx53-qsrb.dtb 24491 bytes read in 19 ms (1.2 MiB/s) Kernel image @ 0x72000000 [ 0x000000 - 0x5b8240 ] ## Flattened Device Tree blob at 71000000 Booting using the fdt blob at 0x71000000 Loading Device Tree to 8f552000, end 8f55afaa ... OK Starting kernel ... Booting Linux on physical CPU 0x0 Linux version 3.14.38 (lucid@ubuntu) (gcc version 4.8.5 (Linaro GCC 4.8-2015.06) ) #1 SMP PREEMPT Wed Oct 5 06:56:31 PDT 2016 CPU: ARMv7 Processor [412fc085] revision 5 (ARMv7), cr=10c53c7d CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache Machine model: Freescale i.MX53 Quick Start Board cma: CMA: reserved 320 MiB at bc000000 Memory policy: Data cache writeback CPU: All CPU(s) started in SVC mode. PERCPU: Embedded 8 pages/cpu @cb33f000 s8320 r8192 d16256 u32768 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 259072 Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk0p2 rw rootwait PID hash table entries: 4096 (order: 2, 16384 bytes) Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) Memory: 699820K/1048576K available (7423K kernel code, 456K rwdata, 2584K rodata, 384K init, 432K bss, 348756K reserved, 0K highmem) Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) vmalloc : 0xe0800000 - 0xff000000 ( 488 MB) lowmem : 0x80000000 - 0xe0000000 (1536 MB) pkmap : 0x7fe00000 - 0x80000000 ( 2 MB) modules : 0x7f000000 - 0x7fe00000 ( 14 MB) .text : 0x80008000 - 0x809ce000 (10008 kB) .init : 0x809ce000 - 0x80a2e080 ( 385 kB) .data : 0x80a30000 - 0x80aa20c0 ( 457 kB) .bss : 0x80aa20cc - 0x80b0e25c ( 433 kB) SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 Preemptible hierarchical RCU implementation. RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1. RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1 NR_IRQS:16 nr_irqs:16 16 TrustZone Interrupt Controller (TZIC) initialized CPU identified as i.MX53, silicon rev 2.1 Switching to timer-based delay loop sched_clock: 32 bits at 33MHz, resolution 30ns, wraps every 128849019873ns clocksource_of_init: no matching clocksources found Console: colour dummy device 80x30 Calibrating delay loop (skipped), value calculated using timer frequency.. 66.66 BogoMIPS (lpj=333333) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 2048 (order: 1, 8192 bytes) Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes) CPU: Testing write buffer coherency: ok CPU0: thread -1, cpu 0, socket -1, mpidr 0 Setting up static identity map for 0x70710420 - 0x70710478 Brought up 1 CPUs SMP: Total of 1 processors activated (66.66 BogoMIPS). CPU: All CPU(s) started in SVC mode. devtmpfs: initialized VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 2 pinctrl core: initialized pinctrl subsystem regulator-dummy: no parameters NET: Registered protocol family 16 DMA: preallocated 256 KiB pool for atomic coherent allocations cpuidle: using governor ladder cpuidle: using governor menu Use WDOG1 as reset source syscon 53fa8000.iomuxc-gpr: regmap [mem 0x53fa8000-0x53fa800b] registered hw-breakpoint: debug architecture 0x4 unsupported. imx53-pinctrl 53fa8000.iomuxc: initialized IMX pinctrl driver bio: create slab at 0 3P2V: 3200 mV usb_vbus: 5000 mV i2c-core: driver [max17135] using legacy suspend method i2c-core: driver [max17135] using legacy resume method SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb usbphy.1 supply vcc not found, using dummy regulator usbphy.2 supply vcc not found, using dummy regulator i2c i2c-1: IMX I2C adapter registered da9052: probe of 0-0048 failed with error -5 i2c i2c-0: IMX I2C adapter registered Linux video capture interface: v2.00 pps_core: LinuxPPS API ver. 1 registered pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]> PTP clock support registered imx-ipuv3: probe of 18000000.ipu failed with error -22 MIPI CSI2 driver module loaded Advanced Linux Sound Architecture Driver Initialized. Bluetooth: Core ver 2.18 NET: Registered protocol family 31 Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized Bluetooth: L2CAP socket layer initialized Bluetooth: SCO socket layer initialized Switched to clocksource mxc_timer1 cfg80211: Calling CRDA to update world regulatory domain NET: Registered protocol family 2 TCP established hash table entries: 8192 (order: 3, 32768 bytes) TCP bind hash table entries: 8192 (order: 4, 65536 bytes) TCP: Hash tables configured (established 8192 bind 8192) TCP: reno registered UDP hash table entries: 512 (order: 2, 16384 bytes) UDP-Lite hash table entries: 512 (order: 2, 16384 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. imx rpmsg driver is registered. Bus freq driver module loaded futex hash table entries: 256 (order: 2, 16384 bytes) VFS: Disk quotas dquot_6.5.2 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) NFS: Registering the id_resolver key type Key type id_resolver registered Key type id_legacy registered jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. fuse init (API version 7.22) msgmni has been set to 2006 io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) MIPI DSI driver module loaded imx-sdma 63fb0000.sdma: no iram assigned, using external mem imx-sdma 63fb0000.sdma: no event needs to be remapped imx-sdma 63fb0000.sdma: Direct firmware load failed with error -2 imx-sdma 63fb0000.sdma: Falling back to user helper imx-sdma 63fb0000.sdma: initialized Serial: IMX driver 53fbc000.serial: ttymxc0 at MMIO 0x53fbc000 (irq = 47, base_baud = 4166666) is a IMX console [ttymxc0] enabled serial: Freescale lpuart driver imx sema4 driver is registered. [drm] Initialized drm 1.1.0 20060810 [drm] Initialized vivante 1.0.0 20120216 on minor 0 brd: module loaded loop: module loaded CAN device driver interface 63fec000.ethernet supply phy not found, using dummy regulator libphy: fec_enet_mii_bus: probed ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ehci-mxc: Freescale On-Chip EHCI Host driver usbcore: registered new interface driver usb-storage usbcore: registered new interface driver usb_ehset_test 53f80800.usbmisc supply vbus-wakeup not found, using dummy regulator ci_hdrc ci_hdrc.1: doesn't support gadget ci_hdrc ci_hdrc.1: EHCI Host Controller ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1 ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00 hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected mousedev: PS/2 mouse device common for all mice input: mma8450 as /devices/virtual/input/input0 i2c-core: driver [isl29023] using legacy suspend method i2c-core: driver [isl29023] using legacy resume method i2c /dev entries driver IR NEC protocol handler initialized IR RC5(x) protocol handler initialized IR RC6 protocol handler initialized IR JVC protocol handler initialized IR Sony protocol handler initialized IR RC5 (streamzap) protocol handler initialized IR SANYO protocol handler initialized IR MCE Keyboard/mouse protocol handler initialized coda 63ff4000.vpu: Direct firmware load failed with error -2 coda 63ff4000.vpu: Falling back to user helper i2c-core: driver [mag3110] using legacy suspend method i2c-core: driver [mag3110] using legacy resume method imx2-wdt 53f98000.wdog: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=0) Bluetooth: HCI UART driver ver 2.2 Bluetooth: HCI H4 protocol initialized Bluetooth: HCI BCSP protocol initialized Bluetooth: HCIATH3K protocol initialized usbcore: registered new interface driver bcm203x usbcore: registered new interface driver btusb usbcore: registered new interface driver ath3k sdhci: Secure Digital Host Controller Interface driver sdhci: Copyright(c) Pierre Ossman sdhci-pltfm: SDHCI platform and OF driver helper mmc0: no vqmmc regulator found mmc0: no vmmc regulator found mmc0: SDHCI controller on 50004000.esdhc [50004000.esdhc] using ADMA mmc1: no vqmmc regulator found mmc1: no vmmc regulator found mmc0: host does not support reading read-only switch. assuming write-enable. mmc1: SDHCI controller on 50020000.esdhc [50020000.esdhc] using ADMA mmc0: new high speed SDHC card at address 0007 Job Ring Device allocation for transform failed mmcblk0: mmc0:0007 SD16G 14.5 GiB usbcore: registered new interface driver usbhid usbhid: USB HID core driver mmcblk0: p1 p2 sgtl5000 1-000a: sgtl5000 revision 0x11 imx-sgtl5000 sound.8: phandle missing or invalid imx-sgtl5000: probe of sound.8 failed with error -22 NET: Registered protocol family 26 TCP: cubic registered NET: Registered protocol family 10 sit: IPv6 over IPv4 tunneling driver NET: Registered protocol family 17 can: controller area network core (rev 20120528 abi 9) NET: Registered protocol family 29 can: raw protocol (rev 20120528) can: broadcast manager protocol (rev 20120528 t) can: netlink gateway (rev 20130117) max_hops=1 Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM ver 1.11 Bluetooth: BNEP (Ethernet Emulation) ver 1.3 Bluetooth: BNEP filters: protocol multicast Bluetooth: BNEP socket layer initialized Bluetooth: HIDP (Human Interface Emulation) ver 1.2 Bluetooth: HIDP socket layer initialized 8021q: 802.1Q VLAN Support v1.8 Key type dns_resolver registered Unable to handle kernel paging request at virtual address f51a000c pgd = 80004000 [f51a000c] *pgd=00000000 Internal error: Oops: 5 [#1] PREEMPT SMP ARM Modules linked in: CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.14.38 #1 task: c8068000 ti: c806c000 task.ti: c806c000 PC is at mx5_cpu_lp_set+0x10/0xfc LR is at imx5_pm_init+0x64/0x80 pc : [<8001d804>] lr : [<809da58c>] psr: 60000113 sp : c806dedc ip : 00000072 fp : 00000000 r10: c806c038 r9 : 80a1ee7c r8 : 809d1190 r7 : 80aa2100 r6 : 80aa2100 r5 : 00000007 r4 : c801b600 r3 : f51a0000 r2 : 8001d8f0 r1 : 00000002 r0 : 00000002 Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel Control: 10c5387d Table: 70004019 DAC: 00000015 Process swapper/0 (pid: 1, stack limit = 0xc806c238) Stack: (0xc806dedc to 0xc806e000) dec0: c801b600 dee0: 00000007 809da58c 80a2b80c 809d11b0 00000000 800088bc c800ccc0 808c7d28 df00: c8096200 80714144 00000000 00000000 00000000 8012a57c 00000000 80a446b0 df20: 60000113 00000001 cbfffc2e 8073b938 0000010b 800498e0 80996644 00000007 df40: cbfffc36 00000007 80a446a0 80a2b80c 00000007 80aa2100 80aa2100 809ce50c df60: 80a1ee7c 0000010b 80a1ee74 809cec38 00000007 00000007 809ce50c 8070fbd8 df80: 00000000 00002100 80706164 00000000 00000000 00000000 00000000 00000000 dfa0: 00000000 80706170 00000000 8000e278 00000000 00000000 00000000 00000000 dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 dfe0: 00000000 00000000 00000000 00000000 00000013 00000000 80000220 08040010 [<8001d804>] (mx5_cpu_lp_set) from [<809da58c>] (imx5_pm_init+0x64/0x80) [<809da58c>] (imx5_pm_init) from [<809d11b0>] (init_machine_late+0x20/0x28) [<809d11b0>] (init_machine_late) from [<800088bc>] (do_one_initcall+0xf8/0x144) [<800088bc>] (do_one_initcall) from [<809cec38>] (kernel_init_freeable+0x13c/0x1dc) [<809cec38>] (kernel_init_freeable) from [<80706170>] (kernel_init+0xc/0xe8) [<80706170>] (kernel_init) from [<8000e278>] (ret_from_fork+0x14/0x3c) Code: e3a03000 e92d4030 e1a01000 e34f351a (e593c00c) ---[ end trace 65acb852349b9d5b ]--- Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b T Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi, Please use the flashing procedure from our Ubuntu release blog post. Regards, Gary Re: Installing Ubuntu Rootfs on NXP i.MX6 boards My uboot print (couldn't find the document attachment option) baudrate=115200 board=sabrelite bootargs=console=ttymxc0,115200 root=/dev/mmcblk2p1 rootwait rw video=mxcfb1:dev=ldb,LDB-XGA,if=RGB666 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 bootargs_base=setenv bootargs console=ttymxc0,115200 bootargs_mmc=setenv bootargs ${bootargs} root=/dev/mmcblk2p1 rootwait rw bootcmd=run bootcmd_mmc bootcmd_mmc=run bootargs_base bootargs_mmc;mmc dev 1;mmc read ${loadaddr} 0x800 0x4000;mmc read ${fdt_addr} 0x5000 0x800;bootm ${loadaddr} - ${fdt_addr} bootdelay=3 bootdevs=sata mmc usb clearenv=if sf probe || sf probe || sf probe 1 ; then sf erase 0xc0000 0x2000 && echo restored environment to factory default ; fi cmd_hdmi=fdt set fb_hdmi status okay;fdt set fb_hdmi mode_str 1280x720M@60; cmd_lcd=fdt set fb_lcd status disabled cmd_lvds=fdt set fb_lvds status disabled console=ttymxc1 cpu=6Q dfu_alt_info=u-boot raw 0x0 0xc0000 ethact=FEC ethaddr=00:19:b8:02:79:6c ethprime=FEC fdt_addr=0x18000000 fdt_high=0xffffffff filesize=70c00 initrd_high=0xffffffff kernel=uImage loadaddr=0x80800000 loadsplash=if sf probe ; then sf read ${splashimage} c2000 ${splashsize} ; fi reset_cause=1 rundfu=dfu 0 sf 0:0:25000000:0 stdout=serial,vga uboot_defconfig=nitrogen6q umsdevs=sata mmc upgradeu=for dtype in ${bootdevs}; do for disk in 0 1 ; do ${dtype} dev ${disk};load ${dtype} ${disk}:1 10008000 /6x_upgrade && source 10008000 ; done ; done usbnet_devaddr=00:19:b8:00:00:02 usbnet_hostaddr=00:19:b8:00:00:01 usbrecover=setenv ethact usb_ether; setenv ipaddr 10.0.0.2; setenv netmask 255.255.255.0; setenv serverip 10.0.0.1; setenv bootargs console=ttymxc1,115200; tftp boot 10800000 10.0.0.1:uImage-${board}-recovery&& tftpboot 12800000 10.0.0.1:uramdisk-${board}-recovery.img && bootm 10800000 12800000 Environment size: 1701/8188 bytes => boot switch to partitions #0, OK mmc1 is current device MMC read: dev # 1, block # 2048, count 16384 ... 16384 blocks read: OK MMC read: dev # 1, block # 20480, count 2048 ... 2048 blocks read: OK Wrong Image Format for bootm command ERROR: can't get kernel image! Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi Gary, thanks for your reply. Now the situation is like this : I want to interface an analog TV encoder (adv7343) to the RGB port of the imx6 (in BDSL). According to what I have researched, I need adding few modifications to the mxc_lcd.if of the linux kernel (3.14.52_1.1.0_ga) to use lcd driver in V_SYNC | H_SYNC mode to support this encoder. So I have no option (or do I?) rather than building a new kernel (as these drivers are builtin modules), and that's why I thought of building a bootable SD card myself.  I think the steps I followed in preparing SD should be okay, but to note what I've done in brief : ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ export DISK=/dev/sdg sudo dd if=/dev/zero of=${DISK} bs=1M count=10 cd binary/ sudo dd if=u-boot.imx of=${DISK} bs=512 seek=2 sync //------------create partition table sudo fdisk ${DISK} d       //delete all partitions currently on sd n       // create new partition p       // Primary partition 1       // partition number 1 2048 //default +1G    // n       // created 2d parition p 2 default default w sudo mkfs.vfat ${DISK}1 sudo mkfs.ext3 ${DISK}2 Mount ext3 SD partition to /media/rootfs: sudo mount ${DISK1} /media/kernel_target sudo mount ${DISK}2 /media/rootfs_target sudo cp –v binary/ i$target-$board.dtb /media/kernel_target    //dtb file sudo cp –v binary/uImage /media/kernel_target                        //uImage  sudo mv /media/rootfs/* /media/rootfs_target                             //root file sys ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- As you said the NAND flashed uboot already has required environment variables, and the uboot 'print' is attached to this comment. Now after the uboot prompt, I get the following message in console terminal : switch to partitions #0, OK mmc1 is current device MMC read: dev # 1, block # 2048, count 16384 ... 16384 blocks read: OK MMC read: dev # 1, block # 20480, count 2048 ... 2048 blocks read: OK Wrong Image Format for bootm command ERROR: can't get kernel image! So from this point, how should I proceed ? do these environment variables cause the issue or is SD card preparation wrong?  Thanks in advance ! Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi Anuradha, Actually for SabreLite you don't need to follow the above instructions, we already provide an Ubuntu image ready to go: https://boundarydevices.com/ubuntu-xenial-mx67-boards-august-2016-kernel-4-1-15/  Or if you'd rather use Debian: https://boundarydevices.com/debian-8-3-jessie-for-i-mx6-boards-february-2016-kernel-3-14-28/  Note that in our case all the NXP components like the graphics library, VPU support, Chrome hw acceleration are packaged. That means that when a new graphics library version is out, you just need to do "apt update && apt upgrade" and you are up-to-date. Hope this helps. Regards, Gary Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi Anuradha, please refer to https://community.nxp.com/message/836641?commentID=836641&et=watches.email.thread#comment-836641  this doc, about old uboot with new kernel. Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi, thanks for this excellent doc, and I have a question on rootfs system. I am using imx6 sabrelite board and have exactly followed the guidelines in this doc. I cross compiled all the files on an Ubuntu platform, and after the unmount and inserted the SD card to my board. The kernel boot process requests 6x_bootscript file and it seems like the older uBoot is operating fron Nand Flash. How should I solve this issue by setting my own uBoot to prompt and load rootfs and zImage ? Thanks Re: Installing Ubuntu Rootfs on NXP i.MX6 boards Hi all, I find the gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz compiler not working on ubuntu14.04, I tried with gcc-linaro-4.8-2015.06-x86_64_arm-linux-xxxx works. Regards! Wenming Re: Installing Ubuntu Rootfs on NXP i.MX6 boards HI, Does somebody encounter /bin/sh 1: arm-linux-gnueabihf-gcc not found issue? this is a symlink to arm-linux-gnueabihf-gcc-4.9.4. any fix to it is highly appreciated. Thanks aheard. wenming Re: Installing Ubuntu Rootfs on NXP i.MX6 boards How to connect it to HDMI Display? Is there any additional changes or If I connect to HDMI it will show desktop??
View full article
How to enable DDR mode As we know, the RT series MCUs support the XIP (Execute in place) mode and benefit from saving the number of pins, serial NOR Flash is most commonly used, as the FlexSPI module can high efficient fetch the code and data from the Serial NOR flash for Cortex-M7 to execute. The fetch way is implementing via utilizing the Quad IO Fast Read command, meanwhile, the serail NOR flash works in the SDR (Single Data transfer Rate) mode, it receives data on SCLK rise edge and transmits data on SCLK fall edge. Comparing to the SDR mode, the DDR (Dual Data transfer Rate) mode has a higher throughput capacity, whether it can provide better performance of XIP mode, and how to do that if we want the Serial NOR Flash to work in DDR (Dual Data transfer Rate) mode? SDR & DDR mode SDR mode: In SDR (Single Data transfer Rate) mode, data is only clocked on one edge of the clock (either the rising or falling edge). This means that for SDR to have data being transmitted at X Mbps, the clock bit rate needs to be 2X Mbps. DDR mode: For DDR (Dual Data transfer Rate) mode, also known as DTR (Dual Transfer Rate) mode, data is transferred on both the rising and falling edge of the clock. This means data is transmitted at X Mbps only requires the clock bit rate to be X Mbps, hence doubling the bandwidth (as Fig 1 shows).   Fig 1 Enable DDR mode The below steps illustrate how to make the i.MX RT1060 boot from the QSPI with working in DDR mode. Note: The board is MIMXRT1060, IDE is MCUXpresso IDE Open a hello_world as the template Modify the FDCB(Flash Device Configuration Block) a)Set the controllerMiscOption parameter to supports DDR read command. b) Set Serial Flash frequency to 60 MHz. c)Parase the DDR read command into command sequence. The following table shows a template command sequence of DDR Quad IO FAST READ instruction and it's almost matching with the FRQDTR (Fast Read Quad IO DTR) Sequence of IS25WP064 (as Fig 2 shows).   Fig2 FRQDTR Sequence d)Adjust the dummy cycles. The dummy cycles should match with the specific serial clock frequency and the default dummy cycles of the FRQDTR sequence command is 6 (as the below table shows).   However, when the serial clock frequency is 60MHz, the dummy cycle should change to 4 (as the below table shows).   So it needs to configure [P6:P3] bits of the Read Register (as the below table shows) via adding the SET READ PARAMETERS command sequence(as Fig 3 shows) in FDCB manually. Fig 3 SET READ PARAMETERS command sequence In further, in DDR mode, the SCLK cycle is double the serial root clock cycle. The operand value should be set as 2N, 2N-1 or 2*N+1 depending on how the dummy cycles defined in the device datasheet. In the end, we can get an adjusted FCDB like below. // Set Dummy Cycles #define FLASH_DUMMY_CYCLES 8 // Set Read register command sequence's Index in LUT table #define CMD_LUT_SEQ_IDX_SET_READ_PARAM 7 // Read,Read Status,Write Enable command sequences' Index in LUT table #define CMD_LUT_SEQ_IDX_READ 0 #define CMD_LUT_SEQ_IDX_READSTATUS 1 #define CMD_LUT_SEQ_IDX_WRITEENABLE 3 const flexspi_nor_config_t qspiflash_config = { .memConfig = { .tag = FLEXSPI_CFG_BLK_TAG, .version = FLEXSPI_CFG_BLK_VERSION, .readSampleClksrc=kFlexSPIReadSampleClk_LoopbackFromDqsPad, .csHoldTime = 3u, .csSetupTime = 3u, // Enable DDR mode .controllerMiscOption = kFlexSpiMiscOffset_DdrModeEnable | kFlexSpiMiscOffset_SafeConfigFreqEnable, .sflashPadType = kSerialFlash_4Pads, //.serialClkFreq = kFlexSpiSerialClk_100MHz, .serialClkFreq = kFlexSpiSerialClk_60MHz, .sflashA1Size = 8u * 1024u * 1024u, // Enable Flash register configuration .configCmdEnable = 1u, .configModeType[0] = kDeviceConfigCmdType_Generic, .configCmdSeqs[0] = { .seqNum = 1, .seqId = CMD_LUT_SEQ_IDX_SET_READ_PARAM, .reserved = 0, }, .lookupTable = { // Read LUTs [4*CMD_LUT_SEQ_IDX_READ] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0xED, RADDR_DDR, FLEXSPI_4PAD, 0x18), // The MODE8_DDR subsequence costs 2 cycles that is part of the whole dummy cycles [4*CMD_LUT_SEQ_IDX_READ + 1] = FLEXSPI_LUT_SEQ(MODE8_DDR, FLEXSPI_4PAD, 0x00, DUMMY_DDR, FLEXSPI_4PAD, FLASH_DUMMY_CYCLES-2), [4*CMD_LUT_SEQ_IDX_READ + 2] = FLEXSPI_LUT_SEQ(READ_DDR, FLEXSPI_4PAD, 0x04, STOP, FLEXSPI_1PAD, 0x00), // READ STATUS REGISTER [4*CMD_LUT_SEQ_IDX_READSTATUS] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x05, READ_SDR, FLEXSPI_1PAD, 0x01), [4*CMD_LUT_SEQ_IDX_READSTATUS + 1] = FLEXSPI_LUT_SEQ(STOP, FLEXSPI_1PAD, 0x00, 0, 0, 0), // WRTIE ENABLE [4*CMD_LUT_SEQ_IDX_WRITEENABLE] = FLEXSPI_LUT_SEQ(CMD_SDR,FLEXSPI_1PAD, 0x06, STOP, FLEXSPI_1PAD, 0x00), // Set Read register [4*CMD_LUT_SEQ_IDX_SET_READ_PARAM] = FLEXSPI_LUT_SEQ(CMD_SDR,FLEXSPI_1PAD, 0x63, WRITE_SDR, FLEXSPI_1PAD, 0x01), [4*CMD_LUT_SEQ_IDX_SET_READ_PARAM + 1] = FLEXSPI_LUT_SEQ(STOP,FLEXSPI_1PAD, 0x00, 0, 0, 0), }, }, .pageSize = 256u, .sectorSize = 4u * 1024u, .blockSize = 64u * 1024u, .isUniformBlockSize = false, }; Is DDR mode real better? According to the RT1060's datasheet, the below table illustrates the maximum frequency of FlexSPI operation, as the MIMXRT1060's onboard QSPI flash is IS25WP064AJBLE, it doesn't contain the MQS pin, it means set MCR0.RXCLKsrc=1 (Internal dummy read strobe and loopbacked from DQS) is the most optimized option. operation mode RXCLKsrc=0 RXCLKsrc=1 RXCLKsrc=3 SDR 60 MHz 133 MHz 166 MHz DDR 30 MHz 66 MHz 166 MHz In another word, QSPI can run up to 133 MHz in SDR mode versus 66 MHz in DDR mode. From the perspective of throughput capacity, they're almost the same. It seems like DDR mode is not a better option for IS25WP064AJBLE and the following experiment will validate the assumption. Experiment mbedtls_benchmark I use the mbedtls_benchmark as the first testing demo and I run the demo under the below conditions: 100MH, SDR mode; 133MHz, SDR mode; 66MHz, DDR mode; According to the corresponding printout information (as below shows), I make a table for comparison and I mark the worst performance of implementation items among the above three conditions, just as Fig 4 shows. SDR Mode run at 100 MHz. FlexSPI clock source is 3, FlexSPI Div is 6, PllPfd2Clk is 720000000 mbedTLS version 2.16.6 fsys=600000000 Using following implementations: SHA: DCP HW accelerated AES: DCP HW accelerated AES GCM: Software implementation DES: Software implementation Asymmetric cryptography: Software implementation MD5 : 18139.63 KB/s, 27.10 cycles/byte SHA-1 : 44495.64 KB/s, 12.52 cycles/byte SHA-256 : 47766.54 KB/s, 11.61 cycles/byte SHA-512 : 2190.11 KB/s, 267.88 cycles/byte 3DES : 1263.01 KB/s, 462.49 cycles/byte DES : 2962.18 KB/s, 196.33 cycles/byte AES-CBC-128 : 52883.94 KB/s, 10.45 cycles/byte AES-GCM-128 : 1755.38 KB/s, 329.33 cycles/byte AES-CCM-128 : 2081.99 KB/s, 279.72 cycles/byte CTR_DRBG (NOPR) : 5897.16 KB/s, 98.15 cycles/byte CTR_DRBG (PR) : 4489.58 KB/s, 129.72 cycles/byte HMAC_DRBG SHA-1 (NOPR) : 1297.53 KB/s, 448.03 cycles/byte HMAC_DRBG SHA-1 (PR) : 1205.51 KB/s, 486.04 cycles/byte HMAC_DRBG SHA-256 (NOPR) : 1786.18 KB/s, 327.70 cycles/byte HMAC_DRBG SHA-256 (PR) : 1779.52 KB/s, 328.93 cycles/byte RSA-1024 : 202.33 public/s RSA-1024 : 7.00 private/s DHE-2048 : 0.40 handshake/s DH-2048 : 0.40 handshake/s ECDSA-secp256r1 : 9.00 sign/s ECDSA-secp256r1 : 4.67 verify/s ECDHE-secp256r1 : 5.00 handshake/s ECDH-secp256r1 : 9.33 handshake/s DDR Mode run at 66 MHz. FlexSPI clock source is 2, FlexSPI Div is 5, PllPfd2Clk is 396000000 mbedTLS version 2.16.6 fsys=600000000 Using following implementations: SHA: DCP HW accelerated AES: DCP HW accelerated AES GCM: Software implementation DES: Software implementation Asymmetric cryptography: Software implementation MD5 : 16047.13 KB/s, 27.12 cycles/byte SHA-1 : 44504.08 KB/s, 12.54 cycles/byte SHA-256 : 47742.88 KB/s, 11.62 cycles/byte SHA-512 : 2187.57 KB/s, 267.18 cycles/byte 3DES : 1262.66 KB/s, 462.59 cycles/byte DES : 2786.81 KB/s, 196.44 cycles/byte AES-CBC-128 : 52807.92 KB/s, 10.47 cycles/byte AES-GCM-128 : 1311.15 KB/s, 446.53 cycles/byte AES-CCM-128 : 2088.84 KB/s, 281.08 cycles/byte CTR_DRBG (NOPR) : 5966.92 KB/s, 97.55 cycles/byte CTR_DRBG (PR) : 4413.15 KB/s, 130.42 cycles/byte HMAC_DRBG SHA-1 (NOPR) : 1291.64 KB/s, 449.47 cycles/byte HMAC_DRBG SHA-1 (PR) : 1202.41 KB/s, 487.05 cycles/byte HMAC_DRBG SHA-256 (NOPR) : 1748.38 KB/s, 328.16 cycles/byte HMAC_DRBG SHA-256 (PR) : 1691.74 KB/s, 329.78 cycles/byte RSA-1024 : 201.67 public/s RSA-1024 : 7.00 private/s DHE-2048 : 0.40 handshake/s DH-2048 : 0.40 handshake/s ECDSA-secp256r1 : 8.67 sign/s ECDSA-secp256r1 : 4.67 verify/s ECDHE-secp256r1 : 4.67 handshake/s ECDH-secp256r1 : 9.00 handshake/s Fig 4 Performance comparison We can find that most of the implementation items are achieve the worst performance when QSPI works in DDR mode with 66 MHz. Coremark demo The second demo is running the Coremark demo under the above three conditions and the result is illustrated below. SDR Mode run at 100 MHz. FlexSPI clock source is 3, FlexSPI Div is 6, PLL3 PFD0 is 720000000 2K performance run parameters for coremark. CoreMark Size : 666 Total ticks : 391889200 Total time (secs): 16.328717 Iterations/Sec : 2449.671999 Iterations : 40000 Compiler version : MCUXpresso IDE v11.3.1 Compiler flags : Optimization most (-O3) Memory location : STACK seedcrc : 0xe9f5 [0]crclist : 0xe714 [0]crcmatrix : 0x1fd7 [0]crcstate : 0x8e3a [0]crcfinal : 0x25b5 Correct operation validated. See readme.txt for run and reporting rules. CoreMark 1.0 : 2449.671999 / MCUXpresso IDE v11.3.1 Optimization most (-O3) / STACK SDR Mode run at 133 MHz. FlexSPI clock source is 3, FlexSPI Div is 4, PLL3 PFD0 is 664615368 2K performance run parameters for coremark. CoreMark Size : 666 Total ticks : 391888682 Total time (secs): 16.328695 Iterations/Sec : 2449.675237 Iterations : 40000 Compiler version : MCUXpresso IDE v11.3.1 Compiler flags : Optimization most (-O3) Memory location : STACK seedcrc : 0xe9f5 [0]crclist : 0xe714 [0]crcmatrix : 0x1fd7 [0]crcstate : 0x8e3a [0]crcfinal : 0x25b5 Correct operation validated. See readme.txt for run and reporting rules. CoreMark 1.0 : 2449.675237 / MCUXpresso IDE v11.3.1 Optimization most (-O3) / STACK DDR Mode run at 66 MHz. FlexSPI clock source is 2, FlexSPI Div is 5, PLL3 PFD0 is 396000000 2K performance run parameters for coremark. CoreMark Size : 666 Total ticks : 391890772 Total time (secs): 16.328782 Iterations/Sec : 2449.662173 Iterations : 40000 Compiler version : MCUXpresso IDE v11.3.1 Compiler flags : Optimization most (-O3) Memory location : STACK seedcrc : 0xe9f5 [0]crclist : 0xe714 [0]crcmatrix : 0x1fd7 [0]crcstate : 0x8e3a [0]crcfinal : 0x25b5 Correct operation validated. See readme.txt for run and reporting rules. CoreMark 1.0 : 2449.662173 / MCUXpresso IDE v11.3.1 Optimization most (-O3) / STACK After comparing the CoreMark scores, it gets the lowest CoreMark score when QSPI works in DDR mode with 66 MHz. However, they're actually pretty close. Through the above two testings, we can get the DDR mode maybe not a better option, at least for the i.MX RT10xx series MCU. i.MXRT 102x i.MXRT 105x i.MXRT 106x
View full article
HOWTO: offline install S32K1 RTD 2.0.0 in S32DS v3.5 The release notes of S32K RTD usually mention which dependent software packages need to be installed. Taking SW32K1_S32M24x_RTD_R21-11_2.0.0_P04_D2404_ReleaseNotes.pdf as an example, we can see that the following software packages need to be installed: You must be logged into your account on NXP.com to gain access to the download link. 1. Download and install S32Design Studio 3.5: Click S32 Design Studio 3.5 – Windows/Linux -> 3.5 S32 Design Studio for S32 Platform v.3.5 -> S32DS.3.5_b220726_win32.x86_64.exe Note: For Windows OS, the user account designated for installing S32 Design Studio for the S32 Platform must be a member of the local Administrators security group. 2. Download and Install S32 Design Studio 3.5 Update 4 D2307: SW32_S32DS_3.5.4_D2307.zip (com.nxp.s32ds.update_3.5.4.20230707034206.zip) Since the SW32K1_S32DS_3.5.4_D2307.zip downloaded in step3 already contains the files of the SW32_S32DS_3.5.4_D2307.zip in the step2, we will skip this step here. 3. Download and Install S32 Design Studio 3.5 development packages for offline use, support for S32K1 (3.5.4_D2307): SW32K1_S32DS_3.5.4_D2307.zip  (com.nxp.s32ds.s32k1.dev.repository_1.0.0.202307062245.zip) Unchecking Contact all update sites during install to find required software can complete offline installation faster. 4. Click Real-Time Drivers for S32K1 -> Automotive SW - EB tresos Studio / AUTOSAR Configuration Tool Select and install one of the following updatesite.zip for S32K1 RTD 2.0.0: The latest S32K1 RTD version is usually recommended. However, if you need to use Reference Software or Premium Software (such as FreeRTOS, LIN Stack, TCP/IP Stack Structural , Core Self-Test (SCST), Automotive Math and Motor Control Library (AMMCLib), S32K ISELED), it is recommended to install the specific version of S32K1 RTD according to their release notes. 4.a) Download and install S32K1_S32M24X Real Time Drivers AUTOSAR 4.4 & R21-11 Version 2.0.0: SW32K1_S32M24x_RTD_4.4_R21-11_2.0.0_D2308_DS_Updatesite.zip 4.b) Download and install S32K1_S32M24X Real Time Drivers AUTOSAR 4.4 Version 2.0.0 P01: SW32K1_S32M24x_RTD_4.4_R21-11_2.0.0_P01_D2308_DS_Updatesite.zip 4.c) Download and install S32K1_S32M24X Real Time Drivers AUTOSAR R21-11 Version 2.0.0 P04: SW32K1_S32M24x_RTD_R21-11_2.0.0_P04_D2404_DS_updatesite.zip Activation | Installation | Licensing | Installer Download SDKs
View full article
RT1176 LVGL + VGLITE:字体渲染错误 我正在尝试将 VGLITE 应用于我的代码中,该代码基于 RT1176 上的 LVGL。我正在运行演示基准测试。 当我设置时: #define LV_USE_DRAW_SW 1 #define LV_USE_DRAW_VGLITE 0 渲染效果很好。 当我启用 VGLITE 时 #define LV_USE_DRAW_SW 0 #define LV_USE_DRAW_VGLITE 1 字母被破坏了,它们看起来像是外星字体,即使在某些帧中它们被正确渲染。启用 VGLITE 后,演示程序会在场景 14 卡住。 我应该从哪里开始调查? Re: RT1176 LVGL + VGLITE: Bad font rendering 嘿@P3r3gr1nus ,我启用 vglite 时也遇到了同样的问题(文本渲染错误),请问您是否已经解决了这个问题? Re: RT1176 LVGL + VGLITE: Bad font rendering 你好@EdwinHz ,我发现问题与字符串中的字符数有关。我按顺序展示: 字符串 123 字符串 1234 字符串 12345 字符串 123456 字符串 1234567 字符串 12345678 字符串 123456789 字符串 1234567890 恰好从“String 12345”到“String 12345678”的字符串损坏了(字体异常),其他字符串都正常。该序列会重复出现,且行为是确定性的。当我将字体大小从lv_font_montserrat_14 更改为 lv_font_montserrat_12 时,也会出现同样的问题。 此时,了解 LVGL9 + VGLITE 是否已经过验证对我来说应该很有用。 Re: RT1176 LVGL + VGLITE: Bad font rendering 这里有一个关于这个问题的简短视频。似乎只影响文本。即使过了一会儿演示画面卡住了。 Re: RT1176 LVGL + VGLITE: Bad font rendering 你好@EdwinHz , 是的,如果我按照您的建议,在 conf.h 文件中禁用 VGLITE: LV_USE_DRAW_VGLITE 0 LV_USE_DRAW_SW 1 一切都很好。 然而,我的目标是启用 VGLITE GPU 加速。我使用了 demo_benckmark 作为参考,但最终目标将是我的应用程序。 此外,我没有使用 RGB888,而是使用了 LV_COLOR_DEPTH 16 缓冲区设置为 RGB565。 我忘了提一下,我的项目是基于 RT1176 的,我使用的是 FREERTOS。 你认为VGLITE有可能与LVGL一起使用吗? Re: RT1176 LVGL + VGLITE: Bad font rendering 嗨@P3r3gr1nus , 如“lvgl_examples_readme.md”中所述文件: “ GPU 和 PXP 不支持 8 位,请取消选中 `LV_USE_DRAW_VGLITE` 和 `LV_USE_PXP`。 在 Kconfig 中,或者像这样修改 mcux_config.h: ``` #define CONFIG_LV_USE_DRAW_VGLITE 0 #define CONFIG_LV_USE_PXP 0 #define CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE 1 #define CONFIG_LV_DRAW_SW_DRAW_UNIT_CNT 1 ” BR, 埃德温。 Re: RT1176 LVGL + VGLITE: Bad font rendering 你好@HasanIqbalKhan , 不,最后我禁用了 VGLITE。即使是成绩的提升也没有预期的那么好。
View full article
Falcon Mode Enablement - iMX8MP_EVK Hi, I need to enable Falcon Mode on iMX8MP_EVK in the Yocto branch 6.12-walnascar. However, as per the AN14641 document, the meta-imx-fastboot layer is available only in the lf-6.6.36-2.1.0-secure branch. How can I port this layer to my walnascar branch and enable Falcon Mode? Please help here.. Re: Falcon Mode Enablement - iMX8MP_EVK Please use the following command. uuu -b emmc_all - .rootfs.wic For example: $ uuu -b emmc_all imx-boot-imx95evk-sd.bin-flash_all     core-image-minimal-imx95evk.rootfs.wic Re: Falcon Mode Enablement - iMX8MP_EVK Hi Tipingwang, Thanks for your reply. I am trying to enable Falcon mode and have followed the steps provided in AN14641, but I am getting stuck during the flashing process. As per the README, the flashing steps are mentioned as below (for eMMC): unzstd -[secure-boot]- .rootfs.wic.zst uuu -b emmc_all - .rootfs.wic uuu -b emmc My boot memory is eMMC. I attempted to flash the image using the following command: sudo ./uuu -d -v -b emmc_all imx-boot-imx8mpevk-sd.bin-flash_evk imx-image-core-imx8mpevk.rootfs-20260616051114.wic However, during execution, the flashing process fails with the following error: sudo ./uuu -d -v -b emmc_all imx-boot-imx8mpevk-sd.bin-flash_evk imx-image-core-imx8mpevk.rootfs-20260616051114.wic uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-5-g124d086   Build in config: Pctl Chip Vid Pid BcdVersion Serial_No ================================================== SDPS: MX8QXP 0x1fc9 0x012f [0x0002..0xffff] SDPS: MX8QM 0x1fc9 0x0129 [0x0002..0xffff] SDPS: MX8DXL 0x1fc9 0x0147 SDPS: MX28 0x15a2 0x004f SDPS: MX815 0x1fc9 0x013e SDPS: MX865 0x1fc9 0x0146 SDPS: MX8ULP 0x1fc9 0x014a SDPS: MX8ULP 0x1fc9 0x014b SDPS: MX93 0x1fc9 0x014e SDPS: MX91 0x1fc9 0x0159 SDPS: MX95 0x1fc9 0x015d SDPS: MX95 0x1fc9 0x015c SDPS: MX943 0x1fc9 0x0027 SDPS: MX952 0x1fc9 0x0028 SDP: MX7D 0x15a2 0x0076 SDP: MX6Q 0x15a2 0x0054 SDP: MX6D 0x15a2 0x0061 SDP: MX6SL 0x15a2 0x0063 SDP: MX6SX 0x15a2 0x0071 SDP: MX6UL 0x15a2 0x007d SDP: MX6ULL 0x15a2 0x0080 SDP: MX6SLL 0x1fc9 0x0128 SDP: MX7ULP 0x1fc9 0x0126 SDP: MXRT106X 0x1fc9 0x0135 SDP: MX8MM 0x1fc9 0x0134 SDP: MX8MQ 0x1fc9 0x012b SDPU: SPL 0x0525 0xb4a4 [0x0000..0x04ff] SDPV: SPL1 0x0525 0xb4a4 [0x0500..0x9998] SDPV: SPL1 0x1fc9 0x0151 [0x0500..0x9998] SDPU: SPL 0x0525 0xb4a4 [0x9999..0x9999] SDPU: SPL 0x3016 0x1001 [0x0000..0x04ff] SDPV: SPL1 0x3016 0x1001 [0x0500..0x9998] FBK: 0x066f 0x9afe FBK: 0x066f 0x9bff FBK: 0x1fc9 0x0153 FB: 0x0525 0xa4a5 FB: 0x18d1 0x0d02 FB: 0x3016 0x0001 FB: 0x1fc9 0x0152 FB: 0x0483 0x0afb FB: 0x1d6b 0x0104   Run built-in script:   uuu_version 1.4.149   # @_flash.bin            | bootloader, which can extract from wic image # @_image   [_flash.bin] | wic image burn to emmc.     # This command will be run when i.MX6/7 i.MX8MM, i.MX8MQ SDP: boot -f imx-boot-imx8mpevk-sd.bin-flash_evk -scanlimited 0x800000   # This command will be run when ROM support stream mode # i.MX8QXP, i.MX8QM SDPS: boot -scanterm -f imx-boot-imx8mpevk-sd.bin-flash_evk -scanlimited 0x800000   # These commands will be run when use SPL and will be skipped if no spl # SDPU will be deprecated. please use SDPV instead of SDPU # { SDPU: delay 1000 SDPU: write -f imx-boot-imx8mpevk-sd.bin-flash_evk -offset 0x57c00 SDPU: jump -scanlimited 0x800000 # }   # These commands will be run when use SPL and will be skipped if no spl # if (SPL support SDPV) # { SDPV: delay 1000 SDPV: write -f imx-boot-imx8mpevk-sd.bin-flash_evk -skipspl -scanterm -scanlimited 0x800000 SDPV: jump -scanlimited 0x800000 # }     FB: ucmd setenv fastboot_dev mmc FB: ucmd setenv mmcdev ${emmc_dev} FB: ucmd mmc dev ${emmc_dev} FB: flash -raw2sparse all imx-image-core-imx8mpevk.rootfs-20260616051114.wic FB: flash -scanterm -scanlimited 0x800000 bootloader imx-boot-imx8mpevk-sd.bin-flash_evk FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi; FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} 1 0 FB: done     Wait for Known USB Device Appear... New USB Device Attached at 1:2-152E1000D9DE520A 1:2-152E1000D9DE520A>Start Cmd:SDPS: boot -scanterm -f imx-boot-imx8mpevk-sd.bin-flash_evk -scanlimited 0x800000 14%1:2-152E1000D9DE520A>Fail HID(W): LIBUSB_ERROR_TIMEOUT (-7)(20.07s) The detailed uuu logs are attached above for reference. Could you please guide me on the correct procedure to flash a Falcon-enabled OS into eMMC, or let me know if I am missing any required steps or configurations? Thanks in advance for your support. Re: Falcon Mode Enablement - iMX8MP_EVK Falcon Mode is not incompatible with Secure Boot BUT On lf-6.12.20-2.0.0-secure, you cannot enable Secure Boot together with Falcon Mode using the provided Yocto flow About 0001-imx8m-reset-ethernet-phy-in-spl.patch For i.MX8MP EVK → strongly recommended Not strictly required if you don't use Ethernet during early boot Re: Falcon Mode Enablement - iMX8MP_EVK Hi Yiping Wang, Thank you for your response. I have a couple of additional questions for clarification. According to the information provided, the branch lf-6.12.20-2.0.0-secure supports Falcon Mode v2, but Secure Boot is marked as not yet supported. Since Secure Boot is a requirement for my i.MX8MP platform, will Falcon Mode work correctly if I use this branch, or is Falcon Mode incompatible when Secure Boot is enabled? For the i.MX8MP EVK, do I need to apply the patch 0001-imx8m-reset-ethernet-phy-in-spl.patch, or is it optional depending on the use case? Re: Falcon Mode Enablement - iMX8MP_EVK You probably do not need to port the layer from lf-6.6.36-2.1.0-secure yourself. The public nxp-imx-support/meta-imx-fastboot - GitHub repository already shows a lf-6.12.20-2.0.0-secure branch. Please refer to README in https://github.com/nxp-imx-support/meta-imx-fastboot Re: Falcon Mode Enablement - iMX8MP_EVK Please help here, And i am using UUU to flash eMMC Re: Falcon Mode Enablement - iMX8MP_EVK As per this image i found in NXP forum it seems that flashing eMMC using the UUU tool may not be supported in this case. Could you please suggest the appropriate method to flash an eMMC device with a Falcon-enabled OS? In your previous reply, you suggested using the following command:   - .rootfs.wic> I tried this approach, but I encountered the same error again: Fail HID(W): LIBUSB_ERROR_TIMEOUT (-7) (20.07s) Could you please guide me on the correct flashing procedure or any alternative tools or steps required for flashing eMMC with Falcon mode enabled? Re: Falcon Mode Enablement - iMX8MP_EVK I verified the following commands on IMX95FRDM, there is no problem, please refer to my log. C:\Users\nxa22585>C:\Users\nxa22585\Downloads\i.mx95\uuu.exe -lsusb uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-0-g230f1b1 Connected Known USB Devices Path Chip Pro Vid Pid BcdVersion Serial_no ==================================================================== 2:4 MX95 SDPS: 0x1FC9 0x015D 0x0002 61F49AAB2DCB4DDF C:\Users\nxa22585>C:\Users\nxa22585\Downloads\i.mx95\uuu.exe -b emmc_all C:\Users\nxa22585\Downloads\i.mx95\imx-boot-imx95-15x15-lpddr4x-frdm-sd.bin-flash_all C:\Users\nxa22585\Downloads\i.mx95\core-image-minimal-imx8mnevk.rootfs.wic uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-0-g230f1b1 Success 1 Failure 0 1:2-61F49AAB 8/ 8 [Done ] FB: done 2:4-61F49AAB 3/ 3 [=================100%=================] SDPV: jump -scanlimited 0x800000 C:\Users\nxa22585> Re: Falcon Mode Enablement - iMX8MP_EVK Please help here i have stucked in this part Re: Falcon Mode Enablement - iMX8MP_EVK In previous reply you gave a reference command for IMX95FRDM is that falcon enabled?  Here you can find what i was done in Yocto - IMX8MP 1) meta-imx-fastboot - lf-6.12.20-2.0.0-secure - Github_Link 2) Added this meta to my source - Github_Link 3) And followed all the instruction gave by  AN14641 document. 4)Bitbake commands that i followed:  bitbake -c clean linux-imx && bitbake -c clean imx-boot && bitbake -c clean u-boot-imx && bitbake -c clean imx-atf && bitbake -c clean imx-image-core  bitbake -c compile linux-imx && bitbake -c compile imx-boot && bitbake -c compile u-boot-imx && bitbake -c compile imx-atf && bitbake -c compile imx-image-core bitbake linux-imx && bitbake imx-boot && bitbake u-boot-imx && bitbake imx-atf && bitbake imx-image-core 5)  CASE 1: sudo ./uuu -b emmc_all imx-image-core-imx8mpevk.rootfs-20260617095251.wic uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-5-g124d086 Success 0 Failure 0 1:2-152E1000 1/ 1 [=================100%=================] SDPS: boot -scanterm -f /home/smurugan8/YOCTO/LWT/image/imx-image-core-imx8mpevk.rootfs-20260617095251.wic -scanlimited 0x800000 CASE 2:  sudo ./uuu -b emmc_all imx-boot-imx8mpevk-sd.bin-flash_evk imx-image-core-imx8mpevk.rootfs-20260617095251.wic uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-5-g124d086 Success 0 Failure 1 1:2-152E1000 1/ 1 [HID(W): LIBUSB_ERROR_TIMEOUT (-7) ] SDPS: boot -scanterm -f imx-boot-imx8mpevk-sd.bin-flash_evk -scanlimited 0x800000 IMPORTANT : I NEED TO FLASH A FALCON ENABLED OS INTO eMMC  Re: Falcon Mode Enablement - iMX8MP_EVK Please note uuu is only used to program images to emmc, it doesn't check the content of your images. I suspect there is problem with your uuu command itself. Where did you download uuu? Please download the latest UUU from https://github.com/nxp-imx/mfgtools/releases Please download the Windows version UUU to do verification. Re: Falcon Mode Enablement - iMX8MP_EVK Hi yipingwan I also tried using the UUU tool on Windows, but I am seeing the same result—it still does not work for flashing eMMC.  I have attached the UUU -log. However, when I flash the same Falcon-enabled OS to an SD card, it boots and works correctly. This confirms that the image itself and the Falcon configuration are valid. My question is: Why am I unable to flash this Falcon-enabled image to eMMC, even though the same image works from SD? Is there any alternative or recommended method to flash a Falcon-enabled OS to eMMC, other than using UUU? Could you please advise on the supported or reliable procedure for flashing eMMC in this scenario? Re: Falcon Mode Enablement - iMX8MP_EVK Please help here. Re: Falcon Mode Enablement - iMX8MP_EVK Please execute the following command with your Windows version UUU and send the result to me to do more investigation. uuu.exe -b emmc_all imx-boot-imx8mpevk-sd.bin-flash_evk   imx-image-core-imx8mpevk.rootfs-20260617095251.wic Re: Falcon Mode Enablement - iMX8MP_EVK Please try the following command uuu.exe -b emmc_all  C:\Users\vvdn\Sanjiv\Falcon\imx-boot-imx8mpevk-sd.bin-flash_evk C:\Users\vvdn\Sanjiv\Falcon\imx-image-multimedia-imx8mpevk.rootfs-20260624074743.wic Then send the result to me again. Re: Falcon Mode Enablement - iMX8MP_EVK Here you can find the output, PS C:\Users\vvdn\Sanjiv\uuu_source-uuu_1.5.243\uuu-uuu_1.5.243\uuu> .\uuu.exe -b emmc_all C:\Users\vvdn\Sanjiv\Falcon\imx-boot-imx8mpevk-sd.bin-flash_evk C:\Users\vvdn\Sanjiv\Falcon\imx-image-multimedia-imx8mpevk.rootfs-20260624074743.wic uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-0-g230f1b1 Success 0 Failure 1 1:3-152E1000 1/ 1 [HID(W): LIBUSB_ERROR_TIMEOUT (-7) ] SDPS: boot -scanterm -f C:\Users\vvdn\Sanjiv\Falcon\imx-b... Re: Falcon Mode Enablement - iMX8MP_EVK I above you can find the log of UUU,  Command=> .\uuu.exe -b emmc C:\Users\vvdn\Sanjiv\Falcon\imx-boot-imx8mpevk-sd.bin-flash_evk C:\Users\vvdn\Sanjiv\Falcon\imx-image-multimedia-imx8mpevk.rootfs-20260624074743.wic But it is not working in eMMC , Same Image will work in SD Card Re: Falcon Mode Enablement - iMX8MP_EVK I verified on IMX8MP_EVK target board, there is no problem to program emmc, please refer to my following log. C:\Users\nxa22585>C:\Users\nxa22585\Downloads\i.mx95\uuu.exe -b emmc_all C:\Users\nxa22585\Downloads\i.mx95\imx-boot-imx8mpevk-sd.bin-flash_evk C:\Users\nxa22585\Downloads\i.mx95\core-image-minimal-imx8mnevk.rootfs.wic uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-0-g230f1b1 Success 1 Failure 0 2:4-0F0B9800 8/ 8 [Done ] FB: done C:\Users\nxa22585> Please extracted my image from the attached file, and only execute the following command. uuu.exe -b emmc imx-boot-imx8mpevk-sd.bin-flash_evk If it still fails, it seems there is problem with EMMC itself on your target board. You could use the following emmc command to check whether you could write something to emmc in u-boot. Usage: mmc read addr blk# cnt mmc write addr blk# cnt mmc erase blk# cnt Re: Falcon Mode Enablement - iMX8MP_EVK Please only try whether you can write a default boot image to emmc with UUU. Re: Falcon Mode Enablement - iMX8MP_EVK Yes, @yipingwang, When I include the meta-imx-fastboot layer in my build, the flashing process gets stuck. However, if I remove the meta-imx-fastboot layer, I am able to flash the image to eMMC successfully. Re: Falcon Mode Enablement - iMX8MP_EVK I have one question @yipingwang it is falcon enabled image Re: Falcon Mode Enablement - iMX8MP_EVK Please help here.. @yipingwang Re: Falcon Mode Enablement - iMX8MP_EVK Please send /home/smurugan8/YOCTO/LWT/image/falcon_mode/imx-boot-imx8mpevk-sd.bin-flash_evk to me. I will do verification on my target board. Re: Falcon Mode Enablement - iMX8MP_EVK Hi @Sanjiv_Mns  The meta-secure-boot Yocto layer is not implemented for the 6.12.20 BSP. Since the meta-imx-fastboot layer depends on the meta-secure-boot, the branch lf-6.12.20-2.0.0-secure does not implement secure boot. The 0001-imx8m-reset-ethernet-phy-in-spl.patch patch is mandatory if you need to use the Ethernet interfaces in Linux. It resets the PHYs, without which the Linux driver cannot initialize the interfaces. Re: Falcon Mode Enablement - iMX8MP_EVK Please find the attachment . Re: Falcon Mode Enablement - iMX8MP_EVK Hi @yipingwang , I have done the commands which you gave in previous reply, here you can find the command logs & Boot logs COMMAND LOGS: sudo ./uuu -b emmc_all /home/smurugan8/YOCTO/LWT/image/default/imx-boot-imx8mpevk-sd.bin-flash_evk /home/smurugan8/YOCTO/LWT/image/default/imx-image-multimedia-imx8mpevk.rootfs-20260622071640.wic uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-5-g124d086 Success 1 Failure 0 1:1-152E1000 8/ 8 [Done ] FB: done sudo ./uuu -b emmc /home/smurugan8/YOCTO/LWT/image/default/imx-boot-imx8mpevk-sd.bin-flash_evk /home/smurugan8/YOCTO/LWT/image/falcon_mode/imx-boot-imx8mpevk-sd.bin-flash_evk uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-5-g124d086 Success 1 Failure 0 1:1-152E1000 7/ 7 [Done ] FB: Done BOOT LOGS: U-Boot SPL 2025.04-g44898b9f3cfe-dirty (Sep 03 2025 - 09:56:50 +0000) DDRINFO: start DRAM init DDRINFO: DRAM rate 4000MTS DDRINFO:ddrphy calibration done DDRINFO: ddrmix config done SEC0: RNG instantiated Normal Boot Trying to boot from MMC2 spl_load_image_fat: error reading image kernel-atf-dtb.itb, err - -5 spl_load_image_fat: error reading image u-boot-atf.itb, err - -5 Error: -2 SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ### Re: Falcon Mode Enablement - iMX8MP_EVK Hi @Sanjiv_Mns  Falcon Mode images works on both SD and eMMC. To flash a Falcon image on eMMC/SD you need to: 1. Build the default bootloader. In a clean Yocto environment, run: bitbake imx-boot. Make sure the meta-imx-fastboot layer is not added at this step. This will generate the tmp/deploy/images/imx8mp-lpddr4-evk/imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk default bootloader. 2. Build the falcon mode bootloader and the falcon mode image. Add the meta-imx-fastboot layer to your BBLAYERS. To compile the falcon mode bootloader, run: bitbake imx-boot This command will generate the tmp/deploy/images/imx8mp-lpddr4-evk/imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk_dual_bootloader falcon bootloader. This bootloader contains only the SPL, without the U-Boot proper. When the meta-imx-fastboot layer is added, the *_dual_bootloader is generated. See layer.conf.   To compile the falcon mode image, run: bitbake imx-image-multimedia This will generate the tmp/deploy/images/imx8mp-lpddr4-evk/imx-image-multimedia-imx8mp-lpddr4-evk.rootfs.wic.zst image. 3. Use UUU to flash the image on the eMMC. UUU is the only tool available to flash images on the eMMC. uuu -b emmc_all imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk imx-image-multimedia-imx8mp-lpddr4-evk.rootfs.wic.zst uuu -b emmc imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk_dual_bootloader Re: Falcon Mode Enablement - iMX8MP_EVK Please remove bld-xwayland build folder to rebuild images. $ rm -rf bld-xwayland $ MACHINE=imx8mpevk DISTRO=fsl-imx-xwayland source ./imx-setup-release.sh -b bld-xwayland $ bitbake-layers add-layer ../sources/meta-imx-fastboot Please add the following line in bld-xwayland/conf/local.conf FALCON_KERNEL_BOOTARGS:mx8mp-generic-bsp = "console=ttymxc1,115200 root=/dev/mmcblk2p2 rootwait rw quiet" Then rebuild images: $ bitbake imx-boot $ bitbake core-image-minimal uuu.exe -b emmc_all imx-boot-imx8mpevk-sd.bin-flash_evk core-image-minimal-imx8mpevk.rootfs.wic uuu.exe -b emmc imx-boot-imx8mpevk-sd.bin-flash_evk imx-boot-imx8mpevk-sd.bin-flash_evk_falcon Please refer to my verification log: U-Boot SPL 2025.04-g9383f8387dc7-dirty (Jun 04 2025 - 09:48:20 +0000) DDRINFO: start DRAM init DDRINFO: DRAM rate 4000MTS DDRINFO:ddrphy calibration done DDRINFO: ddrmix config done SEC0: RNG instantiated Normal Boot Trying to boot from MMC2 Failed to find node!, err: -11! Failed to find node!, err: -11! NOTICE: Do not release JR0 to NS as it can be used by HAB NOTICE: BL31: v2.12.0(release):lf-6.12.20-2.0.0-dirty NOTICE: BL31: Built : 08:15:07, May 9 2025 [ 0.324123] imx8mp-ldb ldb-display-controller: Failed to create device link (0x180) with 32e90000.lcd-controller [ 0.395104] : mipi_csis_imx8mp_phy_reset, No remote pad found! [ 0.514210] imx8mp-ldb ldb-display-controller: Failed to create device link (0x180) with 1-004c [ 0.576883] imx8mp-ldb ldb-display-controller: Failed to create device link (0x180) with 1-004c [ 0.625848] ov5640 1-003c: ov5640_write_reg: error: reg=3008, val=42 [ 0.632862] ov5640 1-003c: ov5640_write_reg: error: reg=3103, val=11 [ 0.639669] ov5640 1-003c: ov5640_read_reg: error: reg=3108 [ 0.645268] ov5640 1-003c: failed to power on [ 0.661389] imx8mp-ldb ldb-display-controller: Failed to create device link (0x180) with phy-lvds [ 0.694937] [drm:drm_bridge_attach] *ERROR* failed to attach bridge /soc@0/bus@32c00000/mipi_dsi@32e60000 to encoder DSI-41: -19 [ 0.706570] imx_sec_dsim_drv 32e60000.mipi_dsi: Failed to attach bridge: 32e60000.mipi_dsi [ 0.714859] imx_sec_dsim_drv 32e60000.mipi_dsi: failed to bind sec dsim bridge: -19 NXP i.MX Release Distro 6.12-walnascar imx8mpevk ttymxc1 imx8mpevk login: root root@imx8mpevk:~# Re: Falcon Mode Enablement - iMX8MP_EVK Please use the following commands to program images to the target board with UUU. unzstd <image_name>-[secure-boot]-<machine_name>.rootfs.wic.zst uuu -b emmc_all <default_bootloader> <image_name>-<machine_name>.rootfs.wic uuu -b emmc <default_bootloader> <falcon_mode_bootloader>  The first parameter is the default bootloader, falcon mode bootloader is only specified in the second parameter of the second uuu command. Re: Falcon Mode Enablement - iMX8MP_EVK Hi @yipingwang & @elena_popa  Thank you so much for your support
View full article
什么是工业以太网协议?EtherCAT、PROFINET 和 EtherNet/IP 详解(日语博客) 目录 介绍 什么是工业以太网? 工业网络的基本结构 1. EtherCAT(超高速、低延迟方向) 2. Profinet(灵活性/互操作性) 3. 以太网/IP(IT 亲和性/标准化) 总结 介绍   工业设备通信正迅速从传统的现场总线转向基于以太网的系统。而这一转变的核心正是工业以太网协议。   本文重点介绍三种广泛使用的协议,并清楚地解释它们在技术结构和设计理念上的差异。 以太网 PROFINET 以太网/IP (※评估和实施方法将在另一篇文章中详细说明。) 什么是工业以太网?   简而言之,工业以太网是一种通信技术,与通用以太网相比,它增强了“实时性能”、“鲁棒性”和“诊断能力” 。 标准以太网在工业应用中面临以下挑战:   这是一种尽力而为的通信方式,延迟会根据负载和切换过程而变化。 可能会出现丢帧(丢包)现象。 TCP/UDP/IP 并非为实时控制而设计。 为了应对这些挑战,工业以太网协议采用独特的方法来满足以下要求:   实时通信 同步控制 冗余配置 诊断功能   ■ 理解工业以太网的关键点:OSI 模型   理解工业以太网的关键之一在于理解“实时性能是在哪一层实现的”,而OSI参考模型有助于理解这一点。OSI模型将通信功能划分为七层,每一层都扮演着不同的角色,从物理信号的传输到应用处理。 工业以太网以 OSI 的每一层为基础,并针对每种协议扩展和优化特定层,从而实现实时性能和可靠性。 工业以太网中的 OSI 参考模型: 等级制度 姓名 工业以太网的作用 7 应用 通信数据内容(设备控制、状态、设置) 6 推介会 数据编码、压缩和加密 5 会议 建立、维护和终止通信 4 运输 通信质量控制(TCP/UDP),数据传输保证。 3 网络 通过 IP 地址路由(确定数据包目的地) 2 数据链路 通过 MAC 地址进行数据传输,创建以太网帧 1 物理 电缆(Cat5e/6 等)、连接器和物理信号传输。 工业以太网协议所使用的层: 以太网协议各特性: 协议 等级制度 特点 以太网 2 无需使用IP即可实现高速传输 PROFINET RT/IRT 是L2 NRT L3/4 RT 和 IRT 的区分使用。 以太网/IP 3/4 基于标准以太网 这些特征差异直接导致以下结果: 速度(实时性能) 实施成本 适用范围   工业网络的基本结构   工业以太网通常具有共同的基本结构,而本文讨论的三种协议(EtherCAT、PROFINET 和 EtherNet/IP)也不例外。 ■ 系统和设备结构   工业网络大致可以分为“控制器侧”和“设备侧”。   主设备(控制器): 它在控制整个网络中起着核心作用。 启动通信并设置连接参数 发送输出数据和接收输入数据 沟通管理和终止流程 典型例子:PLC、工业PC 子设备(设备): 响应连接请求并发送和接收必要数据。 接收输出数据并发送输入数据 网络自通知 根据需要发送警报 典型例子:传感器、伺服电机、执行器 ■ 沟通方式:周期性沟通与非周期性沟通 连接建立后,主设备和子设备之间会以极短的时间间隔持续交换I/O数据。根据应用场景的不同,这种通信可分为“周期性通信”和“非周期性通信”。 周期性沟通(周期性沟通) 应用:用于实时控制 - 对于需要实时性能的应用,例如电机控制和I/O控制,至关重要。 非循环通信 用途:配置、诊断和事件管理 - 用于读取和写入配置数据、诊断信息和意外事件通知。 ■支持实时性能的关键概念:同步(时钟) 在工业系统中,“所有设备都按照同一时间标准运行”这一点至关重要。 例如,如下图所示,如果多个设备在不同的时间 Δt₁、Δt₂ 和 Δt₃ 获取数据,则控制器 (PLC) 接收到的信息将不是来自同一时间的数据,而是时间上交错的“单独的快照”。 结果: 位置错位的发生 错误的控制判断 特别是运动控制中的关键同步误差 这可能会导致诸如此类的问题。 因此,在工业以太网中,设备间时钟同步机制是一个至关重要的要素。 三种协议的技术比较总结   以太网 PROFINET 以太网/IP 运营组织 贝乔夫 / ETG(EtherCAT 技术集团) 西门子 / PNO(PROFIBUS & PROFINET International) 洛克威尔 / OVDA(开放设备网络供应商协会) 沟通方式 摘要帧(子设备在帧中读取和写入数据) 基于第 2 层的实时通信 (RT/IRT) CIP:显式(TCP)/隐式(UDP)通信模型 主要用途 运动控制,超高速控制 通用型FA、过程控制以及广泛的工业应用 工厂自动化、PLC网络、机器人 周期 约 31.25μs 级(取决于具体实现,速度非常快) RT:几毫秒 IRT:31.25μs(取决于具体实现方式,TSN/IRT) 通常情况下,延迟级别为 10 毫秒(基于 UDP)。 同步方法 分布式时钟(DC) IRT:精确同步(PTCP) CIP 同步(IEEE1588) 设备型号 PDO/SDO(基于 EtherCAT 的 CANopen) 插槽/子插槽(GSDML) 类/实例/属性对象模型 拓扑 线型、树型、环型(低延迟) 线、星、环(MRP/MRPD) 线、星、环(DLR) 优势 简而言之,就是高速低延迟/硬件处理。 多种类别和诊断功能,高度互操作性 广泛应用于标准以太网基础设施,易于理解。 接下来,我们将解释每项技术特点。 1. EtherCAT (超高速、低延迟导向型) ■ EtherCAT 概述 由 Beckhoff Automation 开发,ETG 管理。 它运行于第 2 层,没有 IP/TCP/UDP 开销。 周期时间:约31.25微秒(取决于具体实现方式) 同步精度:±1μs 或更小 ■ 网络配置 主设备(主控设备)和  多个子设备(从设备) 该子设备配备了ESC ( EtherCAT 从控制器),并使用专用硬件进行高速处理。 虽然线路配置是基本设置,但它也支持使用环形结构的冗余配置。 图: EtherCAT网络配置图 EtherCAT 最显著的特点是“即时处理”。单个帧在经过所有设备的过程中都会被处理,每个设备都会在传输过程中读取和写入数据。由于处理工作由专用硬件(ESC)完成,无需 CPU 参与,因此延迟极低。   图: EtherCAT网络传输图像 ■ 相关协议转换:EtherCAT(IEC 61784-2-12) • CoE (CAN over EtherCAT):通过EtherCAT帧隧道化,使CANopen通信得以使用。 • FoE (File over EtherCAT):一种通过 EtherCAT 传输文件的协议。 EoE (以太网 over EtherCAT):一种封装和传输常规以太网帧(例如TCP/IP )的机制。 图:主设备(MDevice)的EoE协议转换 2. PROFINET (灵活性/互操作性) ■ PROFINET 概述 由西门子开发,PNO 管理。 基于标准以太网 根据应用场景选择RT/IRT/NRT。 生产者/消费者模式 ■ 网络配置 灵活支持各种拓扑结构,例如线型、星型和混合型拓扑结构。 它还支持通过MRP (媒体冗余协议) / MRPD(IRT)实现环冗余。 PROFINET的通信性能按“一致性等级( CC )”进行分类。 CC-A :基本实时,所有IT服务(例如TCP/IP )均可无限制使用。 CC-B :为通用FA的RT添加网络诊断和其他功能。 CC-C ( IRT ): 31.25 μs级运动应用 ■ 沟通类型 NRT(非实时):记录读/写:非周期性地发送和接收参数和设置。报警:通知设备异常情况。 RT:周期性I/O通信,通常为1 毫秒 IRT(等时性):时间同步的高速周期性通信,通常为 31.25 微秒。 → 实现了高度灵活性、详细的诊断和高度互操作性。 3. 以太网/IP ( IT兼容性/标准化) ■以太网/IP概述 EtherNet/IP 由 ODVA(开放设备网络供应商协会)管理。 它采用 CIP(通用工业协议),该协议运行在 TCP/UDP/IP(L3/L4)之上的一层。 面向对象模型 ■ 网络配置 支持线型、星型和环形拓扑结构。 支持使用DLR (设备级环)的高速冗余。 主设备 →扫描器:作为控制器运行,通常发起请求。 子设备 →适配器:响应该请求的设备。 ■ EtherNet/IP 的关键特性:“面向对象模型” 每个设备都被定义为由“类”、“实例”、“属性”和“服务”组成的对象的集合。 类:函数类型(例如,恒等函数、汇编函数) 实例:该类的特定实例。 属性:每个实例所具有的特定值。 服务:操作细节,例如读写。 这使得设备的功能结构非常清晰,从而实现了与不同制造商之间的高度兼容性。 ■ 沟通类型 显式消息连接 使用TCP ,读取和写入配置值,执行自我诊断,并记录日志。 分别发出一次“读”和一次“写”之类的指令。 隐式消息传递 - I/O 连接 它使用UDP 协议,可以实现实时通信,例如循环I/O ,扫描器会定期发送和接收I/O数据。   EtherNet/IP的关键特性是它能够使用隐式( UDP )协议实现高速I/O通信。 总结 工业以太网不仅仅是通信;它是一种能够实现实时控制的系统技术。本文介绍的三种协议分别通过不同的方法来实现这一目标。 协议 设计理念 主要用途 以太网 高速、低延迟 运动控制 PROFINET 灵活性和集成性 通用工厂自动化(FA) 以太网/IP IT集成 PLC网络   作为未来的发展趋势,产业网络将朝着以下方向发展。 TSN (时间敏感网络) 安全(包括符合《社区再投资法案》) 与OPC UA集成 换句话说,关键在于“实时性× IT集成×安全性”的融合。 下次, 为什么i.MX RT1180适用于工业以太网协议? 实际实施和评估程序 我们将详细解释这一点。 ============================= 我们目前无法 回复 此帖子“ 评论”部分留下的评论。 对于由此造成的不便,我们深表歉意,但 在进行咨询时, 请 参考“ NXP 技术问题 - 如何联系我们 ( 日语博客 ) ” 。 (如果您已经是 恩智浦的 分销商或 与 恩智浦 有合作关系 ,您可以直接咨询您的代表。 ) 工业设备通信正迅速从传统的现场总线转向基于以太网的系统。而这一转变的核心正是工业以太网协议。 本文重点介绍三种广泛使用的协议,并清楚地解释它们在技术结构和设计理念上的差异。 以太网 PROFINET 以太网/IP (※评估和实施方法将在另一篇文章中详细说明。)   本文将介绍主导工业以太网的三大协议:EtherCAT、PROFINET 和 EtherNet/IP,并清晰地解释它们在技术结构和设计理念上的差异。   (阅读时间:15分钟) i.MX RT 处理器 介绍 日本博客
View full article
由于 高效密码学标准\\(SEC\\)/CAAM 未初始化,BL2 中的安全启动失败 安全启动在 BL2 中失败看起来是因为 高效密码学标准(SEC)/CAAM 未初始化。在仔细研究代码时,似乎没有直接调用 sec_init,但看起来配置函数是在它之前被调用的,因此全局变量无法获得 高效密码学标准(SEC) 区块地址的定义常量。即 NXP_CAAM_ADDR 值。当我对这个值进行硬编码时,我可以让它稍微进一点,但随后我出现了无法刷新/重置任务铃声的错误。 QorIQ LS1设备 Re: Secure boot fails in BL2 because SEC/CAAM not initialized 你好 BL2中的这种安全启动失败是TF-A(可信固件-A)初始化流程中典型的 " chicken and egg " 问题,专门针对恩智浦Layerscape或i.MX平台。 当你对 NXP_CAAM_ADDR 进行硬编码并克服地址错误但遇到 Job Ring 刷新/RESET 错误时,这通常意味着 CAAM 硬件块要么没有时钟,要么处于过渡状态,要么被安全违规阻止。   1.初始化序列 sec_init 没有在配置函数之前被调用的原因,很可能是 bl2_main.c 中的顺序造成的。或特定平台的 plat_bl2_el3_setup.c 。 修复:确保在 bl2_el3_early_platform_setup 内调用 plat_ls_sec_init() (或与 SoC 类似的函数)。 全局变量问题:如果 NXP_CAAM_ADDR 没有弹出,请检查平台的 plat_get_caam_address() 函数是否返回 0,或者 BL2 转换表中的数据段是否没有正确映射。   2.为什么工作环冲洗失败 如果代码试图刷新作业环却失败了,请考虑以下三个罪魁祸首: 安全违规(最有可能):如果 SoC 处于 " Closed " 模式(已熔丝),CAAM 可能在从 bootROM 过渡到 BL2 的过程中触发了安全违规。网络安全违规会使 CAAM 处于 " Halted " 状态,在该状态下,在违规行为被清除之前,无法重置或使用工作戒指。 缺少时钟/功率:如果在 BL2 期间未在 DCFG(设备配置)或 PCC(外设时钟控制)中明确启用 高效密码学标准(SEC) 模块时钟门,则寄存器将可访问(如果幸运的话),但内部逻辑(如 Job Ring 控制器)不会响应重置命令。 主 ID (MID) 不匹配:作业环需要特定的主 ID 配置,以便 BL2(在 EL3 中运行)能够"自己的" 。如果 BootROM 将振铃分配到不同的 MID 但没有释放它们,BL2 在尝试 RESET 它们时会超时。   3.调试步骤 检查 SEC_VID(版本 ID)和 SEC_STA(状态)寄存器:在 Job Ring 重置呼叫之前阅读这些寄存器。如果状态寄存器显示网络安全违规,则需要找出触发该违规的原因(通常是前一阶段的身份验证失败)。 验证重置位:确保在切换重置位后等待足够长的时间。在某些芯片版本中,CAAM 重置所需的时间比 SDK 中提供的标准延迟环路长。 检查 TrustZone 设置:确保您正在访问的任务环在中央安全单元 (CSU) 或资源域控制器 (RDC) 中标记为 " Secure "。 此致 Re: Secure boot fails in BL2 because SEC/CAAM not initialized 开机后,但在加载 SRKH 镜像寄存器并释放 CPU 之前,如果我检查 DCFG_CCSR_DEVDISR1 寄存器,我会发现位 22 (高效密码学标准(SEC)) 设置为 1。根据有关重置的文档,该寄存器应全部为 0。在启动过程的这么早期,这个值可能在哪里设置?我需要对 pbl 命令做些什么吗?RCW 是否有误?我确实看到在低功耗安全寄存器中检测到电源故障,但我也看到配置寄存器显示应忽略/不应对低功率篡改采取行动。 Re: Secure boot fails in BL2 because SEC/CAAM not initialized 好吧,谁能帮我确认一下? 在 TF-A 驱动程序/nxp/dcfg/dcfg.c 中我找到了一个用于检查是否启用 高效密码学标准(SEC) 的计算方法。它在 SVR_SEC_MASK 和寄存器 0x1ee00a4 的值之间进行比特& ,寄存器 0x1ee00a4 是一个只读寄存器。如果我正确读取了字段,那么 16-23 位的状态是否为 ls1043 或 ls1023,是否 高效密码学标准\(SEC\) 硬件是否启用。我看到该位的值为 0x00000001。哪个会是这个芯片上禁用的高效密码学标准(SEC)封锁,对吗?我参考了完整零件号的示意图并得到了 LS1043ASN7MNLB,当我查看恩智浦的网站显示高效密码学标准(SEC)已禁用时。这是否导致了我的安全启动问题?高效密码学标准(SEC)能否启用这款芯片,还是在它离开恩智浦后就一成不变了?我们需要考虑其他芯片吗,还是可以在没有高效密码学标准(SEC)的情况下进行安全启动? Re: Secure boot fails in BL2 because SEC/CAAM not initialized 支持人工智能复制粘贴?如果我们要走这条路,就需要进一步调整代理。如果 SoC 知道自己的代码库,那么它就应该知道 NXP_CAAM_ADDR 是在头文件中静态定义的,而不是先填充的。
View full article