s32k144作为nxp推出车规级arm cortex m4内核mcu,在很多领域开始被广泛的应用,在其开发过程中,官方支持的s32 design studio ide开发工具可以免费使用,并且集成了processorexpert ,可以很方便的初始化外设并生成驱动。freertos作为免费的rtos应用更是广泛,那么在s32ds中开发使用freertos的项目,很多情况下需要对os的运行情况进行了解和分析,此时segger免费的工具systemview无疑是最合适的。接下来我们一起学习一下如何在s32ds中使用systemview分析freertos。
一、首先下载工具:
s32ds:
https://www.nxp.com/cn/support/developer-resources/run-time-software/s32-design-studio-ide/s32-design-studio-ide-for-arm-based-mcus:s32ds-arm?tab=design_tools_tab
systemview:
https://www.segger.com/downloads/free-utilities/#systemview
mcuoneclipse组件:
https://sourceforge.net/projects/mcuoneclipse/files/pex%20components
二、安装工具
s32ds根据提示安装即可,systemview的pc端软件下载的是压缩文件,解压缩后运行可执行程序systemview.exe即可。这里重点描述一下mcuoneclipse组件,这个组件可以说是nxp为其基于eclipse的各种ide开发的组件库,应用起来非常方便。
启动s32ds后,在主菜单的processor expert中选择下拉菜单中的import component。
在打开的窗口中找到解压缩过的mcuoneclipse组件,选择part1_beans_01.07.2018.peupd,点击打开进行安装。
完成后再安装part2_beans_01.07.2018.peupd,此时默认会把组件安装到当前用户目录的mycomponents目录中。
安装完成后,还需要把解压缩文件夹中的一些头文件拷贝到安装目录响应位置。
三、新建工程
打开s32ds,在file菜单中选择new/s32ds application project。
填写项目名称,选择处理器为s32k144,单击next。
sdks选择0.8.6,debugger需要使用seggerjlink。
生成工程后,配置一个gpio为输出,用来控制led灯。
在main.c中增加初始化代码,至此,基础工程创建完成。
四、创建freertos任务
在组件库中搜索freertos,找到新安装的freertos,双击,会在组件浏览中增加freertos和一些相关的组件。
在mculibconfig组件右击选择inspector,修改组件sdk为s32k sdk。
修改freertos配置中的处理器架构为cortex-m4f,生成pe代码。
添加以下代码到main.c文件
static void components_init(void) { #define cpu_init_mcuoneclipse_drivers}
复制cpu.c中的初始化代码。
粘贴到main.c中,完成初始化工作。
取消 events.c的编译。
引入events.h和events.c
创建任务,并开启任务调度器。
编译下载后,开发板的led灯已经开始闪烁了,freertos任务创建成功。
五、添加systemview
在组件库中搜索systemview,检索出seggersystemview组件,双击添加到工程,这个过程会自动增加一些相关的组件。
修改rtt组件属性,设置上传和下载通道都为2。
确保systemview组件属性中rtt通道序号为1。
最后,启用freertos组件属性中的segger system viewer跟踪。
重新生成pe代码后,复制cpu.c中的初始化代码。
在main.c中覆盖之前的初始化代码。
重新编译工程,下载到开发板。
在pc上启动之前下载的systemview.exe
点击start recording,弹出对话框,确定即可。
此时systemview就开始记录freertos的所有活动情况了,包括了每个任务的时间占用,任务的调度过程,任务的cpu资源占用。
总结:systemview是一个非常好用的rtos分析工具,对于掌握和了解各种rtos的任务运行情况,内部事件,资源占用等等各种信息非常方便,在项目开发过程中可以很好的帮助开发者分析系统运行状况,并依据具体状况对系统的任务进行调节和应用。
松下29V2H彩电伴音电路原理图
微气象传感器安装注意事项有哪些?
VSHAPER宣布将在5月发布新型五轴3D打印机
PCB应变测试仪
谷歌无人车传感器成本大降90% 大规模普及尚早
S32DS中使用SystemView分析FreeRTOS
小米6什么时候上市?小米6你期待哪些功能?小米6的价格多少合适?小米6最新消息:小米6真机照片再次曝光
开关电源中常用三类误差放大器
中国电信携手合作伙伴共同推进5G在商业地产行业的标准化建设
国内首幅机载 毫米波雷达测绘图像面世
智慧消防的概念以及智慧消防建设的必要性分析
树莓派无法正常工作的原因有哪些
Schnorr签名将如何打破区块链分析中使用的试探
AI独角兽云从科技要上市了 阿里RISC-V处理器4项指标第一
选择ASN.1 的原因是什么?使用可扩展性是否有任何权衡?
汽车智能化带来的安全新挑战及其应对思路
什么蓝牙耳机续航时间长?适合女生的四款蓝牙耳机推荐
软启动什么意思
三星S8真没Home键?Nokia 6预约破百万!
弘和集团如何助力森林防火数字化