欢迎来到天天文库
浏览记录
ID:48059021
大小:336.81 KB
页数:33页
时间:2019-05-06
《stlinux基础知识介绍.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、STLINUX基础知识介绍一:STLINUX介绍STLINUX开发环境STLinuxDistributionandDevelopmentEnvironment(LDDE).1:LDDE支持ST40及ST2002:包含完整的开发环境、编译器、调试器、下载工具、系统监控器3:可配置内核支持4:集成uboot5:Multicom支持stlinux版本STLinuxDistribution2.3(Added5thNov2007)STLinuxDistribution2.3EAR(EarlyAccessRelease)(A
2、dded29thMar2007)STLinuxDistribution2.2(Added19thOct2006)STLinuxDistribution2.0(Added7thOct2005)STLinuxDistribution2.0EAR(Added16thJul2005)STLinuxdistribution1.0(Added21stFeb2005)开发与调试开发与调试1:NFS基于网络文件系统的调试,一般用于调试应用及驱动2:TFTP基于FTP传输协议的调试,一般用于调试boot及内核等3:其他调试方法常用
3、命令makesh4-linux-gccsh4-linux-g++sh4-linux-ldsh4-linux-nmsh4-linux-objdump二:STLINUX软件结构系统框图应用程序系统接口KERENLSTDRIVERSMITDRIVER硬件移植kernel选择kernel版本选择kernel支持的参考板裁减kernelmakemenuconfig编译kernelmakevmlinux压缩kernelmkimagevmlinux编译stapi1:安装mutilcom3.1.2及referencetree2:
4、编译源码3:生产动态可加载模块驱动及应用静态连接库根文件系统jffs2可读写的文件系统系统性能高,断电保护及碎片整理功能数据压缩效率高mkfs.jffs2生产文件系统压缩包GB310压缩包中:busybox、*.so.*、stfirmware、*.ko、app.exe……….flash分区8Mflash空间分配如下:Uboot0.25MKernel1.5M文件系统6.25Mu-boot介绍Uboot是德国DENX小组的开发用于多种嵌入式CPU的bootloader程序支持LINUX、NetBSD,VxWorks,
5、QNX,RTEMS,ARTOS,LynxOS嵌入式操作系统包含两种不同的操作模式:"启动加载"模式和"下载"模式支持从网络、flash中启动kernel支持flash读写传递参数给kernel移植uboot选择uboot版本选择uboot支持的参考板配置硬件资源及DDR等修改驱动:flash、uart、ethernetU-BOOT命令BootSetenvPrintenvTftpPing…..三:字符设备驱动LINUX设备的分类字符设备串口,终端,触摸屏ls-l/dev/ttyS0crw-rw-rw-1rootuu
6、cp4,644月119:56/dev/ttyS0块设备FLASH,RAMDISK,硬盘ls-l/dev/mtdblock3brw-r--r--150550531,3Feb192005/dev/mtdblock3网络设备以Linux的方式看待设备可区分为3种基本设备类型.每个模块常常实现3种类型中的1种,因此可分类成字符模块,块模块,或者一个网络模块.设备文件与设备号用户通过设备文件访问设备每个设备用一个主设备号和次设备号标识主设备号和次设备号majornumber:相同的设备使用相同的驱动程序minornumbe
7、r:用来区分具体设备的实例设备驱动的基本结构设备驱动层图设备驱动的功能上层软件的抽象操作与设备操作的转换对下管理各种I/O设备内核模块机制Linux驱动以内核模块的方式实现一组可以动态加载/卸载的代码Linux内核运行时动态扩展的一种技术模块机制(LinuxKernelModule,LKM)提高了linux内核的可扩展性用户只要有权限,就可以编写模块挂入内核模块的缺点:增加了内核管理代价LINUX内核模块的框架staticintinit_routine(void){register_chrdev_region()
8、devfs_mk_cdev()…}voidcleanup_routine(void){unregister_chrdev_region()…}module_init(init_routine);module_exit(cleanup_routine);MODULE_LICENSE("GPL");LINUX内核模块的框架structfile_operations{loff_
此文档下载收益归作者所有