[转]u-boot-2010.12移植到2440(二,移植在RAM中运行)

2024-01-07 02:08
文章标签 运行 移植 boot ram 2440 2010.12

本文主要是介绍[转]u-boot-2010.12移植到2440(二,移植在RAM中运行),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

[转]u-boot-2010.12移植到2440(二,移植在RAM中运行)
转自
http://my.chinaunix.net/space.php?uid=24319701&do=blog&id=131489
Smdk2410 可以编译通过之后,即可进入 2440 的移植了。 2440 2410 的资源差不多,主频和外设有点差别,所以我们就在 board/samsung/ 下以 smdk2410 为模板建立自己目标板的项目,取名叫 smdk2440 (代码中的修改用红色表示)

一、首先建立目标板文件

#cp -rf smdk2410/* smdk2440/   //2410下所有的代码复制到2440

#cd smdk2440        //进入smdk2440目录

#mv smdk2410.c smdk2440.c  //smdk2440下的smdk2410.c改名为smdk2440.c

#cd ../../../         //回到u-boot根目录
#cp include/configs/smdk2410.h include/configs/smdk2440.h //
建立2440头文件
#gedit board/samsung/smdk2440/Makefile   

修改smdk2440Makefile的编译项,如下:

COBJS    := smdk2440.o flash.o  //因在smdk2440下我们将smdk2410.c改名为smdk2440.c

老版本的uboot是需要修改顶层makefile文件

在其中加入:

smdk2440_config    :    unconfig     //2440编译选项格式
    @$(MKCONFIG) $(@:_config=) arm arm920t smdk2440 samsung s3c24x0

但是新版本的文件组织结构有很大变化,需要在boards.cfg文件中smdk2410的下面增加类似的一条:

smdk2440       arm         arm920t     -          samsung        s3c24x0

然后,测试下编译情况:

Make distclean

Make smdk2440_ config

Make all

不幸,出现如下错误:

 

board.c: In function 'board_init_f':

board.c:279: error: 'CONFIG_SYS_TEXT_BASE' undeclared (first use in this function)

board.c:279: error: (Each undeclared identifier is reported only once

board.c:279: error: for each function it appears in.)

make[1]: *** [board.o] 错误 1

make[1]: 离开目录“/home/bsc/samba/u-boot-2010.12/arch/arm/lib”

make: *** [arch/arm/lib/libarm.o] 错误 2

 

这说明我们前面为了编译通过而增加的宏定义可能是有问题的,事实上我们可以在网上查到一个patch,可以解决这些问题。但是这里,为了深入了解问题所在,我们手动一点点来修改而不是直接打上patch

include/configs/s

这篇关于[转]u-boot-2010.12移植到2440(二,移植在RAM中运行)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/578375

相关文章

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

如何在运行时修改serialVersionUID

优质博文:IT-BLOG-CN 问题 我正在使用第三方库连接到外部系统,一切运行正常,但突然出现序列化错误 java.io.InvalidClassException: com.essbase.api.base.EssException; local class incompatible: stream classdesc serialVersionUID = 90314637791991

FreeRTOS-基本介绍和移植STM32

FreeRTOS-基本介绍和STM32移植 一、裸机开发和操作系统开发介绍二、任务调度和任务状态介绍2.1 任务调度2.1.1 抢占式调度2.1.2 时间片调度 2.2 任务状态 三、FreeRTOS源码和移植STM323.1 FreeRTOS源码3.2 FreeRTOS移植STM323.2.1 代码移植3.2.2 时钟中断配置 一、裸机开发和操作系统开发介绍 裸机:前后台系

RabbitMQ使用及与spring boot整合

1.MQ   消息队列(Message Queue,简称MQ)——应用程序和应用程序之间的通信方法   应用:不同进程Process/线程Thread之间通信   比较流行的中间件:     ActiveMQ     RabbitMQ(非常重量级,更适合于企业级的开发)     Kafka(高吞吐量的分布式发布订阅消息系统)     RocketMQ   在高并发、可靠性、成熟度等

Spring Boot 入门篇

一、简介 Spring Boot是一款开源的Java Web应用框架,旨在简化Spring应用的初始搭建以及开发过程。它整合了Spring技术栈中的诸多关键组件,为开发者提供了一种快速、简便的Spring应用开发方式。Spring Boot遵循“约定优于配置”的原则,通过自动配置、起步依赖和内置的Servlet容器,极大地简化了传统Spring应用的配置和部署过程。 二、Spring Boot

Spring Boot集成Tess4J实现OCR

1.什么是Tess4j? Tesseract是一个开源的光学字符识别(OCR)引擎,它可以将图像中的文字转换为计算机可读的文本。支持多种语言和书面语言,并且可以在命令行中执行。它是一个流行的开源OCR工具,可以在许多不同的操作系统上运行。Tess4J是一个基于Tesseract OCR引擎的Java接口,可以用来识别图像中的文本,说白了,就是封装了它的API,让Java可以直接调用。 Tess

部署若依Spring boot项目

nohup和& nohup命令解释 nohup命令:nohup 是 no hang up 的缩写,就是不挂断的意思,但没有后台运行,终端不能标准输入。nohup :不挂断的运行,注意并没有后台运行的功能,就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,注意了nohup没有后台运行的意思;&才是后台运行在缺省情况下该作业的所有输出都被重定向到一个名为nohup.o

使用Spring Boot集成Spring Data JPA和单例模式构建库存管理系统

引言 在企业级应用开发中,数据库操作是非常重要的一环。Spring Data JPA提供了一种简化的方式来进行数据库交互,它使得开发者无需编写复杂的JPA代码就可以完成常见的CRUD操作。此外,设计模式如单例模式可以帮助我们更好地管理和控制对象的创建过程,从而提高系统的性能和可维护性。本文将展示如何结合Spring Boot、Spring Data JPA以及单例模式来构建一个基本的库存管理系统

Spring Boot集成PDFBox实现电子签章

概述 随着无纸化办公的普及,电子文档的使用越来越广泛。电子签章作为一种有效的身份验证方式,在很多场景下替代了传统的纸质文件签名。Apache PDFBox 是一个开源的Java库,可以用来渲染、生成、填写PDF文档等操作。本文将介绍如何使用Spring Boot框架结合PDFBox来实现电子签章功能。 准备工作 环境搭建:确保你的开发环境中安装了JDK 8或更高版本,并且配置好了Maven或