自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 【RTD200P04 MCAL 篇3】 S32M244 PWM PDB ADC控制

S32M2XX系列是专门为电机控制而生的MCU系列:S32M24X,延续S32K14X系列MCU,添加了AE预驱模块。S32M27X,延续了S32K3系列MCU,添加了AE预驱模块。NXP官方提供了S32M24X和S32M27X系列的EVB,可以配合一个三相PMSM/BLDC电机,实现单电阻电流采样方式的电机控制。研究电机控制的必经之路是要懂得怎么去控制PWM,实现在特定时刻采集电流,电压信号,并且经过计算再回调PWM控制。

2025-04-09 18:19:43 986

原创 【S32M244 RTD200P04 LLD篇8】S32M244 PWM ADC LLD demo

S32M2XX系列是专门为电机控制而生的MCU系列:S32M24X,延续S32K14X系列MCU,添加了AE预驱模块。S32M27X,延续了S32K3系列MCU,添加了AE预驱模块。NXP官方提供了S32M24X和S32M27X系列的EVB,可以配合一个三相PMSM/BLDC电机,实现单电阻电流采样方式的电机控制。研究电机控制的必经之路是要懂得怎么去控制PWM,实现在特定时刻采集电流,电压信号,并且经过计算再回调PWM控制。

2025-04-07 22:48:06 1078

原创 【S32K3 RTD LLD篇7】K344中心对齐PWM中心点触发ADC BCTU采样

手里还有好几个典型的案子没来得及写,春节前就先上一个吧。前不久,有客户实际项目需要在S32K3XX 上实现中心对齐PWM的高电平中心点去触发ADC BCTU多通道采样。这个功能需要使用EMIOS,ADC,BCTU的相互配合,开始的时候客户总是无法实现在PWM中心点位置的触发,触发位置不对,后续给与客户K3相关模块原理的讲解分析,以及实际代码配置测试的引导,客户也实现了需要的功能。这里为了测试方便,还额外添加了PIT以及UART printf功能。

2025-01-25 19:20:44 1450

原创 【S32K3 RTD LLD篇6】K312无HSE固件secure debug操作

S32K3芯片是带有丰富的加密功能的,为了加密,甚至不惜额外划分一个独立的内核供HSE使用,HSE固件是需要另外去安装的。对于加密debug接口这块,通常有两种途径:• 安装HSE固件方式做静态或者动态的加密• 不安装HSE固件做静态加密默认芯片是不安装HSE固件的,本文为了验证加密debug,将在不安装HSE固件的方式下,在K312芯片上使用RTD400HF01版本做静态debug接口加密。其他K3芯片也是类似情况。图1。

2025-01-19 20:44:20 1331

原创 【RTD MCAL 篇3】 K312 MCU时钟系统配置

很久没开张了,理由省掉一万字,结论为绝非偷懒!抓着2024的尾巴尖,再次激活下写文章系统。既然新的一年要开始了,那么就从MCU的小心脏跳动起来: 谈谈如何在K3芯片MCAL的MCU中配置时钟系统。图 1图 2就这么个时钟系统,小手点点戳戳几下,一生成代码不就完事了。但是在LLD里面太过自由,到了MCAL却时常磕磕碰碰,所以,索性花些许时间把这个MCAL MCU的整个时钟系统给整的明明白白,本文以K312为例来讲解,其他的K3系列类似。

2024-12-31 23:14:31 1127

原创 【RTD MCAL 篇2】 K312 UART DMA

十一假期时间余额已经不足了,抓紧时间赶一篇MCAL的K312 UART DMA。本篇文章讲解同样是基于S32DS+EB配置,RTD400, 以后其他模块的MCAL锻炼都会基于这样的结构,不过,本文会提供一个命令行版本的代码。如果需要命令行模式,完全可以直接在RTD MCAL的代码包下拷贝一个,并且利用VScode去编译。图 1功能:在K312 MCAL代码中,使用DMA方式实现UART的收发功能。

2024-10-06 19:00:55 1682 3

原创 【S32K3 RTD MCAL 篇1】 K344 KEY 控制 EMIOS PWM

