WEB开发网
开发学院软件开发VC 制作嵌入式芯片s3c2410板卡的NetBSD启动镜像 阅读

制作嵌入式芯片s3c2410板卡的NetBSD启动镜像

 2006-08-09 22:59:14 来源:WEB开发网   
核心提示: 所以,如果预留的空间比ramdisk大,制作嵌入式芯片s3c2410板卡的NetBSD启动镜像(5),可以在arm--netbsdelf-mdsetimage的时候使用-s参数,使内核中的记录MEMORY_DISK_ROOT_SIZE的常量得到修改,如Yaffs等2) 某些驱动或设施没有L

所以,如果预留的空间比ramdisk大,可以在arm--netbsdelf-mdsetimage的时候使用-s参数,使内核中的记录MEMORY_DISK_ROOT_SIZE的常量得到修改。

另外,在保留了MEMORY_DISK_ROOT_SIZE的时候,我们可以看到内核的大小。

ls -lh /usr/src/...../SMDK2410_INSTAll/netbsd

我的大小是5.8M,其中ramdisk占3m,内核本身占2.8m。gzip -9压缩后内核总大小是2.2m

这是没有精简的内核,我无聊的时候做过一个最精简内核,大概500k左右。

这个ramdisk只有3m,如果要制作更大的ramdisk,放更多的东西进去,需要修改2行内核代码,有兴趣咱们再另外说:em06:

引用:3) 可能需要根据你的需要修改~/sets/etc下的文件内容

总结:

用NetBSD做开发的优势:

1) 搭建交叉编译环境异常轻松,不仅仅在NetBSD下,甚至Linux,FreeBSD下都可以。Linux下的交叉环境,对新入门朋友来说,自己搭建的话困难重重

2) 制作镜像十分轻松。又过接触的应该知道:一般来说,Linux的内核,ramdisk,文件系统 这些东西都是分开的,放在Flash的不同区块里。新入门的朋友可能有很大一部分会阻碍在这个地方。而NetBSD的内核和ramdisk是结合在一起的。(当然,你也可以分开做,存放在Flash的不同区块。具体方法请在google上找)。你也可以认为它就是一个内核,其中自包含了所有运行需要的东西,你只要照顾好bootloader即可。

3) 支持的计算机体系多,同一体系的不同平台多,平台越多越易于用户移植

4) 每个体系自带bootloader,都在sys/arch/xxx/stand下,对于研究相关boot(loader)的朋友来说,是个绝好的例子。这个东西可以独立编译,除了gzip的解压缩过程之外,代码只分布在3-5个简短的文件中。

5) NetBSD内核是独立的,与bootloader无关,不需要接收bootloader来的任何参数。相比较,Linux的初始条件会受到bootloader的影响,如某些寄存器。简单说来,bootloader只需要将内核拷贝到预期地址distination,然后执行一个直接跳转jmp *distination 即可

6) 欢迎补充

劣势:

1) 没有Nand Flash文件系统,如Yaffs等

2) 某些驱动或设施没有Linux多,比如LCD 的 FrameBuffer

3) 没有实时性,相比Linux提供的软实时性来讲,现阶段NetBSD没有提供实时性

4) 欢迎补充

上一页  1 2 3 4 5 

Tags:制作 嵌入式 芯片

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接