基于RT-Thread的XMC7200开拓板测评
扫码报名活动
RT-Thread已经支持英飞凌XMC7200系列,本文将先容RT-Thread基于开拓板xmc7200-kit_xmc7200_evk的移植履历:

前期准备
1.1 英飞凌烧录工具——Cypress programmer
我们把代码编译好后利用Cypress programmer进行烧录。
官方下载链接:Cypress Programmer - Infineon Developer Center
1.2 英飞凌官方IDE——ModusToolbox™
我们会利用到官方的IDE去获取所须要的文件,如驱动文件、启动文件、编译脚本等等。
官方下载链接:ModusToolbox™ - Infineon Developer Center
1.3 Keil_MDK && ENV环境
ENV环境会帮我们天生Keil工程,然后利用Keil进行代码编写。(如果是用主线代码,须要下载ENV2.0)
利用参考:RT-Thread之ENV工具_rt-thread env-CSDN博客
ENV2.0下载教程:【主要关照】ENV-Windows v2.0.0版本发布
移植准备
2.1 理解RT-Thread目录构造
在大多数的BSP中,都会包含以下文件:
在理解了目录往后我们就能根据所须要的文件一步一步完成BSP了。
2.2 利用ModusToolBox天生示例工程
2.2.1 天生工程
接下来我们利用官方的IDE天生一个示例工程获取其驱动库、启动文件、链接脚本等。
在弹出的窗口中选择我们本次用到的芯片类型然后点击Next。
然后选择‘Hello World’工程,选择好保存位置后就可以创建了。
2.2.2 天生文件
2.2.2.1 mtb_shared文件
当我们的工程创建好往后,我们会利用到这两个文件:
在mtb_shared里面存放着:
我们会利用到下面的文件:
2.2.2.2 工程下文件
在天生的示例工程中,bsps目录下会存放着相应开拓板的干系链接脚本、包含板载初始化的文件以及启动文件,这个我们待会也会利用到。
文件移植
我们在同系列下新建一个文件夹。
3.1 applications文件
在这个文件夹中我们存放的是用户代码,一样平常初始的时候只有一个main.c和一个Sconscript。可以去其他系列复制一个applications文件夹过来。
3.2 board文件
在这个文件中存放的是一些编译器链接脚本以及板载初始化用到的文件。
3.2.1 链接脚本
链接脚本我们去示例工程下找:
把它修恰好名称后放在board下的linker_scripts文件夹下。
3.2.2 board.c/.h文件
在board.c/.h文件中,一样平常会存放一些在板载初始化阶段要利用的函数。在本次移植中,须要加入cybsp_init()功能,这个函数可以帮我们配置系统时钟、电源管理和资源管理等。可以去同系列里面复制粘贴过来。
接下来就要修正board.h里面的SRAM大小跟起始地址,这个须要查看芯片的数据书册。
3.2.3 Scons&&KConfig
还有Scons跟KConfig文件,这个紧张是涉及编译跟配置的,这个复制过来往后须要做一些修正。
首先须要指定一下不同编译器实现底层系统库函数,这个源文件在mtb_shared目录下。
然后是各种参与编译的宏,这个须要利用到ModusToolbox编译示例工程,然后在天生的compile_commands.json里探求以-D开头的参数,这些都是参与编译的宏。然后把这些宏加入到Sconscript里面。
然后是Kconfig的,在这里配置我们须要利用的外设选项,本次移植只须要利用到串口跟GPIO,以是板载外设配置里面就只有这里两项配置。在复制文件过来的根本上进行增编削就可以了。在硬件驱动配置这里我们仿照其它系列进行修正。同时也要在libraries下的Konfig进行修正(后文有提及)。
3.3 lib文件
我们须要把刚刚示例工程下天生bsps目录下的TARGET_APP_KIT_XMC72_EVK文件复制过来,同时也要编写一个Sconscript,在这里我们须要利用到里面的配置、启动文件。
3.4 MDK工程
先从其它工程里面把有关MDK的工程文件复制过来。
然后修正模板工程里面的芯片类型。如果没有显示的话须要先下载Pack包。
可以通过Keil内置的下载器下载,也可通过链接路径下载。
下载路径:点击下载
3.5 rtconfig.h/.py、Konfig、.config
这几个文件是卖力硬件配置干系的,我们复制过来后可以根据需求直接修正.config里面的设置,然后用ENV进入menuconfig保存一下更新rtconfig.h。例如这里须要把掌握台串口设置为串口3。
也可以用ENV进入到menuconfig里面去修正:
3.6 SConscript、SConsturct
这类型的文件紧张与编译干系。从其它BSP复制过来后,SConscript文件一样平常不须要进行修正,SConstruct文件要根据自己的须要修正一下文件路径。
如这里将驱动库做成了软件包的形式,就须要重新指定路径,根据自己的需求修正。
3.7 Libraries修正
3.7.1 修正Kconfig
在libraries目录下的Kconfig里,我们须要添加上我们的板子信息,仿照其它系列就好了。
3.7.2 修正HAL_Drivers文件
在驱动库中,有些地方还须要我们进行调度。
在uart_config.h里,修正串口的引脚。
不同于已适配的英飞凌PSoC™ 6系列,中断配置会有所不同,这里也须要修正。如果是相同系列同样配置的话无需操作。
做成软件包
移植事情完成后,由于驱动库体积比较大,我将其整合了一下,做成了软件包的形式。同时也将其它系列也修正为依赖软件包的形式,大家在利用的时候记得前辈入ENV中利用pkgs --update的命令将软件包下载下来。如果是其它系列的则可以参考其它文章将天生的驱动库放在得当的位置。
利用
到这里就适配完成了,接下来便是进行编译与下载。
5.1 天生MDK工程
待软件包安装好后,在ENV环境下输入SCons --target==MDK5命令,ENV会自动天生MDK5工程。
然后进入MDK中进行编译
可以看到,刚刚所写的编译宏会显示在这里
这里记得勾选天生HEX文件用于待会的烧录。
5.2 烧录
打开官方的烧录软件Cypress,选择好对应的板子。
选择刚刚编译好的.hex然后点击连接。
点击Program按钮进行下载即可。
更多新闻,请登录英飞凌新闻中央:Market News - Infineon Technologies