我是靠谱客的博主 大方皮皮虾,这篇文章主要介绍DSP28335的CMD文件的空间分配,现在分享给大家,希望可以做个参考。

问:如何将配置好的代表寄存器数据的变量与实际的物理寄存器结合起来?

仔细思考一下这个问题!带着疑问进行下面的解答。
复制代码
1
2
3
4
5
6
首先我们已经有了配置好的寄存器数据,这个时候我们需要把配置好的寄存器数据传递给实际的物理寄存器中,这样芯片才 能根据我们想 要的功能进行工作。这里分两个步骤进行: 第一步:将寄存器文件分配到数据空间的某个数据段中。 第二步:在CMD文件中将这个数据段直接映射到对外设寄存器所找的存储空间。

问:CMD文件的主要作用是什么?

复制代码
1
2
CMD文件主要有两个主要作用:指示存储空间和分配“段”到存储空间。

问:在什么情况下需要修改CMD文件以及CMD文件充当了什么角色?

复制代码
1
2
3
4
5
6
7
我们在使用TI芯片的时候TI官网提供给我们的有通用的CMD文件,但是当我们做项目时,因为需求的不一样,我们的程序偏重点也 会不同。如果在程序中我们定义的全局变量比较多,超过了原本定义的段的大小,这个时候就需要更改这个段的大小,对其他用的不 多的段的大小适当 的缩小一些。 一个程序从源代码导入到板子的过程,分为编译、链接、和下载。其中编译是将我们缩写的C/C++代码或者其他语言的代码翻译为 汇编代码,链接是将汇编代码生成一个目标文件,最后将这个文件下载到板子中即可。CMD文件便是对链接过程中,汇编代码存放在 目标文件中的位置的分配方法进行配置的一个文件,也就是对每一段程序或者数据存放的位置和空间进行划分。

引入“段”的定义:段在我看来是把程序模块化规范化

复制代码
1
2
3
4
5
6
7
8
9
在顾卫钢的手把手教你学DSP书上有一段话对段的用处的描述如下:使用段的好处是鼓励模块化编程,提供更强大而 又灵活的方法来管理代码和目标系统的存储空间。这里的模块化编程的意思是指程序员可以自由决定愿意把哪代码归属 到哪些段,然后加以不同的处理。 #pragma CODE_SECTION(symbol,"section name"); 定义代码段。存放在程序空间 #pragma DATA_SECTION(symbol,"section name"); 定义数据段,存放在数据空间

最后

以上就是大方皮皮虾最近收集整理的关于DSP28335的CMD文件的空间分配的全部内容,更多相关DSP28335内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部