这块开发板是英飞凌和RT-Thread合作的一套开发板,慕名已久。本人喜欢在linux下做开发工作,拿到板子后尝试linux下开发使用这块开发板并取得成功,写一篇文章介绍过程。
PS: 英飞凌那个ModusToolbox集成环境除上述功能外,还能根据用户选择生成代码,但由于种种原因(你懂的)我的环境下使用不是太方便。但这块板子由于是英飞凌和RT-Thread合作,所以RT-Thread基本上把要生成的代码生成好了,加上笔者以往更喜欢SDK中手动更改源码而非动态生成代码,所以选择把RT-Thread生成的代码抽取出来形成了类似各大MCU厂商的SDK,以备后用。
开发环境主要解决代码编译、工程组织构造、固件烧写与调试,我们一步一步的看解决过程和办法
一 编译工具链与工程构造工具
笔者选择使用gcc-arm-none-eabi这套工具链, 用cmake做工程构造。linux发行版下可以直接安装,以debian系统为例:
- sudo apt-get install gcc-arm-none-eabi cmake
二 固件烧写与调试工具
网上搜索了一圈发现大多数人用了英飞凌提供的openocd烧录固件,其实对于arm cortex-m系列的MCU,pyocd更好使,前提是MCU厂商要提供对应的DFP文件。幸运的是英飞凌提供了对应的DFP文件,那么尝试下pyocd吧:
- sudo apt-get install python3-pyocd
三 RT-Thread初尝试
git clone RT-Thread主线代码
- git clone https://gitee.com/rtthread/rt-thread.git
进入bsp/Infineon/psoc6-evaluationkit-062S2目录,配置下
- scons --menuconfig
执行下面的命令编译RT-Thread,编译完毕后在当前目录下会生成一个名为rtthread.bin的文件,我们需要把这个文件烧录进板子
- scons -j8
为用pyocd烧录 ,需要在当前目录下创建一个名为pyocd.yaml的文件,内容是
- pack:
- - ~/.local/share/cmsis-pack-manager/cypress/Cypress.PSoC6_DFP.1.2.0.pack
现在可以烧录了:
- pyocd load -e sector -t cy8c624abzi_s2d44 rtthread.bin
此时开发板上LED灯开始有规律的闪烁,pc机上打开串口终端,即可获得RT-Thread的shell:msh,如截图所示
四 pyocd调试举例
reset cm4核
- pyocd reset -c 1 -t cy8c624abzi_s2d44
进入cmd
- pyocd cmd -t cy8c624abzi_s2d44
尝试停止CM4核并打印寄存器,如截图所示