Multi Source Translation Content

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Multi Source Translation Content

ディスカッション

ソート順:
MCXN547 SC Timer0 SDK 驱动程序问题 我使用的是MCXN547VKL单片机和SDK版本26.06.00。 背景:我使用 SCT timer0 通过分割模式下的 COUNTER 生成两个不同的 PWM 波形,CONFIG[UNIFY] = 0;即 COUNT_L 用于一个 PWM 生成器,COUNT_H 用于另一个 PWM 生成器。 问题:当我使用驱动程序 API " SCTIMER_SetCOUNTValue(SCT0,kSCTIMER_Counter_H,0U);" 加载 COUNTER_H 时,发生总线故障。 我发现问题出在 SDK 驱动程序代码上。驱动程序代码使用 32 位写入同时写入 COUNT_H 和 COUNT_L,而不是仅使用 16 位写入 COUNT_H。在写入 COUNT_H 时,COUNT_L 正在运行,这导致了总线故障。我修改了 SDK 驱动程序代码,使其使用 16 位写入,总线故障就没有发生。我已附上驱动程序代码,并用颜色标记出导致问题的代码行和解决方法。如果这确实是问题所在,可以更新 SDK 驱动程序。- 谢谢 /*! * @brief 设置计数器的值。 * 该功能用于设置计数寄存器的值,写入 COUNT_L、COUNT_H 或统一寄存器。 只有当相应的计数器停止时(CTRL 寄存器中的 HALT 位设置为 1),才允许使用 *。 * * @Param base SCTimer 外设基地址 * @Param whichCounter 要使用的 SCTimer 计数器。在 16 位模式下,我们可以选择 Counter_L 和 Counter_H。 * 在 32 位模式下,我们可以选择 Counter_U。 * @Param value 计数器值更新到 COUNT 寄存器。 */ static inline void SCTIMER_SetCOUNTValue ( SCT_Type *base, sctimer_counter_t whichCounter, uint32_t value) { SCTIMER_StopTimer(base, ( uint32_t )whichCounter); 切换(whichCounter) { case kSCTIMER_Counter_L : assert(value <= 0xFFFFU); assert(0U == (base-> CONFIG & SCT_CONFIG_UNIFY_MASK)); /* 当用户想要设置低计数器时,请使用 Counter_L 位 */ base-> COUNT_ACCESS16BIT.COUNTL = ( uint16_t ) value; 休息; case kSCTIMER_Counter_H : assert(value <= 0xFFFFU); assert(0U == (base-> CONFIG & SCT_CONFIG_UNIFY_MASK)); /* 当用户想要设置高位计数器时,请使用 Counter_H 位 */ // base->COUNT = (uint32_t)base->COUNT_ACCESS16BIT.COUNTL | SCT_COUNT_CTR_H(value); base-> COUNT_ACCESS16BIT.COUNTH = ( uint16_t ) value; //修复 休息; case kSCTIMER_Counter_U : assert(1U == (base-> CONFIG & SCT_CONFIG_UNIFY_MASK)); /* 当计数器在 32 位模式下运行时,同时使用 Counter_L/Counter_H 位(统一计数器)。*/ 基本->计数= 值; 休息; 默认: /* 修复 MISRA C-2012 问题规则 16.4。*/ 休息; } SCTIMER_StartTimer(base, ( uint32_t )whichCounter); } 时钟|计时器 Re: MCXN547 SC Timer0 SDK driver Issue 你好@JawaharA 感谢您的反馈。您对总线故障原因的分析是正确的:更新 COUNT_H 需要对 COUNT 寄存器进行 32 位写入,但当前函数只会停止 H 计数器。如果 L 计数器仍在运行,则此写入访问会触发 SCT 总线错误。 然而,将对 COUNTH 的访问更改为 16 位写入不符合 SCT 硬件访问要求,因为 COUNT_H 必须与 COUNT_L 一起作为一个字写入。正确的软件解决方案是在对 COUNT 执行 32 位写入之前停止 L 计数器和 H 计数器,然后在之后恢复它们之前的运行状态。我们建议相应地审查和更新 SDK,而不是使用单独的 16 位写入 COUNT_H。 BR 哈里 Re: MCXN547 SC Timer0 SDK driver Issue 嗨,哈里, 感谢您的快速回复。 根据您在回复中引用的手册页,如果 CONFIG[UNIFY] = 0,则在相应的计数器未运行时,可以单独读取或写入 COUNT_L 和 COUNT_H 寄存器。SDK 对 COUNT_L 寄存器使用 16 位写入。无论 CONFIG[UNIFY] 设置如何,COUNT_H 寄存器都应该使用 32 位写入进行写入 - 这是未记录的条件吗? 谢谢 - 贾瓦哈尔
記事全体を表示
PXP screen rotation issue based on i.MXRT1052 I'm using rt1052PXP to rotate a landscape view to a portrait view, but the overall display shifts downwards when I refresh the page. Why is this happening?   static void DEMO_FlushDisplay(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p) { lv_area_t dest_area = { .x1 = 0, .x2 = 480 - 1, .y1 = 0, .y2 = 800 - 1, }; lv_gpu_nxp_pxp_blit(((lv_color_t *)s_inactiveFrameBuffer), area, 800, color_p, area,480, LV_OPA_COVER, LV_DISP_ROT_270); DCACHE_CleanInvalidateByRange((uint32_t)color_p, DEMO_FB_SIZE); ELCDIF_SetNextBufferAddr(LCDIF, (uint32_t)s_inactiveFrameBuffer); s_framePending = true;if (xSemaphoreTake(s_frameSema, portMAX_DELAY) == pdTRUE) { /* IMPORTANT!!! * Inform the graphics library that you are ready with the flushing*/ lv_disp_flush_ready(disp_drv); } else { PRINTF("Display flush failed\r\n"); assert(0); } }   i.MXRT 105x 回复: 基于i.MXRT1052的pxp屏幕旋转问题 I've noticed an offset issue when drawing with PXP. Is it because the default initialization `#define LV_USE_GPU_NXP_PXP_AUTO_INIT 1` generated by guiguider can't be used directly? void lv_disp_drv_init(lv_disp_drv_t * driver) { lv_memset_00(driver, sizeof(lv_disp_drv_t)); driver->hor_res = 320; driver->ver_res = 240; driver->physical_hor_res = -1; driver->physical_ver_res = -1; driver->offset_x = 0; driver->offset_y = 0; driver->antialiasing = LV_COLOR_DEPTH > 8 ? 1 : 0; driver->screen_transp = 0; driver->dpi = LV_DPI_DEF; driver->color_chroma_key = LV_COLOR_CHROMA_KEY; #if LV_USE_GPU_NXP_PXP // driver->draw_ctx_init = lv_draw_pxp_ctx_init; // driver->draw_ctx_deinit = lv_draw_pxp_ctx_deinit; // driver->draw_ctx_size = sizeof(lv_draw_pxp_ctx_t); driver->draw_ctx_init = lv_draw_sw_init_ctx; driver->draw_ctx_deinit = lv_draw_sw_init_ctx; driver->draw_ctx_size = sizeof(lv_draw_sw_ctx_t); #else driver->draw_ctx_init = lv_draw_sw_init_ctx; driver->draw_ctx_deinit = lv_draw_sw_init_ctx; driver->draw_ctx_size = sizeof(lv_draw_sw_ctx_t); #endif } 回复: 基于i.MXRT1052的pxp屏幕旋转问题 Hi  @dsd, The LV_USE_GPU_NXP_PXP_AUTO_INIT allows LVGL to leverage the user of PXP for internal widget rendering, which could definitely cause issues when the application also uses this PXP in parallel for whole screen rotation. However, it is likely not the source of the issue. From the initial code, it seems like you are not using dest_area, or rather you are using area as both source and destination for the PXP blit, which means that only the partial dirty region might be getting placed on different absolute positions rather than the intended. 回复: 基于i.MXRT1052的pxp屏幕旋转问题 I used the code generated by guiguider to test it, even without using pxp rotation. static void DEMO_FlushDisplay(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p) { DCACHE_CleanInvalidateByRange((uint32_t)color_p, DEMO_FB_SIZE); ELCDIF_SetNextBufferAddr(LCDIF, (uint32_t)color_p); s_framePending = true; if (xSemaphoreTake(s_frameSema, portMAX_DELAY) == pdTRUE) { /* IMPORTANT!!! * Inform the graphics library that you are ready with the flushing*/ lv_disp_flush_ready(disp_drv); } else { PRINTF("Display flush failed\r\n"); assert(0); } } Simply modify the macro /*Use NXP's PXP GPU iMX RTxxx platforms*/ #define LV_USE_GPU_NXP_PXP 1 #if LV_USE_GPU_NXP_PXP /*1: Add default bare metal and FreeRTOS interrupt handling routines for PXP (lv_gpu_nxp_pxp_osa.c) * and call lv_gpu_nxp_pxp_init() automatically during lv_init(). Note that symbol SDK_OS_FREE_RTOS * has to be defined in order to use FreeRTOS OSA, otherwise bare-metal implementation is selected. *0: lv_gpu_nxp_pxp_init() has to be called manually before lv_init() / #define LV_USE_GPU_NXP_PXP_AUTO_INIT 1 #endif /* LV_USE_GPU_NXP_PXP */ The same problem will occur, and the direction of the offset will be the same as after rotation. 回复: 基于i.MXRT1052的pxp屏幕旋转问题 What's even stranger is that there are two different results within the same project, even though I thought the configuration should be the same. No display offset occurred Display offset occurs    
記事全体を表示
基于i.MXRT1052的pxp屏幕旋转问题 我正在使用rt1052的pxp将横屏旋转成竖屏显示,但是在不断刷新的情况下,整体显示会向下偏移,这是为什么?   static void DEMO_FlushDisplay(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p) { lv_area_t dest_area = { .x1 = 0, .x2 = 480 - 1, .y1 = 0, .y2 = 800 - 1, }; lv_gpu_nxp_pxp_blit(((lv_color_t *)s_inactiveFrameBuffer), area, 800, color_p, area,480, LV_OPA_COVER, LV_DISP_ROT_270); DCACHE_CleanInvalidateByRange((uint32_t)color_p, DEMO_FB_SIZE); ELCDIF_SetNextBufferAddr(LCDIF, (uint32_t)s_inactiveFrameBuffer); s_framePending = true;if (xSemaphoreTake(s_frameSema, portMAX_DELAY) == pdTRUE) { /* IMPORTANT!!! * Inform the graphics library that you are ready with the flushing*/ lv_disp_flush_ready(disp_drv); } else { PRINTF("Display flush failed\r\n"); assert(0); } }   i.MXRT 105x 回复: 基于i.MXRT1052的pxp屏幕旋转问题 我发现当我使用pxp绘制的时候就会出现偏移问题,是因为guiguider生成的默认初始化#define LV_USE_GPU_NXP_PXP_AUTO_INIT 1不能直接使用吗? void lv_disp_drv_init(lv_disp_drv_t * driver) { lv_memset_00(driver, sizeof(lv_disp_drv_t)); driver->hor_res = 320; driver->ver_res = 240; driver->physical_hor_res = -1; driver->physical_ver_res = -1; driver->offset_x = 0; driver->offset_y = 0; driver->antialiasing = LV_COLOR_DEPTH > 8 ? 1 : 0; driver->screen_transp = 0; driver->dpi = LV_DPI_DEF; driver->color_chroma_key = LV_COLOR_CHROMA_KEY; #if LV_USE_GPU_NXP_PXP // driver->draw_ctx_init = lv_draw_pxp_ctx_init; // driver->draw_ctx_deinit = lv_draw_pxp_ctx_deinit; // driver->draw_ctx_size = sizeof(lv_draw_pxp_ctx_t); driver->draw_ctx_init = lv_draw_sw_init_ctx; driver->draw_ctx_deinit = lv_draw_sw_init_ctx; driver->draw_ctx_size = sizeof(lv_draw_sw_ctx_t); #else driver->draw_ctx_init = lv_draw_sw_init_ctx; driver->draw_ctx_deinit = lv_draw_sw_init_ctx; driver->draw_ctx_size = sizeof(lv_draw_sw_ctx_t); #endif } 回复: 基于i.MXRT1052的pxp屏幕旋转问题 嗨@dsd , LV_USE_GPU_NXP_PXP_AUTO_INIT 允许 LVGL 利用 PXP 进行内部控件渲染,当应用程序还并行使用此 PXP 进行全屏旋转时,这肯定会导致问题。然而,这可能并非问题的根源。 从初始代码来看,你似乎没有使用 dest_area,或者说你将 area 同时用作 PXP blit 的源和目标,这意味着只有部分脏区域可能会被放置在不同的绝对位置,而不是预期的位置。 回复: 基于i.MXRT1052的pxp屏幕旋转问题 我用guiguider生成的代码去测试,即便我不使用pxp旋转 static void DEMO_FlushDisplay(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p) { DCACHE_CleanInvalidateByRange((uint32_t)color_p, DEMO_FB_SIZE); ELCDIF_SetNextBufferAddr(LCDIF, (uint32_t)color_p); s_framePending = true; if (xSemaphoreTake(s_frameSema, portMAX_DELAY) == pdTRUE) { /* IMPORTANT!!! * Inform the graphics library that you are ready with the flushing*/ lv_disp_flush_ready(disp_drv); } else { PRINTF("Display flush failed\r\n"); assert(0); } } 仅仅去修改宏/*Use NXP's PXP GPU iMX RTxxx platforms*/ #define LV_USE_GPU_NXP_PXP 1 #if LV_USE_GPU_NXP_PXP /*1: Add default bare metal and FreeRTOS interrupt handling routines for PXP (lv_gpu_nxp_pxp_osa.c) * and call lv_gpu_nxp_pxp_init() automatically during lv_init(). Note that symbol SDK_OS_FREE_RTOS * has to be defined in order to use FreeRTOS OSA, otherwise bare-metal implementation is selected. *0: lv_gpu_nxp_pxp_init() has to be called manually before lv_init() */ #define LV_USE_GPU_NXP_PXP_AUTO_INIT 1 #endif /* LV_USE_GPU_NXP_PXP */ 也会有同样的问题,并且偏移的方向与旋转后的一致 回复: 基于i.MXRT1052的pxp屏幕旋转问题 更奇怪的是在同一个工程下会有两种不同的结果,我认为配置应该是相同的 没有发生显示偏移 发生显示偏移    
記事全体を表示
MPXV7002DPはLPGおよびプロパンに対応しています。 こんにちは、 私は大学4年生です。現在、家庭用LPG配管の圧力差を測定するプロジェクトに取り組んでいます。配管内の通常の圧力は約2.30kPaから3.60kPaです。データシートを確認しましたが、LPGとの互換性については明確な記載がありませんでした。もし過去にこれを試した方や技術関係者がいれば教えていただけると助かります。 ありがとう 。 Re: MPXV7002DP compatibility with LPG and Propane こんにちは、 2026年2月2日現在、NXP MEMSセンサ製品はSTMicroelectronicsに移管されました。詳細についてはSTMicroelectronicsまでサポートまでお問い合わせください。
記事全体を表示
wifi驱动程序崩溃- 88w8997 我使用FN-Link L297B-SR模块(Wi-Fi 和蓝牙共用一个天线)时,遇到了间歇性 Wi-Fi 驱动程序崩溃的问题。该问题随机发生,有时在 1 天后,有时在 2 天后,偶尔在连续运行 4 到 5 天后才会发生。 请检查日志 [64622.321614]mwifiex_sdio mmc2:0001:1: 信息:已成功断开与 ca:c6:5c:cb:ad:7e 的连接:原因代码 3 [64624.050010]mwifiex_sdio mmc2:0001:1: 信息:尝试关联到 BSSID ca:c6:5c:cb:ad:7e [64624.072596]mwifiex_sdio mmc2:0001:1: 事件:未知事件 ID:0x95 [64624.085770]mwifiex_sdio mmc2:0001:1: 信息:已成功关联到 bssid ca:c6:5c:cb:ad:7e [64987.640381]蓝牙:hci0:帧重组失败(-84) [65060.466817]蓝牙:hci0:帧重组失败(-84) [65184.303423]mwifiex_sdio mmc2:0001:1: 信息:已成功断开与 ca:c6:5c:cb:ad:7e 的连接:原因代码 0 [65204.712100]ieee80211 phy0:sched_scan 开始:n_ssids=4 n_match_sets=4 [65204.725038]ieee80211 phy0:通道数=41,间隔=10,IE长度=13 [65259.046894]ieee80211 phy0:计划扫描停止! [65259.067983]mwifiex_sdio mmc2:0001:1: 信息:尝试关联到 BSSID ca:c6:5c:cb:ad:7e [65260.594440]mwifiex_sdio mmc2:0001:1: ASSOC_RESP: 失败,状态码=2 错误=0xfffa a_id=0x3fff [65260.611662]mwifiex_sdio mmc2:0001:1: 关联失败:原因未知连接失败 [65260.624191]mwifiex_sdio mmc2:0001:1: 信息:与 bssid ca:c6:5c:cb:ad:7e 的关联失败 [65260.636278]ieee80211 phy0:sched_scan 开始:n_ssids=4 n_match_sets=4 [65260.645499]ieee80211 phy0:通道数=41,间隔=10,IE长度=13 [65271.191030]mwifiex_sdio mmc2:0001:1: mwifiex_cmd_timeout_func: 超时命令 ID = 0x6b,操作 = 0x1 [65271.199985]mwifiex_sdio mmc2:0001:1: num_data_h2c_failure = 0 [65271.205896]mwifiex_sdio mmc2:0001:1: num_cmd_h2c_failure = 0 [65271.211654]mwifiex_sdio mmc2:0001:1: is_cmd_timedout = 1 [65271.217064]mwifiex_sdio mmc2:0001:1: num_tx_timeout = 0 [65271.222454]mwifiex_sdio mmc2:0001:1: last_cmd_index = 0 [65271.227893]mwifiex_sdio mmc2:0001:1: last_cmd_id: 6b 00 28 00 16 00 12 00 6b 00 [65271.235303]mwifiex_sdio mmc2:0001:1: last_cmd_act: 01 00 13 00 01 00 ca c6 01 00 [65271.242862]mwifiex_sdio mmc2:0001:1: last_cmd_resp_index = 4 [65271.248670]mwifiex_sdio mmc2:0001:1: last_cmd_resp_id: 0c 81 28 80 16 80 12 80 6b 80 [65271.256568]mwifiex_sdio mmc2:0001:1: last_event_index = 3 [65271.262131]mwifiex_sdio mmc2:0001:1: last_event: 18 00 0b 00 0a 00 65 00 0a 00 [65271.269514]mwifiex_sdio mmc2:0001:1: 数据已发送=0 指令已发送=1 [65271.275248]mwifiex_sdio mmc2:0001:1: ps_mode=1 ps_state=0 [65271.281497]mwifiex_sdio mmc2:0001:1:忽略扫描。卡已移除或固件状态异常 [65271.290880]mwifiex_sdio mmc2:0001:1: ===mwifiex 驱动程序信息转储开始=== [65271.317907]mwifiex_sdio mmc2:0001:1: 信息: MWIFIEX 版本: mwifiex 1.0 (16.92.21.p76) [65271.326650]mwifiex_sdio mmc2:0001:1: 扫描失败: -14 [65271.350746]mwifiex_sdio mmc2:0001:1:SDIO 寄存器转储开始 [65271.369462]mwifiex_sdio mmc2:0001:1: SDIO Func0 (0x0-0x9): 43 03 02 02 03 02 00 02 03 00 [65271.385505]mwifiex_sdio mmc2:0001:1: SDIO Func1 (0x10-0x17): 00 00 00 00 00 00 e0 ff [65271.396619]mwifiex_sdio mmc2:0001:1: SDIO 功能1: (0x8) c3 (0x58) 00 (0x5c) 48 (0x5d) 00 (0x60) 07 (0x61) 0c (0x62) 00 (0x64) 10 (0x65) 00 (0x66) 00 (0x68) 00 (0x69) 00 (0x6a) 00 [65271.416154]mwifiex_sdio mmc2:0001:1: SDIO Func1 (0xe8-0xf2): dc fe 7e 00 62 00 3f a7 24 14 70 [65271.580586]mwifiex_sdio mmc2:0001:1: SDIO 功能1 (0xe8-0xf2): dc fe 8f 00 73 00 3f a7 24 14 70 [65271.594858]mwifiex_sdio mmc2:0001:1:SDIO 寄存器转储结束 [65271.610712]mwifiex_sdio mmc2:0001:1: ===mwifiex 驱动程序信息转储结束=== [65271.628592]mwifiex_sdio mmc2:0001:1: == mwifiex 固件转储开始 == [65271.666427]mwifiex_sdio mmc2:0001:1: 无法拉取 ctrl_data [65271.676062]mwifiex_sdio mmc2:0001:1:固件转储失败 [65271.693018]mwifiex_sdio mmc2:0001:1: == mwifiex 转储信息到 /sys/class/devcoredump 开始 [65271.710201]mwifiex_sdio mmc2:0001:1: == mwifiex 转储信息到 /sys/class/devcoredump 结束 [65271.723737]mwifiex_sdio mmc2:0001:1: PREP_CMD: 固件状态异常 [65271.735173]mwifiex_sdio mmc2:0001:1: 信息:mwifiex 已关闭... [65271.769056]mwifiex_sdio mmc2:0001:1: PREP_CMD: 卡已移除 [65271.812192]mwifiex_sdio mmc2:0001:1: PREP_CMD: 卡已移除 [65271.855652]蓝牙:hci0:帧重组失败(-84) [65271.870925]蓝牙:hci0:帧重组失败(-84) [65271.967852]蓝牙:hci0:帧重组失败(-84) [65272.068050]蓝牙:hci0:帧重组失败(-84) [65272.168010]蓝牙:hci0:帧重组失败(-84) [65272.268029]蓝牙:hci0:帧重组失败(-84) [65272.368215]蓝牙:hci0:帧重组失败(-84) [65272.468007]蓝牙:hci0:帧重组失败(-84) [65272.567994]蓝牙:hci0:帧重组失败(-84) [65272.668015]蓝牙:hci0:帧重组失败(-84) [65272.768055]蓝牙:hci0:帧重组失败(-84) [65272.839448]mwifiex_sdio mmc2:0001:1: 信息:固件下载完成,大小为 622240 字节 [65273.607175]mwifiex_sdio mmc2:0001:1: WLAN 固件已激活 [65273.641454]mwifiex_sdio mmc2:0001:1: 未知 api_id: 5 [65273.687228]mwifiex_sdio mmc2:0001:1: 信息: MWIFIEX 版本: mwifiex 1.0 (16.92.21.p76) [65273.713221]mwifiex_sdio mmc2:0001:1: driver_version = mwifiex 1.0 (16.92.21.p76) [65277.145122]mwifiex_sdio mmc2:0001:1: 信息:尝试关联到 BSSID ca:39:a3:cb:ad:7e [65278.668157]mwifiex_sdio mmc2:0001:1: ASSOC_RESP: 失败,状态码=2 错误=0xfffc a_id=0x3fff [65278.677711]mwifiex_sdio mmc2:0001:1: 关联失败:原因 CONNECT_ERR_ASSOC_ERR_TIMEOUT [65278.691251]mwifiex_sdio mmc2:0001:1: ASSOC_RESP: AUTH 超时 [65278.710528]mwifiex_sdio mmc2:0001:1: 信息:与 bssid ca:39:a3:cb:ad:7e 的关联失败 [65279.781236]mwifiex_sdio mmc2:0001:1: 信息:尝试关联到 BSSID ca:c6:5c:cb:ad:7e [65281.310722]mwifiex_sdio mmc2:0001:1: ASSOC_RESP: 失败,状态码=2 错误=0xfffa a_id=0x3fff [65281.320307]mwifiex_sdio mmc2:0001:1: 关联失败:原因未知连接失败 我在下面的 GitHub 链接中找到了同样的问题,但它显示该问题仍处于开放状态。 https://www.bing.com/ck/a?!&&p=6f8995a9ee8bc78d51549c45a34f5deee2c26e49fb129fa9306c277b1df3c48cJmltdHM9MTc5MDQ2NzIwMA&ptn=3&ver=2&hsh=4&fclid=28fe8c6f-37d9-6a8e-3ad5-9b0736ee6b90&psq=wifi+driver+crashes+while+trying+to+reconnect+-+88w8997&u=a1aHR0cHM6Ly9naXRodWIuY29tL254cC1pbXgvaW14LWZpcm13YXJlL2lzc3Vlcy81 提前致谢 Re: wifi driver crashes- 88w8997 您好, 感谢您提供的详细日志。根据崩溃信息,我们可以看到您正在运行固件版本 16.92.21.p76。 请注意,88W8997 已不再包含在标准的 imx 固件版本中。不过,我们有一个专门的热修复分支,其中包含最新的固件,可在此处获取: https://github.com/nxp-imx/mwifiex/tree/hotfix/lf-6.12.49_2.2.0_hotfix_w8997 https://github.com/nxp-imx/imx-firmware/tree/hotfix/lf-6.12.49_2.2.0_hotfix_w8997 我们建议您升级到该分支中提供的固件,该固件比您当前的版本新得多,并且包含稳定性修复程序,可以解决您遇到的命令超时和固件状态错误问题。 问候, 丹尼尔。
記事全体を表示
MCXN547 SC Timer0 SDKドライバーの問題 私はMCUとSDK MCXN547VKLバージョン26.06.00を使っています。 コンテキスト: 私は SCT タイマー 0 を使用して、スプリット モードの COUNTER を使用して 2 つの異なる PWM 波形を生成しています。CONFIG[UNIFY] = 0、つまり COUNT_L を 1 つの PWM ジェネレーターに、COUNT_H を別の PWM ジェネレーターに使用しています。 問題はこうです:ドライバーAPI「SCTIMER_SetCOUNTValue(SCT0,kSCTIMER_Counter_H,0U)」でCOUNTER_Hを読み込むと、バスフォールトが発生します。 問題の原因をSDKのドライバーコードに突き止めました。ドライバコードはCOUNT_H単独で16ビットの書き込みではなく、COUNT_HとCOUNT_Lの両方を32ビット書き込みで行います。COUNT_H が書き込まれている間に COUNT_L が実行されていたため、バス障害が発生しました。SDKのドライバーコードを16ビット書き込みに変更したところ、バスの故障は発生しませんでした。ドライバーコードを添付し、問題の原因となったコードラインと修正方法を色で示しました。もし本当にこれが問題なら、SDKドライバーを更新できます。- ありがとう /*! * @brief カウンターの値を設定します。 * * この機能は、カウントレジスタの値を設定することであり、COUNT_L、COUNT_H、または統合レジスタに書き込みます。 * は、対応するカウンタが停止しているとき(CTRL レジスタの HALT ビットが 1 に設定されているとき)にのみ許可されます。 * * @param base SCTimer ペリフェラル ベースアドレス * @param whichCounter SCTimer カウンターを使います。16ビットモードでは、Counter_LとCounter_Hを選択できます。 * 32ビットモードではCounter_Uを選択できます。 * @Param value COUNTレジスタへのカウンタ値の更新。 */ static inline void SCTIMER_SetCOUNTValue ( SCT_Type *base, sctimer_counter_t whichCounter, uint32_t value) { SCTIMER_StopTimer(base, ( uint32_t )whichCounter); スイッチ (whichCounter) { case kSCTIMER_Counter_L: assert(value <= 0xFFFFU); assert(0U == (base-> CONFIG & SCT_CONFIG_UNIFY_MASK)); /* ユーザーがLowカウンターを設定したいときにビットCounter_Lを使います */ base-> COUNT_ACCESS16BIT.COUNTL = ( uint16_t ) value; 壊す; case kSCTIMER_Counter_H: assert(value <= 0xFFFFU); assert(0U == (base-> CONFIG & SCT_CONFIG_UNIFY_MASK)); /* ユーザーがHighカウンターを設定したいときにCounter_Hビットを使う */ // base->COUNT = (uint32_t)base->COUNT_ACCESS16BIT.COUNTL | SCT_COUNT_CTR_H(value); base- > COUNT_ACCESS16BIT.COUNTH = ( uint16_t )value; //修正 壊す; CASE kSCTIMER_Counter_U: assert(1U == (base-> CONFIG & SCT_CONFIG_UNIFY_MASK)); /* カウンタが 32 ビットモードで動作している場合 (カウンタを統合する場合) は、Counter_L ビットと Counter_H ビットの両方を使用します。*/ base-> COUNT = value; 壊す; デフォルト: /* MISRA C-2012 問題ルール 16.4 を修正します。*/ 壊す; } SCTIMER_StartTimer(base, ( uint32_t )whichCounter); } クロック|タイマー Re: MCXN547 SC Timer0 SDK driver Issue こんにちは、 @JawaharA さん。 ご意見ありがとうございます。バス障害の原因に関するあなたの分析は正しいです。COUNT_H の更新には COUNT レジスタへの 32 ビット書き込みが使用されますが、現在の関数は H カウンタのみを停止します。Lカウンタがまだ動作している場合、この書き込みアクセスはSCTバスエラーを引き起こします。 しかし、COUNTHへの16ビット書き込みへのアクセス変更はSCTハードウェアアクセス要件に適合しません。なぜなら、COUNT_HはCOUNT_L と一緒にワードとして書かなければならないからです。正しいソフトウェアの解決策は、32ビットのCOUNTへの書き込みを行う前にLとHの両方のカウンターを停止し、その後に以前の実行状態を復元することです。別途16ビットの書き込みを使わずにSDKをレビューし、適切に更新することを推奨COUNT_H。 BR ハリー Re: MCXN547 SC Timer0 SDK driver Issue こんにちは、ハリーさん。 迅速なご対応ありがとうございます。 ご回答で参照されたマニュアルページによると、CONFIG[UNIFY] = 0の場合、COUNT_LレジスタとCOUNT_Hレジスタの両方をそれぞれカウンタが動作していない間に個別に読み書きできます。SDKはレジスタに16ビット書き込みCOUNT_L使っています。COUNT_HレジスタはCONFIG[UNIFY]の設定に関係なく32ビット書き込みで書き込む必要がありますが、これは非公式な条件でしょうか? ありがとう - ジャワハル
記事全体を表示
FRDM-MCXN236にはクーポンは適用されません NXPのウェブサイトでは、この無料ボードを使って始められると宣伝していた。しかし、在庫があるにもかかわらず、クーポンコードがチェックアウト時にまだ使えません。 評価ボード Re: Coupon not valid for FRDM-MCXN236 こんにちは、 PLACEHOLDER7 その場合は、 [email protected] までにショッピングカートチームまでメールをお送りください。 そのチームはオンライン注文を担当しています。 ご理解いただきありがとうございます。 ベッキー
記事全体を表示
「examples/freemaster_examples/fmstr_example_pdbdmにおけるアプリケーションコマンドの問題 親愛なるみんな sdk.sdk_2.x_lpcxpresso54114をダウンロードしましたFreeMASTERの例のみを使用します。アプリケーションコマンドセクションで奇妙な挙動が見つかる以外は、すべての面で正常に動作しています 詳細はGitHubに掲載されています。こちらをご覧ください。 https://github.com/nxp-mcuxpresso/mcuxsdk-examples/issues/10 敬具 パオロ Re: Application Command issue in 'examples/freemaster_examples/fmstr_example_pdbdm こんにちは、問題の理解が正しければ、例のアプリケーションでコマンド0x10がコード16を返す理由が見当たりません。 コマンド0x10はコールバック関数に登録されています。 したがって、FreeMASTERがコマンド実行をプロブリングすると、「my_appcmd_handler」関数は自動的に呼び出されます。このコールバックのサンプルコードは非常に単純です。 そのため、戻りコード16(=0x10)が回答として返されます。 また、ご報告いただいたように、ID 0x02 の app.command で、FreeMASTER に不明な応答に対するメッセージ表示に関する問題があることも確認しました。応答0xcdは「不明な応答」として報告されるべきだが、実際には何もメッセージが生成されない。 ありがとう、 ミハル
記事全体を表示
LS1046A カスタムデザインHRESET_Bリリースされていません <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、 LS1046Aプロセッサーを活用したカスタムデザインを作ろうとしています。(基板設計ではRDBを基準にしていました。)すべての電源レール電圧が正しいことを確認し、電源シーケンスのタイミングを測定したところ、すべてデータシートに記載されている許容範囲内であることが確認されました。私が経験している問題は、プロセッサーをリセットから解除できないことです。測定したところ、プロセッサーがHRESET_B信号を放っていません。リファレンスマニュアルによると、初期化中はプロセッサがこのラインを低く保ち、RCWの読み込みやPLLのロック後はリリースするそうです。RCWにエラーがあるのかと思い、代わりに内蔵のRCW値を使いました。(プロセッサに0x9Eと0x9F RCWの両方を固定しましたが、結果は同じでした。) 今のところ、私は少し途方に暮れています。クロックは納期通りに納品され、スルーレートはすべて仕様範囲内であり、ストラップ値を解放する前に適切な時間保持しています。リファレンスマニュアルには、PBLがエラーに遭遇した場合にRESET_REQ信号を切り替えると書かれていますが、私はそのような現象は見ていません。私の現時点での結論は、PBLが実行されていないということです。これはプロセッサがまだリセット状態にあるサインです。 何か見落としている点があるのでしょうか?次にどこを探せばいいでしょうか?私のタイミングは仕様の範囲内ですが、RDBとは完全に一致しません(ボード上の関連信号をプローブしました)。LS1046の電源シーケンス制御はどの程度敏感ですか? よろしくお願いいたします。 Re: LS1046A Custom Design HRESET_B not released こんにちは、ブライス 正しい方向にするためにどのシーケンスを変更したのか説明してもらえますか?現在、私もカスタムLS1046Aボードで同様の問題に直面しています。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 上記のご回答、ありがとうございました。 最後に、CPLDコードのパワーシーケンスの問題を解決しました。元のコードがこの問題を引き起こしていたため、コードを書き直したところ、問題は解消されました。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> プロセッサ接続の回路図を確認できるように、技術CASEを作成してください。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ハードウェアには、フラッシュメモリから取得したRCWではなく、ハードコードされたRCWを使用するように設定しました。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> RCWが外部フラッシュメモリから読み取られているかどうかを、デジタルオシロスコープを使用して確認してください。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、 ご回答ありがとうございます。上記すべてが良好な状態であることを確認しました。ただし、最後の点について一つ質問があります。これは電源投入リセットシーケンスを完了するために必要な手順なのでしょうか?先ほど述べたように、RESET_REQ信号を観測できないため、PBLの実行はできないと考えています。SerDesリファレンスクロックは、PBLを実行するために必須ですか、それともPBLがシステムをセットアップしている段階で必要になりますか? よろしくお願いします。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 最初の確認段階として、以下を点検してください。 1) QorIQ LS1046A、LS1026Aデータシートの表1の注記に明示的に記載されているすべての信号のPORレベル。バスごとのピン配置リスト。 2) HRESET_Bは外部からアサートされない 3) SerDesリファレンスクロックはデータシートの要件に準拠しています。 問題が解決しない場合は、次のブリングアップステージを技術ケースとして行う方が便利です。 https://community.nxp.com/thread/381898
記事全体を表示
LS1046A Custom Design HRESET_B not released Hello, I am working to bringup a custom design making use of the LS1046A processor. (Board design used the RDB as a reference).  I have verified that all power rail voltages are correct and have have measured the power sequencing timing which all appear to be withing the tolerances found in the datasheet. The issue I am experiencing is that I am not able to bring the processor out of reset. When measuring, I found that the processor is not releasing the HRESET_B signal. The reference manual indicates that the processor will hold this line low while it is performing initialization and will release it after loading the RCW and locking PLL's, etc. Thinking perhaps I had an error in my RCW, I used the built-in RCW values instead. (I strapped the processor with both the 0x9E and 0x9F RCW values with the same result). At this point, I'm at a bit of a loss. My clocks are provided on time, my slew rates are all within spec, and I am holding the strapping values for the correct amount of time before releasing them. The reference manual also indicates that the PBL will toggle the RESET_REQ signal if it has encountered an error, but I am not seeing this happen. So my conclusion currently is that the PBL is not even being executed which, to me, is a sign that the processor is still in a reset state. Is there something here that I am missing? Anywhere I should look next? My timings are within spec, but do not match the RDB exactly (I probed the relevant signals on the board). How sensitive is the power sequencing on the LS1046? Thanks in advance. Re: LS1046A Custom Design HRESET_B not released Hi bryce  Can you explain what sequence did you chnage to get it right? Currently I am also facing similar issue with cutsom ls1046a board Re: LS1046A Custom Design HRESET_B not released Thank you for your above answers. To tie off the thread, I have solved the issue with the power sequencing in my CPLD code. Because the original code I had was causing this issue, I re-wrote it and I no longer see the issue.  Re: LS1046A Custom Design HRESET_B not released Please create a Technical Case so I will be able to check the processor connection schematics. Re: LS1046A Custom Design HRESET_B not released We have strapped the hardware to use the hard-coded RCW, not the RCW from flash. Re: LS1046A Custom Design HRESET_B not released Please use a digital scope to check whether RCW is read from an external flash. Re: LS1046A Custom Design HRESET_B not released Hello, Thanks for your response.  I have verified that all of the above are in a good state. One question I did have about your last point, however: Is this required in order for the power-on reset sequence to complete? As I stated earlier, we are not able to observe the RESET_REQ signal, so I believe we are unable to execute the PBL. Are SerDes reference clocks required in order execute the PBL, or are they required later on while PBL is already setting up the system? Thanks Re: LS1046A Custom Design HRESET_B not released As first checking stage please inspect: 1) POR levels of all signals explicitly mentioned in the notes to the QorIQ LS1046A, LS1026A Data Sheet, Table 1. Pinout list by bus. 2) HRESET_B is not asserted externally 3) SerDes reference clocks conform to the Data Sheet requirements. If the issue will not be resolved, it is more convenient to perform next bring-up stage as Technical Case: https://community.nxp.com/thread/381898 
記事全体を表示
此优惠券不适用于 FRDM-MCXN236 NXP 网站宣传了这款免费板。但是即使商品有库存,结账时优惠券代码仍然无法使用。 评估板 Re: Coupon not valid for FRDM-MCXN236 你好PLACEHOLDER7 在这种情况下,请您发送电子邮件至[email protected]联系我们的购物车团队。 该团队负责处理线上订单。 谢谢您的理解 贝基
記事全体を表示
LS1046A 定制设计 HRESET_B 未发布 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好, 我正在努力开发一个使用 LS1046A 处理器的定制设计。(电路板设计参考了RDB。)我已经确认所有电源轨电压均正确,并且测量了电源时序时序,所有参数似乎都在数据手册规定的容差范围内。我遇到的问题是无法将处理器从重置状态中恢复。测量时,我发现处理器没有释放 HRESET_B 信号。参考手册指出,处理器在执行初始化时会将此线路保持低电平,并在加载 RCW 和锁定 PLL 等操作后将其释放。考虑到我的 RCW 设置可能有误,我改用了内置的 RCW 值。(我分别用 0x9E 和 0x9F RCW 值给处理器加装了 RCW 参数,结果相同)。 此时此刻,我有点不知所措。我的时钟按时交付,我的转换速率均在规格范围内,并且在释放之前,我会将捆扎值保持正确的时间。参考手册还指出,如果 PBL 遇到错误,它会切换 RESET_REQ 信号,但我没有看到这种情况发生。因此,我目前的结论是 PBL 根本没有执行,在我看来,这表明处理器仍处于 RESET 状态。 我是不是漏掉了什么?接下来我应该从哪里入手?我的时序符合规格,但与 RDB 不完全匹配(我探测了板上的相关信号)。LS1046的电源时序控制有多敏感? 先行致谢。 Re: LS1046A Custom Design HRESET_B not released 嗨,布莱斯 你能解释一下你修改了哪些步骤才做对了吗?目前我也遇到了类似的问题,使用的是定制的LS1046A主板。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 感谢您之前的解答。 最后,我已经解决了 CPLD 代码中的电源时序问题。由于我之前的代码导致了这个问题,所以我重写了代码,现在问题已经解决了。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 请创建一份技术案例,以便我能够查看处理器连接原理图。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我们已经将硬件绑定到使用硬编码的 RCW,而不是来自闪存的 RCW。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 请使用数字示波器检查是否能从外部闪存读取 RCW。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好, 谢谢你的回复。我已经确认以上所有物品都处于良好状态。关于您最后一点,我还有一个问题:这是上电复位序列完成的必要条件吗?正如我之前所说,我们无法观察到 RESET_REQ 信号,所以我认为我们无法执行 PBL。SerDes 参考时钟是执行 PBL 所必需的,还是在 PBL 设置系统时才需要的? 谢谢! Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 第一阶段检查请检查: 1) QorIQ LS1046A、LS1026A 数据表表 1 中明确提及的所有信号的 POR 水平。按总线列出引脚图。 2) HRESET_B 未被外部钳位 3) SerDes 参考时钟符合数据手册的要求。 如果问题无法解决,则更方便地将下一阶段的启动工作作为技术案例来执行: https://community.nxp.com/thread/381898
記事全体を表示
Application Command issue in 'examples/freemaster_examples/fmstr_example_pdbdm Dear All Downloaded sdk.sdk_2.x_lpcxpresso54114 with only FreeMASTER examples. It works correctly in any aspect apart the Application Command section where I find strange behavior More details has been posted in github here: https://github.com/nxp-mcuxpresso/mcuxsdk-examples/issues/10 Regards Paolo Re: Application Command issue in 'examples/freemaster_examples/fmstr_example_pdbdm Hello, if I understand the issue correctly, you do not see a reason why command 0x10 returns code 16 in the example application. The command 0x10 is registered for a callback function: So the function "my_appcmd_handler" gets called automatically when FreeMASTER probes the command execution.  The example code of this callback is quite trivial: Which is the reason you get the return code 16 (=0x10) as answer. I also confirm there is an issue in FreeMASTER with displaying a message for unknown responses as you reported for app.command with Id 0x02. The response 0xcd should be reported as "unknown response" but generates no message at all. Thanks, Michal
記事全体を表示
wifi driver crashes- 88w8997 I am facing an intermittent Wi-Fi driver crash issue with the FN-Link L297B-SR module (Wi-Fi and Bluetooth sharing a single antenna). The issue occurs randomly, sometimes after 1 day, sometimes after 2 days, and occasionally only after 4 to 5 days of continuous operation. please check the logs  [64622.321614] mwifiex_sdio mmc2:0001:1: info: successfully disconnected from ca:c6:5c:cb:ad:7e: reason code 3 [64624.050010] mwifiex_sdio mmc2:0001:1: info: trying to associate to bssid ca:c6:5c:cb:ad:7e [64624.072596] mwifiex_sdio mmc2:0001:1: event: unknown event id: 0x95 [64624.085770] mwifiex_sdio mmc2:0001:1: info: associated to bssid ca:c6:5c:cb:ad:7e successfully [64987.640381] Bluetooth: hci0: Frame reassembly failed (-84) [65060.466817] Bluetooth: hci0: Frame reassembly failed (-84) [65184.303423] mwifiex_sdio mmc2:0001:1: info: successfully disconnected from ca:c6:5c:cb:ad:7e: reason code 0 [65204.712100] ieee80211 phy0: sched_scan start : n_ssids=4 n_match_sets=4 [65204.725038] ieee80211 phy0: n_channels=41 interval=10 ie_len=13 [65259.046894] ieee80211 phy0: sched scan stop! [65259.067983] mwifiex_sdio mmc2:0001:1: info: trying to associate to bssid ca:c6:5c:cb:ad:7e [65260.594440] mwifiex_sdio mmc2:0001:1: ASSOC_RESP: failed, status code=2 err=0xfffa a_id=0x3fff [65260.611662] mwifiex_sdio mmc2:0001:1: assoc failure: reason Unknown connect failure [65260.624191] mwifiex_sdio mmc2:0001:1: info: association to bssid ca:c6:5c:cb:ad:7e failed [65260.636278] ieee80211 phy0: sched_scan start : n_ssids=4 n_match_sets=4 [65260.645499] ieee80211 phy0: n_channels=41 interval=10 ie_len=13 [65271.191030] mwifiex_sdio mmc2:0001:1: mwifiex_cmd_timeout_func: Timeout cmd id = 0x6b, act = 0x1 [65271.199985] mwifiex_sdio mmc2:0001:1: num_data_h2c_failure = 0 [65271.205896] mwifiex_sdio mmc2:0001:1: num_cmd_h2c_failure = 0 [65271.211654] mwifiex_sdio mmc2:0001:1: is_cmd_timedout = 1 [65271.217064] mwifiex_sdio mmc2:0001:1: num_tx_timeout = 0 [65271.222454] mwifiex_sdio mmc2:0001:1: last_cmd_index = 0 [65271.227893] mwifiex_sdio mmc2:0001:1: last_cmd_id: 6b 00 28 00 16 00 12 00 6b 00 [65271.235303] mwifiex_sdio mmc2:0001:1: last_cmd_act: 01 00 13 00 01 00 ca c6 01 00 [65271.242862] mwifiex_sdio mmc2:0001:1: last_cmd_resp_index = 4 [65271.248670] mwifiex_sdio mmc2:0001:1: last_cmd_resp_id: 0c 81 28 80 16 80 12 80 6b 80 [65271.256568] mwifiex_sdio mmc2:0001:1: last_event_index = 3 [65271.262131] mwifiex_sdio mmc2:0001:1: last_event: 18 00 0b 00 0a 00 65 00 0a 00 [65271.269514] mwifiex_sdio mmc2:0001:1: data_sent=0 cmd_sent=1 [65271.275248] mwifiex_sdio mmc2:0001:1: ps_mode=1 ps_state=0 [65271.281497] mwifiex_sdio mmc2:0001:1: Ignore scan. Card removed or firmware in bad state [65271.290880] mwifiex_sdio mmc2:0001:1: ===mwifiex driverinfo dump start=== [65271.317907] mwifiex_sdio mmc2:0001:1: info: MWIFIEX VERSION: mwifiex 1.0 (16.92.21.p76) [65271.326650] mwifiex_sdio mmc2:0001:1: scan failed: -14 [65271.350746] mwifiex_sdio mmc2:0001:1: SDIO register dump start [65271.369462] mwifiex_sdio mmc2:0001:1: SDIO Func0 (0x0-0x9): 43 03 02 02 03 02 00 02 03 00 [65271.385505] mwifiex_sdio mmc2:0001:1: SDIO Func1 (0x10-0x17): 00 00 00 00 00 00 e0 ff [65271.396619] mwifiex_sdio mmc2:0001:1: SDIO Func1: (0x8) c3 (0x58) 00 (0x5c) 48 (0x5d) 00 (0x60) 07 (0x61) 0c (0x62) 00 (0x64) 10 (0x65) 00 (0x66) 00 (0x68) 00 (0x69) 00 (0x6a) 00 [65271.416154] mwifiex_sdio mmc2:0001:1: SDIO Func1 (0xe8-0xf2): dc fe 7e 00 62 00 3f a7 24 14 70 [65271.580586] mwifiex_sdio mmc2:0001:1: SDIO Func1 (0xe8-0xf2): dc fe 8f 00 73 00 3f a7 24 14 70 [65271.594858] mwifiex_sdio mmc2:0001:1: SDIO register dump end [65271.610712] mwifiex_sdio mmc2:0001:1: ===mwifiex driverinfo dump end=== [65271.628592] mwifiex_sdio mmc2:0001:1: == mwifiex firmware dump start == [65271.666427] mwifiex_sdio mmc2:0001:1: Fail to pull ctrl_data [65271.676062] mwifiex_sdio mmc2:0001:1: firmware dump failed [65271.693018] mwifiex_sdio mmc2:0001:1: == mwifiex dump information to /sys/class/devcoredump start [65271.710201] mwifiex_sdio mmc2:0001:1: == mwifiex dump information to /sys/class/devcoredump end [65271.723737] mwifiex_sdio mmc2:0001:1: PREP_CMD: FW is in bad state [65271.735173] mwifiex_sdio mmc2:0001:1: info: shutdown mwifiex... [65271.769056] mwifiex_sdio mmc2:0001:1: PREP_CMD: card is removed [65271.812192] mwifiex_sdio mmc2:0001:1: PREP_CMD: card is removed [65271.855652] Bluetooth: hci0: Frame reassembly failed (-84) [65271.870925] Bluetooth: hci0: Frame reassembly failed (-84) [65271.967852] Bluetooth: hci0: Frame reassembly failed (-84) [65272.068050] Bluetooth: hci0: Frame reassembly failed (-84) [65272.168010] Bluetooth: hci0: Frame reassembly failed (-84) [65272.268029] Bluetooth: hci0: Frame reassembly failed (-84) [65272.368215] Bluetooth: hci0: Frame reassembly failed (-84) [65272.468007] Bluetooth: hci0: Frame reassembly failed (-84) [65272.567994] Bluetooth: hci0: Frame reassembly failed (-84) [65272.668015] Bluetooth: hci0: Frame reassembly failed (-84) [65272.768055] Bluetooth: hci0: Frame reassembly failed (-84) [65272.839448] mwifiex_sdio mmc2:0001:1: info: FW download over, size 622240 bytes [65273.607175] mwifiex_sdio mmc2:0001:1: WLAN FW is active [65273.641454] mwifiex_sdio mmc2:0001:1: Unknown api_id: 5 [65273.687228] mwifiex_sdio mmc2:0001:1: info: MWIFIEX VERSION: mwifiex 1.0 (16.92.21.p76) [65273.713221] mwifiex_sdio mmc2:0001:1: driver_version = mwifiex 1.0 (16.92.21.p76) [65277.145122] mwifiex_sdio mmc2:0001:1: info: trying to associate to bssid ca:39:a3:cb:ad:7e [65278.668157] mwifiex_sdio mmc2:0001:1: ASSOC_RESP: failed, status code=2 err=0xfffc a_id=0x3fff [65278.677711] mwifiex_sdio mmc2:0001:1: assoc failure: reason CONNECT_ERR_ASSOC_ERR_TIMEOUT [65278.691251] mwifiex_sdio mmc2:0001:1: ASSOC_RESP: AUTH timeout [65278.710528] mwifiex_sdio mmc2:0001:1: info: association to bssid ca:39:a3:cb:ad:7e failed [65279.781236] mwifiex_sdio mmc2:0001:1: info: trying to associate to bssid ca:c6:5c:cb:ad:7e [65281.310722] mwifiex_sdio mmc2:0001:1: ASSOC_RESP: failed, status code=2 err=0xfffa a_id=0x3fff [65281.320307] mwifiex_sdio mmc2:0001:1: assoc failure: reason Unknown connect failure I found same issue on below github link but it show it is still open https://www.bing.com/ck/a?!&&p=6f8995a9ee8bc78d51549c45a34f5deee2c26e49fb129fa9306c277b1df3c48cJmltdHM9MTc5MDQ2NzIwMA&ptn=3&ver=2&hsh=4&fclid=28fe8c6f-37d9-6a8e-3ad5-9b0736ee6b90&psq=wifi+driver+crashes+while+trying+to+reconnect+-+88w8997&u=a1aHR0cHM6Ly9naXRodWIuY29tL254cC1pbXgvaW14LWZpcm13YXJlL2lzc3Vlcy81 thanks in advance Re: wifi driver crashes- 88w8997 Hi, Thank you for the detailed logs. Based on the crash information, we can see you are running firmware version 16.92.21.p76. Please note that the 88W8997 is no longer included in the standard imx-firmware releases. However, we have a dedicated hotfix branch with the latest firmware available here: https://github.com/nxp-imx/mwifiex/tree/hotfix/lf-6.12.49_2.2.0_hotfix_w8997 https://github.com/nxp-imx/imx-firmware/tree/hotfix/lf-6.12.49_2.2.0_hotfix_w8997 We recommend upgrading to the firmware available in that branch, which is significantly newer than your current version and includes stability fixes that may address the command timeout and firmware bad state issue you are experiencing. Regards, Daniel.
記事全体を表示
'examples/freemaster_examples/fmstr_example_pdbdm' 中的应用程序命令问题 各位 已下载 sdk.sdk_2.x_lpcxpresso54114仅提供 FreeMASTER 示例。除了应用程序命令部分之外,其他方面都运行正常,而我在应用程序命令部分发现了一些奇怪的行为。 更多详情已发布在 GitHub 上,链接如下: https://github.com/nxp-mcuxpresso/mcuxsdk-examples/issues/10 祝好 Paolo Re: Application Command issue in 'examples/freemaster_examples/fmstr_example_pdbdm 您好,如果我理解正确的话,您不明白为什么示例应用程序中的命令 0x10 返回代码 16。 命令 0x10 已注册为回调函数: 因此,当FreeMASTER探测到命令执行时,函数“my_appcmd_handler”会自动被调用。这个回调函数的示例代码非常简单: 这就是为什么你会得到返回代码 16 (=0x10) 作为答案的原因。 我也确认 FreeMASTER 存在一个问题,即对于未知响应,无法显示消息,正如您报告的 app.command(ID 为 0x02)的问题一样。响应 0xcd 应该报告为“未知响应”,但实际上并未生成任何消息。 谢谢, 米哈尔
記事全体を表示
Coupon not valid for FRDM-MCXN236 NXP Website advertised this free board to get started . But the coupon code is still not working during checkout even though the product is in stock.  Evaluation Board Re: Coupon not valid for FRDM-MCXN236 Hello PLACEHOLDER7 In this case, please kindly send an email to our shopping cart team by [email protected]. The team is in charge of online orders. Thanks for understanding Becky
記事全体を表示
MPXV7002DP 与液化石油气和丙烷兼容 你好, 我是一名即将毕业的学生。我目前正在做一个项目,需要测量家用液化石油气管道中的压差。管路中的正常压力约为 2.30 kPa 至 3.60 kPa。我查阅了它的数据手册,但上面并没有明确说明它是否兼容液化石油气。所以,如果有人以前尝试过,或者有任何技术官员可以告诉我相关信息。 谢谢 。 Re: MPXV7002DP compatibility with LPG and Propane 你好, 截至 2026 年 2 月 2 日,NXP MEMS 传感器产品已转移至意法半导体。如需更多信息和支持,请联系意法半导体。
記事全体を表示
WiFiドライバがクラッシュする - 88w8997 FN-Link L297B-SRモジュール(Wi-FiとBluetoothが同じアンテナを共有している)で、断続的にWi-Fiドライバのクラッシュ問題に直面しています。この問題はランダムに発生し、1日後、2日後、あるいは4~5日間連続稼働した後にのみ発生することもあります。 ログを確認してください [64622.321614]mwifiex_sdio mmc2:0001:1: 情報: ca:c6:5c:cb:ad:7e から正常に切断されました: 理由コード 3 [64624.050010]mwifiex_sdio mmc2:0001:1: 情報: bssid ca:c6:5c:cb:ad:7e に接続しようとしています [64624.072596]mwifiex_sdio MMC2:0001:1: イベント:不明 イベント ID: 0x95 [64624.085770]mwifiex_sdio mmc2:0001:1: 情報: bssid ca:c6:5c:cb:ad:7e に正常に関連付けられました [64987.640381]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65060.466817]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65184.303423]mwifiex_sdio mmc2:0001:1: 情報: ca:c6:5c:cb:ad:7e から正常に切断されました: 理由コード 0 [65204.712100]ieee80211 phy0: sched_scan 開始: n_ssids=4 n_match_sets=4 [65204.725038]ieee80211 phy0: n_channels=41 interval=10 ie_len=13 [65259.046894]ieee80211 phy0: スケジュールされたスキャンを停止します! [65259.067983]mwifiex_sdio mmc2:0001:1: 情報: bssid ca:c6:5c:cb:ad:7e に接続しようとしています [65260.594440]mwifiex_sdio mmc2:0001:1: ASSOC_RESP: 失敗、ステータスコード=2、エラー=0xfffa、a_id=0x3fff [65260.611662]mwifiex_sdio mmc2:0001:1: 関連付け失敗: 理由不明 接続失敗 [65260.624191]mwifiex_sdio mmc2:0001:1: 情報: bssid ca:c6:5c:cb:ad:7e への関連付けに失敗しました [65260.636278]ieee80211 phy0: sched_scan 開始: n_ssids=4 n_match_sets=4 [65260.645499]ieee80211 phy0: n_channels=41 interval=10 ie_len=13 [65271.191030]mwifiex_sdio mmc2:0001:1: mwifiex_cmd_timeout_func: タイムアウト コマンド ID = 0x6b、アクション = 0x1 [65271.199985]mwifiex_sdio mmc2:0001:1: num_data_h2c_failure = 0 [65271.205896]mwifiex_sdio mmc2:0001:1: num_cmd_h2c_failure = 0 [65271.211654]mwifiex_sdio mmc2:0001:1: is_cmd_timedout = 1 [65271.217064]mwifiex_sdio mmc2:0001:1: num_tx_timeout = 0 [65271.222454]mwifiex_sdio mmc2:0001:1: last_cmd_index = 0 [65271.227893]mwifiex_sdio mmc2:0001:1: last_cmd_id: 6b 00 28 00 16 00 12 00 6b 00 [65271.235303]mwifiex_sdio mmc2:0001:1: last_cmd_act: 01 00 13 00 01 00 ca c6 01 00 [65271.242862]mwifiex_sdio mmc2:0001:1: last_cmd_resp_index = 4 [65271.248670]mwifiex_sdio mmc2:0001:1: last_cmd_resp_id: 0c 81 28 80 16 80 12 80 6b 80 [65271.256568]mwifiex_sdio mmc2:0001:1: last_event_index = 3 [65271.262131]mwifiex_sdio mmc2:0001:1: last_event: 18 00 0b 00 0a 00 65 00 0a 00 [65271.269514]mwifiex_sdio mmc2:0001:1: data_sent=0 cmd_sent=1 [65271.275248]mwifiex_sdio mmc2:0001:1: ps_mode=1 ps_state=0 [65271.281497]mwifiex_sdio mmc2:0001:1: スキャンを無視します。カードが取り外されたか、ファームウェアの状態が不良です。 [65271.290880]mwifiex_sdio mmc2:0001:1: ===mwifiex ドライバ情報ダンプ開始=== [65271.317907]mwifiex_sdio mmc2:0001:1: 情報: MWIFIEX バージョン: mwifiex 1.0 (16.92.21.p76) [65271.326650]mwifiex_sdio mmc2:0001:1: スキャン失敗: -14 [65271.350746]mwifiex_sdio mmc2:0001:1: SDIO レジスタ ダンプの開始 [65271.369462]mwifiex_sdio mmc2:0001:1: SDIO Func0 (0x0-0x9): 43 03 02 02 03 02 00 02 03 00 [65271.385505]mwifiex_sdio mmc2:0001:1: SDIO Func1 (0x10-0x17): 00 00 00 00 00 00 e0 ff [65271.396619]mwifiex_sdio mmc2:0001:1: SDIO Func1: (0x8) c3 (0x58) 00 (0x5c) 48 (0x5d) 00 (0x60) 07 (0x61) 0c (0x62) 00 (0x64) 10 (0x65) 00 (0x66) 00 (0x68) 00 (0x69) 00 (0x6a) 00 [65271.416154]mwifiex_sdio mmc2:0001:1: SDIO Func1 (0xe8-0xf2): dc fe 7e 00 62 00 3f a7 24 14 70 [65271.580586]mwifiex_sdio mmc2:0001:1: SDIO Func1 (0xe8-0xf2): dc fe 8f 00 73 00 3f a7 24 14 70 [65271.594858]mwifiex_sdio mmc2:0001:1: SDIO レジスタ ダンプ終了 [65271.610712]mwifiex_sdio mmc2:0001:1: ===mwifiex ドライバ情報ダンプ終了=== [65271.628592]mwifiex_sdio mmc2:0001:1: == mwifiex ファームウェアダンプ開始 == [65271.666427]mwifiex_sdio mmc2:0001:1: ctrl_data の取得に失敗しました [65271.676062]mwifiex_sdio mmc2:0001:1: ファームウェアのダンプに失敗しました [65271.693018]mwifiex_sdio mmc2:0001:1: == mwifiex ダンプ情報を /sys/class/devcoredump に開始 [65271.710201]mwifiex_sdio mmc2:0001:1: == mwifiex ダンプ情報を /sys/class/devcoredump に出力終了 [65271.723737]mwifiex_sdio mmc2:0001:1: PREP_CMD: FW が異常な状態です [65271.735173]mwifiex_sdio mmc2:0001:1: 情報: mwifiex をシャットダウンします... [65271.769056]mwifiex_sdio mmc2:0001:1: PREP_CMD: カードが取り外されました [65271.812192]mwifiex_sdio mmc2:0001:1: PREP_CMD: カードが取り外されました [65271.855652]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65271.870925]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65271.967852]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65272.068050]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65272.168010]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65272.268029]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65272.368215]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65272.468007]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65272.567994]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65272.668015]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65272.768055]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65272.839448]mwifiex_sdio mmc2:0001:1: 情報: ファームウェアのダウンロードが完了しました。サイズは622240バイトです。 [65273.607175]mwifiex_sdio mmc2:0001:1: WLAN FW がアクティブです [65273.641454]mwifiex_sdio mmc2:0001:1: 不明なapi_id: 5 [65273.687228]mwifiex_sdio mmc2:0001:1: 情報: MWIFIEX バージョン: mwifiex 1.0 (16.92.21.p76) [65273.713221]mwifiex_sdio mmc2:0001:1: ドライバーバージョン = mwifiex 1.0 (16.92.21.p76) [65277.145122]mwifiex_sdio mmc2:0001:1: 情報: bssid ca:39:a3:cb:ad:7e に接続しようとしています [65278.668157]mwifiex_sdio mmc2:0001:1: ASSOC_RESP: 失敗、ステータスコード=2、エラー=0xfffc、a_id=0x3fff [65278.677711]mwifiex_sdio mmc2:0001:1: アソシエーション失敗: 理由 CONNECT_ERR_ASSOC_ERR_TIMEOUT [65278.691251]mwifiex_sdio mmc2:0001:1: ASSOC_RESP: 認証タイムアウト [65278.710528]mwifiex_sdio mmc2:0001:1: 情報: bssid ca:39:a3:cb:ad:7e への関連付けに失敗しました [65279.781236]mwifiex_sdio mmc2:0001:1: 情報: bssid ca:c6:5c:cb:ad:7e に接続しようとしています [65281.310722]mwifiex_sdio mmc2:0001:1: ASSOC_RESP: 失敗、ステータスコード=2、エラー=0xfffa、a_id=0x3fff [65281.320307]mwifiex_sdio mmc2:0001:1: 関連付け失敗: 理由不明 接続失敗 以下のGitHubリンクで同じ問題を見つけましたが、まだ解決されていないようです。 https://www.bing.com/ck/a?!&&p=6f8995a9ee8bc78d51549c45a34f5deee2c26e49fb129fa9306c277b1df3c48cJmltdHM9MTc5MDQ2NzIwMA&ptn=3&ver=2&hsh=4&fclid=28fe8c6f-37d9-6a8e-3ad5-9b0736ee6b90&psq=wifi+driver+crashes+while+trying+to+reconnect+-+88w8997&u=a1aHR0cHM6Ly9naXRodWIuY29tL254cC1pbXgvaW14LWZpcm13YXJlL2lzc3Vlcy81 前もって感謝します Re: wifi driver crashes- 88w8997 こんにちは、 詳細なログをありがとうございます。クラッシュ情報から、ファームウェアバージョン16.92.21.p76を使用していることが確認できます。 88W8997は標準のimxファームウェアリリースには含まれなくなりましたのでご注意ください。ただし、最新のファームウェアを含む専用のホットフィックスブランチがこちらにあります。 https://github.com/nxp-imx/mwifiex/tree/hotfix/lf-6.12.49_2.2.0_hotfix_w8997 https://github.com/nxp-imx/imx-firmware/tree/hotfix/lf-6.12.49_2.2.0_hotfix_w8997 お使いのバージョンよりも大幅に新しい、そのブランチで利用可能なファームウェアへのアップグレードをお勧めします。このバージョンには、コマンドタイムアウトやファームウェアの異常状態といった、お客様が経験されている問題に対処する可能性のある安定性の修正が含まれています。 よろしくお願いいたします。 ダニエル。
記事全体を表示
LS1046Aカスタムボード:eMMC、SDカード、QSPIからのコールドブートが失敗。CodeWarrior RCW適用によりU-Bootが有効化される。 こんにちは、 LS1046ARDBデザインに基づくカスタムLS1046Aボードを導入します。自律コールドブートは失敗していますが、CodeWarriorやQCVSの介入によりプロセッサはBL2、BL31、U-Bootコンソールに到達できます。eMMC、SDカード、QSPI NORでコールドブートの失敗を観察しているので、共通のリセット/クロック/PBL経路の分離方法についてのアドバイスをいただけるとありがたいです。 プラットフォームとLS1046ARDBとの違い 項目 カスタムボード構成 プロセッサ LS1046AE Rev. 1.0; U-BootはSVRを報告します 0x87070010 電源/リセット制御 CPLDなし。STM32 BMC、PCA9539 I/Oエキスパンダ、レベルトランスレータ、およびディスクリートリセット回路が、シーケンス処理とSD/eMMCの選択を実装します。 DDR 4 GiB、シングルランク、64ビット非ECC DDR4、初期化済み 1600 MT/秒。これは、RDB比較で使用した8GiB ECC構成とは異なります。アシストブート後、DDRの初期化は成功しました。ただし、完全なメモリマージン認定はまだ保留中です。 クロック 100MHzのプライマリ基準。動作支援構成では、シングルエンドSYSCLK選択を使用します。DDRは差動参照パスを使用する。U-BootはCPUが1800 MHz、プラットフォームが600 MHz、FManが700 MHzと報告しています。 EMMC マクロニックス MX52LM08A11XVIは、RDBデバイスとは異なります。U-Bootは製造元、名称 0xc2 M08A11、MMC 5.1、約7.3 GiBのユーザー容量 識別します。 SD/eMMCインターフェース BMC制御による選択とEVDD:eMMCの場合は1.8V、SDの場合は3.3V。 QSPI NOR S25FS512S、デバイスあたり64MiB。この基板ではNOR検出に成功しました。 他のプリフェラル カスタムイーサネット/PHYルーティングおよびSerDes構成;PCIeデバイスは使用されません。 ソフトウェア A1固有のボード/デバイスツリーの変更、TF-A v2.12.0に基づく lf-6.12.49-2.2.0、U-Boot 2025.04。U-Bootのウォッチドッグは起動時には無効になっています。 リセットネットワークもこの調査中に再構築され、競合するプロセッサ-PORドライバブランチが分離され、BMCからTRSTへの直接ドライブが切断され、ハードウェアPOR/TRST結合パスが取り付けられました。BMCによるHRETセンサーは接続されたままです。 最新のネイティブコールドブーツ観察結果 BMCシーケンスにおいて、意図せず早期にSoCリセットが発生していたことを発見し、修正しました。続いて、CodeWarriorやQCVSの操作を一切行わずに完全に電源をオフにした状態から取得したスコープキャプチャは以下のとおりです。 - BMCがプロセッサリセットを解除するとPORESET_Bが上昇します。 - eMMCのCLKおよびCMDアクティビティは、そのエッジの後に開始されます。 - 通常のBL2/U-Bootコンソール出力は表示されません。以前の試みでは、無効なUART文字しか得られなかった。 - HRESET_Bとラベル付けされたトレースはHIGH(約1.8 V)のままです。キャプチャされたeMMC活動の前後にLOWの主張は観測されません。BMC HRESET入力も繰り返しHIGHを読み取る。 CodeWarrior/QCVSの動作 コールドブートストール中、CodeWarrior InspectはJTAGチェーンに「CortexA72#0」が見つからないことを報告し、RCWの確認やRCWオーバーライドの有効化を推奨します。 しかし、RCW適用を有効にしてデバッグをクリックするか、QCVS経由でRCWを適用すると、ブートが進行します。UARTがU-Bootに到達しているにもかかわらず、Debugが「コアがデバッグモードではありません」と報告することがあります。他の試行では、ターゲットが停止し、「continue」によってブートが完了する。 初期化スクリプトを以下のように簡略化しました。 from cw.dbg import ta def run_init_file(): target = ta.create() target.rcw.set_source(0x40) target.rcw.set_data({13:0x00004504}) target.rcw.apply() 物理ストラップはSD/eMMCソース「0x40」に設定されました。入力されたワード13は、eMMCに既に保存されている値と同一です。この簡略化されたスクリプトにより、アシストブートも可能になった。同じ単語を使用して「set_source(0x9E)」を個別にテストしたところ、こちらも成功しました。 この簡略化されたスクリプトには、DDR初期化、BRR、PC、SCTLR、または再開操作は明示的に含まれていません。「rcw.apply()」とデバッガ起動フレームワークは内部リセットや実行制御操作を依然として実行できることを認識しています。これは受動的なアタッチではありません。 支援を受けて、16語すべてのRCWSR語が意図されたメディアRCWと一致しました。BL2はOCRAM内に存在し、計測されたブートチェーンはDDR初期化、eMMC/FIPロード、BL31およびU-Bootを完了した。介入後の「RSTRQPBLSR」の読み取り数はゼロでしたが、これらは元の低温障害状態を捉えたものとは考えていません。 既に実施されたテスト テスト観察 eMMCからのネイティブブート 自律的なコンソール起動は行われず、デバッガ支援によるリカバリによってU-Bootに到達する。 SDカードからのネイティブブート BMCがSDを検出/選択したにもかかわらず、同様のコールドブート失敗が発生した。アシストブートは可能だった。 QSPI NORからのネイティブブート 最新のテストでは、コールドブートの不具合も確認された。三つのメディアが同じ内部段階で止まることはまだ確立されていません。 スタンドアロンのハードコードされたソースストラップ 0x9E そして 0x9F その後のテストでは、期待されていたスタンドアロンリセットの進行状況は得られなかった。ハードコードされたRCWだけでは完全なU-Bootイメージにはならないことは理解しています。 安全なRCWを有効にした標準RDB初期化 回復は可能でしたが、DDRやCPUの状態、ペリフェラルも変更するため、これは単発のテストではありませんでした。 上記の最小限の適用専用スクリプト ソースリクエストを使用すれば、ワード13が保存値と等しい場合でも復旧可能です。 0x9E そして 0x40。 QCVS RCWテスト/リードバック テストは合格し、介入後の読み出し結果は意図した構成と一致した。ネイティブフェッチは未検証です。 3つのPCIe PBIアクセスを削除しました ネイティブコールドブートに改善は見られなかった。 SerDes2を無効にした後、両方のSerDesブロックを無効にします。 改善は見られない。アシストされたU-Bootログにより、変更されたRCWワードが確認された。 DDR診断 SPDの読み取りと4GiBの初期化は、支援を受けた後、1600MT/sで成功しました。ただし、完全なマージンテストではありません。 BL2/BL31/U-Bootのマイルストーンログ機能を追加しました。 補助付きブートはすべての段階を完了します。ネイティブ障害は最初のBL2マイルストーンを示さず、これらのログはハードウェアPBL自体を追跡できません。 eMMC RCWとイメージ配置 SerDesを両方有効にしたeMMCのベースラインは以下のとおりです。 0c100012 0e000000 00000000 00000000 13335a06 40400012 60040000 c1000000 00000000 00000000 00000000 0001c83e 00004504 24001002 00000096 00000001 SerDesを両方とも無効にした実験では、以下の単語のみが変更されました。 RCW05 = 00000000 RCW06 = 00f00012 eMMCユーザーエリアでは、512バイトセクタを使った: コンポーネント開始LBAバイトオフセット RCW + PBI + BL2コンテナ (bl2_emmc.pbl) 0x8 0x1000 BL31とU-Bootを含むFIP 0x800 0x100000 FManマイクロコード 0x4800 0x900000 書き込まれたPBL/BL2領域とFIP領域を読み戻したところ、それらのSHA-256値は、これらのテストのために転送されたファイルと一致した。PBIストリームはデコードされ、CRCチェックが行われた。OCRAMのブート場所を設定し、継承されたNXPインターコネクト/USB準備およびPBL同期操作を実行し、BL2をOCRAMにコピーします。PCIeレジスタアクセスを削除してもストールは解決しませんでした。DDRの初期化は、後ほどBL2によって実行されます。 また、eMMCの`EXT_CSD[162] = 0x00`および`EXT_CSD[179] = 0x00`を読み取りましたが、これらの設定に不可逆的な変更は加えていません。 指導を要請 1. HRESETのタイミング:LS1046Aは、PORESET_B、有効なリファレンスクロック、および初期eMMCトランザクションに対して、正確にどの時点でHRESET_BをLOWにすべきでしょうか?プロセッサ側のプローブでLOWアサートが確認できない場合、リセット、クロック、パワードメイン、ストラップ、テストモードのどれを最初に確認すべきでしょうか? 2. 介入前のキャプチャ:A72コアが発見される前に、停止したPBL/DCFG/eSDHCの状態をリセットやRCWオーバーライドなしで読み取るための、サポートされているCodeWarrior/CCSシステムアクセスポート手順はありますか?必要なアクセスコンテキスト、コマンド、そして最も有用なステータス/エラーレジスタを提供してください。 3. RCWの適用セマンティクス:`rcw.apply()`は具体的に何を行うのかソース `0x40` または `0x9E` を使用し、指定されたワードが 1 つだけの場合、どうしますか?どのリセット/デバッグ制御が実行され、未指定のRCWワードはどのように取得されるのか?入力された単語によって結果として得られるRCWが変更されない場合に、回復を可能にするアクションを特定したいと考えています。 4. RCW/PBI のレビュー: 上記の eMMC RCW と配置に何か問題はありますか?このカスタム構成に関して、追加の必須PBI操作や関連するシリコンエラータはありますか? 5. 次の決定的な測定: eMMC、SD、QSPI 全体にわたる症状を考慮すると、リセット/クロック/ストラップの問題をブートメディアの初期化、RCW の取得、または後続の PBI の実行から最も適切に分離できる測定または非侵襲的なレジスタキャプチャは何ですか? Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo @Hiran_E_H 波形にHRESET_Bがアサートされていないが、これは想定外である。 AN12081のセクション5.1(SDカードを使用した起動プロセス)を参照してください。この文書ではSPL/U-Bootの起動フローについて説明していますが、現在のBL2/BL31の起動フローも非常によく似たハードウェア起動シーケンスに従っています。波形を図3と比較してください。 現在の観察結果に基づくと、リセット関連部品のハードウェアに問題がある可能性が高い。また、リセット設計をCPLDを使わないFRWY-LS1046Aと比較するのも有益かもしれません。 さらに、ASLEEP信号は起動プロセスにおいて重要な信号ですので、必ず確認してください。 ありがとうございます。 Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo テスト中のシーケンスキャプチャ   Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo ASLEEPは常に高く、コネクテッドLEDは常に点灯しています。 ハードウェアの再作業なしで2枚目のボードを使い、同じRCWでSDカードから起動しようとしましたが、電圧選択が変わったところ、HRESET_Bが低くなっているのが観察され、PORESET_Bを低から高に解放しました。 HRESET_B の急上昇は、PMIC PG と SoC が HRESET_B をローに駆動し始めた後の 1.8V プルアップによるものと予想されます。 現在、eMMC/SDのCMD、DATA、CLKを調べて、何らかのトランザクションが発生しているかどうかを確認しています。SoCがHRESET_Bをリリースするために満たすべき条件を教えていただけますか? 好奇心から、同じSDカードをls1046a_rdbボードに挿入して電源を入れてみたところ、ubootコンソールまで到達しました。 Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo @Hiran_E_H 参照マニュアル LS1046A 4.4.1 電源オンリセットシーケンス ステップ5とステップ15の間に問題がある可能性があります。 HRESET_Bの出発点が明確に特定できないため、ステップ1から4までも確認する必要があります。 よろしくお願いします。 Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo こんにちは、 LS1046A リファレンス・マニュアルのセクション4.4.1を教えていただきありがとうございます。ステップ1~4とステップ5~15を確認し、測定値をAN12081のセクション5.1/図3~4と比較しています。 以下は、9月29日に実施したテストの最新情報と、QCVSで生成されたSD候補に関する9月30日のフォローアップです。確認のため、PORESET_B、HRESET_B、SD CMD、およびRESET_REQ_Bのオシロスコープ波形を添付いたします。   HRESET観測結果の更新 2台目のA1カスタム基板では、初期の基板のリセットなしにテストされ、PORESET_Bがリリースされる前にHRESET_Bが低くなるのが観察できます。これは、HRESET_Bが継続的にHIGHであった以前のキャプチャとは異なります。私たちは、その以前の波形をこの基板の代表的な波形として扱っていません。 現在の差動クロックSDテストの場合: スタンドアロンのコールドスタートアップ中、HRESET_BはPORESET_Bが上昇する前にLOWになり、その後もLOWのままです。BL2のコンソール出力は表示されません。 CodeWarriorのDebug/RCW適用後、HRESET_BがHIGHになります。 デバッガーは最初にPC=0で停止します。「続行」をクリックすると、BL2 → BL31 → U-Boot が実行されます。 添付のキャプチャデータ(SD CMDおよびRESET_REQ_Bアクティビティを含む)を、想定されるシーケンスと照らし合わせて解釈するお手伝いをお願いします。 下の写真ではSDカードを挿入しておらず、リセットリクエストが低くなっているのが確認できました。 (注:一部の画像では、誤ってsdコマンドではなくemmcコマンドと記載されています。) SDカード挿入でキャプチャ - スイッチはemmc/sdカードモードにストラップされています。 Captured with with poreset_b, hreset_b, reset_request, vcc1v8 with SD card insertedCaptured with with poreset_b, hreset_b, reset_request, vcc1v8 with SD card insertedCaptured with with poreset_b, hreset_b, reset_request, vcc1v8 with SD card insertedSDカードを挿入した状態で、poreset_b、hreset_b、reset_request、vcc1v8を使用してキャプチャしました。 Captured with with poreset_b, hreset_b, reset_request, sd_cmdCaptured with with poreset_b, hreset_b, reset_request, sd_cmdCaptured with with poreset_b, hreset_b, reset_request, sd_cmdporeset_b、hreset_b、reset_request、sd_cmdを使用してキャプチャしました Captured with with poreset_b, hreset_b, sd_cmd, trst_b(jtag reset)Captured with with poreset_b, hreset_b, sd_cmd, trst_b(jtag reset)Captured with with poreset_b, hreset_b, sd_cmd, trst_b(jtag reset)poreset_b、hreset_b、sd_cmd、trst_b(JTAGリセット)を使用してキャプチャしました Captured after entering debug mode after cold start stallCaptured after entering debug mode after cold start stallCaptured after entering debug mode after cold start stallコールドスタートで停止した後、デバッグモードに入った後にキャプチャされた 新しいSD RCWテスト 外部SD/MMCブートを選択した状態(cfg_rcw_src=0x40)で、両方のSerDesブロックを無効にした新しいSDイメージを生成しました。100 MHz 差動プライマリ基準を選択し、ハードコードされたアクティブクロック比を採用しました。 0x9F 例えば、A1ピンマルチプレクサとSDブート/PBI構成を維持したまま。 これは ハードコードされたブートではない:完全なRCWとPBIはSDから取得する必要がある。メディア取得やPLLロックを回避するわけではありません。 設定値 一次資料 DIFF_SYSCLK/B、公称100MHz。 cfg_eng_use0=0 A1スイッチの位置 SW5 pole2 ON(差動クロック選択);SW8 poles1–8 0010 0000 (1=ON)(ブートソーススイッチストラップ) SYS_PLL_RAT 4→プラットフォーム 400 MHz CGA_PLL1_RAT 13 → CPU 1300 MHz CGA_PLL2_RAT 10 → PLL2 1000 MHz、FMan 500 MHz MEM_PLL_RAT 16 → DDR 1600 MT/s DDR_REFCLK_SEL / DDR_FDBK_MULT 1/2; 差動DDRリファレンス SRDS_PRTCL_S1 / SRDS_PRTCL_S2 0 / 0 SRDS_PLL_PD_S1 / SRDS_PLL_PD_S2 3/3; 各SerDesブロックで両方のPLLがダウン PBI_SRC / ブートホー 6 / 0 EVDD_VSEL 2. SD 3.3V構成 DIMM 4 GiB、単一ランク、64ビット非ECC DDR4;トレーニングシードはマージン適格ではありません   このテスト済みイメージで使用されている完全なRCWは、デバッガーによる介入後にも確認されており、以下のとおりです。 RCW01–04: 0810000d 0a000000 00000000 00000000 RCW05–08: 00000000 00f00012 60040000 c1000000 RCW09–12: 00000000 00000000 00000000 0001c83e RCW13–16: 00004504 24001102 00000096 00000001 結果: 地元の防寒ブーツ販売店はそのまま残っていた。デバッガ支援の後、U-BootはCPUが1300 MHz、プラットフォームが400 MHz、DDR 1600 MT/s、FManが500 MHzと報告し、意図された比率と一致しました。SDの初期化とFIPのロードに成功しました。  デバッガーの正確な介入と結果として生じる状態 初期化コールバックは、以下のRCW API操作のみを呼び出します。 from cw.dbg import ta def run_init_file(): target = ta.create() target.rcw.set_source(0x40) target.rcw.set_data({13: 0x00004504}) target.rcw.apply() ワード13は、SDカードに既に保存されている値と同一です。このスクリプトには、明示的なDDR初期化、BRR/PC書き込み、またはContinueコマンドは含まれていません。 apply() デバッガ起動が内部的にリセット/デバッグ状態を変えることは認識しています。 デバッグ後、続行前に、以下を読みます。 PC = 00000000 PORSR1 @ 01ee0000 = 205b7fff RSTRQPBLSR @ 01ee00b4 = 00000000 RSTRQMR1 @ 01ee00c0 = 00004000 RSTRQSR1 @ 01ee00c8 = 00000000 BRR @ 01ee00e4 = 00000000 SCFG_SCRATCHRW0/1 = 00000000 / 10000000 DDR SDRAM_CFG = 07000000 (MEM_EN clear) 16個のRCWSR単語すべてが、テスト対象のSD画像と一致した。OCRAMの最初の64バイト 0x10000000 BL2のエントリーコードと一致しました。したがって、PC=0 で UART 出力がないことは、ハードウェア PBL が進行していないことを意味するものではありません。BL2/BL31/U-Bootを実行するには、Continueのみで十分でした。この実行では、BRRへの手動書き込みは使用していません。 これらは 介入後の測定値であり、元の停滞状態は維持されていない。我々は、それらのゼロエラー値を用いて、最初のコールド試行にPBL/クロック/リセットエラーがなかったと結論付けるつもりはない。 画像配置と正確なPBI設定 当社のSDパッケージとeMMCパッケージの両方で512バイトセクタを使用しています: RCW/PBI/BL2 .pbl: LBA 0x8、バイトオフセット 0x1000。 fip_uboot.bin BL31とU-Bootを含む:LBA 0x800、バイトオフセット 0x100000。 eMMCの場合、これらはユーザーエリアのオフセットであり、boot0/boot1ではありません。SDカードの全ディスクイメージは、これらのオフセット位置でバイト単位でチェックされています。また、以前のeMMCへの書き込みも、読み出し時のSHA-256検証に合格しています。 テスト対象のSD PBLにおける正確なセットアップストリームは以下のとおりです。各行は シリアル化された PBI コマンド ワードとそのデータ ワードがストリーム順で続きます。これらはデバッガのメモリ書き込みコマンドではありません。 09570600 00000000 09570604 10000000 09570178 0000e010 09180000 00000008 09570418 0000009e 0957041c 0000009e 09570420 0000009e 09570158 00001000 09610000 00000000 096100c0 000fffff 09570604 10000000 09570158 00001000 096100c0 000fffff これには、スクラッチブートポインタ、継承された相互接続/USB設定、フラッシュおよび同期操作が含まれます。繰り返し行われる操作は保持されます。PCIeセットアップ書き込みはありません。その後、ストリームにはOCRAMへの844回のACS64転送が含まれます。これは、53,953バイトのBL2と63バイトのゼロパディングで構成されます。テストされたPBLは、 08610040 6d8bdebf (END/CRC)であり、合計サイズは57,576バイトです。 また、本日、QCVSを使用して独自にPBLを生成しました。解析とCRC検証の結果、そのPBI操作とBL2ペイロードはテスト対象のイメージと同一であることが判明した。私たちは意図的にRCW12を変更しました 0001c83e に 0001a8fe (睡眠=0、 RTC=1、 IRQ_BASE=63); そのワードとCRCだけが異なります。そのSHA-256ハッシュ値は以下のとおりです。 2d3389fce4ead088957caf6251022b5526be8565e812a8aab8fce21bd8923277 9月30日更新: 新たに生成されたQCVSのSD候補をテストしたところ、再びネイティブコールドブートの停止が発生しました。したがって、PBLを実際のQCVSエクスポートに置き換えても、症状は解消されませんでした。PBIおよびBL2のペイロードは前の画像と同一のままであるため、共有設定の問題を否定したり、原因がハードウェアにあることを否定するものではありません。 上記の詳細なHRESET/レジスタ読み取り値と確認済みのアシスト成功シーケンスは、以前のRCW12=0001c83eを参照しています。 走る。最新のRCW12=0001a8feのデバッガリカバリ結果と詳細な波形 このアップデートには、まだ実行機能が追加されていません。 指導を要請 PORリリース前にHRESET_Bアサートされ、その後はLOWのままの場合、RCWフェッチ/検証の失敗とPLLロック、またはステップ11〜14でのプラットフォームクロック切り替えを区別する最良の測定値は何でしょうか?ステップ1~4では、電源、時計、ストラップの初期状態についても引き続き確認していきます。 ステップ15はSoCのHREETドライブを解放し、ステップ17はPBIを実行するため、外部HREETドライバーや短いリリース・再アサーションを除外した場合、初期段階を優先するのは合理的でしょうか?上記のRCWおよびPBIも、未構成や誤った設定がないか確認してください。 CCS/SAPは、RHETが低のままの状態で、RCW適用や再度リセットせずにネイティブリセット/PBLステータスや文書化されたPLL-ロック状態にアクセスできるのでしょうか?アクセスの正確なコンテキスト、コマンド、レジスタ/ビットの定義を教えてください。Ordinary Inspectはこれまで、この状態のCortexA72#0を検出できませんでした。 具体的に何が set_source(0x40) さらに、対応する単語13のオーバーライドと 適用する() リセット、TRST、デバッグコントロールを実行するにはどうすればいいですか?最終的なRCWの内容を変更せずに起動を可能にする動作を特定したいと考えています。 生成されたPBL、完全なUART/デバッガーログ、追加のスコープキャプチャも提供可能です。自動冷却起動ではブリングアップがブロックされているので、次の識別テストについてのアドバイスをいただけると大変ありがたいです。 また、自己テストとして、SD カードや空の eMMC がない状態で 0x9e または 0x9f をストラップすると、POREST_B が 0 から 1 に解放されたときに HRESET_B が低から高に変化することが確認できると教えられました。RDBボードでこれをキャプチャしようと試み、これを観察することができました。では、カスタムボード上で同じことをしても同じ挙動が観察されるということですか? よろしくお願いします。 Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo こんにちは、 @Hiran_E_H さん。 1.現在の情報からはRCWの負荷問題とPLLロックの問題を明確に区別するのは難しいです。しかし、CCSがデバイスに正常にアクセスでき、PLL関連の波形が正常に見える場合、PLLの問題の可能性は低くなる可能性があります。 スタンドアロンのコールドブートとCCS支援ブートのSDコマンド波形を比較することをお勧めします。特に、波形の長さと順序を比較して、RCWロード中に異常がないか判断してください。 また、SDカードのクロックが起動プロセス中の予想される周波数遷移を反映しているかを確認するために、リファレンス・マニュアル表4-8の「RCW状態タイミング」を参照することもできます。これらの遷移は、RCWの読み込みが成功し、適切なPLLロックが行われていることに依存します。 2.はい、あなたのやり方に賛成です。入手可能な情報に基づくと、まずはステップ1から15、特に初期の電源、クロック、リセット、ブートソース関連の段階に焦点を当てるのが妥当でしょう。 3. 以下のCCSコマンドを試して、デバイスがこの状態のままではLS1046Aにアクセスできるか確認できます。例えば、RCWSRレジスタの読み取りを試みることができます: (bin) 1%すべて削除 (bin) 2 % config cc cwtap (バイナリ)3%表示cc (bin) 4 % ccs::config_chain {ls1043a dap sap2} (bin) 5% 表示 ::ccs::get_config_chain (bin) 6 % ccs::display_mem 32 0x01ee0000 4 0 100 もっと行を表示 4. リファレンス・マニュアルの表4-8「RCW状態タイミング」を参照し、SDカードのクロックがRCWプロセッシング中の予想される周波数変化を反映しているかどうかを確認できます。 起動シーケンス中に、関連する波形を確認することをお勧めします。 実際には、初期デバッグ段階では通常、ハードコードモードを使用します。さらに、ボードをハードコーディングされたRCWで設定し、観測波形が図4-1「電源オンリセットシーケンス」に記載されている順序に従っているかを検証することもできます。波形が期待される挙動に合致していれば、リセット関連のハードウェア設計は一般的に正しく動作している可能性が高いです。 私は1週間以上OoOのままでいるので、この期間中は私の方からの更新はありません。 もしこの問題が緊急の場合は、別のチームメンバーがサポートできるように新しいスレッドを作成してください。 よろしくお願いします。 Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo こんにちは、 ccsコンソールから読み取ろうとしましたが、コールドブート中に以下の応答が返ってきました。 (bin) 7 % ccs::display_mem 2 0x01ee0000 4 0 1 スキャンタイムアウト ASLEEP信号に関してキャプチャを試みたところ、以下の観測結果が得られました。 SD CLKが約200kHzから約20kHzに低下する(フォールバックの可能性あり) SD DATA0は200kHzの間は常にハイレベルであり、クロックが20kHzに低下する直前にいくつかのトランザクションが発生します。
記事全体を表示
i.MXRT1052に基づくPXP画面回転の問題 rt1052PXPを使って横向き表示を縦向き表示に回転させているのですが、ページを更新すると全体の表示が下方向にずれてしまいます。なぜこのようなことが起こるのでしょうか?   static void DEMO_FlushDisplay(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p) ヤージュ lv_area_t dest_area = ヤージュ .x1= 0、 .x2= 480 - 1、 .y1= 0、 .y2= 800 - 1、 }; lv_gpu_nxp_pxp_blit(((lv_color_t *)s_inactiveFrameBuffer), area, 800, color_p, area,480, LV_OPA_COVER, LV_DISP_ROT_270); DCACHE_CleanInvalidateByRange((uint32_t)color_p, DEMO_FB_SIZE); ELCDIF_SetNextBufferAddr(LCDIF, (uint32_t)s_inactiveFrameBuffer); s_framePending = true;if (xSemaphoreTake(s_frameSema, portMAX_DELAY) == pdTRUE) ヤージュ /* 重要!!! * グラフィックライブラリに、フラッシュの準備ができたことを通知します */ lv_disp_flush_ready(disp_drv); } それ以外 ヤージュ PRINTF("ディスプレイのフラッシュに失敗しました\r\n"); assert(0); } }   i.MXRT 105x 回复: 基于i.MXRT1052的pxp屏幕旋转问题 こんにちは、 @dsd さん。 このLV_USE_GPU_NXP_PXP_AUTO_INITにより、LVGLはPXPユーザーを内部ウィジェットレンダリングに活用できますが、アプリケーションがこのPXPを並列で全画面回転に使う場合、問題を引き起こす可能性があります。しかし、それが問題の原因である可能性は低い。 初期のコードを見ると、dest_areaを使っていないか、PXPブリットのソースと宛先の両方にエリアを使っているように見えます。つまり、部分的な汚れた領域だけが意図された絶対位置ではなく、異なる絶対位置に配置されている可能性があります。 回复: 基于i.MXRT1052的pxp屏幕旋转问题 PXPで描画する際にオフセットの問題が発生することに気づきました。これは、guiguiderによって生成されるデフォルトの初期化設定`#define LV_USE_GPU_NXP_PXP_AUTO_INIT 1`が直接使用できないためでしょうか? void lv_disp_drv_init(lv_disp_drv_t * driver) ヤージュ lv_memset_00(driver, sizeof(lv_disp_drv_t)); driver->hor_res = 320; driver->ver_res = 240; driver->physical_hor_res = -1; driver->physical_ver_res = -1; driver->offset_x = 0; driver->offset_y = 0; driver->antialiasing = LV_COLOR_DEPTH > 8 ? 1 : 0; driver->screen_transp = 0; driver->dpi = LV_DPI_DEF; driver->color_chroma_key = LV_COLOR_CHROMA_KEY; #if LV_USE_GPU_NXP_PXP // driver->draw_ctx_init = lv_draw_pxp_ctx_init; // driver->draw_ctx_deinit = lv_draw_pxp_ctx_deinit; // driver->draw_ctx_size = sizeof(lv_draw_pxp_ctx_t); driver->draw_ctx_init = lv_draw_sw_init_ctx; driver->draw_ctx_deinit = lv_draw_sw_init_ctx; driver->draw_ctx_size = sizeof(lv_draw_sw_ctx_t); #それ以外 driver->draw_ctx_init = lv_draw_sw_init_ctx; driver->draw_ctx_deinit = lv_draw_sw_init_ctx; driver->draw_ctx_size = sizeof(lv_draw_sw_ctx_t); #endif } 回复: 基于i.MXRT1052的pxp屏幕旋转问题 pxp回転を使わなくても、guiguiderで生成されたコードを使ってテストしてみました。 static void DEMO_FlushDisplay(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p) ヤージュ DCACHE_CleanInvalidateByRange((uint32_t)color_p, DEMO_FB_SIZE); ELCDIF_SetNextBufferAddr(LCDIF, (uint32_t)color_p); s_framePending = true; if (xSemaphoreTake(s_frameSema, portMAX_DELAY) == pdTRUE) ヤージュ /* 重要!!! * グラフィックライブラリに、フラッシュの準備ができたことを通知します */ lv_disp_flush_ready(disp_drv); } それ以外 ヤージュ PRINTF("ディスプレイのフラッシュに失敗しました\r\n"); assert(0); } } マクロ /*NXPのPXP GPU iMX RTxxxプラットフォームを使用する*/ を修正するだけです。 #define LV_USE_GPU_NXP_PXP 1 #if LV_USE_GPU_NXP_PXP /*1: PXP 用のデフォルトのベアメタルおよび FreeRTOS 割り込み処理ルーチンを追加します (lv_gpu_nxp_pxp_osa.c) * lv_init() の実行中に lv_gpu_nxp_pxp_init() を自動的に呼び出します。シンボルSDK_OS_FREE_RTOSに注意してください。 * FreeRTOS OSAを使用するには、これを定義する必要があります。定義しない場合は、ベアメタル実装が選択されます。 *0: lv_gpu_nxp_pxp_init() は lv_init() の前に手動で呼び出す必要があります / #define LV_USE_GPU_NXP_PXP_AUTO_INIT 1 #endif /* LV_USE_GPU_NXP_PXP */ 同じ問題が発生し、オフセットの方向は回転後と同じになります。 回复: 基于i.MXRT1052的pxp屏幕旋转问题 さらに奇妙なことに、設定は同じはずなのに、同じプロジェクト内で2つの異なる結果が出てしまったのです。 表示オフセットは発生しませんでした 表示オフセットが発生します    
記事全体を表示