原99年做的tms320vc33系统,一直是一个c程序,显示计算均正常。现在因为要增加程序功能,想分工合作。第一步只是将原程序拆成了两个:1.c(主控程序)和2.c(函数),如果在1.c中使用include “2.c”语句,也均正常,但不用include “2.c”,直接将1.c和2.c加入project中形成1.obj和2.obj,再链接成.out,系统就无显示。使用的.cmd一直没改过,不知哪儿错了,请各位大侠指教。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
文件一kz:
#include "func_kz.h"
#include "func_js_ext.h"
#include "func_tx_ext.h"
文件二js:
#include "func_kz_ext.h"
#include "func_js.h"
#include "func_tx_ext.h"
文件三tx
#include "func_kz_ext.h"
#include "func_js_ext.h"
#include "func_tx.h"
cmd中
MEMORY
{
VECS: org = 0x1000 ,len = 0x40
EXT0: org = 0x3000,len = 0x20000 /* EXTERNAL MEMORY org = 0x3000,len = 0x1d000 */
EXT1: org = 0x1100,len = 0x0100 /*1e00 org = 0x1100, len = 0x0100 */
RAM0: org = 0x809800,len = 0x400 /* RAM BLOCK 0 */
RAM1: org = 0x809c00,len = 0x400 /* RAM BLOCK 1 */
RAM2: org = 0x800000,len = 0x4000 /* RAM BLOCK 2 */
RAM3: org = 0x804000,len = 0x4000 /* RAM BLOCK 3 */
}
/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */
SECTIONS
{
.asect: > VECS
.text: > EXT0
.cinit: > RAM3
.const: > EXT0
.data: > EXT0
.stack: > RAM0
.sysmem: > RAM1
.bss: > EXT0
}
形成的map中
MEMORY CONFIGURATION
name origin length used attributes fill
-------- -------- --------- -------- ---------- --------
VECS 00001000 000000040 00000000 RWIX
EXT1 00001100 000000100 00000000 RWIX
EXT0 00003000 000020000 0000cc21 RWIX
RAM2 00800000 000004000 00000000 RWIX
RAM3 00804000 000004000 00002270 RWIX
RAM0 00809800 000000400 00000400 RWIX
RAM1 00809c00 000000400 00000000 RWIX
SECTION ALLOCATION MAP
output attributes/
section page origin length input sections
-------- ---- ---------- ---------- ----------------
.asect 0 00001000 00000000 UNINITIALIZED
.text 0 00003000 0000a6f7
.cinit 0 00804000 00002270
.const 0 00003000 00000000 UNINITIALIZED
.data 0 0000d6f7 00000014
.stack 0 00809800 00000400 UNINITIALIZED
.sysmem 0 00809c00 00000000 UNINITIALIZED
.bss 0 0000d70b 00002516 UNINITIALIZED
内存小模式,bss段未超过64K呀
一周热门 更多>