本帖最后由 xhackerustc 于 2024-7-26 00:11 编辑

这块开发板是英飞凌和RT-Thread合作的一套开发板,慕名已久。本人喜欢在linux下做开发工作,拿到板子后尝试linux下开发使用这块开发板并取得成功,写一篇文章介绍过程。
PS: 英飞凌那个ModusToolbox集成环境除上述功能外,还能根据用户选择生成代码,但由于种种原因(你懂的)我的环境下使用不是太方便。但这块板子由于是英飞凌和RT-Thread合作,所以RT-Thread基本上把要生成的代码生成好了,加上笔者以往更喜欢SDK中手动更改源码而非动态生成代码,所以选择把RT-Thread生成的代码抽取出来形成了类似各大MCU厂商的SDK,以备后用。

开发环境主要解决代码编译、工程组织构造、固件烧写与调试,我们一步一步的看解决过程和办法

一 编译工具链与工程构造工具
笔者选择使用gcc-arm-none-eabi这套工具链, 用cmake做工程构造。linux发行版下可以直接安装,以debian系统为例:
  1. sudo apt-get install gcc-arm-none-eabi cmake

二 固件烧写与调试工具
网上搜索了一圈发现大多数人用了英飞凌提供的openocd烧录固件,其实对于arm cortex-m系列的MCU,pyocd更好使,前提是MCU厂商要提供对应的DFP文件。幸运的是英飞凌提供了对应的DFP文件,那么尝试下pyocd吧:
  1. sudo apt-get install python3-pyocd
笔者再从arm keil官网下载的Cypress.PSoC6_DFP.1.2.0.pack,放在~/.local/share/cmsis-pack-manager/cypress目录下

三 RT-Thread初尝试

git clone RT-Thread主线代码
  1. git clone https://gitee.com/rtthread/rt-thread.git

进入bsp/Infineon/psoc6-evaluationkit-062S2目录,配置下
  1. scons --menuconfig
按需配置下,也可以什么都不做,因为默认的配置是可以用的。笔者配置截图
8.jpg

执行下面的命令编译RT-Thread,编译完毕后在当前目录下会生成一个名为rtthread.bin的文件,我们需要把这个文件烧录进板子
  1. scons -j8

为用pyocd烧录 ,需要在当前目录下创建一个名为pyocd.yaml的文件,内容是
  1. pack:
  2.   - ~/.local/share/cmsis-pack-manager/cypress/Cypress.PSoC6_DFP.1.2.0.pack

现在可以烧录了:
  1. pyocd load -e sector -t cy8c624abzi_s2d44  rtthread.bin

此时开发板上LED灯开始有规律的闪烁,pc机上打开串口终端,即可获得RT-Thread的shell:msh,如截图所示
9.jpg

四 pyocd调试举例

reset cm4核
  1. pyocd reset -c 1 -t  cy8c624abzi_s2d44

进入cmd
  1. pyocd cmd -t  cy8c624abzi_s2d44

尝试停止CM4核并打印寄存器,如截图所示
10.jpg