Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
S32K144:在 lin_master_s32k144 (S32DS.ARM2.2) 中集成 FlexCAN 早上好: 目前使用 S32K144EVB 板准备系统演示,其中我们必须管理 1 个经典的 CAN-HS 网络 (500k) 和 3 个 LIN。(19200,每个 LIN 有多个从属设备) k144EVB 板将充当 3 个 LIN 的 LIN 主控器,这就是为什么我选择 lin_master_s32K144 示例作为起点。LINStACK 运行正常,现在我开始检查 CAN 通信与项目的集成情况。通过查看 S32K144 文档和示例,我发现 K144 有 2 种不同的 CAN 通信管理方法......要么通过 FIFO,要么通过 MBs......不清楚其中一种方法的优势。对于必须接收 4-5 条 CAN 报文、处理部分内容数据并定期发送 1 或 2 条 CAN 报文的系统而言,不清楚其中一种方式的优势: 1) 考虑到我的 LIN 主站将满负荷运行,哪种配置更容易使用? 2) 恩智浦 linstack 与 FlexCAN 集成之间是否会出现寄存器/时钟/中断冲突? 3) 是否有这样的集成示例(LIN-MASTER + CAN-HS)? Re: S32K144: Integration of FlexCAN inside lin_master_s32k144 (S32DS.ARM2.2) 你好@rricart LIN 和 CAN 之间没有任何关系,它们是两个独立的外设模块。 对于 S32K1 FlexCAN,CAN FIFO 不支持 CAN FD,因此需要考虑是否需要支持 CAN FD。 如果您的项目不需要 CAN FD 功能,那么 MB 或 FIFO 都可以。 您可以参考此链接中提供的演示,其中对使用 FlexCan 的不同方式进行了分类,并提供了一个简单的测试演示。 https://community.nxp.com/t5/S32K-Knowledge-Base/S32K1xx-FlexCAN-Mask-Setting-Demo/ta-p/1519753
記事全体を表示
I3C 目标 RESET 大家好, 我想 RESET 一台 I3C 外围设备。 请问您是如何在 MCXN556 上实现这一功能的? 谢谢。 通信& 控制(I3C | I2C | SPI | FlexCAN | 以太网 | FlexIO) MCX N Re: I3C target reset 你好@Bruce96 我想您可以参考 FRDM_MCXN947 SDK i3c 演示。 BR 哈利
記事全体を表示
MC9S12 メモリに関する質問 私は MC9S12GC16CPBE 用に設計されたファームウェアを使用しており、制御ロジックでアドレス 0x0F1C が使用されていることに遭遇しました。このアドレスはデータシートやリファレンスマニュアルに記載されていないことに気付きました。これがマスク セット 1M34C に関連付けられているかどうか、またはこのバリアントの特別な診断またはステータス レジスタの詳細を説明した補足ドキュメントが存在するかどうかを明確にできる人はいますか? ありがとう   Re: MC9S12 MEMORY QUESTION こんにちは、 メモリマップには次のように書かれています... リセット後のマップは次のようになります。 0x0000~0x03FF: レジスタ空間 ...... 1Kレジスタ空間は任意の2K境界にマッピング可能 0x0C00–0x0FFF: 1K RAM ...... 1KバイトのRAM空間は任意の2K境界にマッピング可能 SO、リセット後、アドレスはデフォルトで RAM として定義されます。 よろしくお願いいたします。 ラディスラフ
記事全体を表示
IMX8MP uboot configured with dual channel lvds, showing the presence of colored vertical lines Background: Currently according to the patch <8MP_LVDS_patch > configure uboot's lvds display, using 1280x800 single-channel screen display is normal; based on this basis need to realize 1920x1080 dual-channel display, has been configured as follows: 1. Configure the screen reference of lvds: timing_lvds: timing_lvds { clock-frequency = <141140000>; hactive = <1920>; vactive = <1080>; hfront-porch = <94>; hback-porch = <92>; hsync-len = <2>; vback- porch = <18>; vfront-porch = <16>; vsync-len = <2>; hsync-active = <1>; vsync-active = <1>; de-active = <1>; } ; 2. Write the register configuration of ldb: //CH1 #define CH1_DATA_WIDTH_24BIT (1 << 7) #define CH1_BIT_MAPPING_JEIDA (1 << 😎 #define CH1_BIT_MAPPING_SPWG (0) << 😎 media_blk_write(priv, LDB_CTRL, LDB_CH0_MODE_EN_TO_DI0 | CH0_DATA_WIDTH_24BIT | CH0_BIT_MAPPING_JEIDA | LDB_CH1_MODE_EN_TO_DI0 | CH1_DATA_WIDTH_24BIT | CH1_BIT_MAPPING_JEIDA); media_blk_write(priv, LDB_CTRL, LDB_CH0_MODE_EN_TO_DI0 | CH1_DATA_ WIDTH_24BIT | CH1_BIT_MAPPING_JEIDA). 3. According to the formula, calculate the PLL value: PLL_1443X_RATE(987980000U, 823, 5, 2, 20971), the There is a logo screen displayed, but the screen shows the presence of colored vertical lines, what could this be, please help troubleshoot, thanks; looking forward to your reply! i.MX 8M | i.MX 8M Mini | i.MX 8M Nano i.MX8ULP Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @dadaxin Since the bmp display in kernel and uboot is not the same function, so for now I suspect that there is something wrong with the bmp display related function, please try to replace the video_bmp_display function. int video_bmp_display(struct udevice *dev, ulong bmp_image, int x, int y, bool align) { struct video_priv *priv = dev_get_uclass_priv(dev); int i, j; uchar *start, *fb; struct bmp_image *bmp = map_sysmem(bmp_image, 0); uchar *bmap; unsigned long width, height; unsigned long pwidth = priv->xsize; unsigned colours, bpix, bmp_bpix; enum video_format eformat; struct bmp_color_table_entry *palette; int hdr_size; int ret; if (!bmp || !(bmp->header.signature[0] == 'B' && bmp->header.signature[1] == 'M')) { printf("Error: no valid bmp image at %lx\n", bmp_image); return -EINVAL; } video_bmp_get_info(bmp, &width, &height, &bmp_bpix); hdr_size = get_unaligned_le16(&bmp->header.size); debug("hdr_size=%d, bmp_bpix=%d\n", hdr_size, bmp_bpix); palette = (void *)bmp + 14 + hdr_size; colours = 1 << bmp_bpix; bpix = VNBITS(priv->bpix); eformat = priv->format; if (bpix != 1 && bpix != 8 && bpix != 16 && bpix != 32) { printf("Error: %d bit/pixel mode, but BMP has %d bit/pixel\n", bpix, bmp_bpix); return -EINVAL; } /* * We support displaying 8bpp and 24bpp BMPs on 16bpp LCDs * and displaying 24bpp BMPs on 32bpp LCDs */ if (bpix != bmp_bpix && !(bmp_bpix == 8 && (bpix == 16 || bpix == 24 || bpix == 32)) && !(bmp_bpix == 24 && (bpix == 16 || bpix == 32))) { printf("Error: %d bit/pixel mode, but BMP has %d bit/pixel\n", bpix, colours); return -EPERM; } debug("Display-bmp: %d x %d with %d colours, display %d\n", (int)width, (int)height, (int)colours, 1 << bpix); unsigned long bmp_stride_bytes = ((width * bmp_bpix + 31) / 32) * 4; unsigned long dst_bytes_per_pixel = bpix / 8; if (!dst_bytes_per_pixel) dst_bytes_per_pixel = 1; if (align) { video_splash_align_axis(&x, priv->xsize, width); video_splash_align_axis(&y, priv->ysize, height); } if ((x + width) > pwidth) width = pwidth - x; if ((y + height) > priv->ysize) height = priv->ysize - y; bmap = (uchar *)bmp + get_unaligned_le32(&bmp->header.data_offset); start = (uchar *)(priv->fb + (y + height) * priv->line_length + x * (bpix / 8)); /* Move back to the final line to be drawn (BMP 自下而上存储) */ fb = start - priv->line_length; switch (bmp_bpix) { case 1: case 8: { unsigned long src_bpp_bytes = 1; unsigned long dst_line_bytes = width * (bpix / 8); if (!dst_line_bytes) dst_line_bytes = width; for (i = 0; i < height; ++i) { schedule(); for (j = 0; j < width; j++) { write_pix8(fb, bpix, eformat, palette, bmap); bmap++; fb += (bpix / 8) ? (bpix / 8) : 1; } bmap += bmp_stride_bytes - width * src_bpp_bytes; fb -= dst_line_bytes + priv->line_length; } break; } case 16: if (CONFIG_IS_ENABLED(BMP_16BPP)) { unsigned long src_bpp_bytes = 2; for (i = 0; i < height; ++i) { schedule(); for (j = 0; j < width; j++) { *fb++ = *bmap++; *fb++ = *bmap++; } bmap += bmp_stride_bytes - width * src_bpp_bytes; fb -= width * 2 + priv->line_length; } } break; case 24: if (CONFIG_IS_ENABLED(BMP_24BPP)) { unsigned long src_bpp_bytes = 3; for (i = 0; i < height; ++i) { for (j = 0; j < width; j++) { if (bpix == 16) { /* 16bit 565RGB format */ *(u16 *)fb = ((bmap[2] >> 3) << 11) | ((bmap[1] >> 2) << 5) | (bmap[0] >> 3); bmap += 3; fb += 2; } else if (eformat == VIDEO_X2R10G10B10) { u32 pix; pix = (u32)(*bmap++) << 2U; pix |= (u32)(*bmap++) << 12U; pix |= (u32)(*bmap++) << 22U; *fb++ = pix & 0xff; *fb++ = (pix >> 8) & 0xff; *fb++ = (pix >> 16) & 0xff; *fb++ = pix >> 24; } else if (eformat == VIDEO_RGBA8888) { u32 pix; pix = (u32)(*bmap++) << 8U; /* blue */ pix |= (u32)(*bmap++) << 16U; /* green */ pix |= (u32)(*bmap++) << 24U; /* red */ *fb++ = (pix >> 24) & 0xff; *fb++ = (pix >> 16) & 0xff; *fb++ = (pix >> 8) & 0xff; *fb++ = 0xff; } else { *fb++ = *bmap++; *fb++ = *bmap++; *fb++ = *bmap++; *fb++ = 0; } } bmap += bmp_stride_bytes - width * src_bpp_bytes; fb -= priv->line_length + width * (bpix / 8); } } break; case 32: if (CONFIG_IS_ENABLED(BMP_32BPP)) { unsigned long src_bpp_bytes = 4; for (i = 0; i < height; ++i) { for (j = 0; j < width; j++) { if (eformat == VIDEO_X2R10G10B10) { u32 pix; pix = (u32)(*bmap++) << 2U; pix |= (u32)(*bmap++) << 12U; pix |= (u32)(*bmap++) << 22U; pix |= ((u32)(*bmap++) >> 6) << 30U; *fb++ = pix & 0xff; *fb++ = (pix >> 8) & 0xff; *fb++ = (pix >> 16) & 0xff; *fb++ = pix >> 24; } else if (eformat == VIDEO_RGBA8888) { u32 pix; pix = (u32)(*bmap++) << 8U; /* blue */ pix |= (u32)(*bmap++) << 16U; /* green */ pix |= (u32)(*bmap++) << 24U; /* red */ bmap++; /* alpha (忽略) */ *fb++ = (pix >> 24) & 0xff; *fb++ = (pix >> 16) & 0xff; *fb++ = (pix >> 8) & 0xff; *fb++ = 0xff; /* opacity */ } else { *fb++ = *bmap++; *fb++ = *bmap++; *fb++ = *bmap++; *fb++ = *bmap++; } } bmap += bmp_stride_bytes - width * src_bpp_bytes; fb -= priv->line_length + width * (bpix / 8); } } break; default: break; }; /* Find the position of the top left of the image in the framebuffer */ fb = (uchar *)(priv->fb + y * priv->line_length + x * (bpix / 8)); ret = video_sync_copy(dev, start, fb); if (ret) return log_ret(ret); return video_sync(dev, false); } Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi, @zhiming Good morning, sorry for the late reply due to a lot on my hands! I tried gateworks.bmp, the display is not very good; as shown in the following logo.png; check the uboot driver does not have the VIDEO_FONT_16X32 configuration option; I did a verification, with a 1920x1080 logo image, made into a 1280x800 logo, respectively, placed in uboot and kernel I did a verification with a 1920x1080 logo image, made into a 1280x800 logo, and put it on uboot and kernel respectively, uboot has a jagged situation of cutting diagonal angle; while kernel display is completely normal; thank you for following up the problem! Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @dadaxin The problem is still related to the resolution of the material, if you increase the resolution of the material, the jaggedness will be much less. The logo in the attachment is 296x72, but in reality it is not 296x72 pixels on the screen, so it will be stretched. You can try tools/logos/gateworks.bmp (600x93) in the same directory and see if the horizontal jaggedness is much less. For fonts, try turning on the option VIDEO_FONT_16X32, which is more suitable for high resolution screens. Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @DADAXIN Can you upload a copy of the logo image you're currently using (the one in the right image above)? Is the default NXP logo also displayed in dual channel 1080p? Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi, thanks for the reply! The situation is as follows: 1, the default NXP logo display also has a jagged effect, as shown in the attachment 2, there is a replacement of 1920x1080 logo image, in uboot tilted part of the presence of jagged, the rest of the display is normal; in the kernel under the file is too large, can not be displayed 3, converted to 1280x800 logo image, the effect is still the same in uboot, kernel display Normal 4, switch to 1280x800 single channel screen, uboot and kernel display are normal Single-channel display is normal, but dual-channel replacement of the logo image, uboot display will be abnormal Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @DADAXIN Did you have a problem with the default logo display as well as the fonts before you replaced the logo? I took a closer look at the image above and it looks like the resolution of the clip itself doesn't match the screen, I wonder if you have a higher resolution image displayed there to test and see what's going on with the higher resolution? Also, is it the same if the kernel stage shows the same logo material? Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 早上好,zhiming        按照内核的lvds寄存器写入;我在uboot中也进行了配置;但效果没有改善:logo倾斜部分还是存在锯齿;请问还有其余操作可以优化吗;期待你的回复! Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @dadaxin Corresponds to this section of the kernel's configuration, which is not in the uboot patch because only a single channel was tested at that time. You need to write the value to the lvds_ctrl register in the uboot patch. https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/drivers/phy/freescale/phy-fsl-imx8mp-lvds.c#L113 Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Thanks for the follow up, the logo graphic phenomenon is shown below: there are jaggies involving the slanted part of the fonts and the pattern. Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hello, uboot did not find the corresponding phy file: "fsl,imx8mp-lvds-phy ", in which place should be written to the registers it; <8MP_LVDS_patch>patch does not have this driver file either. Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @dadaxin You can refer to the settings in the linux lvds phy driver, set these three bits of LVDS_CTRL and the drive capability should be much better. phy_write(phy, priv->devdata->lvds_ctrl, CC_ADJ(0x2) | PRE_EMPH_EN | PRE_EMPH_ADJ(0x3)); Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Thanks for the reply! The logo image is also partially jagged, switching to a 1280x800 single-channel screen, the logo display is normal; I have adjusted various panel clocks and PLL values, but none of them can be improved; any suggestions, please? Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi, Is there any exception in the LOGO section? If it's a word, it should have nothing to do with the lvds controller and everything to do with display font optimization in uboot. Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hello, lvds screen display logo there is a phenomenon: logo part of the letter there is jagged phenomenon, how to optimize it; look forward to your reply! Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Thanks for the guidance, it's the point of the question Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi, There is this line in the code, val |= CH_EN, here only channel0 is enabled, BIT0, while BIT2 needs to be set. Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi, thanks for the reply; change LDB_CH1_MODE_EN_TO_DI0 to LDB_CH1_MODE_EN_TO_DI1, the display still works! Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi @DADAXIN You try changing LDB_CH1_MODE_EN_TO_DI0 to LDB_CH1_MODE_EN_TO_DI1 Best Regards, Zhiming Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 Hi,Zhiming     感谢您的回复以及对问题的跟进,最近工作比较繁忙,回复比较晚请见谅;我进行了替换操作 1、当前5.10.72对应的uboot2021版本,替换后会报没有video_format定义;而在6.6.52对应的uboot2024版本是有的,我同步了这部分配置: +++ b/include/video.h @@ -56,6 +56,15 @@ enum video_log2_bpp { VIDEO_BPP32, }; + +enum video_format { + VIDEO_UNKNOWN, + VIDEO_RGBA8888, + VIDEO_X8B8G8R8, + VIDEO_X8R8G8B8, + VIDEO_X2R10G10B10, +}; + 2、进一步编译,报这一部分的错,不清楚怎么解决;希望能得到你的进一步回复,感谢!! Re: IMX8MP uboot下配置双通道lvds,显示存在彩色竖线 HI @DADAXIN @Zhiming_Liu Hello, I have the same phenomenon as you ( jaggedness ), may I ask, after modifying this function (video_bmp_display), the display is messed up, may I ask where else did you modify it?
記事全体を表示
通过 Wifi SDK 收发原始数据包 亲爱的读者   我正在开发恩智浦 RW612 SoC,并尝试使用恩智浦 无线 驱动程序在两台设备之间发送和接收原始 无线 数据包 ,无需任何握 手。 你知道我如何才能实现它吗? 以下函数尚未实现,只有其 签名在 Wifi.h 文件中: int wifi_raw_packet_send(发送t_u8 *packet, t_u32 length); int wifi_raw_packet_recv(t_u8 **data, t_u32 *pkt_type); 我需要将接收机设置为监视模式并在发射器中使用以下功能吗? intwifi_inject_frame(常量 枚举wlan_bss_type bss_type、 常数uint8_t *buff、 常量size_t len) Re: Transmit and receive Raw packet through Wifi SDK 我测试了 wifi_test_mode 示例,我注意到它只发送具有固定有效载荷模式的 802.11 帧。 就我而言,我需要发送和接收带有自定义有效载荷的原始 802.11 帧。 我可以为此使用以下函数吗? int wifi_inject_frame(const enum wlan_bss_type bss_type, const uint8_t *buff, const size_t len); 如果是,我如何在接收端接收数据包? 提前感谢您的支持。 顺祝商祺! Re: Transmit and receive Raw packet through Wifi SDK 您好, wifi_test_mode 应用程序演示了 CLI 对各种射频和合规性测试的支持。 更多详情请参见第4.9.1.7节 "传输标准 802.11 数据包(UM11799)"。 此致, 丹尼尔 Re: Transmit and receive Raw packet through Wifi SDK 欲了解更多信息。我实际上需要通过 80.11 MAC 层发送和接收数据。 Re: Transmit and receive Raw packet through Wifi SDK 亲爱的丹尼尔 感谢您的回复。 我查看了 wifi_test_mode SDK 示例。不过,此示例仍然创建了 STA 和 uAP。我实际需要的是在不握手的情况下收发数据。你知道我怎样才能做到这一点吗? 另外,我在使用监测模式方面做出了巨大努力,但我一直无法成功启动它。你能提供监测模式的示例代码吗? 提前感谢您的支持。 致以最诚挚的问候, Mohsen Re: Transmit and receive Raw packet through Wifi SDK 您好, 要发送原始 Wi-Fi 数据包,可以试试 wifi_test_mode SDK 示例。 此致, 丹尼尔
記事全体を表示
s 启动失败过渡 你好, 当 sBoot 返回 E_NOT_OK 时,是否有任何配置可以转换到 “功能安全启动”? 目前,模式选择器位于引导加载程序中。而 sBoot 正在应用中。 如何实现过渡?是通过配置吗?或者有没有可用的 sBoot API? 在《功能安全手册》中,它被称为硬件过渡。 金贵宾 Re: sBoot Failure Transition 你好,@Irshad2225 抱歉,回复晚了。 1。当 sBoot 返回 E_NOT_OK 时,是否有任何配置可以转换到 “功能安全启动”? [A]:所述转换是一种抽象流程,没有实现明确的配置。 2. 如何实现过渡?是通过任何配置?或任何可用的 sBoot API? [A]:你可以触发 RESET 或更改代码流(例如更改 PC 指针)来完成过渡,但没有 sBoot API 可用。 BR 切宁 Re: sBoot Failure Transition 你好,@Irshad2225 谢谢您的帖子。 我正在研究您的问题,请问您指的是下图吗? BR 切宁
記事全体を表示
PN5180 スタンバイ/LPCD への移行に問題があります こんにちは、皆さん 現在、PN5180 NFCリーダを使用して、低電力タグ (ISO15693) UID リーダーを実装しようとしています。通常の UID 読み取りは、すべての SPI 通信と同様に正常に動作していますが、PN5180 をスタンバイ モードにすることができません (約 23mA の一定電流消費が発生しています)... いくつかのコードスニペットを以下に掲載します。 皆さんの中にアイデアをお持ちの方がいらっしゃるかもしれませんし、私が何かを監督しているのかもしれません。 前もって感謝します!     メイン関数から:   if (nfc3_switch_lpcd(&nfc3) == NFC3_ERROR){         Display_printf (display, 0 , 0 , "スタンバイコマンドの送信エラー" );         0を返します。    }     一方( 1 ){ // この時点で、リーダーは約 10 µA の電流消費でスタンバイ状態になると予想されます。 // // インベントリ コマンドは定期的に発行されます。PN5180はリセットピンを切り替えることで起動するように計画されている。     使用されているクリック NFC3 SDK に機能を追加しました:   err_t nfc3_switch_lpcd ( nfc3_t * ctx ) {     uint8_tコマンド[ 4 ] = { 0 };     cmd [ 0 ] = 0x0B ;     cmd [ 1 ] = 0x01 ;     cmd [ 2 ] = 0x0A ;     cmd [ 3 ] = 0x80 ;         spi_master_select_device ( ctx -> chip_select );     err_t error_flag = spi_master_write ( & ctx -> spi , cmd, 4 );     error_flagを返します。 }     自分で書いた HAL レイヤーから (TI-cc1352 MCU 用):   err_t spi_master_write ( spi_master_t * spi 、 uint8_t * data_in 、 uint16_t len ) { SPI_Transaction トランザクション;     トランザクション.count = len;     トランザクション.txBuf = data_in;     トランザクション.rxBuf = NULL ;​     SPI_transfer ( spi -> spiHandle 、 &transaction)を返します。SPI_MASTER_SUCCESS : SPI_MASTER_ERROR; } 前述のとおり、SPI 通信は正常に動作しています。SO、LPCD コマンドが期待どおりに実行されると予想されます (エラー戻り値もありません) またよろしくお願いします! 🙂 ベストフリッデ Re: PN5180 trouble going into Standby / LPCD こんにちは@fridde 参照することをお勧めします NxpNfcRdLib_PN5180_v07.13.00_Pub \Examples\NfcrdlibEx6_LPCD コードをデバッグします。
記事全体を表示
RW612 FlexSPI PORTB1 访问 我在外部 XIP 模式下使用 RW612 芯片组,代码从 FlexSPI 端口 A1 运行,我将 PSRAM(APS6404L)连接到 FlexSPI 端口 B1,我使用 SDK(25.06 版)提供的配置访问端口 B1。 在尝试读取 PSRAM ID 时,我在端口 B1(CLCK/CS)上看不到任何信号活动。 我拆下了 SPARM,以确保这些信号不是由有缺陷的部件保持的。 这是否与 APS6404 不使用 DQS 信号有关? 如何配置 PortB1不使用 DQS? 感谢您的帮助和时间。 Re: RW612 FlexSPI PORTB1 access 你好,罗曼、 感谢您的帮助,问题与总线运行时尝试配置 FlexSPI 时钟有关,我注释了以下几行: CLOCK_EnableClock(kCLOCK_Flexspi); BOARD_SetFlexspiClock(FLEXSPI, 5U, 3U); 现在 FlexSPI 端口 B1 正在运行,我可以使用 AHB 高速缓存从 PSRAM 中写入/读取数据。 感谢您的帮助,非常感谢。 Re: RW612 FlexSPI PORTB1 access 你好@khalidL. 您是否按下图所示在 MCU 设置中定义了 PSRAM 内存部分? 请务必按照项目的Application Code Hub 帖子中提供的步骤操作,如果问题仍然存在,请告诉我。 Re: RW612 FlexSPI PORTB1 access 你好,罗曼、 感谢你的帮助和时间,在将上面的例子内置到我的项目中的过程中,我遇到了以下问题,当我从主服务器调用函数 " __RAMFUNC (SRAM) status_t board_initpsram (void) " 时,代码会静默崩溃。 除了更改链接器文件(main_data.ldt,)之外,我还需要对我的项目进行其他更改才能内置示例main_txt.ldt 和 noinit_noload_section.ldt)然后复制 board.c文件?我认为代码崩溃的原因是 BOARD_InitPsRam 没有正确复制到 RAM 中。 再次感谢您的时间和帮助。 Re: RW612 FlexSPI PORTB1 access 这个例子适用于我的板,非常感谢你的帮助。 Re: RW612 FlexSPI PORTB1 access 你好@khalidL,希望你一切都好。 Application Code Hub 中有一个关于来自外部或非闪存的 XIP 的示例,请帮助我测试共享链接中的示例,并告诉我它是否符合您的项目要求。 要将项目导入 MCUXpresso IDE,请单击"Import from Application Code Hub" 选项。(请注意,本示例需要使用 2.16.00 版 SDK) 进入应用程序代码中心窗口后,搜索示例的名称(来自外部 或非 闪存的 XIP,使用多端口 FlexSPI 模块配置外部 pSRAM),将其选中,然后单击 " Github 链接 " 然后等待 " N ext > " 按钮可以使用。 点击"Next>" 按钮后,按照步骤从 git 仓库导入项目。最后,当项目在工作区中可用时,您就可以在您的设置上对其进行闪存和测试了。 如果有帮助,请告诉我。
記事全体を表示
S32G399 PCIe 无法发送 TLP 数据包 如图所示,请帮帮我。目前,我正在使用 S32G399A 芯片,并通过 PCIe 接口将其连接到 FPGA。在这种配置中,S32G399A 行动 RC,FPGA 行动 EP。我现在遇到的问题是可以访问FPGA的配置空间,但是bar0的内存空间无法触发信号TLP。 下图显示了"dmesg" 在操作系统中打印的信息。在"出境" 部分,显示的是 6OB 和 4IB。应如何配置出站和入站,以及应在何处配置? 另外,原地址 基地址 目标地址分别代表什么? Re: S32G399 PCIe cannot send TLP packets 你好,@龙岗素 是的,根据测试,在当前的电路板支持包驱动程序下,RC 会根据 EP 的 BAR 设置自动将该区域映射到 32 位/64 位地址空间。 BR 切宁 Re: S32G399 PCIe cannot send TLP packets 您是说 PCIe 位宽与 EP 有关吗?如果 EP 端是 64 位,那么是否无需对 RC 端进行任何修改? Re: S32G399 PCIe cannot send TLP packets 你好,@龙岗素 感谢您的回复。 S32G PCIe RC 支持 64 位地址访问 例如,我使用另一个 S32G 板作为 EP,修改了 EP 端的 BAR 的相应位,然后从 RC 端的输出启动 RC 后,映射的一个区域是 " 区域 0:4900000000(64 位,可预取)[size=1M] " 的内存,可以通过 64 位地址访问。 详细修改方法可查看自己的 PCIe EP 驱动程序/RM。 BR 切宁 Re: S32G399 PCIe cannot send TLP packets 请问,如何将 PCIe RC 模式配置为 64 位宽? 目前,我使用 32 位宽度与 FPGA 通信。 Re: S32G399 PCIe cannot send TLP packets 你好,@龙岗素 让我在这里继续支持它。 从显示的日志来看,有 6 个 OB 窗口和 4 个 IB 窗口。 1.OB 窗口和 IB 窗口的数量通常取决于硬件 IP,您认为这些窗口的数量是否足够? 关于 iatu 的配置,您可以查看驱动程序/pci/controller/dwc 下的驱动程序进行设置。 2。原始地址可以是来自内存功能域的请求中的地址,基本地址可以是主机地址空间中该区域的参考点,而目标地址是 PCIe 功能域中的起点。 BR 切宁 Re: S32G399 PCIe cannot send TLP packets @cehnyin_h Re: S32G399 PCIe cannot send TLP packets 您好,@LONGGANGSU 感谢您的回复。 我发现这个问题也是通过其他渠道提出的,请直接向那里求助。 BR 切宁 Re: S32G399 PCIe cannot send TLP packets 你好,@龙岗素 谢谢你的帖子。 1。看来你在用电路板支持包,哪个版本? 2。哪些串行器用于连接设备,使用 PCIe x1? 3.所提到的快照是指哪份文件? BR 切宁
記事全体を表示
NXPマイクロコントローラー;スマート、セキュア、コネクテッド <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> マイクロコントローラソリューション 幅広い価格性能ポイントでマルチ製品開発を可能に SWの所有コストの削減 ハードウェアとソフトウェアのソリューションを緊密に統合した市場投入までの時間を短縮 サービス&サポート NXPマイクロコントローラ KinetisとLPCのマイコン賢い。確保。安全で、接続されています。 賢い パフォーマンスを向上させ、スペースと電力のバジェットを削減して、より電力効率の高い インテリジェントなエッジノード処理 セキュア ファミリー全体でスケーラブルなセキュリティを提供し、安全なエッジノード処理を容易にします。 適切な価格/性能比 接続 すべての主要な有線および家庭内無線接続バックボーンを提供しながら、削減を促進します の所有コスト <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> マイクロコントローラソリューション 幅広い価格性能ポイントでマルチ製品開発を可能に SWの所有コストの削減 ハードウェアとソフトウェアのソリューションを緊密に統合した市場投入までの時間を短縮 サービス&サポート NXPマイクロコントローラ KinetisとLPCのマイコン賢い。確保。安全で、接続されています。 賢い パフォーマンスを向上させ、スペースと電力のバジェットを削減して、より電力効率の高い インテリジェントなエッジノード処理 セキュア ファミリー全体でスケーラブルなセキュリティを提供し、安全なエッジノード処理を容易にします。 適切な価格/性能比 接続 すべての主要な有線および家庭内無線接続バックボーンを提供しながら、削減を促進します の所有コスト
記事全体を表示
解放串口之重定向printf输出到IAR虚拟终端(Redirect printf output to IAR Terminal to release UART port)     感谢Baolei之前在weekly meeting上分享的关于在Codewarrior环境下实现printf的重定向技巧,从而在CW调试环境下的Console上实现调试信息的打印功能,我将其移植到IAR环境下并进行了测试,可以实现调试信息的交互,完全可以替代串口的功能,在这里写出来分享给大家,再次感谢baolei的分享~     通过串口打印调试信息或者实现上下位机交互是我们最常使用的调试手段之一,毕竟实现起来无论是硬件成本(接出两根线Txd和Rxd,外加一个电平转换芯片)还是软件成本(下位机写好UART驱动,上位机直接超级终端或者一些第三方串口调试助手)都是相对较低的,所以这种方式还是灰常受广大“攻城师”们欢迎的。不过如果由于I/O资源紧缺串口被用做其他用处或者板子直接没有引出串口的话(是不是产生共鸣了,呵呵),那该怎么办呢?     当然,所谓时代不同了(liao)(顺口想说“男女都一样呢”,呵呵,哎,都是生在旧社会长在红旗下的孩子啊),随着嵌入式开发生态系统越来越完善,目前也是有越来越多的Poweful开发工具支持丰富的调试功能(支持打印调试信息和交互等),但是涉及到一些版权的问题价格上还是有点小贵的(对一些小企业来说还是难以接受的),所以这个时候就需要我们动动脑筋去摸索摸索其他的方法(所谓路是探索出来的),事实证明破釜沉舟下人的潜力是无限的,呵呵,这里就分享一个折衷的办法去解决大家一直苦恼的问题,即使用IAR虚拟的串口终端来实现信息的交互和打印,下面进入正题: 测试平台:IAR6.6 + FRDM KE02开发板(我目前手里有这个,其他平台都可以) 测试代码:KE驱动库(KEXX_DRIVERS_V1.0.1_DEVD\kexx_drv_lib_release_r1.0.1\build\iar\ke02\platinum) 这里稍微提一句,我测试的是KE驱动库的代码,但是实际上只要你看懂了我下面的解决方法(授之以渔而不是鱼),其他代码都是类似的。 1)打开KE02 platinum的IAR工程,进入到platinum.c文件,找到main函数如下图1,可以看到其调用了printf打印函数,而该工程是默认调用底层串口的,我们跳转到该函数的定义如图2,再继续跳转到out_char的函数定义如图3,这下就屡清楚了,我们可以很直观的看到工程默认是调用UART底层的,呵呵,下面我们就要动手改造它对printf进行重定向; 2)首先我们需要注释掉printf的实现函数,将其屏蔽掉,然后需要给printf一个重新指向的地址,下面就该我们常见的 这位老兄出场了(貌似当初自打我开始接触Turbo C的时候就已经用到它了,老生常谈的“Hello world”就是调用它内部的printf来实现的)。我们找到Common.h文件,将 添加到其中,如下图,这样凡是需要printf的文件只需要添加common.h头文件即可: 3)这里先说说stdio.h文件的作用,我们打开stdio.h文件可以看到其内部定义了标准输入输出函数,包括我们常见的scanf和printf等函数,而这些函数所调用的底层即为IAR提供的链接到其Terminal的驱动,所以……懂的,呵呵。除此之外,我们肯定不满足只输出打印(给人略显低端的感觉有木有),所以为了体现我们不是“土豪”,我觉着有必要让它交互起来,实现真正的串口功能(因为一些类似bootloader或shell之类的还是需要输入参数的进行交互的),我在main函数添加了scanf语句用来测试输入功能,如下: 4)准备工作就绪,编译链接整个工程,然后下载到KE02的板子中并进入到Debug调试环境中,点击View->Terminal I/O调出虚拟终端,然后全步运行,就可以看到Terminal下开始打印调试信息,如下图1。当然显示输出有点小case了,我们再试试输入功能,在input框中输入‘a’,然后回车,如下图2,perfect: 5)还没完,我们要玩就玩高端大气上点档次的,我们再探索探索呢,结果又发现个小惊喜,我们点击上图右下角的“Input Mode”,弹出设置框如下,很高端啊有木有: 呵呵,看完之后是不是有种跃跃欲试的兴奋呢,呵呵,just have a try and enjoy it~ 附件为我修改之后的工程代码,仅供参考~ Re: Redirect printf output to IAR Terminal to release UART port <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Could you provide the engineering attachments you modified?
記事全体を表示
[i.MX/GST]a collection of several GST debugging tips and known-how On behalf of Gopise Yuan. A collection of several GST debugging tips and known-how. When you need to play onto a DRM layer/plane directly without going through compositor, kmssink should be a good choice: // kmssink, with scale and adjust alpha property (opaque) and zpos (this requires kmssink>=1.16): gst-launch-1.0 filesrc location=/media/AVC-AAC-720P-3M_Alan.mov ! decodebin ! imxvideoconvert_g2d ! kmssink plane-id=37 render-rectangle="<100,100,720,480>" can-scale=false plane-properties=s,alpha=65535,zpos=2 When using playbin, you can still customize the pipeline besides the sink plugin, e.g. add a converter plugin: // Playbin with additional customization on converter before sink: gst-launch-1.0 playbin uri=file:///mnt/MP4_H264_AAC_1920x1080.mp4 video-sink="imxvideoconvert_g2d ! video/x-raw,format=BGRA,width=1920,height=1080 ! kmssink plane-id=44" GST can generate a pipeline graph for analyzing the pipeline in a intuitive manner: // Generate pipeline graph: 1. Export GST_DEBUG_DUMP_DOT_DIR= , GST_DEBUG=4 2. Run pipeline with gst-launch or others. 3. Copy all dump files (.dot) from . Note: one dump file will be created for each state transaction. Normally, what we need will be PAUSE_READY or READY_PAUSE, after which pipeline has been setup. 4. Convert the .dot file to PDF with Graphviz: dot -Tpdf 0.00.03.685443250-gst-launch.PAUSED_READY.dot > pipeline_PAUSED_READY.pdf i.MX 8 Family | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Multimedia Yocto Project
記事全体を表示
尔湾:LPC800 MCU 技术概述:恩智浦®面向广泛的 8 位替代市场增长最快的产品组合 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 参加本次会议,了解如何利用 LPC84x MCU 系列的创新功能,该系列是计划于 2017 年发布的三个 LPC800 版本中的第一个。通过产品功能培训和演示,我们将展示这些低功耗、基于 ARM ® Cortex ® -M0+ 的 MCU 如何为当今的入门级 32 位微控制器市场提供 8 位简易性。我们希望您在本次课程结束后能够获得正确的培训和评估板,以便立即开始您自己的嵌入式开发。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 参加本次会议,了解如何利用 LPC84x MCU 系列的创新功能,该系列是计划于 2017 年发布的三个 LPC800 版本中的第一个。通过产品功能培训和演示,我们将展示这些低功耗、基于 ARM ® Cortex ® -M0+ 的 MCU 如何为当今的入门级 32 位微控制器市场提供 8 位简易性。我们希望您在本次课程结束后能够获得正确的培训和评估板,以便立即开始您自己的嵌入式开发。
記事全体を表示
实践研讨会:利用恩智浦最新多媒体应用处理器 i.MX 8M Mini 快速推进您的产品开发 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 从 i.MX 8M Mini EVK 开始实践,我们将介绍开箱即用的支持,包括软件、工具、硬件设计指南和演示软件。参加者在完成本课程后应该能够自信地使用 i.MX 8M Mini 开始自己的设计。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 从 i.MX 8M Mini EVK 开始实践,我们将介绍开箱即用的支持,包括软件、工具、硬件设计指南和演示软件。参加者在完成本课程后应该能够自信地使用 i.MX 8M Mini 开始自己的设计。 i.MX 应用处理器
記事全体を表示
尤达里程碑奖金 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 大家好, 在此视频中,我们展示了我们作为奖励实现的 Android 应用程序。 UDOO Quad 上运行的虚拟助手程序也是一个 Web 服务器,它公开了一个非常基本的 REST API。该API用于远程控制助手。Android 应用程序使用 Google 的 STT API 将语音转换为文本,通过互联网将输入发送给 Yoda,Yoda 处理输入并返回答案,该答案使用 Google 的 TTS API 呈现。 之前视频中演示的所有插件都可以在 Android 应用程序中使用,因为手机只是另一个 I/O,所有处理仍然由在 UDOO 板上运行的应用程序完成。 有关实施、安装说明和其他规格的更多详细信息,请查看我们的 Git 存储库。 感谢观看, 尤达团队 (在 “我的视频” 中查看)
記事全体を表示
LAT-DES-T2443 - i.MX アプリケーション プロセッサ製品ファミリのアップデート: i.MX 6UltraLite、i.MX 6ULL、i.MX 6QuadPlus、i.MX 7、i.MX 8 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このセッションでは、利用可能なすべての最新の i.MX プロセッサを取り上げ、まもなく発売されるプロセッサについて説明します。i.MX 6、i.MX 7、i.MX 8 アプリケーションプロセッサの製品。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このセッションでは、利用可能なすべての最新の i.MX プロセッサを取り上げ、まもなく発売されるプロセッサについて説明します。i.MX 6、i.MX 7、i.MX 8 アプリケーションプロセッサの製品。
記事全体を表示
MHW-N1921デジタル高効率AC / DC共振電源 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 共振AC/DC電源は、高出力で優れた効率を発揮します。TEA1916は、共振LLC設計の複雑さを簡素化し、簡単なチューニングを提供するデジタルコントローラーです。これは、多くの共振スイッチモード電源で使用されている非常に一般的なTEA1716を継承します。PCやテレビですが、TEA1916は実際には75W>あらゆる電源に非常に適しています。医療、産業用、サーバー用電源。このTEA1916は、新しいデジタル・サイクル・バイ・サイクル・アーキテクチャ(Vcap制御)を使用して、低電力負荷での新しいタイプの動作を可能にします。これにより、正確に制御されたバーストモード動作を使用して、低出力電力での効率が向上します。また、このTEA1916は、スタンバイ状態またはオフ状態で非常に低い消費電力を実現します。競合他社と差別化するための主要なパフォーマンスパラメータです。最高の効率を得るために、TEA1916はNXPのTEA1995同期整流器と一緒に優れた働きをします。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 共振AC/DC電源は、高出力で優れた効率を発揮します。TEA1916は、共振LLC設計の複雑さを簡素化し、簡単なチューニングを提供するデジタルコントローラーです。これは、多くの共振スイッチモード電源で使用されている非常に一般的なTEA1716を継承します。PCやテレビですが、TEA1916は実際には75W>あらゆる電源に非常に適しています。医療、産業用、サーバー用電源。このTEA1916は、新しいデジタル・サイクル・バイ・サイクル・アーキテクチャ(Vcap制御)を使用して、低電力負荷での新しいタイプの動作を可能にします。これにより、正確に制御されたバーストモード動作を使用して、低出力電力での効率が向上します。また、このTEA1916は、スタンバイ状態またはオフ状態で非常に低い消費電力を実現します。競合他社と差別化するための主要なパフォーマンスパラメータです。最高の効率を得るために、TEA1916はNXPのTEA1995同期整流器と一緒に優れた働きをします。 セキュアモバイル |ヘルスケア&ウェアラブル
記事全体を表示
USBウェイクアップを備えた低電力モード <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Kinetisファミリには、豊富な低消費電力モードがあります。お客様は、低電力モードからウェイクアップする別の方法を理解するのに混乱する可能性があります。 1) VLPR では、VLPW: NVIC は割り込みの影響を受け続けるため、割り込みはすべて処理されます。 2)停止、VLPSでは、デバイスは USB ウェイクアップ割り込みによってのみウェイクアップできます。 3)LLSでは、VLLSx:デバイスはどの USB ソースから もウェイクアップ できません。 4) LLWUは ウェイク アップに使用されるため、お客様は利用可能なLLWU ウェイク アップソースのいずれかから ウェイク アップできます。 USBモジュールに関しては 、 USB 再開イベントには2つの異なる割り込みがあります。1つは、 USB ライン の状態の変化によって トリガーされる低電力モードから ウェイクアップ できるようにするための非同期です。もう 1 つは同期しており、K 状態 (フル スピードの場合は D+ = 0、D- = 1) を検出してから 2.5 us 後にのみトリガーされます。アプリケーションは、必要なときにいつでも低電力モードに移行する責任があり、この目的のために 、USB スタックによって報告されたデバイスの状態を確認する必要があります。バス で サスペンド状態が検出されると、SLEEP割り込みがトリガーされ、スタックの状態がサスペンドに変わります。その後、アプリケーションは低電力モードに移行します。この SLEEP 割り込みが発生すると、非同期 ウェイク 割り込みが有効になり、トリガーされると無効になります (これは、モジュールが割り込みをクリアするために必要です)。通常の状態では、同期再開割り込みまたはリセット割り込みが後でトリガーされ、スタックの状態が中断以外に遷移します。その後、アプリケーションは通信が再びアクティブになったことを認識し、再び低電力モードに入るのを回避できます。
記事全体を表示
DES-N1842 - QorIQ 处理器和 QorIQ LS 系列上的 ONL 和 ONIE <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 白盒开关是网络交换机,与其需要的运行软件独立销售。 开放式网络Linux(ONL)是在这些交换机上运行的“网络操作系统”的基础。 开放式网络安装环境(ONIE)用于创建在交换机上安装网络操作系统的软件。 本演示重点介绍了恩智浦在QorIQ P2041和QorIQ T2080平台以及LS2085的路线图上介入ONL/ ONIE。 本次会议将恩智浦方法扩展至ONL/ONIE和白盒市场。 观看视频演示 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 白盒开关是网络交换机,与其需要的运行软件独立销售。 开放式网络Linux(ONL)是在这些交换机上运行的“网络操作系统”的基础。 开放式网络安装环境(ONIE)用于创建在交换机上安装网络操作系统的软件。 本演示重点介绍了恩智浦在QorIQ P2041和QorIQ T2080平台以及LS2085的路线图上介入ONL/ ONIE。 本次会议将恩智浦方法扩展至ONL/ONIE和白盒市场。 观看视频演示 设计 | 软件与服务
記事全体を表示
フリースケールのコンシューマ/産業用アナログ製品の紹介 - 広州 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このセッションでは、MMPF0100/200パワー・マネージメント集積回路(PMIC)を含むコンシューマおよび産業用アナログ製品を紹介し、この業界分野で既存の車載用アナログ製品を販売するための新しい戦略について説明します。 スティーブン・ヤンによる発表 2015年6月10日、広州市のDwF Kinetis MCUs Based on ARM®テクノロジで発表 セッションID: APF-IND-T1015 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このセッションでは、MMPF0100/200パワー・マネージメント集積回路(PMIC)を含むコンシューマおよび産業用アナログ製品を紹介し、この業界分野で既存の車載用アナログ製品を販売するための新しい戦略について説明します。 スティーブン・ヤンによる発表 2015年6月10日、広州市のDwF Kinetis MCUs Based on ARM®テクノロジで発表 セッションID: APF-IND-T1015 パワー・マネジメント センサ
記事全体を表示