seekfor
荣誉版主
积分 57
发帖 23
注册 2006-10-28
状态 离线
|
『楼 主』:
Seekfor eDOS v1.0简介
<<Seekfor Embedded DOS v1.0.0.0>>简介
1.基本性能
(1)支持FAT16/FAT32文件系统
(2)支持标准stdout,sdtin操作(stdio.h兼容)
(3)支持系统驻留程序(reside program)
(4)支持环境变量
(5)支持动态内存管理(malloc+free)
(6)支持*.bat,*.exe,*.com文件的运行
(7)支持autoexec.bat开机启动运行
(8)支持远程读取磁盘内容(提供基于UART的remotedisks.exe工具)
(9)支持输出所有的DOS API(应用程序直接用函数指针调用)
(10)支持系统设备的文件化,所有的设备都可以看做一个文件
(11)支持中断程序自定义处理
2.性能详细列表
(1)FAT文件系统性能
支持FAT16/FAT32,只需提供不同硬件的Sector_read(),Sector_write()等函数指针即可方便的安装不同的FAT类型的设备(此设备以磁盘形式存在).
(2)支持标准stdout,stdin操作
不仅在DOS核代码可以直接使用printf()操作stdout,stdin,在用户应用程序也可以直接使用类似API操作.支持stdout,stdin的重定向,比如,当前代码stdout,stdin定向在UART0,但也可以根据需要把stdou,stdin定向到任意一个设备(如stdout定向到LCD,stdin定向到Keyboard).
(3)支持系统驻留程序
系统驻留程序在MSDOS称为reside program,是在main()中用return返回后但还可以再次执行的程序.一般用来进行中断的实时处理.
(4)支持环境变量
支持环境变量,用户程序可以任意更改,添加,读取设置.
(5)支持动态内存管理
标准的malloc()+free()功能调用
(6)支持*.bat,*.exe,*.com文件的运行
*.bat,自动批处理文件,格式同MSDOS,SFDOS会逐行读取并运行(当前不支持脚本代码)
*.exe,可执行文件,实际是编译后的BIN代码+exemaker.exe(系统提供工具)生成的文件头.
*.com,命令文件,实际上是编译后的BIN代码.
(7)支持autoexec.bat的开机启动
系统在完成初始化后会自动寻找根目录下的autoexec.bat,如果存在会自动运行.一般可以把设备驱动程序加入到autoexec.bat,这样就可以实现设备驱动的动态加载和应用程序的自动执行.
(8)支持远程读取磁盘内容
系统提供remotedisks.exe工具,通过UART读取或者更改SFDOS中的所有FAT信息.
(9)支持输出所有DOS API
系统提供内部命令exports,可以把系统的所有API指针信息输出到任意文件中.
如在命令行下执行exports dos.h dos.c,则在当前目录会自动生成dos.h和dos.c文件,用户程序把这两个文件包含到项目文件中即可任意使用SFDOS提供的API.
(10)支持系统设备的文件化,所有的设备都可以看做一个文件
系统把所有的硬件设备都可以看做一个特殊的文件.如UART0,可以使用Device_install()把UART0安装到系统中,文件名可以任意,一般使用如"COM0:",这样安装成功后,用户程序可以直接使用fopen("COM0:","w")打开UART0后用fwrite()写数据到UART0中,其他设备依此类推.
(11)支持中断程序自定义处理
系统包含默认的中断处理程序,如果用户程序需要处理中断,直接用setvect()设置中断处理程序指针即可,这样中断产生后系统自动会调用用户的中断处理程序.
(12)移植性能良好
系统采用了kernel代码和CPU相关代码分离的方式实现可移植性.移植只需要重写部分必须实现的API和加载stdout,stdin驱动即可实现DOS.
作者注:如果需要Seekfor eDOS v1.0源代码的同道,可以联系偶滴QQ:82054357索取.当前移植代码是基于S3C2410,因此如果有2410开发板的同志可以直接编译,然后利用dnw.exe把代码load到0x30000000位置处运行即可.
eDOS成功运行后,可以通过sys内部命令实现把kernel和bootloader代码烧入到NAND flash中,这样下次就可以直接从NAND启动运行和更新代码了.
|
|