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

相关文章

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

Spring Boot 整合 SSE(Server-Sent Events)实战案例(全网最全)

《SpringBoot整合SSE(Server-SentEvents)实战案例(全网最全)》本文通过实战案例讲解SpringBoot整合SSE技术,涵盖实现原理、代码配置、异常处理及前端交互,... 目录Spring Boot 整合 SSE(Server-Sent Events)1、简述SSE与其他技术的对

MyBatis-Plus 与 Spring Boot 集成原理实战示例

《MyBatis-Plus与SpringBoot集成原理实战示例》MyBatis-Plus通过自动配置与核心组件集成SpringBoot实现零配置,提供分页、逻辑删除等插件化功能,增强MyBa... 目录 一、MyBATis-Plus 简介 二、集成方式(Spring Boot)1. 引入依赖 三、核心机制

Spring Boot项目如何使用外部application.yml配置文件启动JAR包

《SpringBoot项目如何使用外部application.yml配置文件启动JAR包》文章介绍了SpringBoot项目通过指定外部application.yml配置文件启动JAR包的方法,包括... 目录Spring Boot项目中使用外部application.yml配置文件启动JAR包一、基本原理

在 Spring Boot 中连接 MySQL 数据库的详细步骤

《在SpringBoot中连接MySQL数据库的详细步骤》本文介绍了SpringBoot连接MySQL数据库的流程,添加依赖、配置连接信息、创建实体类与仓库接口,通过自动配置实现数据库操作,... 目录一、添加依赖二、配置数据库连接三、创建实体类四、创建仓库接口五、创建服务类六、创建控制器七、运行应用程序八

基于Spring Boot 的小区人脸识别与出入记录管理系统功能

《基于SpringBoot的小区人脸识别与出入记录管理系统功能》文章介绍基于SpringBoot框架与百度AI人脸识别API的小区出入管理系统,实现自动识别、记录及查询功能,涵盖技术选型、数据模型... 目录系统功能概述技术栈选择核心依赖配置数据模型设计出入记录实体类出入记录查询表单出入记录 VO 类(用于

解决Failed to get nested archive for entry BOOT-INF/lib/xxx.jar问题

《解决FailedtogetnestedarchiveforentryBOOT-INF/lib/xxx.jar问题》解决BOOT-INF/lib/xxx.jar替换异常需确保路径正确:解... 目录Failed to get nested archive for entry BOOT-INF/lib/xxx

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入