bubububu 发表于 2009-3-26 16:23:57

关于Wince5.0+at91sam9261ek_soure_bsp的编译问题

我用wince5.0+at91sam9261ek_soure_bsp进行sysgen时出现下面的错误。
\PLATFORM\AT91SAM9261EK\SRC\BOOTLOADER\FirstBoot\dbgu.h(38) : error C2001: newline in constant
BUILD: Compiling .\SPIDataFlash.c

BUILD: d:\WINCE500\PLATFORM\AT91SAM9261EK\SRC\BOOTLOADER\FirstBoot\dbgu.h(38) : error C2001: newline in constant

BUILD: Compiling .\dbgu.c

BUILD: d:\WINCE500\PLATFORM\AT91SAM9261EK\SRC\BOOTLOADER\FirstBoot\dbgu.h(38) : error C2001: newline in constant

BUILD: Compiling .\main.c

BUILD: d:\WINCE500\PLATFORM\AT91SAM9261EK\SRC\BOOTLOADER\FirstBoot\dbgu.h(38) : error C2001: newline in constant

然后双击错误处,光标停在了/PLATFORM/AT91SAM9261EK/SRC/BOOTLOADER/FirstBoot/dbgu.h $文件里的"#define TIME_OUT_CHAR        '?”处,此时我把这个语句改成“"#define TIME_OUT_CHAR        '?'”然后重新SYSGEN它就通过了。
请问这样做行不行呢。。。。。。

bubububu 发表于 2009-3-26 16:25:57

请各位大侠帮帮忙,看看这样改后会不会有问题。
以下是dbgu.h文件。
//-----------------------------------------------------------------------------
//! \addtogroup        BOOTLOADER
//! @{
//!
//All rights reserved ADENEO 2007
//-----------------------------------------------------------------------------
//! \file                dbgu.h
//!
//! \if subversion
///   $URL: http://centaure/svn/interne-ce_bsp_atmel/TAGS/TAGS50/SAM9261EK_v170_rc4/PLATFORM/AT91SAM9261EK/SRC/BOOTLOADER/FirstBoot/dbgu.h $
//!   $Author: pblanchard $
//!   $Revision: 1219 $
//!   $Date: 2007-08-03 16:59:11 +0200 (ven., 03 ao没t 2007) $
//! \endif
//-----------------------------------------------------------------------------
//! \addtogroup        FIRSTBOOT
//! @{
//!

#ifndef __DBGU_H__
#define __DBGU_H__

#define AT91C_CB_SIZE        40                        // size of the console buffer

// Escape sequences
#define ESC                                \033
#define CLRSCREEN                "ESC[2J"        //\033 = ESC in octal
#define ClEARLINE                 "ESC[K"                // Clear line, from cursor position to the right most position of line

// Cursor Movement
#define MOVEUP(num)         "ESC[numA"                 // Move the cursor up num positions
#define MOVEDOWN(num)   "ESC[numB"                 // Move the cursor down num positions
#define MOVERIGHT(num)"ESC[numC"                 // Move the cursor right num positions
#define MOVELEFT(num)         "ESC[numD"        // Move the cursor left num positions
#define MOVETO(row,col) "ESC[row;colH"         // Move the cursor to the (col, row) position. Note that the row comes before column; that is, y comes before x. Either col or row can be omitted. Row and column both start with "1," not zero. (1, 1) corresponds to the top-left corner of the screen.

// Character Mode
#define TIME_OUT_CHAR        '?
#define CHANGE_CHAR_MODE(attr) "ESC[attrm"         //Change the character mode with attribute attr. The attributes are numbers listed below.

#define ALL_ATTRIB_OFF                 0                // All attributes turned off. (Except for foreground and background color).
#define HIGH_INTENSITY                1                 // Bold.
#define LOW_INTENSITY                2                // Normal.
#define UNDERLINE                        4                // Underline font.
#define BLINK                                5                // Blinking font.
#define RAPID_BLINK                        6                 // Works only on some systems.
#define REVERSE_VIDEO                7                // Swapping the foreground color and the background color.
#define FOREGROUND_BLACK         30                // Black.
#define FOREGROUND_RED                31                // Red.
#define FOREGROUND_GREEN        32                 // Green.
#define FOREGROUND_YELLOW        33                 // Yellow.
#define FOREGROUND_BLUE                34                 // Blue.
#define FOREGROUND_MAGENTA        35                 // Magenta.
#define FOREGROUND_CYAN                36                 // Cyan.
#define FOREGROUND_WHITE         37                 // White.
#define BACKGROUND_BLACK         40                 // Black.
#define BACKGROUND_RED                41                 // Red.
#define BACKGROUND_GREEN         42                 // Green.
#define BACKGROUND_YELLOW         43                 // Yellow.
#define BACKGROUND_BLUE         44                 // Blue.
#define BACKGROUND_MAGENTA         45                 // Magenta.
#define BACKGROUND_CYAN         46                 // Cyan.
#define BACKGROUND_WHITE        47                 // White.

int   DbgPrint(char *str);

#endif //__DBGU_H__

//! @}

//! @}

gzdxlyq 发表于 2009-11-9 14:55:02

你好我也遇到这个问题了,不知道你解决了没有

songzi2018 发表于 2009-11-10 12:37:51

#define TIME_OUT_CHAR '?
这里明显将'?'定义成超时字符的,你应该拷贝写漏了',导致PB报出字符定义为结束的错误

cicnx 发表于 2009-11-10 12:42:58

这是BSP包的BUG. 改'?'是正确的!

ioro55555 发表于 2010-11-29 11:54:12

6.0里还有个错误
WINCE600\PLATFORM\COMMON\SRC\SOC\ATMEL\COMMON\BOOTLOADER\GernericEBOOT\utils.c文件报error C2220: warning treated as error - no 'object' file generated错误
解决办法:将该文件另存为unicode编译格式

kingreat 发表于 2010-11-29 16:11:09

回复【4楼】cicnx
这是bsp包的bug. 改'?'是正确的!
-----------------------------------------------------------------------

正解!

kingreat 发表于 2010-11-29 16:11:29

回复【5楼】ioro55555
6.0里还有个错误
wince600\platform\common\src\soc\atmel\common\bootloader\gernericeboot\utils.c文件报error c2220: warning treated as error - no 'object' file generated错误
解决办法:将该文件另存为unicode编译格式

-----------------------------------------------------------------------

正解!
页: [1]
查看完整版本: 关于Wince5.0+at91sam9261ek_soure_bsp的编译问题