在编译程序时出错,请问是什么问题?
addr = (unsigned long)&g_sysTime;该语句编译出错,告警如下:warning: integer conversion resulted in truncation
另外还有连个链接告警:
>> warning: load address of uninitialized section ramfuncs ignored
>> warning: entry point other than _c_int00 specified
请教是什么问题?
Frank jiang:
回复 Young Hu:
typedef union
{
unsigned int all;
struct _AddressBit bit;
} Addr;
为addr的定义;
在cmd中有指定SECTIONS为
ramfuncs : LOAD = FLASHD, PAGE = 0
RUN = RAML0_1, PAGE = 0
LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart)
第三问题解决。但为何故?
且再次编译时出现以下错误,请教为何故?
error: symbol referencing errors – './Debug/solar.out' not built
在编译程序时出错,请问是什么问题?
addr = (unsigned long)&g_sysTime;该语句编译出错,告警如下:warning: integer conversion resulted in truncation
另外还有连个链接告警:
>> warning: load address of uninitialized section ramfuncs ignored
>> warning: entry point other than _c_int00 specified
请教是什么问题?
Young Hu:
回复 Frank jiang:
您好,
1、你的Addr为16位的,unsigned long为32位,所以会出现警告。
2、建议你采用例程中的cmd。
3、error: symbol referencing errors – './Debug/solar.out' not built提供的信息太少了,将这句话以上的错误部分发上来看看。
在编译程序时出错,请问是什么问题?
addr = (unsigned long)&g_sysTime;该语句编译出错,告警如下:warning: integer conversion resulted in truncation
另外还有连个链接告警:
>> warning: load address of uninitialized section ramfuncs ignored
>> warning: entry point other than _c_int00 specified
请教是什么问题?
Frank jiang:
回复 Young Hu:
undefined first referenced
symbol in file
——— —————-
_Get_Lo_I F:\zjfiles\solar\solar\solar\Debug\solar_MPPT.obj
>> error: symbol referencing errors – './Debug/solar.out' not built
addr改为16位(unsigned int)后出现以下错误:
"solar_SysData.c", line 970: warning: conversion from pointer to smaller integer
"solar_SysData.c", line 970: warning: integer conversion resulted in truncation
请教为何故?
谢谢!
在编译程序时出错,请问是什么问题?
addr = (unsigned long)&g_sysTime;该语句编译出错,告警如下:warning: integer conversion resulted in truncation
另外还有连个链接告警:
>> warning: load address of uninitialized section ramfuncs ignored
>> warning: entry point other than _c_int00 specified
请教是什么问题?
Young Hu:
回复 Frank jiang:
1、
_Get_Lo_I F:\zjfiles\solar\solar\solar\Debug\solar_MPPT.obj
Get_Lo_I 这个函数或者变量在solar_MPPT.c中没有声明,查一下你的程序,如果是全局变量或者全局使用的函数,在头文件中加一个extern声明一下即可。
2、
addr = (unsigned long)&g_sysTime;
Addr为16位的,unsigned long为32位,将一个32位的地址赋值给一个16位的变量,会出现警告。
改为
addr = (unsigned int)&g_sysTime;
或者修改addr的定义。
在编译程序时出错,请问是什么问题?
addr = (unsigned long)&g_sysTime;该语句编译出错,告警如下:warning: integer conversion resulted in truncation
另外还有连个链接告警:
>> warning: load address of uninitialized section ramfuncs ignored
>> warning: entry point other than _c_int00 specified
请教是什么问题?
Frank jiang:
回复 Young Hu:
谢谢!
1.第一个问题已解决,为函数定义时出错;
2.改为addr = (unsigned int)&g_sysTime;出现以下错误:
"solar_SysData.c", line 970: warning: conversion from pointer to smaller integer
"solar_SysData.c", line 970: warning: integer conversion resulted in truncation
请教何解?
在编译程序时出错,请问是什么问题?
addr = (unsigned long)&g_sysTime;该语句编译出错,告警如下:warning: integer conversion resulted in truncation
另外还有连个链接告警:
>> warning: load address of uninitialized section ramfuncs ignored
>> warning: entry point other than _c_int00 specified
请教是什么问题?
Jones Chen:
回复 Frank jiang:
您的addr是怎么定义的? unsigned int 是32bit的。
您的addr是定义成Uint16了,是么?