4868|10

67

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

uboot的问题 [复制链接]

最近在整linux移植,有些问题不是很清楚,望高手指点
1.flash分区是在uboot中指定还是在内核中定义,具体在哪指定(针对NOR Flash)?
2.若用uboot引导双系统改如何实现?

最新回复

hao  详情 回复 发表于 2010-1-5 15:37
点赞 关注

回复
举报

73

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
1.只能在内核里指定,uboot不支持flash的分区
  内核中定义若干mtd_parttion,然后用add_mtd_partitions加入系统中

2.可以保留两块flash空间,然后用cp命令和不同地址选择加载哪个内核和文件系统
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用 1 楼 hhyh612 的回复:
1.只能在内核里指定,uboot不支持flash的分区
? 内核中定义若干mtd_parttion,然后用add_mtd_partitions加入系统中

2.可以保留两块flash空间,然后用cp命令和不同地址选择加载哪个内核和文件系统

1.假如我在linux内核中指定,在uboot引导winCE分区还会有效吗?
2.保留两块flash空间,可否再详细些?
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

4
 
顶一下,高手来帮忙解答
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

5
 
我说的方法都是在内核编译的时候静态确定分区大小的,不是通过分区表来确定的

如果WINCE只是一个简单的RAMIMAGE,那么可以把NK.nb0烧到flash某处,并作为单独一个区,uboot知道wince烧在什么位置,自然可以启动

如果wince需要用binfs,这个我还没研究过

不知道你的系统需要怎么样的文件系统?
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 4 楼 hhyh612 的回复:
我说的方法都是在内核编译的时候静态确定分区大小的,不是通过分区表来确定的

如果WINCE只是一个简单的RAMIMAGE,那么可以把NK.nb0烧到flash某处,并作为单独一个区,uboot知道wince烧在什么位置,自然可以启动

如果wince需要用binfs,这个我还没研究过

不知道你的系统需要怎么样的文件系统?

可否再详细些,内核编译的时候怎么静态确定分区大小?
不是在uboot中确定分区吗?uboot启动没引导内核时在命令行输入mtdparts显示出的分区信息应该跟内核没什么关系吧,只是这个分区要与内核中定义的一致,是这样吗?
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

7
 
mtdpart我没用过
内核中用add_mtd_partitions加分区
你搜add_mtd_partitions就可以看到例子了
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

8
 
如果你编过kernel就知道mkimage这个工具, 它是u-boot自带的一个工具, 它就是告诉u-boot把kernel的镜像解压到内存的指定地方然后在这个地方启动,
Usage: mkimage
          -l ==> list image header information
       mkimage_vphone [-x] -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file[:data_file...] image
          -A ==> set architecture to 'arch'
          -O ==> set operating system to 'os'
          -T ==> set image type to 'type'
          -C ==> set compression type 'comp'
          -a ==> set load address to 'addr' (hex)
          -e ==> set entry point to 'ep' (hex)
          -n ==> set image name to 'name'
          -d ==> use image data from 'datafile'
          -x ==> set XIP (execute in place)
[root@localhost fuzhou]#

参数T为multi时u-boot会知道有多个kernel(ucos,或者是linux,或者其他).你用mkimage把两个操作系统的image集成到一个image就可以了.解压的时候按需要来解压.
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

9
 
在boot阶段没有分区的概念, 但是它知道各个区的地址
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

10
 
uboot中分区定义与linux内核中flash分区定义关系大吗?有人说这两个定义要一致但不代表完全相同,怎么理解?
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

11
 
hao
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表