搭建JZ2440最小系统(三)修改内核大小,适配目标板Nand flash分区配置
一. 修改内核大小
1. 在你的配置文件下uboot/include/config/xxx.h 里面有一个宏定义
#define MTDPARTS_DEFAULT "mtdparts=jz2440-0:256k(u-boot)," \ "128k(params)," \ "4m(kernel)," \ "-(rootfs)" \
此处将kerner对应的字段修改后即可修改uboot为linux内核分配的空间, kernel内为flash分配的分区下面分析。
二. 修改Nand Flash分区
1. 修改arch/arm/mach-s3c24xx/common-smdk.c文件中如下内容
static struct mtd_partition smdk_default_nand_part[] = { [0] = { .name = "bootloader", .size = SZ_256K, .offset = 0, }, [1] = { .name = "params", .offset = MTDPART_OFS_APPEND, .size = SZ_128K, }, [2] = { .name = "kernel", .offset = MTDPART_OFS_APPEND, .size = SZ_4M, }, [3] = { .name = "rootfs", .offset = MTDPART_OFS_APPEND, .size = MTDPART_SIZ_FULL, } };
arm/mach-s3c24xx/mach-mini2440.c中配套修改
static struct mtd_partition mini2440_default_nand_part[] __initdata = { [0] = { .name = "bootloader", .size = SZ_256K, .offset = 0, }, [1] = { .name = "params", .offset = MTDPART_OFS_APPEND, .size = SZ_128K, }, [2] = { .name = "kernel", .offset = MTDPART_OFS_APPEND, .size = SZ_4M, }, [3] = { .name = "rootfs", .offset = MTDPART_OFS_APPEND, .size = MTDPART_SIZ_FULL, } };
2. 修改系统晶振时钟
在文件arch/arm/mach-s3c24xx/mach-smdk2440.c中将时钟改位12M
static void __init smdk2410_init_time(void) { s3c2410_init_clocks(12000000); samsung_timer_init(); }
3. 修改完成后执行make uImage LOADADDR=0x30108000 -j8进行编译
分类:
嵌入式
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了