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

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

《SpringBoot3.4.3基于SpringWebFlux实现SSE功能(代码示例)》SpringBoot3.4.3结合SpringWebFlux实现SSE功能,为实时数据推送提供... 目录1. SSE 简介1.1 什么是 SSE?1.2 SSE 的优点1.3 适用场景2. Spring WebFlu

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数

一文详解如何从零构建Spring Boot Starter并实现整合

《一文详解如何从零构建SpringBootStarter并实现整合》SpringBoot是一个开源的Java基础框架,用于创建独立、生产级的基于Spring框架的应用程序,:本文主要介绍如何从... 目录一、Spring Boot Starter的核心价值二、Starter项目创建全流程2.1 项目初始化(

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma

Spring Boot 集成 Quartz 使用Cron 表达式实现定时任务

《SpringBoot集成Quartz使用Cron表达式实现定时任务》本文介绍了如何在SpringBoot项目中集成Quartz并使用Cron表达式进行任务调度,通过添加Quartz依赖、创... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启

Spring Boot中定时任务Cron表达式的终极指南最佳实践记录

《SpringBoot中定时任务Cron表达式的终极指南最佳实践记录》本文详细介绍了SpringBoot中定时任务的实现方法,特别是Cron表达式的使用技巧和高级用法,从基础语法到复杂场景,从快速启... 目录一、Cron表达式基础1.1 Cron表达式结构1.2 核心语法规则二、Spring Boot中定