编译make的出错提示解决方案

编译出错笔记: start.s:20: Error: no such instruction: `ldr r0,=WTCON' 错误:没有这样的指令 解决:编译文件后缀名必须为大写S,改为start.S

start.S:34: Error: bad instruction `ldr,r0,=0x4C000004' 错误:坏的指令,指令名ldr后面不能跟逗号 解决:改为ldr r0,=0x4C000004 start.S:52: Error: bad expression -- `ldr r0,#0' 错误:指令参数出错,使用#0参数是使用mov,不是ldr 解决:改为mov r0,#0 start.o(.text+0xc8): In function `SDRAM_CONFIG': : undefined reference to `lr' 错误:在start.S中对LR未定义的引用 解决:在start.S中找到 ldr pc,=lr ,编译器误解lr是一个变量,这里应该写成mov pc,lr(完成一个子程序返回) 12: error: syntax error before "int" 错误:'int'符号之前有语法错误 13: warning: comparison of distinct pointer types lacks a cast 错误:指针与其它不同类型的值比较,没有使用强制转换 解决:使用强制转换使两个变量改为相同类型 comparison: 比较 distinct pointer types: 不同的类型指针 a cast:强制转换 19: warning: conflicting types for built-in function 'strcpy' 错误:strcpy函数与内置函数库冲突,(比如:printf,strlen,puts,scanf等都是内置函数库) 解决:  1.在arm-linux-gcc编译命令后面加上-fno-builtin或者-fno-builtin-FUNCTION 选项,你就可以自己实现这些函数而不冲突了。           2.把这些函数改个名称,以便不冲突。 11: error: `str' undeclared (first use in this function) 错误:str变量没有声明定义 1: error: syntax error before "include" 错误:在“include”标号之前有语法错误 74: warning: return type of 'main' is not `int' 错误:main函数的返回值不是int型 解决:将void main(void){} 改为int main(void){return 0;} 78: warning: implicit declaration of function `uart0_init' 错误:74行中用到的uart0_init函数只是隐形声明(implicit declaration),在这个文件中没有extern声明或者调用头文件 解决:1.在本文开头上添加: extern void uart0_init(void);          2.添加该函数的头文件,例如: #include "serial.h" arm-linux-ld:uboot.lds:2: parse error 错误:uboot.lds文件中第2行语句解析(parse )错误. 解决: 1.lds链接脚本中每个符号(:或者=)左右都要加上空格 , 或TAB按键 ,不然就会出错,例如以下代码:

    . = ALIGN(4); 
    .rodata:{*(.rodata)} //这里:左右没有空格,将出错,改为 .rodata : {*(.rodata*)}

2.lds链接脚本中除了"{}和()"后都不能加";"逗号,例如以下代码

    .rodata : {*(.rodata*)}; //这里"}"后面加了";"逗号,将出错 

3.lds脚本sections中若是以当前地址.等于xxx时,.后面都要加空格,例如以下代码:

    .= 0x33f80000; //当前0地址里赋入0X33f80000,这里.后面没有加空格,将出错,改为	
    . = 0x33f80000; 
    . = ALIGN(4); 

4.lds脚本中定义符号时,都要使符号在前,例如以下代码:

    __bss_start = .; 
    .bss : { *(.bss) *(COMMON) }
    . = __bss_end; //这里定义"__bss_end"符号出错,应该改为	__bss_end = .;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏pangguoming

Spring Boot集成JasperReports生成PDF文档

由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲...

1.4K7
来自专栏Ceph对象存储方案

Luminous版本PG 分布调优

Luminous版本开始新增的balancer模块在PG分布优化方面效果非常明显,操作也非常简便,强烈推荐各位在集群上线之前进行这一操作,能够极大的提升整个集群...

3645
来自专栏张善友的专栏

Mix 10 上的asp.net mvc 2的相关Session

Beyond File | New Company: From Cheesy Sample to Social Platform Scott Hansel...

2767
来自专栏魂祭心

原 canvas绘制clock

5024
来自专栏张善友的专栏

LINQ via C# 系列文章

LINQ via C# Recently I am giving a series of talk on LINQ. the name “LINQ via C...

2975
来自专栏杨龙飞前端

scrollto 到指定位置

2894
来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

2997
来自专栏C#

DotNet加密方式解析--非对称加密

    新年新气象,也希望新年可以挣大钱。不管今年年底会不会跟去年一样,满怀抱负却又壮志未酬。(不过没事,我已为各位卜上一卦,卦象显示各位都能挣钱...)...

5808
来自专栏落花落雨不落叶

canvas画简单电路图

82011
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4355

扫码关注云+社区