OK6410编译U_BOOT,使之支持DM9000AE(一)

2024-02-23 08:48

本文主要是介绍OK6410编译U_BOOT,使之支持DM9000AE(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

步骤如下:


#tar zxf uboot1.26_FORLINX_6410.tgz  –C  /home/FOLINX_SHARE/uboot1.1.6_256M      解压,解压到/home/FOLINX_SHARE/uboot1.1.6_256M目录下

#cd  /home/FOLINX_SHARE/uboot1.1.6_256M                进入/home/FOLINX_SHARE/uboot1.1.6_256M目录


  移植的原因:

由于OK6410所用的网卡是DM9000AE的,而飞凌提供的U_BOOT的网卡驱动是CS8900,所以在U_BOOT中要改。

修改的方法参见:http://bbs.witech.com.cn/thread-4704-1-1.html

ok6410 u-boot dm9000 驱动补丁 patch
解压ok6410 或 ok6410b 对应的u-boot源代码
下载附件,覆盖u-boot源文件里面的同名文件,然后
打开文件 include/configs/smdk6410.h
找到
#ifdef  CONFIG_DRIVER_SMC911X   
#undef  CONFIG_DRIVER_CS8900   
#define CONFIG_DRIVER_SMC911X_BASE      0x18800300
#else
#define CONFIG_DRIVER_CS8900    0       /* wehave a CS8900 on-board */
#define CS8900_BASE            0x18800300
#define CS8900_BUS16            1      /* the Linux driver does accesses as shorts */
#endif
替换为
#define CONFIG_DRIVER_DM9000AE  1
#define CONFIG_DRIVER_DM9000    1
#define CONFIG_DM9000_BASE      (0x18000000)
#define DM9000_IO              (CONFIG_DM9000_BASE)
#define DM9000_DATA             (CONFIG_DM9000_BASE+0x4)
//#define CONFIG_DM9000_DEBUG     1
#define CONFIG_DM9000_USE_16BIT 1

make smdk6410_config   配置
make 编译,把编好的u-boot.bin写到开发板里面就可以用网卡了

 

附件:D:\嵌入式学习资料\ARM11  u-boot-dm9000-patch


u_boot.bin下载到开发板的方法:

         参见OK6410-A开发板LINUX2.6.28用户手册 制作用于一键烧写LINUX的SD卡的方法。


OK6410编译U_BOOT,使之支持DM9000AE 并支持NFS(二)

由于项目中的需要,之前使用的linux2.6.28的OK6410交叉环境破坏了,重新烧写linux2.6.36,使之支持QT4.7的。

后来要修改回来,使之支持NFS挂载,那么就要修改u_boot.bin,使之支持DM9000AE的。按照以前的方法,出现如下错误:

进入linux系统(2.6.36)以后发现:一大片s3c-nand: ECC uncorrectable error detected 提示。
请问:原因是什么? 如何解决?
s3c-nand: ECC uncorrectable error detected
s3c-nand: ECC uncorrectable error detected
s3c-nand: ECC uncorrectable error detected
s3c-nand: ECC uncorrectable error detected

····

参考网上的解决:

部分用户第一次烧写linux && Android系统的时候会遇到s3c-nand: ECC uncorrectable error detected这样的问题,出现这样的问题的时候请按照下面的步骤解决:

1.uboot命令行中运行下面命令:

nand erase 0

该命令将删除整块nandflash。

2.使用SD启动的uboot重新烧写各个镜像文件。

请按照下面的步骤调试:

1.使用uboot下使用nand erase 0擦除flash。

2.使用SD启动的uboot烧写nand启动的uboot。

3.使用nand启动的uboot烧写linux内核与cramfs。

我编译的Uboot是飞凌linux2.6.26中自的,在linux2.6.36当中,无法编译成功,开发环境为ubuntu10.04,交叉工具链为gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)

编译好后,利用SD一键烧写,可以了··················


u-boot.bin 是自己修改过的,支持DM9000
zImage和cramfs的飞凌自带的

为了能够挂载NFS和根文件系统。在uboot状态下修改参数如下:

setenv ipaddr 192.168.0.50

setenv serverip 192.168.0.47

setenv gatewayip 192.168.0.1

setenv bootdelay 3

setenv bootargs console=ttySAC0,115200 root=/dev/nfs nfsroot=192.168.0.47:/sheng/filesystem,proto=tcp,nfsvers=3,nolock ip=192.168.0.50




此外,以上操作,无关内核的事,故不用修改内核的任何东西





这篇关于OK6410编译U_BOOT,使之支持DM9000AE(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手