- 博客(39)
- 收藏
- 关注
原创 【S32K3 RTD LLD篇4】K344 EMIOS PWM+TRIGMUX+LCU
最近学习了S32K344的EMIOS生成一路PWM, 尝试过上升计数,上升下降计数方式改变频率和占空比,还有输入PWM波捕获等功能,但是不过瘾,还想学习LCU,把一路PWM给输出成两路互补的PWM,不过由于LCU的输入信号不支持引脚直接输入,所以顺势学习了TRIGMUX,TRIGMUX可以把多种的内部信号给转成另外的内部信号。
2024-08-16 15:21:15
817
原创 【S32K3 RTD LLD篇3 】K344 PIT CANFD 收发
小编最近学S32K344比较上头,微醺状态,感觉有点上瘾的那种,所以利用周末,总结下自己学习并动手做的一些东西,不见得好,就当一个笔记。这里,准备升级下,上CANFD,enhanced Rx FIFO接收,并且编写了个小功能,并且分享一些小编在实际中遇到的坑点,其实学习了一段时间,感觉这个汽车的芯片,单纯从技术上讲并不算难,就是技术内容点比较多,需要时间一点点去走一遭。
2024-08-10 17:42:34
631
原创 【S32K3 RTD LLD篇2】K344 FlexCAN 外部loopback
写本篇文章的用意,没有别的意思,单纯表达对RTD400自带CAN代码的不满,因为RTD400自带的CAN代码是loopback,而且还是一个internal loopback。所以本文也作为CAN模块的切入点,使用外部loopback,功能是发送一帧标准帧的CAN数据之后,进入接收状态,收到什么数据,回什么数据出来。
2024-08-10 15:03:44
984
原创 【S32K3 RTD LLD篇1】 LPUART helloword so easy
开启外设篇的学习了,首先来一个lpuart的helloworld,体验下S32K3在S32DS的CT工具配置外设下有多丝滑多好用。关于LPUART的理论,无需多讲,感兴趣的可以去S32Kxx Reference manual中看看,IP的功能比较简单易懂,文档写的也足够详细。这里在配置LPUART的过程中,主要几部分:引脚配置,时钟配置,中断配置,Siul2_Port配置,lpuart配置。
2024-07-28 16:40:42
904
原创 【RT摩拳擦掌】RT600 4路音频同步输入1路TDM输出方案
本篇文章旨在在RT685平台上实现4组48Khz 32bit 2ch的音频数据同时输入,然后把收到的数据组装成一路48Khz 32bit 8ch的音频再通过I2S输出。
2024-07-22 20:24:22
1038
原创 S32K3 工具篇4:如何在S32DS中使用lauterbach下载
劳德巴赫lauterbach是一款非常经典强悍的调试器,还带有trace功能,在汽车MCU中也是常用的调试器之一,所以本文分享如何在S32DS中使用劳德巴赫去调试S32K3。话不多说,直接开干。在这里插入图片描述。
2024-07-05 19:13:18
809
原创 【RT摩拳擦掌】如何构建RT AVB switch&endpoint平台
之前讲过一篇文章是如何使用单点的RT1170作为talker,单点的RT1170作为listener,两块板子直连实现AVB的端点测试。但是实际使用中,很多是多点对多点的应用,不过需要使用到AVB switch。所以本篇文章在之前文章的基础上,多加了一个listener端点和AVB switch,去实现一个talker,两个listener的AVB 平台情况。图 1。
2024-07-03 18:53:59
1004
原创 S32K3 工具篇3:如何安装EB Tresos RTD4_0_0 MCAL
S32K3 工具篇3:如何安装EB Tresos RTD4_0_0 MCAL大家好,我是火山,一个从事嵌入式行业多年的菜鸟工程师,在此分享自己的S32K3学习历程!前面学习了如何使用S32DS结合S32K3 RTD LLD,并且也通过不同的仿真器去调试了S32K344的板子。但是,对于S32DS和普通的MCU的区别很大一部分是它的MCAL EB Tresos的光环,久仰大名,但是没有试过,实在眼馋手痒,所以本人决定构建这个EB Tresos+RTD MCAL的平台,让我的MCAL也同步启动起来。
2024-06-29 15:28:55
1466
原创 【RT摩拳擦掌】RT云端测试之百度天工物接入构建(设备型)
随着科技的进一步发展,物联网广泛应用于各行各业,比如工业,农业,环境,交通,物流,安防等基础设施,物联网的使用使我们的生活变得更加丰富多彩并且智能化。而爆发式发展的物联网,首先离不开物联网平台云端,目前市场上的云服务也是种类繁多,比如Amazone的AWS,微软的azure, google clould iot, 国内的阿里云,百度物接入IOT hub, 移动的oneNet等。百度云作为中国一款流行的云,在物联网这块也推出了针对物接入云的平台。
2024-06-29 11:25:41
1604
原创 【RT摩拳擦掌】基于RT106L/S语音识别的百度云控制系统
NXP RT106L和RT106S是一款用于本地语音识别的芯片,SLN-LOCAL-IOT基于RT106L, SLN-LOCAL2-IOT是基于RT106S的新款本地语音识别开发板。开发板包含murata 1DX wifi/BLE模块,AFE语音模拟前端,ASR识别系统,外部flash, 2个麦克风,以及模拟语音放大器与扬声器。SLN-LOCAL-IOT 和SLN-LOCAL2-IOT的语音识别过程有区别,建议使用新款SLN-LOCAL2-IOT。
2024-06-28 17:50:10
1428
原创 S32K3 工具篇2:如何在S32DS中使用Segger JLINK下载
大家好,我是火山,一个从事嵌入式行业多年的菜鸟工程师,在此分享自己的S32K3学习历程!之前分享了S32K3 工具篇1:新手如何安装S32DS RTD4_0_0,有了板子,有了编译环境之后,就得考虑不同仿真器如何在编译环境下载的问题。工具篇1中提到使用了NXP官方的S32K3X4EVB,该板子是自带了opensda的仿真器,但是如果是其他不带仿真器,自定义的板子,就可以使用更多第三方的debugger,比如我们常用的:Segger JLINK, PE Multilink, Lauterbach等。
2024-06-28 16:46:13
1330
原创 S32K3 工具篇1:新手如何安装S32DS RTD4_0_0
大家好,我是火山,一个从事嵌入式行业多年的菜鸟工程师,做过8bit,16bit,32bit MCU相关应用项目。目前深耕32bit ARM内核MCU,32bit MCU接触的有NXP 的kinetis L,K,M,KW等系列,LPC,I.MX RT,自学了些I.MX 6ULL 嵌入式linux知识。目前,由于职业规划战略调整,准备进军AUTO MCU,所以从NXP S32K3系列开始学习,在此分享自己的S32K3学习历程。工欲善其事,必先利其器!首先,需要构建S32K3的编译环境,了解SDK的情况。
2024-06-21 18:47:59
1529
原创 【朝花夕拾】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
1032
原创 【RT摩拳擦掌】基于VIT获取天气信息的RT语音识别系统
NXP EdgeReady解决方案可以使用RT106/5 S/L/A/F实现语音语音识别,但是相关配套软件库对于RT4位系列仅仅局限于S/L/A/F系列, 如果想使用普通的RT芯片是否可以同样实现语音识别功能呢?NXP官方推出VIT软件包,可以支持RT1060,RT1160,RT1170,RT600,RT500实现基于SDK的语音识别功能。
2024-06-20 18:43:53
655
原创 【经验分享】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
1266
原创 【朝花夕拾】RT600 DSP代码GPIO中断添加
RT600带有ARM CM33和HiFi4 DSP, 对于普通的GPIO中断,在ARM代码中使用非常简单:初始化GPIO引脚,配置中断类型并使能中断,使能中断IRQ号,添加对应中断服务函数。这样,一旦满足配置的GPIO中断类型产生,即可产生中断并且触发中断服务函数。那么,如果要在RT600 DSP中添加一个简单GPIO中断或者PINT中断,是否也是如上那么简单,直接拷贝ARM 代码就行了呢?
2024-06-19 18:05:15
1065
原创 【朝花夕拾】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
766
原创 【朝花夕拾】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
384
原创 【朝花夕拾】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
393
原创 【朝花夕拾】如何下载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
1715
原创 【朝花夕拾】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
1278
原创 【朝花夕拾】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
174
原创 【朝花夕拾】RT1170 SBL ISP下载带SDRAM APP
NXP官方推出了关于RT bootloader的SBL和SFW,能够很好的实现常规使用中对于secondary bootloader的要求。比如ISP,OTA,加密等功能。本文主要基于SBL,利用ISP方式下载用户app。
2023-12-02 13:40:22
178
原创 【朝花夕拾】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
184
原创 【朝花夕拾】RT1170 JTAG接口工作技巧
确保JTAG功能是被使能的。可以看到,JTAG已经能够成功找到内核,说明JTAG已经工作了。那么遇到这样的问题,该如何解决呢?
2023-11-23 19:06:42
143
原创 【朝花夕拾】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
200
2
原创 【朝花夕拾】RT1050 FlexIO采集OV7670摄像头数据TFTLCD显示
关于RT10XX flexIO采集OV7670摄像头数据,并且在TFT LCD显示的情况,其实NXP官网已经有一篇非常好的应用笔记AN12686,只是测试是基于RT1010并且不是EVK,可能实际客户直接测试比较困难。
2023-11-04 19:16:43
250
原创 【朝花夕拾】RT1050 CSI OV7670摄像头eLCDIF显示
OV7670是一款CMOS VGA图像传感器,体积小,工作电压低,通过SCCB总线控制,可以输出各种分辨率的8位影像数据,帧率高达30帧/秒,成本低。本篇文章主要是实现RT10XX上使用CSI获取OV7670摄像头数据,并且使用RT10XX自带的显示模块eLCDIF显示。摄像头和显示采用RGB565格式。
2023-11-04 15:27:25
313
原创 【朝花夕拾】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
172
原创 【RT摩拳擦掌】RT1170 AVB初体验
经过多次测试,可以实现RT1170 AVB的音频传输功能。如果只是单纯测试,不想自己编译生成bin文件,也可以直接使用AVB/TSN协议包里面生成好的bin,路径:本次文章仅仅是初体验,更深入的有待后续学习分享。本次体验过程中也遇到一些问题:1.linux编译时cmake版本的安装,具体查看章节2.2.2 相关软件工具2.打印格式混乱,在teraterm中打印,默认115200配置总是出混乱log,难以查看具体内容。就像下面:图 27解决方案:图 28图29。
2023-10-06 15:51:37
429
原创 【朝花夕拾】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
125
原创 【Linux囊萤映雪】基于Ubuntu编译RT Linux SDK
NXP MIMXRT产品的SDK能够支持windows,Linux,macOS三个系统,通常情况下,使用windows版本结合IDE编译的用户占绝大多数,而且文档也比较齐全。但是,对于Linux版本,虽然下载了SDK,里面也包含了文档,但是文档却和windows的一样,并不是针对Linux的。所以当少部分客户在使用Ubuntu Linux编译的时候,苦于没有文档参考,尤其新手使用起来比较困难。本文将基于Ubuntu实现RT1060 linux版本SDK的编译。
2023-07-21 16:03:17
278
原创 【朝花夕拾】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
457
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
154
原创 基于百度智能云的语音控制系统
不过这个框图是基于上述论坛的进一步加工,添加了远程的RT1060孙悟空播放器播放语音,I.MX8MP的HDMI显示屏控制。目的:给新来的领导量身定做的,语音播报塑料人工合成音欢迎词,HDMI显示屏显示欢迎词。PS:有点拍马屁的意思,哈哈!
2023-05-31 18:33:52
106
1
原创 【朝花夕拾】RT600 BCLK受干扰影响WS频率解决方案
然而,推荐客户改变驱动能力的方式,纵然可以输出正确的48Khz采样率波形,客户并不接受,认为高驱动能力也代表着功耗的加大,而他们的产品是对功耗要求极高的,必须要在普通驱动能力下解决问题。通过内部的沟通,也认为这个BCLK毛刺是导致问题的原因。这里需要注意的是,有些示波器,如果采样率低可能抓不到这个毛刺,还有些探头,阻抗比较小,导致探头加上到BCLK,直接问题消失的情况,所以建议使用高阻抗探头,比如1M欧,1G采样率以上的探头即可抓到。如果是官方的代码配置,不会复现问题,如果是使用客户的代码,能够复现问题。
2023-05-31 18:24:02
201
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
405
原创 【朝花夕拾】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
914
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人