一
背景
当前提供的PN代码,无论是N2L平台或T2M平台,目前都只有IAR版本,并且不能直接调用FSP配置工具进行代码生成(但是PN程序的Source Code是符合FSP Source Code的框架结构)所以如果客户要在PN代码中增加一些底层驱动(eg:串口,iic等)就可以使用另外的工程把需要的外设驱动/应用调试好,再移植到PN工程。
后续PN工程可能会增加支持FSP,就不需要使用此种方式增加驱动代码,可以直接在PN工程中调用FSP相关工具。
瑞萨RZ/N2L MPU
RZ/N2L是一种工业以太网通信用MPU,可轻松将网络功能添加到工业设备中。它搭载支持TSN的三端口千兆以太网交换机和EtherCAT从控制器,可支持EtherCAT、PROFINET RT/IRT、EtherNet/IP、OPC UA等主要的工业以太网通信协议。它对网络专用配套芯片加以优化,无需大幅改变设备的内部配置即可直接连接并快速访问外部应用主机CPU。此外,Arm Cortex-R52的最大工作频率为400MHz,外设功能包括带ECC的大容量RAM与ΔΣ I/F、A/D转换器、PWM定时器、UART和CAN等,可在单个芯片上实现远程I/O、传感器集线器、变频器和网关。
瑞萨RZ/T2M MPU
RZ/T2M是一款行业领先的高性能、多功能MPU,可实现AC伺服系统和工业电机等工业设备的高速处理、高精度控制和功能安全。RZ/T2M具有最大频率为800 MHz的双Arm Cortex-R52内核,可进行实时控制,而且还拥有能够与CPU直接连接的大容量紧密耦合内存(576KB),以实现高性能实时处理。
此外,它还可以将电机控制的外设布置到能直接连接至CPU的LLPP(低延迟外设端口)上,来实现较低的延迟访问。RZ/T2M拥有多协议编码器硬件接口,可为A-format、EnDat 和BiSS等各种绝对编码器协议提供支持。此外,RZ/T2M还拥有一个3端口的千兆以太网交换机,可为TSN标准及EtherCAT、PROFINET RT/IRT和EtherNet/IP等工业以太网协议提供支持,而无需额外的以太网交换机IC。
二
修改方式
以增加UART代码为例:下图左边是UART工程,右边是PN工程,对比可以发现,PN工程虽然不能直接调用FSP工具生成代码,但是底层驱动的结构已经预留,与FSP框架下的工程代码结构相同。
Step 1
在UART工程中调用FSP生成并调试完成所有代码。
Step 2
将生成的UART相关文件,移动到PN工程对应目录下内,并在IAR工程里添加对应文件(Compoents文件夹下)。
Step 3
其他相关代码修改:
1
pin脚定义移植
在UART工程的Generated Data >>pin_data.c文件中,找到对应的UART使用的Tx/Rx信号的pin脚定义,并将相关条目copy到PN工程的相同变量中:
2
相关结构体定义移植
在UART工程的Generated Data >>hal_data.c文件中,找到UART的抽象结构体定义,copy到PN工程的同名件中:
3
中断函数注册
在UART工程的Generated Data >>vector_data.c文件中,找到UART的中断注册信息,将相关中断条目CPPY到PN工程的同名文件中:
并在PN工程中完成ISR 需要用的相关的回调函数:
编译后,如没有ERROR,说明UART的驱动代码移植完毕。然后,在PN的应用代码中调用UART初始化函数和收发函数即可:
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !