u-boot-2016.11移植到S3C2440之新建一个单板(1)_s3c2440的u-boot移植-程序员宅基地

技术标签: u-boot移植  u-boot-2016.11  S3C2440  新建单板  JZ2440  

1、确定单板

下载并解压u-boot-2016.11,查看一下board目录下的这一u-boot版本支持的单板,寻找你的单板或者和你的单板相近的单板。对于S3C2440来说,u-boot没有提供与之相对应的单板支持,但是S3C2410与S3C2440是十分相似的,在u-boot-2016.11\board\samsung目录下有smdk2410的目录,即支持smdk2410开发板,那我们的u-boot也就基于这一开发板来移植修改。

2、配置、编译u-boot

首先就以smdk2410为目标来配置编译一下u-boot-2016.11,建议使用较高版本的交叉工具链,我使用的是arm-linux-gcc-4.3.3。

make smdk2410_config

make

发现编译不能通过,没有指定芯片架构与交叉编译器,在顶层Makefile中添加:

ARCH=arm

CROSS_COMPILE=arm-linux-

再编译就可以编译通过了,我们反汇编一下u-boot,得到反汇编代码用于分析:

arm-linux-objdump -D u-boot > u-boot.dis

3、新建一个S3C2440单板

在board\samsung目录下拷贝smdk2410文件夹为smdk2440,并在include/configs目录下拷贝smdk2410.h为smdk2440.h:

/board/samsung$ cp smdk2410 smdk2440 -rf

/include/configs$ cp smdk2410.h smdk2440.h

配置一下看能否配置成功:

make smdk2440_config

报错,缺少对应的默认配置文件。该配置文件在configs目录里,进入该目录拷贝smdk2410_defconfig为smdk2440_defconfig:

cp smdk2410_defconfig smdk2440_defconfig

再执行一下默认配置,便可以执行成功了,再编译一下也可以编译成功了:

make smdk2440_config

make

4、完善单板配置

我们虽然编译通过了,但是肯定还有其他很多地方是依赖于smdk2410目录的。这自然是不可以的,因为我们要的是一个完全独立的单板,我们可以将smdk2410暂时移到别的文件夹去,再配置、编译一下找出这些错误。(我这里是为了保留u-boot支持smdk2410单板的功能,在修改完成之后会移回来,如果不需要,也可以删除smdk2410目录)

sudo mv smdk2410 /tmp

make distclean

make smdk2410_config

make

错误!搜索一下和2410相关的地方,并把相关的地方都修改一下:

grep "2410" * -nR

/board/samsung/smdk2440/中的smdk2410.h改为smdk2440.h,将Kconfig、Makefile文件中的2410替换为2440,再编译,还是不行。smdk2440_defconfig文件路径有问题。将smdk2440_defconfig文件中的2410替换为2440,再编译,提示arch/arm/Kconfig存在问题。修改,仿照2410再添加一段。

还是不能编译成功,还在试图寻找board/samsung/smdk2410/Kconfig。因为只要在arch/arm/Kconfig重定义了开发板的路径,就必须要有对应的文件。所以,可以把之前的smdk2410文件夹拷贝回来,也可以屏蔽掉2410对应的开发板文件路径:

make smdk2440_config

make

然后就可以make smdk2440_config成功,也可以make成功产生bin文件,接下来就进入下一阶段了。



版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/d1364823976/article/details/69048517

智能推荐

开始_李艾廷-程序员宅基地

文章浏览阅读143次。终于决定开始写东西了,从学生时代起就不敢说自己写的东西叫文章,就像现在不敢说自己是程序员一样。我已经很久没写东西了,但一直听大佬说坚持写对自己有很大的帮助,嗯,从现在开始。 从来没想过我会走这条路,虽然我小时候从来都没有想过我以后会从事什么行业,更没有什么科学家,赛车手的梦想。初中的时候 读了姜戎写的狼图腾,那段时间一心想去大草原放羊,而且有一次差点就去了。 ..._李艾廷

ffmpeg编码报错:more samples than frame size (avcodec_encode_audio2)_ffmpeg more samples than frame size-程序员宅基地

文章浏览阅读519次。fkd_aac默认有好几种采样范围,如下:2048 HE-AAC v1/v21024: Default configuration.//AAC-LC 1024512: Default length in LD/ELD configuration.480: Length in LD/ELD configuration.256: Length for ELD reduced delay mode (x2).240: Length for ELD reduced delay mode (x2).12_ffmpeg more samples than frame size

Java快速开发框架_若依——Ruoyi添加自己的业务模块_ruoyi java17-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏26次。QQ 1274510382Wechat JNZ_aming商业联盟 QQ群538250800技术搞事 QQ群599020441解决方案 QQ群152889761加入我们 QQ群649347320共享学习 QQ群674240731纪年科技aming网络安全 ,深度学习,嵌入式,机器强化,生物智能,生命科学。叮叮叮:产品已上线 —>关注 官方-微信公众号——济南纪年信息科技有限公司民生项目:商城加盟/娱乐交友/创业商圈/外包兼职开发-项目发布/安全项目:态势感.._ruoyi java17

spring-boot-maven-plugin报错-程序员宅基地

文章浏览阅读998次,点赞3次,收藏3次。spring-boot-maven-plugin报错背景:将JDK1.8更换为1.11之后,原本不报错的项目报错了,具体为在编译时报错java.lang.ExceptionInInitializerError。猜测这应该与更换JDK版本有关,所以做出如下修改:首先修改这个版本号:(直接找了版本最高的)问题来了,改变Lombok的版本之后,spring-boot-maven-plugin报错了,报错信息大致为:Plugin ‘org.springframework.boot:spring-boot-_spring-boot-maven-plugin报错

[转载]CRichEditCtrl系列讲堂9解决CEdit/CRichEdit中S_kevin_新浪博客-程序员宅基地

文章浏览阅读85次。原文地址:CRichEditCtrl系列讲堂9解决CEdit/CRichEdit中SetSel错位或者位置判断错误的问题作者:慢动作的猪需求:在CEdit中查找指定文本然后选中,当然CEdit中会包含汉子以及英文字符,也包括回车换行符,然后进行查找,第一次标识并选中第一次出现的位置,再次点查找要标识并选中第二次出现位置,如果到达最后一次要从头重新查找。解答:问题很简单可能会使用..._cricheditctrl cedit

vue项目this.$refs唤起el-upload组件_this.$refs.upload-程序员宅基地

文章浏览阅读5.7k次。<template><section><el-buttonv-if="fileName"type="text"@click="handelReplace"class="l-h-20">重新上传</el-button><el-uploadv-show="!fileName"class="upload-wrapm-r-5"ref="uploadBox"a..._this.$refs.upload

随便推点

java冻结行列,Java 冻结或解除冻结Excel中的行和列的方法-程序员宅基地

文章浏览阅读414次。当Excel表格中有大量数据时,为了方便浏览,我们可通过冻结窗口这一功能将某几行或某几列的数据冻结起来,这样在我们滚动窗口时,这几行或几列的数据就会被固定住,而不会随着其他单元格的移动而移动。总的来说,Excel冻结窗口可细分为三类:冻结行、冻结列及同时冻结行和列。本文将通过使用Java程序来演示如何冻结或解除冻结Excel中的行和列。使用工具:Free Spire.XLS for Java(免费..._java中excelstyleconfig中的lockcolumnlist

数据库系统——数据库完整性_售票系统数据库完整性-程序员宅基地

文章浏览阅读300次。数据库完整性广义完整性:语义完整性、并发控制、安全控制、DB故障恢复等狭义完整性:语义完整性完整性涉及到实体完整性:主键参照完整性:候选键用户自定义完整性:语义完整性,就是用户自己定义的比如 sname char(8),学生的姓名就需要在8个字符之内SQL语言支持的约束静态约束integrity Constraint::=(O,P,A,R)O:列或者表P:需要定义A:更新时..._售票系统数据库完整性

自然语言处理与词嵌入-吴恩达深度学习笔记_自然语言学习 吴-程序员宅基地

文章浏览阅读341次。文章目录自然语言处理与词嵌入词汇表征(Word Representation)Visualizing word embeddings——t-SNE算法Properties of Word Embeddings——Cosine similarityEmbedding matrix学习词嵌入(Learning Word Embeddings)Word2VecSkip-Gram模型负采样(Negative Sampling)GloVe 词向量(GloVe Word Vectors)情感分类(Sentiment C_自然语言学习 吴

PLSQL调试-程序员宅基地

文章浏览阅读5.7k次,点赞2次,收藏3次。以下文章:可以获取的内容,调PLSQL的行号,使用常用的快捷敲代码的方式(部分),初步调试存储过程,dual部分技巧,去重方式1.调行号 tools(工具)----SQlWindow(窗口类型下)--show gutter line(显示行号) ,即可获得想要的行号2.使用“字母+空格 ”比如说 sf 敲出“select * from ”,至于想要的什么样的输出..._plsql调试

Git教程学习(八)—使用GitHub_qcap使用教程-程序员宅基地

文章浏览阅读287次。我们一直用GitHub作为免费的远程仓库,如果是个人的开源项目,放到GitHub上是完全没有问题的。其实GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与别人的开源项目。在GitHub出现以前,开源项目开源容易,但让广大人民群众参与进来比较困难,因为要参与,就要提交代码,而给每个想提交代码的群众都开一个账号那是不现实的,因此,群众也仅限于报个bug_qcap使用教程

java 压缩解压类-程序员宅基地

文章浏览阅读101次。java ziputilimport java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;i..._java hutool 压缩解压缩

推荐文章

热门文章

相关标签