新闻  |   论坛  |   博客  |   在线研讨会
warning: creating output section PieVectTable without SECTIONS specification问题解决
pengwr | 2011-05-19 21:53:04    阅读:7729   发布文章

最近学习2812,遇到很多问题,自己费了很多时间,终于慢慢的把问题一个个解决了。

      TMS320F2812 中的warning: creating output section PieVectTable without SECTIONS specification问题。这个问题我到网上看了下,解答的不多。

其中这个回答比较靠谱

你试一下下面的操作: 在cmd文件中的下面添加: 1.首先在.cmd中定位系统中断表: MEMORY { PAGE 0 : ...................................... PAGE 1 : ...................................... PIE_VECT : origin = 0x000D00, length = 0x000100 ...................................... } SECTIONS { ................................... PieVectTable : > PIE_VECT, PAGE = 1 ..................................... } 2 在C中制定该中断的结构体中看看是否有: #pragma DATA_SECTION(PieVectTable,"PieVectTable"); struct PIE_VECT_TABLE PieVectTable;(在DSP28_GlobalVariableDefs.C中初始化) 3 当然你的DSP28_PieVect.c要有。。当然一般这个文件都是一样的,复制一下就可以。
以上这些我都找了,没发现错误。我的程序是将一个定时器程序载入FLASH,相信大多数朋友也是在进行FLASH操作。
忙乎了一晚上,自己查看了一下MAP文件,终于发现问题了。
PieVectTableFile 
*          1    00000d00    00000000     UNINITIALIZED
PieVectTable 
*          1    00000d00    00000100     UNINITIALIZED
                  00000d00    00000100     DSP28_GlobalVariableDefs.obj (PieVectTable)
这是在MAP中看到的,一个PieVectTableFile 为空,固查找命名PieVectTable 文件,这个文件中(DSP28_GlobalVariableDefs),这样定义的
#pragma DATA_SECTION(PieVectTable,"PieVectTable");
struct PIE_VECT_TABLE PieVectTable;将其改为#pragma DATA_SECTION(PieVectTable,"PieVectTableFile");
struct PIE_VECT_TABLE PieVectTable;文件就解决了。很小的一个错误,却伤害了很多人。看来以后拷贝代码还是得小心。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
pengwr  2011-05-19 21:56:13 

自己先顶一下

推荐文章
最近访客