本人标准理工男一枚,算是一入“工门”深似海,至今已是研狗一条,但仍属于溺水状态。。。但吐槽归吐槽,学还是要学嘀,毕竟还要端这一行的饭碗,但初入研究生生活,我就明显感受到时间的紧张---想学的东西太多,而乱七八糟的事也太多。导致我一段时间内很焦灼时间分配问题,在这有限的时间内该怎么学?学什么?我想这也是大多数在校学生所苦恼的问题。昨晚,我偶然间拜读了田志刚老师的《你的知识需要管理》一书,过去我对成功学,方法论方面的书一直不太感冒,但这本书我确实是一口气看完了,感慨良多。工科生大多在丰富强化自己的知识之余,不会对所谓知识如何管理,时间如何分配,人际关系如何处理有太多感性的考虑,这导致思维方式太过理性化,这也是我自认为自己的不足之处。所谓过犹不及,在客观看待世界,理性分析问题的同时,我们不妨用另一个感性的角度来考虑问题,特别是人际交往方面,需要通达而不圆滑,太过棱角的交际往往得不到对方的好感。以上是本人的一点浅见,下面是书的封面。
好了,话不多说,我是在这本书的影响下决定开通这个博客,选题也是我之前自己摸索,结合网上的教程搭起的一个小项目吧,希望能给matlab初学者带来帮助。(如有侵权之处,请与我联系)
基于simulink模型的dsp28335代码自动生成
一 搭建模型主要的软件
1.Matlab软件支持包,笔者使用的是matlab2017b版本,自2013以后的版本已经移除了simulink模块中的支持dsp代码生成的硬件包,若要实现代码的自动生成,一是使用老版本的matlab,或者从MATLAB官网上下载硬件支持包(Embedded Coder Support Package for Texas Instruments C2000 Processors),具体操作可在matlab界面->附加功能->获取硬件支持包,就会链接到MATLAB官网,进而可以下载你需要的硬件支持包,但下载可能需要你注册MATLAB 账号,无论是正版还是破解版,按指示操作即可(笔者这有安装包)。链接:BIOS安装方法见:
http://blog.csdn.net/mdqaq/article/details/53759696
2.处理器的选择,DSP/BIOS需要对应你使用DSP具体型号,如DSP28335为c2000系列的,还有c5000,c6000系列的,所以下载支持包需对应下载,下载完后最好放到ccs根目录下。
BIOS安装方法见:BIOS安装方法见:
http://blog.csdn.net/mdqaq/article/details/53759696。下载链接:
http://softwaredl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dspbios/index.html
3编译软件,代码编译所需软件,这里使用的是ccsv5.5编译器。
4.controlsuite是为dsp28335处理器编译时提供所必要的的头文件,库文件,使用的是TI公司c2000系列的支持软件controlsuite,包含了c2000系列所有芯片所需的头文件和库文件及一些开发经典例程。很强大哦!下载链接:
http://www.ti.com/tool/controlsuite
二 软件的安装
这里提一下c2000系列硬件支持包的安装,如上文所说,如果直接到官网下好了离线安装包,按提示安装即可,也可通过在matlab界面输入supportpackageinstaller命令,也会跳转到matlab官网下载界面,这里建议下载离线安装包,因为在线安装,破解版可能会受限。安装好之后,在simulink库中就会有Embedded Coder Support Package for Texas Instruments C2000 Processors一栏,打开下拉菜单,里面包含了dsp28335的各种外设模块,即可以进行拖拽建模。
Controlsuite安装不难,但安装完事后,需要提取它里面的flash—api文件,也就是支持c2000系列芯片的头文件,库文件,路径是controlSUITE3.4.9libsutilitiesflash_api(笔者装的是3.4.9版本)将库文件提出来放到一个你知道的地方,最好放在ccs根目录下以便索引。
此时ccs目录下应有如下文件
三 软件的关联:
在安装完c2000硬件支持包,ccsv5.5,controlsuite后,需要将MATLAB与ccs软件相关联起来,也是实现dsp代码自动生成的关键一步。
需要调用matlab中的Xmakefileseup,checkEnvSetup两个命令,百度上是先输入Xmakefileseup命令:
但选择完tics c2000 ccsv5后,下面的各级菜单变灰,处于不可选状态,路径都默认为matlab安装文件夹,需要修改,网上的处理方法是重定义一个型号,下级菜单可编辑,但每一个菜单都需要单独配置,需要你找到各级目录把路径填进去,很麻烦。
可以先进行checkEnvSetup命令
此时MATLAB会逐步对你发出文件索引路径请求,此时请仔细观察上图的路径配置;
第一步是对ccs软件的版本确认,你需要给出ccsv所在文件夹的路径,如上图1的路径(每个人的安装路径不尽相同,但最终的子目录是一样的)。
第二步配置检查cgt的代码产生工具的路径,同理;
第三步检查dsp/bios实时操作系统版本,同理;
第四步xdc tool;
第五步flash api版本;
以上步骤逐步操作,如果每步都没有报错,可最终确认一下,输入checkEnvSetup('ccsv5','f28335','setup'),matlab会自动列出上配置路径的全部列表,无报错,继续下一步。
此时执行Xmakefileseup命令,可看见下级个菜单变灰的部分已全部按照你的方式配置好了,确认一下即可,至此,已完成了matlab与ccs的关联。具体可参照链接:https://blog.csdn.net/u012565167/article/details/59055396
四 代码生成前的配置
如以上操作无误,你可以在simulink中进行模型的建立了,如笔者第一次就搭建了一个简单的GPIO口输出模型,使用脉冲模块实现一秒周期占空比为50%的脉冲波输出,定义GPIO0为输出引脚。
模型搭建完后,需要对参数进行设置,simuliation->model configuration parameters,需要关注的有Hardware implementation中选定你用的芯片,code generation选择生成的代码为嵌入式ert.tlc取消generate code only的勾,子菜单来的report全对勾,便于检查错误报表;在就没啥了。
回到simulink仿真界面,右上方的代码生成键一按,基于模型的嵌入式代码就可以直接生成了。注意此时matlab所在的文件夹即为你产生代码的文件夹,不可以是matlab的安装文件夹,需要你修改一个路径,注意这个路径不能有中文字体!
代码生成提示完成后,你可以打开ccsv5导入生成的工程,以后的操作就不用我说了吧