
RT 朝花夕拾
文章平均质量分 92
日常I.MX RT问题解决经验记录
嵌联驰
一个对嵌入式行业又爱技术又菜的追随者,记录嵌入式mcu,嵌入式linux学习历程!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【朝花夕拾】RT1170 CSI 如何使能摄像头Y8功能
RT1170的CSI可以支持YUV格式,所谓的YUV分为三个分量:Y表示亮度(Luminance),即灰度值;UV表示色度(Chrominance),描述色度和饱和度。和RGB类似,YUV也是一种颜色编码方法,它可以把亮度信息Y与色度信息UV分离。如果要显示黑白,可以没有UV信息,只有Y信息,即Y800=Y8 ,也同样可以显示完整的图像。对于RT1170 YUV,官方SDK提供了基于YUV444格式的例程,但是在实际使用中,有些客户需要Y8格式的功能,那么应该如何基于现有的YUV SDK去做配置呢?原创 2024-06-21 14:28:58 · 1177 阅读 · 0 评论 -
【经验分享】RT1060 UDP组播代码测试
RT1060 UDP组播代码测试。原创 2024-06-19 18:16:02 · 1000 阅读 · 0 评论 -
【经验分享】RT600 serial boot mode测试
该启动模式和ISP模式类似,只不过serial boot模式是通过串行接口如SPI, UART, USB HID, I2C等接口把app下载到片上RAM种并直接启动,RT600具有4.5MB的片上RAM,所以也可以借助此模式,通过外部设备直接下载app到RT600片内RAM直接运行,这样可以省掉外部的memory。该模式可以实现flexSPI boot, SD boot, eMMC boot, SPI NOR Boot,当app烧录到对应的外部存储器之后,可以使用改模式直接去启动运行。原创 2024-06-19 18:09:21 · 1388 阅读 · 0 评论 -
【朝花夕拾】RT600 DSP代码GPIO中断添加
RT600带有ARM CM33和HiFi4 DSP, 对于普通的GPIO中断,在ARM代码中使用非常简单:初始化GPIO引脚,配置中断类型并使能中断,使能中断IRQ号,添加对应中断服务函数。这样,一旦满足配置的GPIO中断类型产生,即可产生中断并且触发中断服务函数。那么,如果要在RT600 DSP中添加一个简单GPIO中断或者PINT中断,是否也是如上那么简单,直接拷贝ARM 代码就行了呢?原创 2024-06-19 18:05:15 · 1219 阅读 · 0 评论 -
【朝花夕拾】RT600/1170 UAC改变输出端点interval方法
客户在使用RT600官方SDK的usb复合体例程的时候,发现默认的HS interval 是125us,代码是:mimxrt685audevk_dev_composite_hid_audio_unified_bm。但是在实际的应用中,125us的数据包间隔传输数据,会让CPU有很大的中断负荷,所以客户希望把间隔改大一些,比如1ms,改成1ms之后发现数据包是能够发到RT芯片,但是RT这边播放确实有问题。改成同步模式下的500us也是可以,不过500us,客户的CPU负荷还是达到了80%以上,不便于后续应用代原创 2024-06-14 13:27:35 · 923 阅读 · 0 评论 -
【朝花夕拾】RT1170 使能ECC后CMSIS DAP+IDE debug
这里以MCUXpresso IDE为例,在MIMXRT1170-EVK板子上烧录了ECC相关fuse之后,如果工程是烧录到RAM,那么是能够直接debug,没问题。经过多种方法的测试,比如在脚本中初始化RAM,因为通过ECC的特性,需要先刷一次RAM,但是发现通用直接刷RAM的代码速度太慢,导致下载超时问题,然后再改成使用DMA搬运数据到RAM,保证RAM是被刷过一次的情况,但是结果还是不行,所以刷RAM并不是解决debug问题的根本方式。这样可以成功下载代码,然后复位,让ROM自行打开ECC功能。原创 2024-06-06 14:08:34 · 553 阅读 · 0 评论 -
【朝花夕拾】RT1050 MCUXpresso JLINK切换QSPI flash
很久之前写过一篇基于老的Segger JLINK驱动,切换默认MIMXRT1050-EVKB Hyperflash 到QSPI 的文章,主要是切换烧录算法,但是随着Segger JLINK驱动的不断更新,已经不需要老版本方式,通过JLinkDevices.xml去修改烧录算法了。当然,如果自行准备的特殊烧录算法,还是可以通过JLinkDevices.xml去修改调用,并且覆盖现在老的dll方式调用,比如使用超级下载算法RT-UFL就是这种方式。原创 2024-06-06 13:57:29 · 585 阅读 · 0 评论 -
【朝花夕拾】如何下载RT1170 MDK RAM代码到外部flash
应客户要求,需要提供一篇指导如何把RT1170 MDK的RAM代码下载到外部flash的文章,所以,本篇文章基于NXP RT1170 SDK, 官方MIMXRT1170-EVK开发板,生成MDK RAM 工程,偏移APP image,生成image,使用工具去下载到外部flash中。原创 2024-03-05 14:54:39 · 1861 阅读 · 0 评论 -
【朝花夕拾】RT1170 SBL ISP下载代码做remap功能
【朝花夕拾】RT1170 SBL ISP下载带SDRAM APP最近有客户同样需要使用RT1170 SBL ISP下载代码,但是需要下载的代码app是基于MCUXpresso IDE,生成bin文件,可以烧写到flash不同位置,然后使用remap去做对应app的运行。关于remap,从SBL的文档中可以知道,RT1170是能够直接支持的:图1通常,如果结合SFW做SD卡,云端等app更新,可以直接支持remap功能。原创 2024-01-03 18:26:58 · 1412 阅读 · 0 评论 -
【朝花夕拾】RT1050 基于lauterbach的Boundary Scan
下面,就以RT1050为例,提供控制板载GPIO_AD_B1_06, J22_2引脚的高低,使用万用表测试高低电平,这样当TRACE32软件打开,只需要直接打开脚本,进入debug模式,一键运行到底,查看板上灯控制状态即可。功能: GPIO_AD_B1_06引脚拉高拉低6次,分别做不延迟,延迟5S,延迟2S,脚本写好之后,保存,并且debug.BSDLSET 1. 可以控制想要控制的引脚,比如GPIO_AD_B1_06, J22_2控制的是输出电平,1高,0低。原创 2023-12-14 10:15:08 · 353 阅读 · 0 评论 -
【朝花夕拾】RT1170 SBL ISP下载带SDRAM APP
NXP官方推出了关于RT bootloader的SBL和SFW,能够很好的实现常规使用中对于secondary bootloader的要求。比如ISP,OTA,加密等功能。本文主要基于SBL,利用ISP方式下载用户app。原创 2023-12-02 13:40:22 · 341 阅读 · 0 评论 -
【朝花夕拾】RT1170 基于lauterbach的Boundary Scan
本文在参考应用笔记测试方法的基础上,提供对于NXP MIMXRT1170-EVK revC1的boundary scan测试结果,可以实现使用Lauterbach连接芯片,并且做boundary scan,对外部引脚实现控制,同时也提供了脚本文件,可以实现一键连接boundary scan,并且实现外部引脚的电平控制。下面,就以RT1170为例,提供控制板载D34灯亮灭的脚本,这样当TRACE32软件打开,只需要直接打开脚本,进入debug模式,一键运行到底,查看板上灯控制状态即可。原创 2023-11-28 15:47:27 · 311 阅读 · 0 评论 -
【朝花夕拾】RT1170 JTAG接口工作技巧
确保JTAG功能是被使能的。可以看到,JTAG已经能够成功找到内核,说明JTAG已经工作了。那么遇到这样的问题,该如何解决呢?原创 2023-11-23 19:06:42 · 264 阅读 · 0 评论 -
【朝花夕拾】RT1170 flexSPI1 secondary QSPI flash debug flashdriver
FlexSPI NOR连接方式大全(RT1160/1170)官方提供的烧录算法,都是从flexSPI1 primary group启动,但是实际使用中,还有客户需要从FlexSPI1 secondary pin group的flash启动,并且使用debugger去烧录仿真,怎么准备对应的烧录算法呢?而且不同的debugger对应的烧录算法也不同。原创 2023-11-22 18:33:19 · 417 阅读 · 4 评论 -
【朝花夕拾】RT1050 FlexIO采集OV7670摄像头数据TFTLCD显示
关于RT10XX flexIO采集OV7670摄像头数据,并且在TFT LCD显示的情况,其实NXP官网已经有一篇非常好的应用笔记AN12686,只是测试是基于RT1010并且不是EVK,可能实际客户直接测试比较困难。原创 2023-11-04 19:16:43 · 438 阅读 · 0 评论 -
【朝花夕拾】RT1050 CSI OV7670摄像头eLCDIF显示
OV7670是一款CMOS VGA图像传感器,体积小,工作电压低,通过SCCB总线控制,可以输出各种分辨率的8位影像数据,帧率高达30帧/秒,成本低。本篇文章主要是实现RT10XX上使用CSI获取OV7670摄像头数据,并且使用RT10XX自带的显示模块eLCDIF显示。摄像头和显示采用RGB565格式。原创 2023-11-04 15:27:25 · 507 阅读 · 0 评论 -
【朝花夕拾】RT四位考虑DQS与QE RT-UFL烧录算法的修改
最近有客户RT1050项目中使用一款QSPI flash(Puya simi P25Q16H)作为XIP memory,但是总是遇到第一次下载不成功,重新上电之后再次下载能成功,app也能跑的现象,下载算法是使用超级下载算法RT-UFL。经过分析,这种情况通常和新的QSPI flash的QE没有使能有关。原创 2023-10-16 15:32:38 · 309 阅读 · 0 评论 -
【朝花夕拾】RT1060 ICMP硬件checksum插入方法
ICMP(Internet Control Message Protocol,英特网控制报文协议),常用于网络的调试与维护. ICMP通常被认为是IP层协议的一部分,但从体系结构上,它是位于IP层之上。图1Ping命令使用的就是ICMP的查询报文,如果能ping成功,说明网卡、IP层、ICMP层是能正常通信的。对于RT1060,可以支持ICMP的硬件checksum插入,所涉及的控制寄存器相关位为:图2。原创 2023-09-14 10:44:43 · 225 阅读 · 0 评论 -
【朝花夕拾】RT106X Secure JTAG测试与IDE调试
对于Secure JTAG,需要修改硬件支持JTAG, 修改fuse支持secure JTAG, 修改代码引脚使能JTAG功能,对于IDE,需要配置相关的接口为JTAG,添加正确的JlinkScriptfile,这样就能成功的运行Secure JTAG功能,并且进行IDE的代码debug。附件情况:evkmimxrt1064_hello_world_SJTAG.zip:mcuxpresso工程EVK-MIMXRT1064-hello_world_iar.7z:IAR工程。原创 2023-07-17 16:40:48 · 722 阅读 · 4 评论 -
【朝花夕拾】RT1170 LWIP socket client demo
最近有客户想要一个RT1170 LWIP socket client的代码,但是实际做下来总是遇到一些问题,所以小编自己在SDK的基础上做了一个简单的例程,并分享出来。代码运行起来之后,可以看到服务器这边可以检测到客户端的IP为192.168.0.102, 连接成功后,client会发送一个socket client test信息。这个代码本身已经添加了socket的相关文件,所以修改起来很简单,只需要添加socket的相关头文件,还有应用任务皆可。添加socket服务器地址,端口,以及发送信息。原创 2023-07-17 16:25:06 · 264 阅读 · 0 评论 -
【朝花夕拾】RT600 BCLK受干扰影响WS频率解决方案
然而,推荐客户改变驱动能力的方式,纵然可以输出正确的48Khz采样率波形,客户并不接受,认为高驱动能力也代表着功耗的加大,而他们的产品是对功耗要求极高的,必须要在普通驱动能力下解决问题。通过内部的沟通,也认为这个BCLK毛刺是导致问题的原因。这里需要注意的是,有些示波器,如果采样率低可能抓不到这个毛刺,还有些探头,阻抗比较小,导致探头加上到BCLK,直接问题消失的情况,所以建议使用高阻抗探头,比如1M欧,1G采样率以上的探头即可抓到。如果是官方的代码配置,不会复现问题,如果是使用客户的代码,能够复现问题。原创 2023-05-31 18:24:02 · 364 阅读 · 1 评论 -
【朝花夕拾】如何在RT4位FDCB中使能QE功能
RT1XXX芯片需要接外部memory作为程序存储媒介,如果外部使用QSPI flash,通常会使用quad功能去读写代码,SDK代码也是基于quad去读取代码并启动。外部使用的QSPI flash,需要查看SFDP 是否满足包含JESD216B+以上版本,因为这种版本通常RT ROM会自动使能QE功能,但是对于JESD216B以下版本,需要命令方式去使能QE位,从而使能quad功能,否则FDCB的LUT定义的是quad读,但是新的芯片QE位没有使能,会导致程序启动失败。原创 2023-04-27 17:44:31 · 563 阅读 · 0 评论 -
【朝花夕拾】RT10XX SDK TDM的实现
最近遇到网友在使用RT1020 SDK SAI代码实现TDM模式的时候,发现要么出现时钟问题,要么出现data数据线blocking的问题。TDM的实现主要是调用官方底层API SAI_GetTDMConfig,但是同样的情况,DMA代码工程能够成功发出TDM信号,问题是时钟不准确;终端代码工程TDM的SYNC能发成功,但是数据信号线并无数据。本文就此问题展开讨论分析,并在NXP MIMXRT1020-EVK开发板上,测试TDM, 16kHZ采样率,16bit,2通道,并提供解决方案。原创 2023-04-27 16:51:49 · 1109 阅读 · 2 评论