社区
Linux_Kernel
帖子详情
如何确定内核的烧写地址?
mamamiya
2010-12-21 11:12:07
现在要往flash种烧写内核。 如何确定内核烧在flash的什么地址范围呢?
...全文
298
6
打赏
收藏
如何确定内核的烧写地址?
现在要往flash种烧写内核。 如何确定内核烧在flash的什么地址范围呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ldd
2010-12-22
打赏
举报
回复
查看U-boot
mamamiya
2010-12-22
打赏
举报
回复
PMON的话一般在哪查看?
Apple_Demo
2010-12-22
打赏
举报
回复
是在内核中划分好的。
steven_miao
2010-12-22
打赏
举报
回复
看kernel,以s3c2410或s3c6410为例,一般在mach-smdk6410.c中会定义nand flash的分区。如
struct mtd_partition s3c_partition_info[] = {
{
.name = "Bootloader",
.offset = 0,
.size = (512*SZ_1K),
/* .mask_flags = MTD_CAP_NANDFLASH, */
},
{
.name = "Kernel",
.offset = (512*SZ_1K),
.size = (8*SZ_1M),
/* .mask_flags = MTD_CAP_NANDFLASH, */
},
{
.name = "File System",
.offset = (8*SZ_1M + 512*SZ_1K),
.size = (128*SZ_1M),
},
{
.name = "User",
.offset = MTDPART_OFS_APPEND,
.size = MTDPART_SIZ_FULL,
}
};
这个就定义了nand flash 的分区。
dfxxm
2010-12-22
打赏
举报
回复
如果你的bootloader使用的是u-boot,那么你设置bootcmd的时候会设置启动方式和地址,如果是从flash启动如cp.b 11000000 20000000 fffff,11000000 就是你烧写内核的地址,20000000是内核拷贝到sdram的地址
redxu
2010-12-22
打赏
举报
回复
你烧写在哪,真正决定的是在bootloader里,但内核中的分区一般又要求与bootloader是一致的,因为当bootloader引导结束,控制权将送到内核,所以此时调用内核的地址是bootloader它自己认为的地址,而且它也烧写到了这,所以内核肯定能够起来。然后内核根据内核源码nand分区地址去调用rootfs,如果你bootloader烧写到nand地址并非是内核中所要求的地址,将产生kernel panic。
Linux
内核
的编译与
烧
写
Linux
内核
的编译与
烧
写
EM928x
内核
烧
写
说明WinCE工控主板嵌入式主板工….pdf
EM928x
内核
烧
写
说明WinCE工控主板嵌入式主板工….pdf
bootloader,
内核
与文件系统
烧
写
嵌入式Linux开发环境的建立,将开发板还原出厂设置
bootloader-
内核
-文件系统
烧
写
将开发板还原出厂设置
烧
写
bootloader应用程序
烧
写
linux系统
内核
SD卡
烧
写
内核
tftp配置不成功怎么去
烧
写
内核
呢,此文档帮助你
Linux_Kernel
4,469
社区成员
17,459
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章