《嵌入式LINUX系统的构建》PDF课件.pdf
《《嵌入式LINUX系统的构建》PDF课件.pdf》由会员分享,可在线阅读,更多相关《《嵌入式LINUX系统的构建》PDF课件.pdf(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。什么是嵌入式系统什么是嵌入式系统嵌入式L I N U X 系统的构建P D F 课件机顶盒机顶盒家庭网关家庭网关互联网互联网无线无线手机手机PDAPDA汽车汽车游戏游戏视频视频嵌入式系统的广泛应用嵌入式系统的广泛应用嵌入式L I N U X 系统的构建P D F 课件嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。技术密集、资金密集、高度分散、不断创新的知识集成系统。微机微机原理原理数字数字电路电路程序程序设计设计接
2、口接口技术技术电路电路原理原理编译编译原理原理嵌入式系统特点嵌入式系统特点嵌入式L I N U X 系统的构建P D F 课件嵌入式系统面向特定应用,完成单个或一组联系紧密的功能嵌入式系统产品功能特定,较通用计算机系统封闭,具有较长的生命周期低功耗、体积小、集成度高,有限的存储器嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣嵌入式系统本身不具备自主开发能力需要配套开发工具和环境一般有性能和实时性要求嵌入式系统特点嵌入式系统特点实时系统特点指规定的时限内必须完成规定的操作并非指速度快慢硬实时:超过时限完成任务会导致导致灾难性后果软实时:超过时限完成对任务会带来系统性能的严重下降是否真正需要实
3、时?实时系统特点实时系统特点精简、健壮的内核友好、漂亮的GUI安全、快速的网络通讯接口功耗、性能的矛盾与平衡轻巧、分布式的数据库相关技术嵌入式技术的紧迫需求嵌入式技术的紧迫需求系统需要运行系统需要运行多个任务多个任务系统需要有直系统需要有直观的用户界面观的用户界面系统需要有网系统需要有网络功能络功能系统需要用到系统需要用到微型数据库管微型数据库管理系统理系统系统需要不断系统需要不断地进行升级和地进行升级和二次开发二次开发需要“嵌入式操作系统”?需要“嵌入式操作系统”?嵌入式主控芯片百家争鸣嵌入式主控芯片百家争鸣微内核(Microkernel kernel)MicroC/OS-IIVxWorks
4、ThreadxNucleusFreeRTOS宏内核(Monolithic kernel)Linux/ucLinuxWindows CE Symbian典型嵌入式操作系统典型嵌入式操作系统嵌入式开发与嵌入式开发与PC开发的比较开发的比较PC开发:本地开发本地运行嵌入式开发:PC编译,目标板运行主机(X86)目标板(一般非X86)Self-Host/Self-TargetCross-Target Development网络串口目标机目标机软件软件宿主机宿主机X X开发工具开发工具 X X源代码源代码 调试器调试器 操作系统操作系统 可执行程序可执行程序X X典型嵌入式开发典型嵌入式开发开发主机Re
5、dHat,Ubuntu,Windows(不推荐)典型交叉编译工具ELDKCodeSourcery http:/ toolsEclipseARM LINUX的编译工具的编译工具预备知识BootloaderUboot,RedBoot,VIVI等内核zImage/uImage内核加载地址和入口点(uImage only)内核压缩镜像vmlinuz 内核解压缩代码Ramfs根文件系统可选减少主机文件系统依赖,适合加速开发前期网络协议NFS/DHCP/TFTPARM LINUX系统引导过程系统引导过程Bootloader初始化基本运行环境加载内核到RAM中跳转到内核解压缩代码其他辅助功能ARM LINU
6、X系统引导过程系统引导过程内核解压缩回收bootloader使用资源解压缩Vmlinuz解压缩可选的RAMDISK将控制权交给内核ARM LINUX系统引导过程系统引导过程内核执行内核解压缩代码资源回收挂载根文件系统开发时用NFS(or ramdisk)产品用cramfs/jffs2等执行init执行应用程序ARM LINUX系统引导过程系统引导过程LINUX组成结构图组成结构图ARM LINUX 2.6移植移植步骤准备开发板和相关配件要清楚自己的开发板的配置(有那些外围设备等)下载内核源码、取得相关工具软件Kernel,gcc,jtag选定参考板选择一个内核中已经支持,且和自己的开发部相似的
7、参考板为原型,进修修改修改开发板相关代码完成BSP的修改移植如:如:arch/arm/mach-s3c2410/目录目录添加驱动先添加基本驱动代码(如:网卡)编译、调试、下载内核板级支持相关代码移植相关目录和代码arch/arm/mach-s3c2410arch/arm/plat-s3c24xxarch/arm/tools/mach-types arch/arm/Kconfigarch/arm/Makefilearch/arm/boot/compressedInclude/asm-arm/arch-s3c2410Makefile添加基本驱动闪存驱动(MTD NAND)串口用来打印信息可以在内核
8、启动之前打印信息内核启动后可以通过console打印信息网络支持可以使得开发调试更为方便如挂载网络文件系统nfs移植样例体系结构:ARM920T处理器:Samsung S3C2410开发板:uCdragon FS2410Linux内核版本:2.6.22移植相关相关代码和目录arch/arm/Kconfig arch/arm/Makefilearch/arm/boot/Makefilearch/arm/mach-s3c2410/*arch/arm/plat-s3c24xx/*include/asm-arm/arch-s3c2410/*arch/arm/tools/mach-typesarch/a
9、rm/boot/compressed/head.S arch/arm/boot/compressed/Makefile MakefileSmdk2410基本信息定义arch/arm/mach-s3c2410/mach-smdk2410.c定义开发板描述信息MACHINE_START(SMDK2410,SMDK2410)/*Maintainer:Jonas Dietsche*/.phys_io=S3C2410_PA_UART,.io_pg_offst=(u32)S3C24XX_VA_UART)18)&0 xfffc,.boot_params=S3C2410_SDRAM_PA+0 x100,.ma
10、p_io=smdk2410_map_io,.init_irq=s3c24xx_init_irq,.init_machine=smdk2410_init,.timer=&s3c24xx_timer,MACHINE_ENDMACHINE_START 定义include/asm-arm/mach/arch.hstruct machine_desc“_mach_desc_#_type”is definedSmdk2410静态io空间映射(1)arch/arm/mach-s3c2410/mach-smdk2410.cstatic struct map_desc smdk2410_iodesc _init
11、data=/*nothing here yet*/;static void _init smdk2410_map_io(void)s3c24xx_init_io(smdk2410_iodesc,ARRAY_SIZE(smdk2410_iodesc);s3c24xx_init_clocks(0);s3c24xx_init_uarts(smdk2410_uartcfgs,ARRAY_SIZE(smdk2410_uartcfgs);Smdk2410静态io空间映射(2)arch/arm/mach-s3c2410/s3c2410.cstatic struct map_desc s3c2410_iode
12、sc _initdata=IODESC_ENT(CLKPWR),IODESC_ENT(TIMER),IODESC_ENT(WATCHDOG),;void _init s3c2410_map_io(struct map_desc*mach_desc,int mach_size)/*register our io-tables*/iotable_init(s3c2410_iodesc,ARRAY_SIZE(s3c2410_iodesc);iotable_init(mach_desc,mach_size);Smdk2410静态io空间映射(3)arch/arm/plat-s3c24xx/cpu.cs
13、tatic struct map_desc s3c_iodesc _initdata=IODESC_ENT(GPIO),IODESC_ENT(IRQ),IODESC_ENT(MEMCTRL),IODESC_ENT(UART);void _init s3c24xx_init_io(struct map_desc*mach_desc,int size).Nand 平台设备定义arch/arm/plat-s3c24xx/devs.cstatic struct resource s3c_nand_resource=0=.start=S3C2410_PA_NAND,.end =S3C2410_PA_NA
14、ND+S3C24XX_SZ_NAND-1,.flags=IORESOURCE_MEM,;struct platform_device s3c_device_nand=.name=s3c2410-nand,.id=-1,.num_resources=ARRAY_SIZE(s3c_nand_resource),.resource=s3c_nand_resource,;EXPORT_SYMBOL(s3c_device_nand);include/linux/platform_device.h#ifndef _PLATFORM_DEVICE_H_#ifndef _PLATFORM_DEVICE_H_#
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式LINUX系统的构建 嵌入式 LINUX 系统 构建 PDF 课件
限制150内