U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录:#if
来源:互联网 发布:js htmlencode 编辑:程序博客网 时间:2024/05/24 23:14
问题:
在u-boot-1.1.6-2008R1/include/configs/bf561-ezkit.h中有类似这样的语句:
#if (CONFIG_COMMANDS & CFG_CMD_KGDB)
#define CFG_CBSIZE 1024 /* Console I/O Buffer Size */
#else
#define CFG_CBSIZE 256 /* Console I/O Buffer Size */
#endif
这样的语句在汇编器中是无法通过的,但是在C编译器中则没有问题。在汇编器中引用时会产生这样的错误:
[Error pp0063] "../../include/configs/bf561-ezkit.h":160 Bad number format
帮助中对pp0063的解释是:
pp0063
Preprocessor Error: Bad number format
Description
The preprocessor evaluated an expression with an invalid numeric base in the context of a #if directive.
Severity
Error
Example
#if 01ux
#endif
[Error pp0063] "error63.c":5 Bad number format
How to Fix
Correct the expression to ensure that it has a valid number.
主要的原因是u-boot将每一个命令都用一个8个字节的整数来表示,而vdsp5的汇编器却不支持8个字节的整数运算,也不支持其定义,如
#define CFG_CMD_EXT2 0x1000000000000000ULL /* EXT2 Support */
所以就出现ERROR。
解决方法:
查找CFG_CBSIZE时并没有发现在.s文件中有对它的引用,因此可以直接改为:
#ifndef __ASSEMBLY__
#if (CONFIG_COMMANDS & CFG_CMD_KGDB)
#define CFG_CBSIZE 1024 /* Console I/O Buffer Size */
#else
#define CFG_CBSIZE 256 /* Console I/O Buffer Size */
#endif
#endif
以此相类似的还有
#if (CONFIG_COMMANDS & CFG_CMD_NET)
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录:#if
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(2): .macro
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(3): 汇编空语句
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(4):提示信息
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(5):ENDPROC
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(10):__xchg
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(11):bsz
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(13):使用L1
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(15):DECLARE_GLOBAL_DATA_PTR
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(16):*cplb_add
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(17): Entry.h
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(18):const
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(19):分号惹祸
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(21):收工
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录:全文
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(6):使用u-boot的crt代码
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(7):改造u-boot.lds.s
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(9):bool的问题
- 大连:第六届中国软交会亮点纷呈
- Delphi自定义部件开发(2)
- 保存网页的智能化实现
- NTT将推新服务 用户可通手机发送不同香味
- Delphi自定义部件开发(3)
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录:#if
- EL表达式
- ASP.NET刷新页面的六种方法
- 股市中有人在故意混淆几个概念,害人害己!
- 国际:十个习惯让你精通新的开发技术
- Delphi自定义部件开发(4)
- 沟通从细节做起
- 软件项目获取用户需求的沟通技巧
- [转]让你的CSocket支持超时(TimeOut) - lid0770的专栏 - CSDNBlog