Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
无法将 iMX93EVK 中的 lpuart1 更改为 lpuart7 在过去的一个多月里,我一直在尝试将默认控制台从 lpuart1 更改为 lpuart7。我想更改 linux 控制台和 u-boot 控制台,或者至少我想查看日志。这是为了让 iMX93EVk 的 SOC 在新的载体上工作。然而,我却无法做到这一点。这是我尝试使用的补丁。还有我发现的所有我认为可以帮助我的帖子。我错过了什么? i-MX-93-91-使用yocto项目调试控制台重定位 i-MX-Processors/Change-UART-for-imx93-in-uboot-and-kernel i-MX 处理器/imx8ULP 将 u-boot 串行控制台从 UART5 更改为 UART4 非常感谢你们的帮助,谢谢 Linux Re: Cant change lpuart1 to lpuart7 in iMX93EVK 你好 要成功地将调试控制台从 lpuart1 更改为 lpuart7,你需要修改三个关键元器件:U-启动、Arm 可信固件和 Linux 内核配置。 完整解决方案: 1.对于 U-Boot(lf_v2024.04 分支): - 修改设备树文件以更新控制台路径和引脚配置 - 更新板配置以指向 lpuart7 - 使用 imx93_11x11_evk_defconfig 作为配置基础 2. 对于 Arm 可信固件(lf_v2.10 分支): - 更改 ATF 源中的 UART 控制台位置 - 更新 IMX_LPUART_BASE 以指向 lpuart7 的基址 - 在取消设置 LDFLAGS 后使用 "make plat=imx93" 构建 3. 对于 Linux 内核: -将 bootargs 更新为引用 ttylP6(对应于 lpuart7) -更新设备树中的选定部分 该过程需要使用这些修改后的元器件重建 flash.bin 映像。另一位客户需要将 i.MX93 上的 UART1 重新映射到 UART8,也成功解决了类似问题。 此致 Re: Cant change lpuart1 to lpuart7 in iMX93EVK 谢谢,我无法确认该解决方案是否有效。我已经执行了您的所有更改,但发现错误出在硬件本身。一旦定制载体修好了,一切都测试好了,我就可以确认了。 感谢您的回复
查看全文
How to measure power consumption for individual power rails on the i.MX 8M Mini LPD4-EVK? Hi, I have the i.MX 8M Mini LPD4-EVK up and running, and I would like to perform power consumption measurements on specific independent power rails, such as VDD_1V8 and NVCC_DRAM_1V1. I have located the corresponding PMIC outputs (BUCK8 and BUCK7) on the schematic, but I noticed that there are no onboard shunt resistors (sense resistors) for these lines. Could you please advise on the best method to measure the current (or power) for these rails? Thanks! Re: How to measure power consumption for individual power rails on the i.MX 8M Mini LPD4-EVK? Hello, In the case of i.MX8MM we do not have a board to do the power measurement in each power rail as occurs in other boards such as i.MX 8M Plus Evaluation Kit Enabling Power Measurement. If you need to measure this you need to design a new SOM board to include these shut resistors or maybe you could try to rework the board to add a shunt resistor in a trace. You can use the schematics of the mentioned board as reference to add the resistors and do the measurement. i.MX 8M Plus Power Measurement Board Design Files Best regards. Re: How to measure power consumption for individual power rails on the i.MX 8M Mini LPD4-EVK? Okay, thanks.
查看全文
串行下载器 - 奇怪的问题 我在 RT1052 上遇到了一个奇怪的问题,如果我将启动引脚配置为串行启动。 它无法启动固件,也不会进入串行下载器模式(既不是 UART 或非 USB)。 但当我将 GPIO_B0_15 下拉至 GND 时,串行下载正常工作。 我找不到任何关于这个信号对启动过程的影响的文档。 - 处理器出厂时是全新的 - TXD1/RXD1 有上拉电阻 顺便说一下:烧录 BT_FUSE_SEL 串行下载后可以正常工作 我们已经开发了几个类似的电路,以前从未遇到过这个问题。
查看全文
闪存中的常数 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我正在使用 IAR 工具集,设备是 MKE02Z64。我有几个常量值想放在闪存中(如果可能的话)以释放 RAM,但我找不到用 IAR 工具实现的方法。 最初,我使用的只是一个相当标准的:const uint16_t foobar; 这样一来,foobar 仍然处于数据内存中。我接下来试了试(根据我在网上找到的资料):const volatile uint16_t foobar @"FLASH"; 这没有产生任何错误或警告,但 foobar 仍在数据内存中,而不是代码内存中。 能做到吗? 谢谢! Re: const in flash memory Great explanation of how `const` works when stored in flash memory, especially for embedded systems where every byte matters. It’s interesting how efficient memory placement can tighten performance without changing logic. I recently explored similar structured info on Cass County Justice while researching data storage and organization best practices. Posts like this are helpful for bridging theory with real-world application. 很好地解释了 “const” 在闪存中存储时的工作原理,特别是对于每个字节都很重要的嵌入式系统。有趣的是,在不改变逻辑的情况下,高效的内存布局可以提高性能。最近,我在研究数据存储和组织的最佳实践时,在卡斯县司法局 探索了类似的结构化信息。这样的帖子有助于将理论与实际应用相结合。 Re: const in flash memory <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 看来 Mark Butcher 是对的--我查看了链接器的输出,实际上,const 存在闪存中。让我感到不解的是,生成的映射文件显示 const 为"Data" ,而不是"Code" ,我以为它说的是内存部分,而不是实际的数据类型。 感谢您的回复! Re: const in flash memory <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,戴夫、 请查看以下示例,了解如何将 Const 置于 IAR IDE 软件的 Flash 地址。 在 *.icf 文件中定义一个 [.我的参数] 部分的起始地址,并将该部分置于 ROM 内存中: 定义符号 __region_FlexNVM_start__ = 0x10000000; 置于 mem:__region_FlexNVM_start__ { 只读部分 .myparameter}; 在代码文件 (*.c) 中,将数据放入该部分: const char parameter1[16] @".myparameter"= {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF}; IAR 在专用地址中放置变量的另一种方法: #pragma location=0x3000 const int test1 = 1; const int test2 @ 0x3004 = 2; 然后,我在地图文件中找到了以下结果: test1 0x00003000 0x4 数据 GB hello_world.o[1] test2 0x00003004 0x4 数据 GB hello_world.o[1] 如果我使用以下代码 #pragma location=0x3000 const int test1 = 1; const int test2 = 2; 然后只把 test1 变量放在 0x3000,把 test2 放在另一个地方,映射结果如下: test1 0x00003000 0x4 数据 GB hello_world.o[1] test2 0x000016ec 0x4 数据 GB hello_world.o[1] 将变量放入专用地址的另一种方法: 在 .icf文件定义的内存区域,如 定义符号 __ICFEDIT_region_ROM_DATA_start__ = 0x0003F800; 定义符号 __ICFEDIT_region_ROM_DATA_end__ = 0x0003FFFF; 定义区域 ROM_DATA_region = mem:[从 __ICFEDIT_region_ROM_DATA_start__   to __ICFEDIT_region_ROM_DATA_end__]; 置于 ROM_region { 只读,代码块重定位}; 在 C 代码中,例如 #define NVM_DATA _Pragma("location=\"NVM_DATA\"" ) NVM_DATA 常量 int test1 = 1; NVM_DATA const int test2 = 2; _Pragma("location=\"NVM_DATA\"" ) 与 #pragma location="NVM_DATA 相同。" 希望能有所帮助。 祝您愉快, 、 马辉 ----------------------------------------------------------------------------------------------------------------------- 注:如果本帖回答了您的问题,请点击正确答案按钮。Thank you! ----------------------------------------------------------------------------------------------------------------------- Re: const in flash memory <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好,戴夫 @"FLASH" 仅用于 volatile 常量。 IAR(默认)行为是将常量(全局和静态)放入 Flash,尽管严格来说,const 关键字意味着该变量具有只读属性,而不是它位于特定的内存区域中(尽管嵌入式系统通常会像这样工作是有感知)。 例如 static const unsigned char usb_language_string[] = {4, DESCRIPTOR_TYPE_STRING, LITTLE_SHORT_WORD_BYTES(UNICODE_LANGUAGE_INDEX)}; 静态常量 unsigned char manufacturer_str[] = {10, DESCRIPTOR_TYPE_STRING, 'M',0, 'a',0, 'n',0, 'u',0}; static 常量 unsigned char product_str[] = {16, DESCRIPTOR_TYPE_STRING, 'M',0, 'y',0, ' ',0, 'P',0, 'r',0, 'o',0, 'd',0}; 静态常量 unsigned char serial_number_str[] = {10, DESCRIPTOR_TYPE_STRING, '0',0, '0',0, '0',0, '1',0}; static const unsigned char config_str[] = {10, DESCRIPTOR_TYPE_STRING, 'C',0, 'o',0, 'n',0, 'f',0}; static 常量 unsigned char interface_str[] = {8, DESCRIPTOR_TYPE_STRING, 'I',0, 'n',0, 't',0}; 静态常量无符号 char *ucStringTable[] = {usb_language_strring, manufacturer_str, product_str, serial_number_str, config_str, interface_str}; 地图显示 usb_language_string 0x00003d24 manufacturer_str 0x00003d28 product_str 0x00003d34 serial_number_str 0x00003d44 config_str 0x00003d50 interface_str 0x00003d5c ucStringTable 0x1ffff11c 请注意,除了最后一个阵列外,其他阵列都放入了闪存。我无法解释为什么规则会有一些例外,而你的特殊情况可能就是这样的例外,不管是出于什么原因。 也许最好直接联系 IAR,因为我也找不到控制最后几个剩余异常的方法。幸运的是,就我所见,它只影响到极少数这类东西。 此致 Mark Kinetis:µTasker Kinetis 支持 KE:支持 µTasker FRDM-KE02Z/支持 µTasker FRDM-KE02Z40M/支持 µTasker FRDM-KE06Z 欲获得完整的"开箱即用" Kinetis 体验并加快产品上市时间
查看全文
MIMXRT1021 内部 RTC 振荡器的特性 我正在使用看门狗,我发现它的源时钟是 RTC 时钟。 我没有使用晶体或外部 RTC 时钟源,因此只能依靠内部环形振荡器。 对环形振荡器特性的规定不一致: 在《硬件用户指南》中,它被指定为"...片上 40 kHz 振荡器。公差为 ±50%" (表 4) 在技术数据表的第 4.1.4 节中也有类似的规格说明但是在第 4.2.4.2 节中它说 " 这个方块的频率范围约为 10—45 kHz。" 选择看门狗超时时间有时是一种微妙的平衡行动,必须容许源时钟容差 +/-50%。 我的问题是 1.实际名义振荡频率是多少?如果不是 32 千赫,为什么不是? 2.如果标称频率不是 32kHz,那不就意味着看门狗超时已经出错了吗? 3.它随温度有何变化?热的时候是加速还是减速? 4.+/-50% 是否包括温度变化? 谢谢! 亚历克斯 i.MX RT102x Re: MIMXRT1021 characteristics of internal RTC oscillator 你好@alex_conway,很抱歉这么晚才回复你。 很抱歉造成您的困惑。我想说的是,我之前与你们分享的数据确实是用于生产的: 32kHz +/- 50% -40C 至 105C。 BR Habib Re: MIMXRT1021 characteristics of internal RTC oscillator 嗨,哈比卜 数据表中的所有信息均经过生产测试。 哪个数据表中包含哪些信息?请您回到我的原帖: "在《硬件用户指南》中,它被指定为"...片上 40 kHz 振荡器。公差为 ±50%" (表 4) 在技术数据表的第 4.1.4 节中也有类似的规格说明但是在第 4.2.4.2 节中它说 " 这个方块的频率范围约为 10—45 kHz。" 其中没有任何一项注明在 -40C 至 105C 温度范围内的频率为 32kHz +/- 50% ,也没有任何一项在表格中列出,而这是制造商通常会遵守的规格。 谢谢! 亚历克斯 Re: MIMXRT1021 characteristics of internal RTC oscillator 你好,@alex_conway、 所以,为了明确起见,您是说 +/-50% 包括所有可能的变化,包括初始值和从 -40C 到 105C 的温度? 是。初始值和温度都包含在这个百分比中 是否在生产中进行了测试?- 即所有芯片是否都经过 -40C 至 105C 的测试,以确保振荡器频率在 +/-50% 或 32kHz 范围内? 数据表中的所有信息均经过生产测试。 BR Habib Re: MIMXRT1021 characteristics of internal RTC oscillator Hiabib, 所以,为了清楚起见,您是说 +/-50% 包括所有可能的变化,包括初始值和从 -40C 到 105C 的温度? 是否在生产中进行了测试?- 即所有芯片是否都经过 -40C 至 105C 的测试,以确保振荡器频率在 +/-50% 或 32kHz 范围内? 谢谢 Alex Re: MIMXRT1021 characteristics of internal RTC oscillator 您好@alex_conway, 正在回答您的问题: 既然您声明标称频率为 32kHz,那么无论振荡器运行在什么频率下,看门狗超时时间是否都以标称的 32.786kHz 为参考? WDOG 的时钟频率来自振荡器。如果振荡器的工作频率低于 32 kHz,这一偏差将直接影响 WDOG 的定时。 因此,内部振荡器有助于加快启动速度并提供防篡改保护,但不应成为 32 kHz 时钟的唯一来源。 +/-50% 中有多少是初始值公差,多少是温度变化? 正如我在上一篇文章中提到的,温度导致的频率偏差受多种因素影响,可能无法预测。不过,在 -40°C 至 105°C 的工作温度范围内,变化将保持在 ±50% 之内。 BR 哈比卜 Re: MIMXRT1021 characteristics of internal RTC oscillator 嗨,哈比卜 感谢您的回答,我有几个后续问题: 既然您声明标称频率为 32kHz,那么无论振荡器运行在什么频率下,看门狗超时时间是否都以标称的 32.786kHz 为参考? +/ -50% 中有多少是初始值容差,有多少是温度变化? 谢谢! 亚历克斯 Re: MIMXRT1021 characteristics of internal RTC oscillator 你好,@alex_conway、 对不起,我的回复晚了。回答您的问题 1.实际名义振荡频率是多少?如果不是 32 千赫,为什么不是? 标称频率为 32 kHz,但根据工艺变化和温度条件,其变化幅度可达 ±50% 。 2.如果标称频率不是 32kHz,那不就意味着看门狗超时已经出错了吗? 您能否提供更多细节,说明您目前是如何测试 WDOG 超时的? 3.它是如何随温度变化的? 温度导致的频率偏差受多种因素影响,可能无法预测。不过,在 -40°C 至 105°C 的工作温度范围内,变化将保持在 ±50% 之内。 4.+/-50% 是否包括温度变化? 是的,±50% 公差考虑了温度变化以及工艺变化。 BR Habib Re: MIMXRT1021 characteristics of internal RTC oscillator 你好 Habib, 我没用 RT1020-EVK,我的板没有 RTC 时钟或水晶。RTC_XTALI 引脚连接至接地,RTC_XTALO 引脚开路。 谢谢 Alex Re: MIMXRT1021 characteristics of internal RTC oscillator 你好,@alex_conway、 我在内部询问,以便获得更多有关标称值和温度对该振荡器影响的信息。感谢您的耐心等待。 与此同时,我还有一个问题:能否请您详细介绍一下目前是如何测试 WDOG 超时的?如果您使用 RT1020-EVK,请注意它包含一个 32kHz 的外部振荡器,这意味着它不依赖于内部振荡器: BR Habib
查看全文
MIPI-CSI-2 とベイヤーパターンカメラ (RAW10) を使用した i.MX93 こんにちは、 カスタムの i.MX93 ベースのボードを持っています。提供されている CSI-2 インターフェースを使用して、ベイヤーパターン カメラ (IMX327) で RAW10 データを転送したいと考えています。 デバイスツリーの設定とプレスリリース、製品ニュース-ctlの設定はSO far正しいのですが、パイプラインを開始するとdwc-mipi-csi2からIRQストームが発生し、「 IPIインターフェース致命的イベント情報」カウンタが増加します。INT_ST_IPI_FATALレジスタの値は0x2aで、IPI FIFOオーバーフローを示しています。IPIがIRQを1つも持っていないため、ISIにデータをプッシュしていないのではないかと考えています。 https://community.nxp.com/t5/i-MX-Processors/About-settings-to-operate-ov5640camera-on-i-MX93EVK/mp/1716885/highlight/true#M212016を参照何らかの特別な設定があるようです。これらの値をRAW10に適合させようとしましたが、CAMERA_MUX[DATA_TYPE]の値0x31(ユーザー定義16)について疑問がありました。CSI-2 データ型 RAW10 の場合、これが 0x2b ではなくユーザー定義であるのはなぜですか? IPI エラーの原因は何でしょうか?この問題をさらにデバッグするにはどうすればよいでしょうか? 感謝と敬意を表します。 アレクサンダー Re: i.MX93 using MIPI-CSI-2 with a Bayer Pattern camera (RAW10) アップデートはありますか?Omnivision 9732でも同じ問題が発生しています Re: i.MX93 using MIPI-CSI-2 with a Bayer Pattern camera (RAW10) こんにちは@brian14さん、 i.MX93 と RAW10/12 Bayer データを出力するカメラ センサでも同じ問題が発生しています。 何かアイデアや提案はありますか? よろしくお願いします。 Re: i.MX93 using MIPI-CSI-2 with a Bayer Pattern camera (RAW10) こんにちは、 連絡あった?もう1ヶ月が経ちました。 ありがとう、アレクサンダー Re: i.MX93 using MIPI-CSI-2 with a Bayer Pattern camera (RAW10) こんにちは、 このトピックに関して何かニュースはありますか? ありがとう、そしてよろしく。 アレクサンダー Re: i.MX93 using MIPI-CSI-2 with a Bayer Pattern camera (RAW10) こんにちは@steinaさん、 NXP サポートにお問い合わせいただきありがとうございます。 このCASEについては社内チームで検討し、できるだけ早くお問い合わせいたします。 すてきな一日を!
查看全文
clrc663 lpcd i 和 q 值 i 得到 0x00 我正在使用 clrc663 作为读卡器我在那里实现了 lpcd 模式我在运行 lpcd 校准功能时遇到了问题我得到了 i 而且 q 值是 0x00 我从天线得到的是什么问题怎么解决这个问题 我使用的这个函数   /* 执行 LPCD 校准 */ phStatus_t Calibrate_LPCD(uint32_t dwLPCDDemo, uint32_t *pdwLPCDRefValue) { phStatus_t wStatus; uint8_t bValueI = 0; uint8_t bValueQ = 0; uint8_t bVersion = 0; uint8_t bDigitalFilter = PH_ON; uint16_t wDetectionOption = PHHAL_HW_RC663_FILTER_OPTION1; uint16_t wPowerDownTimeMs = LPCD_POWERDOWN_TIME; uint16_t wDetectionTimeUs = LPCD_FIELD_ON_DURATION; DEBUG_PRINTF("\nLPCD 校准开始。"); phhalHw_FieldOn(pHal); phhalHw_Wait(pHal, PHHAL_HW_TIME_MILLISECONDS, 5);   /* 配置 LPCD 模式默认值,以执行 LPCD 校准循环。 * 提供输入参考 I 和 Q 值为零,并将检测时间提供给 * 在此持续时间内打开射频,使用 I 和 Q 通道值测量负载变化。 * 配置合适的掉电时间以节省 RC663 读卡器IC 的功耗。*/ wStatus = phhalHw_Rc663_Cmd_Lpcd_SetConfig(pHal,PHHAL_HW_RC663_CMD_LPCD_MODE_DEFAULT、 bValueI、bValueQ、wPowerDownTimeMs、wDetectionTimeUs); CHECK_STATUS(wStatus); DEBUG_PRINTF("\nphhalHw_Rc663_Cmd_Lpcd_SetConfig."); /* 读取版本寄存器,以区分 RC663 Old(RC66301、RC66302)和 RC663 Plus(RC66303)。*/ wStatus = phhalHw_Rc663_ReadRegister(pHal,PHHAL_HW_RC663_REG_VERSION,&bVersion); DEBUG_PRINTF("\nphhalHw_Rc663_ReadRegister."); CHECK_STATUS(wStatus); 如果 (bVersion == PHHAL_HW_CLRC663PLUS_VERSION)     { /* 配置充电泵,使其具有较高的检测范围。 * 启用电荷泵会在检测阶段增加功率级 * 探测范围。这导致平均电流消耗增加。*/ wStatus = phhalHw_SetConfig(pHal,PHHAL_HW_RC663_CONFIG_LPCD_CHARGEPUMP,PH_ON); CHECK_STATUS(wStatus); DEBUG_PRINTF("\nphhalHw_SetConfig."); /* 配置数字滤波器会触发信号 RC663 Plus 算法以获得倍数的平均值 * 检测 I 值和 Q 值的变化。这反过来又延长了射频开启时间 * 增加平均电流消耗。*/ wStatus = phhalHw_SetConfig(pHal,PHHAL_HW_RC663_CONFIG_LPCD_FILTER、 ((uint16_t)(bDigitalFilter)|wDetectionOption)); CHECK_STATUS(wStatus);    }   /* 执行 LPCD 校准周期并获取 LPCD 参考 I 和 Q 值。*/ wStatus = phhalHw_Rc663_Cmd_Lpcd_GetConfig(pHal,&bValueI,&bValueQ); DEBUG_PRINTF("\nphhalHw_Rc663_Cmd_Lpcd_GetConfig."); CHECK_STATUS(wStatus);   *pdwLPCDRefValue = ((bValueI) | (bValueQ<< 0x8)); DEBUG_PRINTF("\npdwLPCDRefValue.");   DEBUG_PRINTF("\nLPCD 校准成功。");   返回 PH_ERR_SUCCESS; } 然后我在主 while 循环中调用 /* ------------------------------------------------------------------ * 开机后运行一次 LPCD 校准 * ------------------------------------------------------------------ */ phStatus_t LPCD_Calibrate(void) { phStatus_t status; uint32_t refVal; char dbg_buf[64]; // 确保在校准前开启 RF phhalHw_FieldOn(pHal); phhalHw_Wait(pHal,PHHAL_HW_TIME_MILLISECONDS,5); status = Calibrate_LPCD(LPCD_DEMO_MODE_DEFAULT,&refVal); // 校准后关闭射频 phhalHw_FieldOff(pHal); if (status == PH_ERR_SUCCESS) { gLpcdValueI = (uint8_t)(refVal& 0xFF); gLpcdValueQ = (uint8_t)((refVal 0xFF)); gLpcdValueQ = (uint8_t)((refVal 0xFF)).>> 😎 & 0xFF); gLpcdCalibrated = 1; sprintf(dbg_buf,"LPCD Calibration OK (I=0x%02X, Q=0x%02X)\r\n", gLpcdValueI, gLpcdValueQ); DEBUG_UART2((unsigned char*)dbg_buf, strlen(dbg_buf)); } else { DEBUG_UART2((unsigned char*)"LPCD Calibration FAILED\r\n", 28); } return status; } 如果 (!lpcdCalibrated)     { 如果 (LPCD_Calibrate() == PH_ERR_SUCCESS) { lpcdCalibrated = 1; // 标记为已完成 DEBUG_UART2((unsigned char*)"LPCD Calibration OK\r\n", 23);          } 不然 { DEBUG_UART2((unsigned char*)"LPCD Calibration FAILED\r\n", 28);      }    } Re: clrc663 lpcd i and q value i getting 0x00   您好,先生, 非常感谢您与我们分享您的示意图。不过,我还是要问一下你们天线的史密斯图。我们确实有一份应用笔记,其中显示了使用廉价的纳米VNA进行这些测量的步骤。 Re: clrc663 lpcd i and q value i getting 0x00 我在这里附上我的硬件测试和原理图,在正常模式下,我得到的是 uid,这不是问题;在 lpcd 模式下,我得到的是 0x00,0x00 的 q 值。在此查看我的测试文件。 Re: clrc663 lpcd i and q value i getting 0x00 抱歉,但是对自定义板的支持非常有限。   要提供任何具体信息,我需要您的硬件,因为评估套件的天线设置配置与您的配置存在很大差异。   不过,您是否介意分享一下天线的史密斯图和原理图,这将是我们提供良好建议的一个很好的起点。   正如我在上一篇文章中提到的那样,我们建议从一开始就遵循一些步骤。其中之一是将我们的 EVK 与您的新天线和新的匹配电路一起使用。所有这些都显示在我们的许多文档中。请看 NFC天线设计|恩智浦半导体视频2。   发送 RF 开启命令后,I 和 Q 值应显示与 0x0 不同的值。 Re: clrc663 lpcd i and q value i getting 0x00 我使用的是带有 stm32 硬件的定制 PCB Clrc663,只有在软件中天线调谐是正确的,我使用了 nfcrdlibEx6_rc663_LPCD_Demo.c 库中的校准演示代码,但 i 和 q 值均为 0x00,然后我使用错误寄存器来确定我在其中出现了什么错误。 printf debug i getting === EEPROM / LPCD 检查开始 === VERSION(0x7F)=0x1A ERROR(before)=0x00 ERROR(after LOADREG)=0x80 > > > EEPROM 错误 (0x80) 仍然存在。LPCD 可能无法正确校准! === EEPROM / LPCD 检查完成 === // 这是代码 phStatus_t Rc663_EepromInitAndCalibrateLPCD( phhalHw_Rc663_DataParams_t *pHal, uint32_t *pdwLPCDRefValue) { phStatus_t status; uint8_t bVersion, bIrq1, bErr; uint8_t bValueI = 0, bValueQ = 0; char dbg[64]; uint8_t eepromVal; uint8_t addr; sprintf(dbg,"\r\n=== EEPROM + LPCD Init ===\r\n"); DEBUG_UART2((uint8_t*)dbg, strlen(dbg)); /* 1.读取芯片版本 */ status = phhalHw_Rc663_ReadRegister(pHal, PHHAL_HW_RC663_REG_VERSION,&bVersion); CHECK_STATUS(status); sprintf(dbg,"VERSION(0x7F)=0x%02X\r\n", bVersion); DEBUG_UART2((uint8_t*)dbg, strlen(dbg)); /* 2.清除任何现有错误 */ phhalHw_Rc663_ReadRegister(pHal, PHHAL_HW_RC663_REG_ERROR,&bErr); sprintf(dbg,"ERROR(before)=0x%02X\r\n", bErr); DEBUG_UART2((uint8_t*)dbg, strlen(dbg)); /* 3. 强制将 LOADREG 从 EEPROM 写入寄存器 */ status = phhalHw_Rc663_WriteRegister(pHal, PHHAL_HW_RC663_REG_COMMAND, PHHAL_HW_RC663_CMD_LOADREG); CHECK_STATUS(status); /* EEPROM 加载稍有延迟 */ phhalHw_Wait(pHal, PHHAL_HW_TIME_MILLISECONDS, 5); /* 4.再次检查错误寄存器 */ phhalHw_Rc663_ReadRegister(pHal, PHHAL_HW_RC663_REG_ERROR,&bErr); sprintf(dbg,"ERROR(after LOADREG)=0x%02X\r\n", bErr); DEBUG_UART2((uint8_t*)dbg, strlen(dbg)); if (bErr& PHHAL_HW_RC663_BIT_EE_ERR) { sprintf(dbg,"> > > EEPROM 错误 (0x%02X) detected!\r\n" 、berR); DEBUG_UART2 ((uint8_t*) dbg、strlen (dbg)); /*---EEPROM 转储(前 16 个字节用于调试)---*/ for (addr = 0;addr < 0x10;addr++) { phalHW_rc663_cmd_reade2 (phAL,addr,1,& eePromade2) val); spr intf (dbg," EEPROM [0x%02X] = 0x%02X\ r\n ",addr,eepromVal);DEBUG_UART2 ((uint8_t*) dbg,strlen (dbg));} /*---绕过 EEPROM 继续手动初始化---*/ sprintf (dbg," 绕过 EEPROM,使用手动 RF 设置...\ r\n "); DEBUG_UART2 ((uint8_t*) dbg、strlen (dbg));phhalHW_rc663_WriteRegister(phal,PHHAL_HW_RC663_RC663_REGISTER,PHAL_HW_RC663_RC663_RC663_); phalHW_RC663_WriteRegister REG_TXAMP,0x1F);phhalHW_RC663_WriteRegister(phal,PHHAL_HW_RC663_REG_DRVCON,0x18);} else {sprintf(dbg," EEPROM LOADREG OK。 \ r\n "); DEBUG_UART2 ((uint8_t*) dbg,strlen (dbg));} /* 5. 清除 IRQ 标志 */ phHALHW_RC663_WriteRegister(phal、PHHAL_HW_RC663_REG_IRQ0、0x7F);phalHW_RC663_WriteRegister(phal、PHHAL_HW_RC663_REG_IRQ1、0x7F);/* 6。 启用校准模式 */ phHALHW_RC663_WriteRegister (phAL、PHHAL_HW_RC663_REG_LPCD_OPTIONS、0x02);/* 7. 启动 LPCD_CALIBRATE(0x37 是隐藏的校准命令)*/ phhalHW_RC663_WriteRegister( phal,PHHAL_HW_RC663_REG_COMMAND,0x37);/* 8。 等待 LPCDIRQ */ 做 {phHalHW_rc663_readRegister ( phAL、PHHAL_HW_RC663_REG_IRQ1、& birQ1);} while (! (birQ1 & PHHAL_HW_RC663_BIT_LPCDIRQ)); /* 9. 读取 I/Q 结果 */ phHALHW_RC663_readRegister(phal、PHHAL_HW_RC663_REG_LPCD_RESULT_I、& bValueI);phalHW_rc663_readRegister(phal、PHHAL_HW_RC663_REG_LPCD_RESULT_Q、& bValueQ);/* 10。 存储 */ *pdwLPCDRefValue = (uint32_t)bValueI | ((uint32_t)bValueQ<< 8); sprintf(dbg,"[LPCD] 校准完成:I=0x%02X Q=0x%02X Ref=0x%08X\r\n", bValueI, bValueQ, *pdwLPCDRefValue); DEBUG_UART2((uint8_t*)dbg, strlen(dbg)); return PH_ERR_SUCCESS; } Re: clrc663 lpcd i and q value i getting 0x00 您好,先生, 为了校准 CLRC663 的 LPCD,我们强烈建议您使用NFC Cockpit。 这是一个图形用户界面工具,允许用户以图形方式对天线进行微调,同时进行LPCD 校准(第 4.5 节)。我们鼓励您使用这种方法,因为校准必须根据您自己的设计进行。没有任何手册可以按部就班地完成这一程序。 NFC Cockpit 允许用户在读写器卸载和加载时进行实时校准。 请探讨查看以下天线设计视频系列的第 4 段视频的可能性:NFC 天线设计 | 恩智浦半导体
查看全文
复制: 手动输入"Os Isr 处理程序" on Ipcf 本帖复制自 此处 你好我有一个关于在 Vector Davinci 配置器上设置 IPCF 的问题。 环境 我使用的环境如下。 ・Microcontroller : S32K358 ・Vector Davinci configurator classic : 5.30.30 SP1 ・RTD : SW32K3_S32M27x_RTD_R21-11_5.0.0 ・IPCF : SW32K3_IPCF_4.2.0_D2412 背景& 问题 我正试图使用 Vector Davinci configurator classic 为 AUTOSAR 项目配置 "IpcfInstance "的 "Os Isr Handler"。 Os Isr 处理程序 "的 [...] 显示的窗口需要手动输入。 要求是否正确? 如果要求正确,请告诉我需要什么样的路径。 如果要求不正确,我们是否需要其他插件或其他设置? 顺祝商祺! IPCF 优先级:中等 Re: Copy: Manual input of "Os Isr Handler" on Ipcf 嗨,拉杜、 请查看原始主题,因为我们在那里得出了最终结论。 https://community.nxp.com/t5/S32K/Manual-input-of-quot-Os-Isr-Handler-quot-on-Ipcf/td-p/2168682 如果您还有问题,请告诉我。 顺祝商祺! 丹尼尔 Re: Copy: Manual input of "Os Isr Handler" on Ipcf 你好 您可以在下面找到新问题的答案: 问:根据您的回答,在申请 IPCF 时,IPCF 的 OsISR 是否必要? 答:只有当你想在 I nterrupt 模式下使用 osiSR 时,才需要将其添加到 IPCF 中(一个内核触发信号 MU 中断,另一个内核接收它并在回调函数中处理消息)。IPCF 可以在轮询模式下使用,无需配置 IPCF 中断,无需从 IPCF 配置中配置 Os ISR 处理器。在这种情况下,Inter Core Rx IRQ 参数应设置为IPC_IRQ_NONE。 问:用 IPCF 的 osiSR 路径填写上面 " Os Isr " 的 " 参考路径 " 是对的吗? 答:如果图片中出现的这四个IRQ中的一个应用于IPCF,则使用中断来通知另一个内核有数据,然后使用所需的 OSISR 路径手动填充参考路径,如下图所示。 如果配置的中断不适用于 IPCF,则可以使用轮询模式(IPCF 不需要中断),或者在 Os 中为 IPCF 添加专用的中断,并在 IPCF 配置中的 Os ISR 处理程序中进行参考。 另请查阅IPCF_S32K3_4.2.0_User_Manual.pdf第2.2.1章与 NXP RTOS 的集成。 问:如果 IPCF 需要 OsISR,我们对 IPCF 的 OsISR 有参考吗? 答:我想上面的回答也包括这一点,如果不包括,请提供更多细节,因为不清楚。 问:例如,IPCF 设置的 osiSR 的 " Isr 资源参考 " 需要哪种参考资料? 答:"Isr Resource Ref" 不使用 OsISR,您不需要为 IPC 配置任何东西。 如果还有其他问题或不清楚的地方,我们可以召开会议,为您提供 IPCF 配置方面的支持。 顺祝商祺! 丹尼尔 Re: Copy: Manual input of "Os Isr Handler" on Ipcf 来自 Daniel Hermenczi 的意见: " 你好 、 我们有几点需要澄清: 您是否使用 Vector 提供的 AUTOSAR Os? 因为在您分享的图片中,我们看不到操作系统的配置,问题是是否配置了一个或多个 OsISR? 如果你已经配置了它们,那么这可能是一个问题,你需要使用手动选项来选择对已配置的 OsiSR for IPCF 参数 Os Isr Handler 的参考。 以手动配置为例,您需要将高亮显示的路径与您的特定 OsISR 路径一起使用 如果需要更多信息,请告诉我。 顺祝商祺! Daniel" 客户回复: "1.您是否使用 Vector 提供的 AUTOSAR Os? 是的,我使用 AUTOSAR Os。 2.因为在你分享的图片中,我们看不到操作系统的配置,问题是是否配置了一个或多个 OsISR? 是的,我的项目中有以下四种 OsISR 配置。 它们是用于 CAN 通信的 OsISR。 补充问题 根据您的回答,在申请 IPCF 时,IPCF 的 OsISR 是否必要? 用 IPC@@ F 的 osiSR 路径填写上面 " Os Isr Handler " 的 " 引用路径 " 是对的 吗? 如果需要用于 IPCF 的 osiSR,我们对 IPCF 的 osiSR 有参考吗? 例如,OsiSR 的 " Isr 资源参考 " 需要什么样的参考才能进行 IPC F 设置? 谢谢,并致以最崇高的敬意。"
查看全文
MCX Lab MCX Lab: Empowering University Innovation with NXP FRDM-MCXN947 What is MCX Lab? MCX Lab is an NXP initiative designed to foster collaboration with universities, providing students and educators with cutting-edge hardware, software, and educational resources. The program centers around the powerful NXP FRDM-MCXN947 development board, enabling hands-on learning and advanced research in embedded systems, AI/ML, IoT, and more. Key Features of the MCX Lab Program 1. FRDM-MCXN947 Comprehensive Hardware Platform MCXN947 MCU: Dual Arm® Cortex®-M33 cores @150MHz, up to 2MB dual-bank flash, Neural Processing Unit, PowerQuad, Smart DMA, and more. Rich Peripherals: User LEDs, buttons, accelerometer, temperature sensor, touch pad, Ethernet, USB Type-C, CAN-FD, WiFi, and extensive expansion options (Arduino®, FRDM, mikroBUS™, Pmod™, FlexIO/LCD, SmartDMA/Camera headers). Custom Shields: NXP-designed shields for introductory labs, featuring buttons, joystick, DIP switch, rotary encoder, LED ring, potentiometer, IR sensors, OLED display, and more. See MCX Lab Expansion Boards page for more. Add-on Modules: Wide portfolio of sensors, actuators, interfaces, displays, and wireless modules. Explore the Expansion Board Hub for more options. 2. Powerful Software Ecosystem Development IDEs and Build Tools: MCUXpresso IDE MCUXpresso for Visual Studio Code Third-party toolchains from Arm, IAR, Keil Examples and Quick Start Software: MCUXpresso SDK Debugging and Visualization Tools: LinkServer FreeMASTER Software Development Resources: MCUXpresso Config Tools Secure Provisioning Tool Secure Provisioning SDK (SPSDK) Device HSM Trust Provisioning RTOS: Zephyr™ OS AI Software Development: eIQ Toolkit HMI Design Software: GUI Guider Connectivity Software NXP Platform Accelerator 3. Educational Materials Lecture & Lab Content: Tailored for all levels—introductory (embedded basics), medium (GPIO, ADC, timers, serial comms), and advanced (Zephyr, AI/ML, UI/UX). See MCX Lab Educational Materials page for more. Invited Lectures: On-demand sessions by NXP engineers at partner universities. Documentation: Reference manuals, datasheets, getting started guides, application notes, and access to the MCUXpresso Training Hub. 4. Application Examples Application Code Hub: Application software packs, demo apps, code snippets, and integration with GitHub and VS Code for easy access and collaboration. Diverse Domains: AI/ML, audio, graphics, low power, motor control, power conversion, safety, security, networking, touch sensing, vision, voice, wireless connectivity, and more.
查看全文
フリースケール・カップ2015 EMEAチーム一覧 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 2014年11月17日現在、159チームがThe Freescale Cup 2015 EMEA に登録しています( 添付資料を参照) INNOVで始まるチーム名は、イノベーションチャレンジチームです フリースケール・カップ予選イベントが開催されていない国のチームは、選択した場所に自由に参加できます。Flavio Stiffanに連絡して、選択が記録されることを確認してください。
查看全文
i.MX 上的 wxWidgets <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 组装 wxWidgets 版本 2.8。使用 TinyX。由 4 英寸 - 8 英寸的触摸屏供电。
查看全文
使用 DMA DS3.5 RTD300 的 S32K312 I2C 发送和接收示例 ******************************************************************************* 本演示应用程序的目的是展示 LPI2C-0作为主设备(MASTER)和LPI2C-1作为从设备(SLAVE),使用DMA进行发送(TX)和接收(RX)的用法,适用于S32K3xx系列MCU。 ------------------------------------------------------------------------------ * 测试硬件:S32K3X2EVB-Q172 * MCU:S32K312 * 编译器:S32DS3.5 * SDK 发布:RTD 3.0.0 * 调试器:PE micro * 目标:internal_FLASH ********************************************************************************
查看全文
RDBESSK358BMU 以太网配置 我目前正在开发恩智浦的 RDBESSK358BMU,该主板有 S32K358 和 GMAC 连接到 Marvell Alaska 88e1510 收发器,还有一个以太网千兆端口(附有硬件方案)。 我想知道,在这种配置下,我是否可以使用带有 lwip_baremetal 示例的 tcpip 协议栈。 使用 Gmac_Loopback 的示例起作用了,但是 lwip_baremetal_example 在 Gmac_initDMA 上失败了,就像我在其他文章中看到的那样,这是一个时钟参考问题,但我正在使用的主板上有外部时钟,所以我不明白如何使这个示例适应我的硬件。有人能提供帮助吗?谢谢!   Re: RDBESSK358BMU Ethernet configuration 你好@gferretts、 是的,我就是这么发现的。你更快 您可以从 RTD 5.0.0 复制缺失的定义: #define DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_MASK (0x80000000U) #define DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_SHIFT (31U) #defineDCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_WIDTH (1U) #define DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN(x) (((uint32_t)(((uint32_t)(x)))) << dcm_gpr_dcmrwf1_mac_tx_rmii_clk_lpbck_en_shift)) & dcm_gpr_dcmrwf1_mac_tx_rmii_clk_lpbck_en_mask) ......只是注意到 RTD 的解决方法使用了 |= 关于 Eth_T_InitPhys()--是的,这也是正确的模式--这个例程值得深入检查。 顺祝商祺! 帕维尔 Re: RDBESSK358BMU Ethernet configuration 非常感谢@PavelL!我注意到 GMAC 速度仍为 100 米,因此将其设置为 1G,以匹配 125MHz 时钟,现在它可以在端口 7 上正常 ping 和 TCP echo! 我还注释了"Eth_T_InitPhys();" ,因为我的 PHY 不在 PHY 列表中,它是通过频带配置的。     Re: RDBESSK358BMU Ethernet configuration 你好@PavelL,感谢您的回复。我在使用 lwip 时仍然遇到问题,我也有 s32k3x8evb-q289 但我没有 TJA 子板所以我需要在 S32K358BMU 上测试以太网。 我使用的是"TCPIP STACK 1.0.3 版 RTD3.0.0D2306", 我附上我的 .mex我尝试复制你显示的内容(时钟配置、GMAC 外设和引脚排列)的配置文件和 " 设备.c "用引脚上的 ETH_RESET。 因为我的 RTD 没有环回定义,所以我也尝试手动复制您的 RTD 回转: void device_init(void) { uint16 pitPeriod; /* 为 DCM 模块中的 EMAC 设置 RMII 配置 */ //ip_dcm_gpr->dcmrwf1 = (ip_dcm_gpr->dcmrwf1& ~dcm_gpr_dcmrwf1_emac_conf_sel_mask) | dcm_gpr_dcmrwf1_emac_conf_sel(1u); /* 手动 RTD 转换 */ IP_DCM_GPR->DCMRWF1 = 0x80000040; IP_DCM_GPR->DCMRWF3 = 0x2000; ....}   在这种配置下,示例能够在不超时的情况下实现 Gmac_Ip_InitDMA,并到达主环路,但从我的电脑上 ping 192.168.0.200 结果却是无法连接主机和 ping 超时。 我用示波器验证了 RXC 的存在(当 Phy 协商 100Mbps 时为 25MHz 或 1Gbps 时为 125MHz),因此有一些流量来自 ETH 端口。同时在 TXC 上我现在也能看见 125MHz 但是 TXD0,1 从未被触发。 我希望你们能找到问题所在。   Re: RDBESSK358BMU Ethernet configuration 你好@gferretts、 对于延迟回复,我深表歉意。 遗憾的是,我没有 RD-BESSK358BMU,因此无法为您改编 lwip 示例。总之,我为 S32K358EVB-Q289 和 RGMII 100Mbps 修改了 lwip 示例,没有出现任何问题。让我分享一下我在采用过程中使用的基本步骤(请注意,某些细节可能与 S32K3 RTD / TCPIP 版本有关): 配置工具 - 引脚 采用引脚来适应板的接线 将回转速率设置为最快设置(如适用 应为 RGMII 输出 TX_CLK 配置工具 - 时钟 GMAC 时钟应该是这样的(注意 GMAC 1Gbps:25MHz -> 125MHz;50MHz -> 250MHz)。 配置工具 - GMAC 驱动程序 ETH_MAC_LAYE_TYPE_XGMII, REDUCED, 设置正确的速度 ETH_MAC_LAYER_SPEED_xxx 源代码-设备.c 在 device_init() 的第一行添加 RTD 解决方法 /* 设置 DCM 模块中 GMAC0 的 RGMII 模式配置 */ IP_DCM_GPR->DCMRWF1 |= DCM_GPR_DCMRWF1_MAC_CONF_SEL(0x01) | DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_MASK; /* 设置 RGMII RX_CLK 直接从 DCM 模块中 GMAC 的 RX_CLK 引脚到达 */ IP_DCM_GPR->DCMRWF3 |= DCM_GPR_DCMRWF3_MAC_RX_CLK_MUX_BYPASS(0x01); 源代码 - test.c 或者,注释掉在一段时间后关闭 TCP/IP 协议栈的部分 这部分比较简单。 从原理图上看,您需要定义 GPIO PTC1 以向 PHY 提供有效的 RESET 脉冲信号,并等待一段时间再初始化 GMAC。PHY 通常在非托管模式下独立工作,只是通过引脚绑扎进行配置。有时,PHY 需要通过 SMI 进行管理。 您使用的是哪个版本的 S32K3 RTD 和哪个版本的 TCP/IP 协议栈? 顺祝商祺! 帕维尔
查看全文
S32K148 FlexCAN2が動作しない こんにちは、 Eclipse OpenBSWプロジェクトを使用しながら、S32K148でFlexCAN2を有効にしようとしています。 FlexCAN0は正常に動作していますが、FlexCAN2は有効なフレームを送信しません。 構成: MCU: S32K148 CANインスタンス: FlexCAN2 ピン: PB12 → CAN2_RX (ALT4) PB13 → CAN2_TX (ALT4) 外部トランシーバ:MCP2551(5V電源) バス終端:合計約60Ω ビットレート:500 kbps(従来型CAN) 観察された行動: バス上ではエラーフレームのみが観測される ビットスタッフィングエラーが発生する ACKは受信されませんでした。 質問: MCP2551(5Vトランシーバ)は、S32K148 FlexCANのI/Oレベルと互換性がありますか? PB12/PB13のALT4はFlexCAN2の正しいピンですか? FlexCAN0とFlexCAN2の間には、考慮すべき特定のクロックまたは構成上の違いはありますか? どのようなご指導もいただければ幸いです。 よろしくお願いします。 Re: S32K148 FlexCAN2 not working こんにちは、 @sousou54 さん。 1.MCP2551との互換性に問題は見当たりません。 2. はい。 3. 追加の設定は不要です。CAN0/1/2は同じクロックで動作します。 ノードのテストを段階的に試してみてください... トランシーバを使わずにTX/RXピン同士を接続してメッセージを送信してみてください。ACKが欠落しているため、メッセージが繰り返し表示されるはずです。TXエラーカウンタは0x80で、モジュールはエラーパッシブ状態です。それ以外の表示が出た場合は、PIN設定が間違っています。 TX/RXピンをトランシーバに通常通り接続し、バスからは切り離してください。メッセージを送る。上記と同じ画面が表示されるはずです。そうでない場合、トランシーバが無効になっているか、または終了していない可能性があります。 MCP2551のデータシートを見ると、RsピンをVssに接続して高速モードを選択する必要があることがわかります。 トランシーバを他のノード(例:CANツール)、メッセージの送受信。エラーが検出された場合、おそらくCANビットのタイミングが正しくないと考えられます。すべてのノードが同じビットレートとサンプルポイントを使用していることを確認してください。 以下のツールを使用できます: MPC5xxx/S32Kxx/LPCxxxx: CAN / CAN FD ビットタイミング計算。 最後に、これはカスタムボードですか、それともS32K148EVBを使用していますか?カスタムボードの場合は、 AN5426「S32K1xxのハードウェア設計ガイドライン」に記載されている接続を確認してください。 よろしくお願いします、 ジュリアン
查看全文
Arducam B0353 Camera Integration with i.MX93 Dear Team, We need to integrate the Arducam B0353 MIPI 2-lane camera (https://www.arducam.com/arducam-full-hd-color-global-shutter-camera-for-raspberry-pi-2-3mp-ar0234-wide-angle-pivariety-camera-module-b0353.html) with the i.MX93 / i.MX9352 platform. We are new to this platform and would like to know the procedure for camera integration. If anyone has already integrated this camera (or a similar MIPI CSI-2 camera), please share: Integration steps Driver details Device tree configuration (if available) Looking forward to your support. Regards, Ajnas C Re: Arducam B0353 Camera Integration with i.MX93 I couldn't open the link, based on your link name description, the camera is ar0234? for the dts, you can refer to the imx93 dts as below which uses AP1302,  https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts for the camera driver, nxp doesn't offer this, need customer ask for the vendor, you also can check if current bsp has your camera driver or not https://github.com/nxp-imx/linux-imx/tree/lf-6.12.y/drivers/media/i2c
查看全文
MC33772B 的 EPAD MC33772B 底部有一块 5.4 毫米 × 5.4 毫米的裸露金属区域。 然而,PCB 设计指南建议阻焊层的开口度仅为 3.7-3.8毫米,这表明 EPAD 的尺寸约为 3.7 毫米。 在实际检查中,集成电路底部裸露的金属面积为 5.4 毫米,大于建议的 PCB 开口。 根据数据表,从 3.7 毫米(最小)到 5.4 毫米(最大)的区域被指定为 PCB 布线保留区域。 如果 3.7 毫米是建议的 EPAD 尺寸,而 3.7-5.4 毫米是建议的 EPAD 尺寸。mm 区域被定义为 PCB 布线禁止区域,为什么将整个区域设计为封装底部的裸露金属? Re: MC33772B's EPAD 您可以从下面链接文件的第 12 页阅读更多裸露焊盘的 PCB 设计。 AN4388: 四侧扁平封装 (QFP) — 应用笔记 5.2 焊锡钢网和焊锡膏 Re: MC33772B's EPAD 我已经知道了你的答案,但我真正想知道的是,为什么 MC33772 底部的金属开口面积是 5.4 毫米。 根据应用笔记,焊接开口面积为 3.7 mm,但设备的底部金属面积为 5.4 mm。为什么会有区别? 根据数据表,3.7 毫米至 5.4 毫米区域被指定为布线禁区。 有鉴于此,我想了解为什么同样是 3.7-5.4mm 区域以开放金属的形式暴露在设备底部。
查看全文
RT1040 ADCの問題 IMXRT1040RMに従い、ADC入力信号のGPIOキーパーを無効にします。 ADC 入力 gpio が NC の場合、ADC 読み取り値は異常であり、NC 入力ピンはマルチメーターで測定して 0V になります。 NTC 温度センサにコネクテッドされた別の ADC チャネルがあります。ADC 読み取り値は正常です。 ADC GPIOピン構成をデフォルトに設定すると( IOMUXC_SetPinConfig(ADC_PIN、0x10B0U))、これはキーパー有効をデフォルトで設定し、NC である入力チャネルの ADC 読み取り値はほぼゼロになります。今回は仕事です。 SO、ADC 入力信号の GPIO の Keeper 機能を無効にする必要がありますか? アナログ(ADC、CMP、DAC、オペアンプ) Re: RT1040 ADC issues こんにちは、メイ: モジュールがコネクテッドではない場合、ADC はフローティングになるように設計されています。モジュールはオプションです。 「ECKMIMXRT1040_ADC_12B1MSPS_SAR_POLLING」に従って、GPIO_AD_B1_04 の ADC 入力ピンをキーパー機能が無効に設定されます。 NC ADC 入力ピンは 0V として測定されますが、キーパーが無効になっている場合、ADC 読み取り値は 0.6 または 0.7V になります。 キーパーがデフォルトで有効になっている場合、ADC の読み取り値はほぼ 0V になります。この方法により、ADCの読み取り値をモジュール検出として使用することができます。 では、キーパーを有効にするとどのような副作用があるのでしょうか。 オプション モジュールの自動検出が必要なので、NC である ADC 入力ピンを読み取るにはどうすればよいですか? Re: RT1040 ADC issues こんにちは@Xiao_Liuさん 弊社の製品にご興味をお持ちいただき、またコミュニティをご利用いただき誠にありがとうございます。 ご質問に関してですが、   はい。ADC 入力ピンの場合、キーパー機能を無効にする必要があります。 NXP SDK デモ PIN 設定を参照してください。   ADC チャネルは浮いたままにしないでください。ピンが NC の場合、変換結果は未定義になります。 キーパーを有効にすると、読み取りが安定しているように見えますが、信頼できる解決策ではなく、推奨される解決策でもありません。   お役に立てれば幸いです よろしくお願いいたします。 メイリュー Re: RT1040 ADC issues こんにちは@Xiao_Liuさん 最新情報をありがとうございます。 ADC ピンでキーパーを有効にすることはお勧めしません。キーパーは最後の状態を保持するため、ADC の読み取りが不正確になり、モジュール検出の信頼性が低下する可能性があります。 安定した正確な結果を得るには、ADC が接続されていないときに明確なデフォルト レベルを設定するために外部抵抗を追加することをお勧めします。 よろしくお願いいたします。 メイリュー Re: RT1040 ADC issues こんにちは、メイ わかった。ADC が接続されていない場合は外部プルアップを使用します。 ご協力いただきありがとうございます。 Re: RT1040 ADC issues こんにちは@Xiao_Liuさん 最新情報をありがとうございます。 この投稿があなたの質問への回答である場合は、「解決策として承認」ボタンをクリックしてください。ありがとう! よろしくお願いいたします。 メイリュー
查看全文
使用MCUXpresso IDE构建和烧写应用 下面的步骤将指导您使用 MCUXpresso IDE 的 Cortex-M33 应用程序完成 hello_world 演示应用程序。MCUXpresso IDE 安装和 MCXN 系列的 SDK 可在本入门指南的 Get Software 部分找到。 在左下角找到快速启动面板。   然后点击导入 SDK 示例。 单击您正在使用的板选择可以在该板上运行的示例,然后单击 “下一步”。 使用箭头按钮展开 demo_apps 类别,然后单击 hello_world 旁边的复选框选择该项目。要使用 UART 进行打印(而不是默认的半托管),请在项目选项下选择 UART 作为 SDK 调试控制台复选框。然后点击完成 选择项目并通过单击上面提供的快捷方式中的 “生成图标” 或单击 “快速入门面板” 中的 “版本” 来版本项目 该项目应在控制台中不出现任何错误或警告的情况下构建 使用连接到 “MCU-LINK” 端口的 C 型 USB 线将板连接到计算机 。有关说明,请查看板的用户手册。 单击上方的 “调试” 图标或单击 “快速入门面板” 中的 “调试”,将应用程序下载到您的板上 选择 MCU-Link CMSIS-DAP 调试探针 打开串行终端,查看应用程序的输出。选择 "终端 "窗口并按下 "新终端 "图标 选择 "串行终端",然后将 UART 设置为 115200 波特率、8 位数据大小、无奇偶校验和 1 停止位。按确定 按 "运行 "图标运行应用程序。查看打印在终端上的输出结果
查看全文
iMX95 上の Panthor ドライバ こんにちは、皆さん 私は、iMX95 でグラフィック スタックがどのように動作するかを学習しようとしており、オープン ソースの DRM ドライバー (Panthor) を使用して、スタック全体 (OpenGL から下位のドライバー アクションまで) を理解できるようにしたいと考えています。 Mesa3D + OpenSource ドライバーは Arm スタックとしてより理解しやすいため、DRM ドライバーを使用する Linux カーネルを作成したいと考えています。 DTS の GPU ノードを Panthor ドライバと互換性があるように変更し、menuconfig でオプションを強制しました (Arm ドライバのオプションは無効にしています)。 起動時に、panthor_devfreq.c:panthor_devfreq_init の "devm_pm_opp_set_regulators" が呼び出されるまで、panthor は正常にロードされます。 このボードでこのドライバをすでに使用したことがある人はいますか、または何を変更する必要があるかご存知の方はいらっしゃいますか? ありがとうございます。 Re: Panthor driver on iMX95 こんにちは、 残念ながら、i.MX95 はまだ試作段階であるため、確定的な実装パスを提供するための検証済みのリファレンスや公式にサポートされている構成はまだありません。 Re: Panthor driver on iMX95 こんにちは、 devm_pm_opp_set_regulators の障害は、i.MX95 が GPU の電圧と電源状態を直接の個別レギュレータではなく SCMI (システム制御および管理インターフェイス) を介して管理し、Panthor ドライバが従来のレギュレータ ストリングで DVFS を管理することを期待するために発生します。これを修正するには、デバイス ツリーの GPU ノードに、SCMI ベースのレギュレータを指す mali-supply プロパティ (例: mali-supply = <&scmi_perf_gpc>;) が含まれていることを確認するか、より迅速なテストのために、DTS で「ダミー」の固定レギュレータを定義し、それを GPU にリンクして、ドライバの初期化チェックを満たす必要があります。電力管理を考慮せずに、より低いドライバーアクションだけを実現したい場合は、panthor_devfreq.c の devm_pm_opp_set_regulators 呼び出しをコメントアウトします。ただし、ドライバは最終的にはMali CSFファームウェア(mali_csffw.bin)を必要とすることに注意してください。G310 ハードウェアを初期化するには、rootfs に存在している必要があります。
查看全文
如何在S32DS中快速设置S32K1 SDK 本文以中文撰写。主要针对中国本土的地区及大众市场客户。对于刚接触S32K1的开发者很有用,会帮助他们安装S32K1的几个软件,否则可能会浪费很多时间。 S32DS中快速搭建S32K1的开发环境 一.背景 我最近换装了新电脑,需要重新安装S32DS,发现存在很多问题。尤其是对比之前的安装过程,发现官网的很多链接已经失效,甚至有一定的迷惑性。 最新的S32K1安装包比较隐蔽,而且安装存在前后依赖,对于刚接触NXP S32系列的新手非常不友好,所以写这篇文档总结一下典型的问题和解决方法。 同时也希望提供一个check的思路和步骤,在后续新版本发布时,升级IDE的时候更方便找到合适的安装包。 二.S32DS中各个包依赖关系解析 在S32DS中,每一个系列的MCU,总共需要安装两个插件包,一个是基础依赖包,一个是SDK(也叫RTD,同一个意思)。 1.基础依赖包 这个包对应S32DS版本,比如当前的3.4.3,官网可以下载离线版,一般大小在3GB左右,会更新S32DS中的很多组件,如下图1所示:            图1 尤其需要关注图1中红框的内容,没有这个development package的话,是无法进行对应MCU的debug。 图1中安装的包,对应到S32DS中安装的内容如图2所示:            图2 2.RTD安装包(与SDK同义) 这个包对应于RTD版本,也会标识AutoSAR的版本,比如最新的2.0.0,AutoSar 4.4,如图3所示:           图3 基础依赖包与RTD安装包存在前后依赖关系,如果不安装基础依赖包直接安装RTD,在安装时会报错。另外,我们下载的RTD包,即使写明是K3,里面也会包含K1的RTD,这点需要注意。如果此时还没有装K1的development package,就会出错。 三.S32K1开发环境搭建 官网对于S32K3的软件划分为standard software和reference software,其中S32DS和基础依赖包在standard software中,可以很方便的找到。 但S32K1的官网却仅有一个reference software,页面也只能找到几个RTD(或SDK)链接:                                                                             图4 这里面所有的链接都不是我们需要的,全是RTD。问题就出在这里,K1的网页中没有K1的基础依赖包!而前面讲过,缺基础依赖包会导致RTD也无法安装。经过我研究,K1的基础依赖包隐藏的非常深,可以通过两个方法找到: 从S32K1的参考软件进去,然后重新点击产品列表,如下图5所              图5         进入如下页面,如图6所示,这里最能看出来,针对K1的界面很不友好,需要点最底下的NXP Software.              图6 在NXP.com官网首页搜索栏直接搜S32DS,找到S32 Design Studio for S32 Platform(注意不要选成for ARM或或者for PowerPC),从S32DS的主界面进入,然后一直下拉,找到S32DS service pack 1,这个才是K1的,如图7所示:                 图7 这个链接更加隐蔽,要在40多个选项里挨个找。 经过上面两个方法,都可以进入图8所示的界面,然后再按图8所示操作:              图8 这回终于到了最终可以下载S32K1基础依赖包的地方,如图9所示。我们需要重点关注一下命名,SW32开头的,会包含所有S32的development package,包括K1,K3,G;SW32K1开头的,仅有K1,同理如果你在K3的界面中,可以看到SW32K3开头的。            图9 下载最新版本的S32K1基础依赖包,然后再安装RTD,大功告成。
查看全文