CSR8675的DSP学习笔记——离线调试与仿真

为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板【淘宝链接:思度科技CSR开发板】

技术交流QQ群号:743434463
开发板会员QQ群号:725398389(凭订单号入群,赠PPT、项目源码、视频教程)
——————————正文分割线———————————–

#1. 引言
CSR8675的DSP之于我,是一片美丽而充满诱惑的原始森林,等待被探索和征服。多少次有冲动深入其中揭开他的秘密,却因手头有要专注的项目,只能让demo板静静地躺在角落。最近主攻项目接近尾声,决定立即开始DSP的学习。

在学习CSR8675的DSP之前,需要准备合适的学习工具和学习资料。学习资料无疑是官网下载的开发文档和示例工程,但学习工具只有一块demo板。demo板需要外部设备提供信号输入,也需要外部设备检测信号输出,不是理想的试验和验证环境。因此实现一种不依赖外部设备的调试与仿真方法成了提高学习效率、降低学习门槛的关键。

经过一周的学习和实践,终于搭建了一套可以在纯软件环境下设计和验证DSP的程序和算法的工具集,并摸索出了调试与仿真的方法。

#2. 工具集
系统环境:windows 7
安装软件:matlab 2015a, CSR ADK4.2

CSR ADK4.2安装完成后,需要用到其中的几个组件:

  • xIDE
  • kalsim
  • matlab kalsim api interface

##2.1. xIDE

QTIL xIDE软件开发环境可用于:

  • 阅读
  • 编译
  • 调试
  • 运行
  • 重配置
  • 修改

##2.2. Kalsim

Kalsim是一种运行在PC主机上的指令集仿真器,用来仿真kalimba DSP的运行。

Kalsim的特性如下:

  • 完整的精确到位的指令集仿真。
  • 与真实硬件完全相同的运行调试接口,与标准Kalimba调试工具(xIDE, Matlab, Python)完整兼容。
  • Kalimba外围设备仿真,包括MMU端口,flash文件系统,中断控制和定时器。
  • 高性能Kalimba I/O主控。
  • 执行再现。包括包括运行时的中断和流,即时是调试工具正在运行。
  • 检测未映射的存储访问。
  • 支持CSR8670(Kalimba 架构3)和CSR8675(Kalimba 架构5)。
  • 指令追踪。

##2.3. matlab kalsim api interface

一个用来集成Kalimba DSP和Matlab的工具集。这个工具集可以通过调试传输接口连接Kalimba DSP,也可以通过Kalimba工具链生成的ELF或KLO文件。

这个工具集可以完成多种调试动作,例如查询处理器的状态,读写存储器内的变量,生成栈跟踪等。

#3. 离线调试
##3.1. 主要用途
当DSP工程运行发生异常或不符合预期,且不能通过log trace手段获取运行信息时,需要进入调试模式以定位问题的根源。

##3.2. 进入调试
以C:\ADK_CSR867x.WIN4.2\apps\examples\my_first_dsp_app\my_first_dsp_app_kalimba工程为例。

  1. 用xIDE打开工程my_first_dsp_app_kalimba.xiw,配置工程属性。
    这里写图片描述

  2. 编译工程,生成my_first_dsp_app_kalimba.kap文件。
    这里写图片描述

  3. 进入C:\ADK_CSR867x.WIN4.2\tools\kalsim路径,shift+右键,选择“在此处打开命令窗口”,输入下列命令:

kalsim_csr8675 c:\ADK_CSR867x.WIN4.2\apps\examples\my_first_dsp_app\my_first_dsp_app_kalimba.kap -d

输入命令后,Kalsim加载了kap文件并进入调试模式。
这里写图片描述

  1. 回到xIDE工程界面,选择debug->transport->kalsim localhost:31400,xIDE将使用kalsim localhost: 31400端口作为调试接口。
    这里写图片描述

此时Kalsim界面提示如下信息:
这里写图片描述

在xIDE界面选择 debug->attach,进入调试模式。
这里写图片描述

##3.3. 常见问题

  1. 调试过程中,如果程序执行异常
  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值