用tornado时 build没问题,但download时报错

sunsink   2008-12-29 14:16 楼主
程序就是想打印BIOS中的时间:年
原程序如下:
#include
#include
#include
#include
void biostime()
{
    struct tm ahora;
    int cYear;
    sysOutByte(0x70,0x09);
    cYear=sysInByte(0x71);
    ahora.tm_year = 100 + (cYear&0x0F) + 10*((cYear&0xF0)>>4);
    printf("%d",ahora.tm_year);
}
编译和Build都没有错误,但Download时报如下错误:
Errors while downloading C:/Tornado2.2/target/proj/time/SIMNTgnu/time.out:
_sysOutByte
_sysInByte
有人遇到过这种情况吗?谢谢啦

回复评论 (6)

不支持在SimNT下访问BIOS
点赞  2008-12-30 13:40
那要是想在模拟环境下读系统当前时间,不用这两个函数还有其他方法吗?谢谢!
点赞  2008-12-30 14:35
如果你的文件是cpp的,可以改为.c的试试。我也遇到过下载不下去的问题,就是这样解决的。因为vxworks对于c++的支持不是很好!但是不知道你的这个是不是这个问题,可以试试看!
点赞  2009-1-14 23:02
跟C和C++没有关系。
错误的意思是sysOutByte和sysInByte函数在系统中没有找到。
模拟器上不支持bios访问的,sysOutByte和sysInByte这样对实际硬件访问的函数在模拟器上是没有的
点赞  2009-1-15 20:58
   问题sysOutByte函数在你的目标机上没有找到,你builder过了,只是编译上没有问题,但是在下载到内存中需要连接sysOutByte,所以就出现以上的错误了.

所以你需要实现该函数.
点赞  2009-2-9 22:27
引用
    那要是想在模拟环境下读系统当前时间,不用这两个函数还有其他方法吗?谢谢!

这样就可以读系统时间
unsigned char timebuf[64];
struct         tm *timePtr;
time_t        clock;
time(&clock);
timePtr = localtime(&clock);
strftime(timebuf, MAXWORDSLEN, "%Y年%m月%d日 %H:%M:%S", timePtr);
printf("%s\n", timebuf);
点赞  2009-2-10 00:23
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复