搞了有一段时间的S32K3了,MCAL的代码写了几个,但是一直没抽出时间好好写文章,MCAL的文章第一篇就从K344 EMIOS+ICU+TRIMUX+LCU的组合体开始,这个可以涉及到PORT, DIO, EMIOS,中断ICU,TRIGMUX,LCU等综合配置,板子平台还是基于NXP 官方S32K344EVB,RTD400,功能为:使用EMIOS0 两个通道,EMIOS1一个通道。

2024-10-05 18:11:27 1928

原创 【S32K3 RTD LLD篇5】K344 ADC SW+HW trigger

S32K344的ADC是一款分辨率高达14位的SAR ADC,拥有丰富的软件以及硬件触发方式,支持多样的外部触发源,并且引入BCTU使得触发资源可以外联到多通道的EMIOS以及TRIGMUX,增加了更多的ADC触发源。本文主要讲解如下几种方式的ADC软硬件触发情况,并且配套给出代码。图 1主要分为5部分:(1) SW+ADC: 软件触发,通过添加定时器PIT,定时调用软件触发ADC完成通道采样,并且通过UART printf打印出采集值。

2024-10-03 15:41:14 2339 1

原创 S32K3 工具篇8:如何移植RTD MCAL现有demo到其他K3芯片

图 1从这点可以知道,RTD4.0.0是能够覆盖所有的S32K3系列的芯片的。但是如果想要现成的demo,比如MCAL的demo,可以看到在现成的demo路径下,比如:只有S32K344,S32K358,S32K388,S32K396,S32M276。所以,如果实际使用中,使用的是其他的S32芯片,比如K312,虽然在RTD支持的范围内,但是却没有现成的demo使用,这个时候就需要自行做移植了。

2024-09-23 19:26:51 1638

原创 S32K3 工具篇7:如何使用VScode编译EB MCAL工程

本文以RTD4.0.0, SW32K3_S32M27x_RTD_R21-11_4.0.0为例,平台是官方S32K344-EVB板子。代码以Dio_TS_T40D34M40I0R0工程为例,为了不影响原始例程,这里拷贝Dio_TS_T40D34M40I0R0另存为Dio_TS_T40D34M40I0R0_vscode。由于S32K344-EVB是具有板载的opensda工具的,所以,这里直接使用S32DS空工程链接到生成的main.elf文件下载并且debug。(1)S32DS 空工程链接到elf去下载。

2024-09-15 16:42:40 1354

原创 S32K3 工具篇6:如何将RTD EB工程导入到S32DS

S32K3 工具篇6:如何将RTD EB工程导入到S32DS这个主题实际上,之前已经有多人写过,并且写的很好,只是实际操作中,可能还会遇到些坑,所以本文不会详细的写文章步骤,但是会提供一个真实直接操作的视频流程,主要参考的文章来源链接:方法非常有用,已经试过RTD4.0.0 MCAL现有代码,并且也导入到自己配置的MCAL代码,方法可靠有效。平台:S32DS3.5话不多说,直接上视频:主要步骤有如下几步:STEP 1. S32DS工程新建。

2024-09-15 15:41:04 1081

原创 S32K3 工具篇5:如何使用lauterbach下载调试elf文件

之前写过如何在S32DS中使用lauterbach下载,但是对于RTD EB MCAL的代码,通常情况下是使用命令的方式去编译,并且生成.elf再去debug,对于elf文件,在debug的时候,是可以直接看到源c代码的。除了之前的文章使用S32DS新建一个lauterbach接口的工程去调试生成的.elf文件,如果想脱离IDE,也可以直接使用lauterbach去调试已经生成的.elf文件,本文将主要讲讲如何使用lauterbach去下载调试一个S32K344 EB MCAL生成的elf文件。

2024-09-15 14:51:13 1327

原创 【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 1839 4

原创 【S32K3 RTD LLD篇3 】K344 PIT CANFD 收发

小编最近学S32K344比较上头,微醺状态,感觉有点上瘾的那种,所以利用周末,总结下自己学习并动手做的一些东西,不见得好,就当一个笔记。这里,准备升级下,上CANFD,enhanced Rx FIFO接收,并且编写了个小功能,并且分享一些小编在实际中遇到的坑点,其实学习了一段时间,感觉这个汽车的芯片,单纯从技术上讲并不算难,就是技术内容点比较多,需要时间一点点去走一遭。

2024-08-10 17:42:34 1203 2

