编译出错笔记:
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 = .;

  

编译make的出错提示解决方案的更多相关文章

  1. Arm Qt编译Qt例程出错 GLES3/gl3.h: No such file or directory 解决方法

    工作环境 PC:Ubuntu18.04QtCreator: 4.8.2交叉编译环境:野火imxull6开发板提供的 5-编译工具链->qt交叉编译工具 在之前博客配置成功的交叉编译环境,编译Qt ...

  2. IIS7.0出错的解决方案 IIS 状态代码:IIS详细错误代码以及解释

    一.请求筛选模块被配置为拒绝包含双重转义序列的请求.HTTP 错误 404.11 - Not Found   1.单击 开始 . 在 开始搜索 框中, 键入 Notepad. 右击 记事本 , 然后单 ...

  3. 远程桌面控制winsever,复制文件或者文件夹夹时出错提示“未指定的错误” 二(如何让远程电脑识别U盘)

    一.背景:   要给远程服务器安装数据库,把安装复制到服务器,出现复制文件或者文件夹夹时出错提示“未指定的错误”:通过映射网络分享文件方法来解决,发现服务器访问网络出现错误,ping分享文件电脑的IP ...

  4. 在windows环境下运行compass文件出现的错误提示解决方案

    在windows环境下运行compass文件出现的错误提示解决方案 例如:经常在项目中运行grunt命令编译scss文件的时候,会出现下面的错误提示 (Encoding::CompatibilityE ...

  5. 操作MySQL出错提示“BLOB/TEXT column request_data in key specification without a key length”解决办法

    错误原因: 查阅资料后才知道,原来Mysql数据库对于BLOB/TEXT这样类型的数据结构只能索引前N个字符.所以这样的数据类型不能作为主键,也不能是UNIQUE的.所以要换成VARCHAR,但是VA ...

  6. Clang比 gcc/g++更人性化代码出错提示的C/C++编译器

    编译器方面的几个命令 gcc/g++ 一. 常用编译命令选项 常用用法 gcc -Wall test.c -o test gcc编译过程 .c ->(-E)-> .i[中间文件] -> ...

  7. .net 项目 调用webservice 出错,异常信息:对操作“xxx”的回复消息正文进行反序列化时出错。解决方案。

    项目运行好好的,增加并更新WebService后,出错,捕获异常信息为:对操作“xxx”的回复消息正文进行反序列化时出错.解决方案. 认真分析异常信息后,得到关键提醒: {"读取 XML 数 ...

  8. Sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法

    Sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法 最近几天从网上找了几个asp.net的登录案例想要研究研究代码,结果在用 Sql Server2005附 ...

  9. SQLServer2005+附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法

    SQLServer2005+ 附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法 我们在用Sql SQLServer2005+附加数据库文件时弹出错误信息如下图的处理办法: 方案一: ...

随机推荐

  1. mysql-python 安装

    [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# gcc -v    查看是否安装gcc 若报错则未安装 [root@localh ...

  2. 用Python做大批量请求发送

    大批量请求发送需要考虑的几个因素: 1. 服务器承载能力(网络带宽/硬件配置); 2. 客户端IO情况, 客户端带宽, 硬件配置; 方案: 1. 方案都是相对的; 2. 因为这里我的情况是客户机只有一 ...

  3. Java 架构师之路(1)

    本人也是coding很多年,虽然很失败,但也总算有点失败的心得,不过我在中国,大多数程序员都是像我一样,在一直走着弯路.如果想成为一个架构师,就必须走正确的路,否则离目标越来越远,正在辛苦工作的程序员 ...

  4. JS数组去重的十种方法

    一.前言: 我们在实际工作中,或者在面试找工作时,都会用到或者被问到一个问题,那就是"数组如何去重".是的,这个问题有很多种解决方案,看看下面的十种方式吧! 二.数组去重方式大汇总 ...

  5. Oracle 11g DG手工switchover切换标准化流程

    Oracle 11g DG手工switchover切换标准化流程 环境:RHEL 6.5 + Oracle GI 11.2.0.4 + Oracle DB 11.2.0.4 Primary RAC(2 ...

  6. Oracle 11.2.0.1 ADG环境MRP进程遭遇ORA-600异常终止

    环境:Linux + Oracle 11.2.0.1 ADG 现象:发现备库没有应用日志 1. 数据库查询备库目前状态 发现备库目前没有应用日志,apply lag已经显示备库有3天21小时多没有应用 ...

  7. 【NO.14】jmeter-处理结果

    在1台测试机上面处理测试结果并没啥,比较麻烦的是合并2台测试机的测试结果. 首先说说,为什么我们需要使用2台(甚至3台.4台)测试机对服务器发送大量的请求呢?说白了就是测试机配置太弱了,服务器太牛逼. ...

  8. org.apache.commons.io——FileUtils学习笔记

    FileUtils类的应用 1.写入一个文件: 2.从文件中读取: 3.创建一个文件夹,包括文件夹: 4.复制文件和文件夹: 5.删除文件和文件夹: 6.从URL地址中获取文件: 7.通过文件过滤器和 ...

  9. C++新建Dialog程序

    1.新建: IDE VS2013 新建项目|C++|MFC,选择“基于对话框” 2.为Dialog添加类 在Dialog(界面)上右键,选择“添加类”,然后再弹出界面输入类名即可. 为什么要添加类? ...

  10. mysql 5.7.19 安装

    下载 官方下载地址,要注意的是要下载的是 MySQL Community Server.根据系统选择相应压缩包,这个是 win 下安装.选择 Zip Archive 安装 将下载好的压缩包解压到想要安 ...