EMCV移植到DM642出现的一些问题及解决办法

工程中包含emcv中cxcore文件夹中cpp文件时,ccs3.3 build出现问题

一、与cmd文件相关的问题

首先,cmd文件中各个段存放的程序或数据类型如下面所示:

系统定义
a    .cinit     存放程序中的变量初值和常量
b    .const   存放程序中的字符常量、浮点常量和用const声明的常量
c    .switch 存放程序中switch语句的跳转地址表
d    .text     存放程序代码
e    .bss       为程序中的全局和静态变量保留存储空间
f      .far       为程序中用far声明的全局和静态变量保留空间
g     .stack    为程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果
h     .sysmem 用于程序中的malloc 、calloc 、和realoc 函数动态分配存储空间

1.error: can't allocate .const, size 00017a32 (page 0) in L2 (avail:00011e60)

  问题在于 .const段分配的空间太小。 .const段除了b中作用,参考博客http://hi.baidu.com/messidona644/blog/item/009b38ef54c0b9f12f2e2184.html中所述,“.const存储段存储全局变量(const限定的局部变量不产生)初始化值,和出现在表达式(做指针使用,而用来初始化字符串数组变量不产生)中的字符串常数,另外数组和结构体是局部变量时,其初始值会产生.const段,而全局时不产生”

解决办法:将cmd文件中.const      >       L2改为.const      >       CE02(我的dm642平台cmd文件)

2.warning: creating .sysmem section with default size of 400 (hex) words.
              Use -heap option to change the default size.

问题在于.sysmem中没有指定该段的大小

解决办法:在project->build options->linker里把heap size自己找个数输入进去就好了,我暂时输入的是0x400

3.warning: missing DW_AT_name attribute
>> warning: function definitions in CSU declarations are not supported

在网上看到说这次警告对程序运行没影响,暂且不管了


 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值