AM335x SPI Flash启动说明
本文主要描述如何在EVB335X-II上实现从SPI Flash启动系统,包括启动方式的修改,u-boot编译,SPI Flash的烧写。EVB335X-II使用的SPI Flash型号为W25Q32FV,大小为4M-Byte,挂载在SPI0总线上。以下为功能实现步骤。
一 修改核心板启动方式:
根据COM335X核心板设计原理图,从SPI0启动时,SYSBOOT[4:0]应该为11000b。因此,核心板应做以下修改:焊接R9、R8、R15、R14、R13,不焊接R17、R16、R7、R6、R5,如下图所示:
二:编译u-boot
在终端输入以下命令:
$makecom335x_spi_128_config
(注:128是指RAM大小为128M,如果使用的RAm大小为256M或者512M,请将128改为256或者512.)
$makeARCH=arm CROSS_COMPILE=/opt/arm-2010.09/bin/arm-none-linux-gnueabi-
编译完成,在当前目录下生成MLO、MLO.byteswap和u-boot.img文件,在spl目录下生成u-boot-spl.bin文件。其中,MLO.byteswap是烧写到SPI Flash的专用文件。
三:SPI Flash烧写步骤
下载 MLO.byteswap和 u-boot.img 到 SPI Flash 中,可以通过网口、串口、USB 口、SD Card 将上一步骤中编译好的文件下载到 SDRAM中,然后通过运行的 u-boot 将程序烧写到 SPIFlash 中。本文以从串口下载为例进行说明。
1、将调试串口连接到电脑上,打开Windows下的超级终端,设置如下参数:波特率(115200)、数据位(8 位)、停止位(1 位)、校验位(无)、数据流控制(无),如下图所示:
2、给开发板上电,当超级终端打印出“CCCCC”字符后,表示内部ROM工作正常,然后选择超级终端:传送 → 发送文件→ 1K Xmodem,如下图所示:
3、点击→浏览,选择u-boot-spl.bin文件
然后,选择发送,传输u-boot-spl.bin文件
4、传输成功,则u-boot-spl.bin会自动在CPU内部RAM中运行,初始化外部DDR3RAM,并自动引导待下载到DDR3 RAM中的u-boot.bin,如下图所示:
5、 这时会再次出现”CC”字符,此时可以传输u-boot.img文件,
选择:传送 → 发送文件 → Ymodem
6、点击→浏览,选择u-boot.img文件
然后,选择发送,传送u-boot.img文件。注意:此过程可能需要等待50s左右才能开始传输。
7、u-boot.img传输成功后,SPL会自动引导在DDR3 RAM的u-boot
8、在3秒内单击回车键,会出现“U-Boot# ”提示,此时u-boot已经正确烧写到DDR3 RAM中,但还没有烧写到SPI Flash中。接下来我们要通过UART串口将镜像烧到SPI Flash.
9、 在“U-Boot# ”提示下依次输入:
U-Boot# mw.b 0x81000000 0xFF 0x20000 //把内存0x81000000开始的0x20000字节设为0xFF
U-Boot# loadb 0x81000000 //等待从串口下载文件至内存0x81000000处
打开传输协议,选择:传送 → 发送文件 → Kermit
10、点击→浏览,选择MLO.byteswap文件
然后,选择发送,传输MLO.byteswap文件。
11、传输完成后,在“U-Boot# ”提示下依次输入:
U-Boot# sf probe 0 //检测SPI0上的flash是否存在,操作SPI Flash前必须运行一次
U-Boot# sf erase 0 +0x400000 //擦除SPI Flash
U-Boot#sf write 0x81000000 0 ${filesize} //将DDR3中的MLO文件烧写到SPI Flash起始地址为0的区域
此时,MLO已经烧写到SPIFlash中,接下来要将u-boot.img烧写到SPIFlash中。
12、在“U-Boot# ”提示下依次输入:
U-Boot# mw.b 0x81000000 0xFF 0x1e0000
U-Boot# loadb 0x81000000
打开传输协议,选择:传送 → 发送文件 → Kermit
13、点击浏览,选择u-boot.img文件,然后选择发送,传输u-boot.img文件
14、传输完成后,在“U-Boot# ”提示下依次输入:
U-Boot# sfwrite 0x81000000 0x20000 ${filesize}//将DDR3中的MLO文件烧写到SPI Flash起始地址为 0x20000的区域
烧写完成后,重启开发板,系统从SPI Flash启动。
AM335x SPI Flash启动说明相关推荐
- 荔枝派Zero(V3s)SPI Flash 启动
参考:http://zero.lichee.pro/系统开发/SPI_flash_build.html#linux 本文以型号为MX25L12805.MX25L25635F为例,flash大小分别为1 ...
- NUC972 SPI Flash启动+内核+Cramfs文件系统
NUC972 作为一个低成本linux方案,有片内SDRAM,又有茫茫多的外设,简直工控神U. 为了追究更低成本,考虑放弃使用NAND,把uboot, 内核,文件系统都放在SPI FLASH.这样画板 ...
- [转]i.MXRT1050 从外部QSPI Nor Flash启动
晕,不看不知道一看吓一跳,都快两年没有更新我的博客了,哎,惭愧的同时也是感叹时间过的真快啊,之前写博客还高喊着自己快奔三的人了,结果现在都已经迈过去了...不继续说了,都暴露年龄了,咳咳.不过虽然时光 ...
- ADSP-SC589开发板更换SPI FLASH并从flash引导内核与文件系统
前情提要:目前本人正在用ADSP-SC589开发板做开发,希望实现内核与文件系统都从SPI FLASH启动,但板子上原来的SPI FLASH太小了,于是更换了镁光的MT25QU01GBBB FLASH ...
- AM335X 、AM5728 NOR flash启动
现在AM335X上设计nor flash启动的相关要点总结如下,供大家参考. 1. 关于nor flash启动的信息 可以参考TRM的26.1.7.2 XIP Memory章节,在这里就不详述了. 2 ...
- nuc972 配置成SPI nor flash 启动
nuc972开发板用的是w25q128的spi nor flash (总共16M). 做了如下事情使得从nor flash启动,jffs2文件系统也放在nor flash上: sudo apt ins ...
- HI3516a w25q128 spi flash无法启动问题
海思HI3516a开发套件上spi flash硬件默认3 addr模式,需要更改u-boot代码才能正确支持3 addr模式,具体操作如下: 更改u-boot代码osdrv/opensource/ub ...
- FPGA配置 - 基于SPI FLASH的FPGA多重配置(Xilinx)
原文地址:http://www.elecfans.com/emb/fpga/20140124334884_2.html IPROG指令的作用是对FPGA芯片进行复位操作,该复位操作对FPGA内部的应用 ...
- lichee linux nfs,SPI Flash 系统编译
在一些低成本应用场景,需要在SPI flash上启动系统,这需要对Uboot和系统镜像做些适配. 本文介绍SPI Flash镜像的制作过程. 这里 使用 MX25L25645G, 32M SPI fl ...
最新文章
- 使用EF操作Oracle数据库小计
- 【Linux 内核】Linux 内核源码目录说明 ③ ( lib 目录 | LICENSES 目录 | mm 目录 | net 目录 | samples 目录 | scripts 目录 )
- QDoc分组事物Grouping Things
- XGBoost对比RandomForest、GBDT、决策树、SVM,XGB+LR精度还能提升
- HTTP基础10--web(2)
- Spring Cloud Alibaba基础教程:与Dubbo的完美融合
- Sql server 数据转到 Mysql 数据库
- IAI OpenLab工业人工智能开放实验室白皮书(一)
- 95-38-035-Buffer-AbstractByteBuf
- spring源码之—Assert.notNull()
- 计算机usb速度设置,怎样提升USB2.0的速度 注册列表修改法【详解】
- 六种实现元素水平居中
- 深度学习之torch(一)MINIST手写字符分类
- get和post区别
- 5V限流IC,0.4A-4.8A可调限流芯片解决方案
- java里如何继承一个类_java如何继承类
- 英文名为什么最好不用joe?JOE英文名的寓意是什么?
- python 全栈什么意思_python全栈指的是什么意思
- 【区块链扩容】侧链技术 Plasma(Layer 2)
- 全球与中国3D透视导航技术市场现状及未来发展趋势(2022)
热门文章
- Java8日期时间API,Java高级多线程面试
- swagger ui 怎么输入对象_swagger ui页面参数不能输入
- Oracle配置EM(Enterprise Manager)
- java调用ffmepg_java调用ffmpeg施行视频转换
- 终于发布一个android应用程序到机锋市场,AppChina应用汇了
- getOrDefault()方法
- GTS Fail修改集锦com.google.android.xts.afw.AfwRequiredAppsOverlaysTest
- Android-插入短信及备份手机中的短信到SD卡
- 在windows系统上使用linux系统的最佳姿势
- android v7支持库使用,正确引用 Android Support v7 兼容支持库