pcDuino的u-boot移植与分析

2024-05-09 04:58
文章标签 分析 移植 boot pcduino

本文主要是介绍pcDuino的u-boot移植与分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、准备工作

1.获取支持pcDuino的u-boot源码

https://github.com/linux-sunxi/u-boot-sunxi

在XP下直接点ZIP即可开始下载

2.获取交叉编译链

http://code.google.com/p/smp-on-qemu/downloads/list

选择arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2并下载

3.开发环境

我全程是在ubuntu 10.04.4系统下完成的。ubuntu安装过程参考其它文档。首先将上面下载的源码、交叉编译链拷到Ubuntu下。安装交叉编译链arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2直接解压即可。接着配置环境变量

sudo gedit  /etc/environment

修改PATH,在最后再加“:/.../arm-2009q3/bin”,其中“...”是上面arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2解压的路径。

4.硬件连接

把pcDuino的J5 RX、TX、GND接到你的串口转USB上即可。

二、u-boot移植

1.分析配置过程

上面下载的u-boot-sunxi支持多种单板,解压按照其说明配置。经过试验发现单板cubieboard与pcDuino接近,移植在cubieboard基础上进行。

根据其配置过程make cubieboard CROSS_COMPILE=arm-none-linux-gnueabi- ,查找grep "cubieboard" * -nR 

找到顶层目录的boards.cfg,接着发现顶层目录的Makefile 719:$(obj).boards.depend: boards.cfg. 

vim boards.cfg
# Target            ARCH        CPU         Board name          Vendor       SoC         Options
290:cubieboard      arm         armv7       cubieboard          allwinner      sunxi       sun4i:SPL

2.仿照cubieboard,建立pcDuino单板

cd board/allwinner/

cp cubieboard pcDuino -rf

cd ../..

vim boards.cfg

在291行增加如下:

291:pcDuino      arm         armv7       pcDuino          allwinner      sunxi       sun4i:SPL

3.配置、编译

make pcDuino CROSS_COMPILE=arm-none-linux-gnueabi-

编译顺利结束的话,会生成第一阶段/spl/sunxi-spl.bin 、第二阶段 /u-boot.bin

4烧写、测试

上述生成的第一阶段/spl/sunxi-spl.bin 、第二阶段 /u-boot.bin,是支持sd卡启动的,准备tf卡读卡器,连接到PC,下面是烧写命令

ls /dev/sdb //发现刚插入的sd卡设备,我的是sdb

sudo dd if=/dev/zero of=/dev/sdb bs=1M count=1

cd spl/

sudo dd if=sunxi-spl.bin of=/dev/sdb bs=1024 seek=8

cd ..

sudo dd if=u-boot.bin of=/dev/sdb bs=1024 seek=32

取下tf卡,插到pcDuino的tf卡槽,pcDuino默认是从sd卡启动的,上电串口输出如下:

U-Boot SPL 2012.10 (Apr 11 2013 - 21:22:30)
DRAM: 1024MB
SUNXI SD/MMC: 0


U-Boot 2012.10 (Apr 11 2013 - 21:22:30) Allwinner Technology 

CPU:   SUNXI Family
Board: Cubieboard
I2C:   ready
DRAM:  1 GiB
MMC:   SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0 
sun4i#





这篇关于pcDuino的u-boot移植与分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

Redis主从复制的原理分析

《Redis主从复制的原理分析》Redis主从复制通过将数据镜像到多个从节点,实现高可用性和扩展性,主从复制包括初次全量同步和增量同步两个阶段,为优化复制性能,可以采用AOF持久化、调整复制超时时间、... 目录Redis主从复制的原理主从复制概述配置主从复制数据同步过程复制一致性与延迟故障转移机制监控与维

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re

解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题

《解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题》本文主要讲述了在使用MyBatis和MyBatis-Plus时遇到的绑定异常... 目录myBATis-plus-boot-starpythonter与mybatis-spring-b

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专

Jenkins中自动化部署Spring Boot项目的全过程

《Jenkins中自动化部署SpringBoot项目的全过程》:本文主要介绍如何使用Jenkins从Git仓库拉取SpringBoot项目并进行自动化部署,通过配置Jenkins任务,实现项目的... 目录准备工作启动 Jenkins配置 Jenkins创建及配置任务源码管理构建触发器构建构建后操作构建任务

Spring Boot 中整合 MyBatis-Plus详细步骤(最新推荐)

《SpringBoot中整合MyBatis-Plus详细步骤(最新推荐)》本文详细介绍了如何在SpringBoot项目中整合MyBatis-Plus,包括整合步骤、基本CRUD操作、分页查询、批... 目录一、整合步骤1. 创建 Spring Boot 项目2. 配置项目依赖3. 配置数据源4. 创建实体类

详解Spring Boot接收参数的19种方式

《详解SpringBoot接收参数的19种方式》SpringBoot提供了多种注解来接收不同类型的参数,本文给大家介绍SpringBoot接收参数的19种方式,感兴趣的朋友跟随小编一起看看吧... 目录SpringBoot接受参数相关@PathVariable注解@RequestHeader注解@Reque