原创 【S32K3 RTD LLD篇2】K344 FlexCAN 外部loopback

写本篇文章的用意,没有别的意思,单纯表达对RTD400自带CAN代码的不满,因为RTD400自带的CAN代码是loopback,而且还是一个internal loopback。所以本文也作为CAN模块的切入点,使用外部loopback,功能是发送一帧标准帧的CAN数据之后,进入接收状态,收到什么数据,回什么数据出来。

2024-08-10 15:03:44 1682 1

原创 【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 1532

原创 【RT摩拳擦掌】RT600 4路音频同步输入1路TDM输出方案

本篇文章旨在在RT685平台上实现4组48Khz 32bit 2ch的音频数据同时输入,然后把收到的数据组装成一路48Khz 32bit 8ch的音频再通过I2S输出。

2024-07-22 20:24:22 1340

原创 S32K3 工具篇4:如何在S32DS中使用lauterbach下载

劳德巴赫lauterbach是一款非常经典强悍的调试器,还带有trace功能,在汽车MCU中也是常用的调试器之一,所以本文分享如何在S32DS中使用劳德巴赫去调试S32K3。话不多说,直接开干。在这里插入图片描述。

2024-07-05 19:13:18 1595 2

原创 【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 1198

原创 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 3456 5

原创 【RT摩拳擦掌】RT云端测试之百度天工物接入构建(设备型)

随着科技的进一步发展,物联网广泛应用于各行各业,比如工业,农业,环境,交通,物流,安防等基础设施,物联网的使用使我们的生活变得更加丰富多彩并且智能化。而爆发式发展的物联网,首先离不开物联网平台云端,目前市场上的云服务也是种类繁多,比如Amazone的AWS,微软的azure, google clould iot, 国内的阿里云,百度物接入IOT hub, 移动的oneNet等。百度云作为中国一款流行的云,在物联网这块也推出了针对物接入云的平台。

2024-06-29 11:25:41 1750

原创 【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 1556

原创 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 3939 1

原创 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 3230 6

原创 【朝花夕拾】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 1148

原创 【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 756

原创 【经验分享】RT1060 UDP组播代码测试

RT1060 UDP组播代码测试。

2024-06-19 18:16:02 992

原创 【经验分享】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 1370

原创 【朝花夕拾】RT600 DSP代码GPIO中断添加

RT600带有ARM CM33和HiFi4 DSP, 对于普通的GPIO中断,在ARM代码中使用非常简单:初始化GPIO引脚,配置中断类型并使能中断,使能中断IRQ号,添加对应中断服务函数。这样,一旦满足配置的GPIO中断类型产生,即可产生中断并且触发中断服务函数。那么,如果要在RT600 DSP中添加一个简单GPIO中断或者PINT中断,是否也是如上那么简单,直接拷贝ARM 代码就行了呢?

2024-06-19 18:05:15 1187

原创 【朝花夕拾】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 897

原创 【朝花夕拾】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 520 1

原创 【朝花夕拾】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 557

原创 【朝花夕拾】如何下载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 1840

原创 【朝花夕拾】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 1381

原创 【朝花夕拾】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 328

原创 【朝花夕拾】RT1170 SBL ISP下载带SDRAM APP

NXP官方推出了关于RT bootloader的SBL和SFW,能够很好的实现常规使用中对于secondary bootloader的要求。比如ISP,OTA,加密等功能。本文主要基于SBL,利用ISP方式下载用户app。

2023-12-02 13:40:22 314

原创 【朝花夕拾】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 291

原创 【朝花夕拾】RT1170 JTAG接口工作技巧

确保JTAG功能是被使能的。可以看到,JTAG已经能够成功找到内核,说明JTAG已经工作了。那么遇到这样的问题,该如何解决呢?

2023-11-23 19:06:42 255

原创 【朝花夕拾】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 363 5

原创 【朝花夕拾】RT1050 FlexIO采集OV7670摄像头数据TFTLCD显示

关于RT10XX flexIO采集OV7670摄像头数据,并且在TFT LCD显示的情况,其实NXP官网已经有一篇非常好的应用笔记AN12686,只是测试是基于RT1010并且不是EVK,可能实际客户直接测试比较困难。

2023-11-04 19:16:43 414

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除