http://www.daxia.com/bbs/moredata.asp?id=57185&syid=960787
<<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)支持环境变量
支持256个环境变量,用户程序可以任意更改,读取设置.
(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.
Wengier版主务必要把这个Seekfor兄弟请过来
想想现在怎么火的嵌入式系统
用ARM嵌入一个DOS操作系统的前途是多么光明啊~~~~~~~~~~
http://www.daxia.com/bbs/moredata.asp?id=57185&syid=960787
<<Seekfor Embedded DOS v1.0.0.0>> Introduction
1. Basic Performance
(1) Supports FAT16/FAT32 file system
(2) Supports standard stdout, stdin operations (compatible with stdio.h)
(3) Supports resident programs (reside program)
(4) Supports environment variables
(5) Supports dynamic memory management (malloc + free)
(6) Supports running *.bat, *.exe, *.com files
(7) Supports autoexec.bat startup at boot
(8) Supports remote reading of disk contents (provides remotedisks.exe tool based on UART)
(9) Supports outputting all DOS APIs (applications can directly call using function pointers)
(10) Supports file - like system devices, all devices can be regarded as a file
(11) Supports custom handling of interrupt programs
2. Detailed Performance List
(1) FAT File System Performance
Supports FAT16/FAT32, and only needs to provide different function pointers like Sector_read(), Sector_write() for different hardware to easily install devices of different FAT types (this device exists as a disk).
(2) Supports Standard stdout, stdin Operations
Not only can the DOS core code directly use printf() to operate stdout and stdin, but also user applications can directly use similar APIs. Supports redirection of stdout and stdin. For example, the current code's stdout and stdin are directed to UART0, but can also be directed to any device as needed (such as stdout directed to LCD, stdin directed to Keyboard).
(3) Supports Resident Programs
Resident programs are called reside programs in MSDOS. They are programs that can be executed again after returning in main(). Generally used for real - time processing of interrupts.
(4) Supports Environment Variables
Supports 256 environment variables, and user programs can arbitrarily change, read, and set them.
(5) Supports Dynamic Memory Management
Standard malloc() + free() function calls.
(6) Supports Running *.bat, *.exe, *.com Files
*.bat, automatic batch files, with the same format as MSDOS, SFDOS will read and run line by line (currently does not support script code).
*.exe, executable files, actually BIN code compiled + file header generated by exemaker.exe (system - provided tool).
*.com, command files, actually BIN code compiled.
(7) Supports autoexec.bat Startup at Boot
The system will automatically find autoexec.bat in the root directory after initialization, and if it exists, it will automatically run. Generally, device drivers can be added to autoexec.bat, so that dynamic loading of device drivers and automatic execution of applications can be realized.
(8) Supports Remote Reading of Disk Contents
The system provides the remotedisks.exe tool to read or change all FAT information in SFDOS through UART.
(9) Supports Outputting All DOS APIs
The system provides an internal command exports, which can output all API pointer information of the system to any file.
For example, executing exports dos.h dos.c at the command line will automatically generate dos.h and dos.c files in the current directory, and user programs can include these two files in the project file to arbitrarily use the APIs provided by SFDOS.
(10) Supports File - like System Devices, All Devices Can Be Regarded as a File
The system regards all hardware devices as a special file. For example, UART0 can be installed into the system using Device_install(), and the file name can be arbitrary. Generally, use "COM0:", and after successful installation, user programs can directly use fopen("COM0:", "w") to open UART0 and then use fwrite() to write data to UART0, and the same applies to other devices.
(11) Supports Custom Handling of Interrupt Programs
The system contains default interrupt handling programs. If user programs need to handle interrupts, they can directly use setvect() to set the interrupt handling program pointer, and then the system will automatically call the user's interrupt handling program when an interrupt occurs.
(12) Good Portability Performance
The system realizes portability by separating kernel code and CPU - related code. Porting only needs to rewrite some necessary APIs and load stdout and stdin drivers to realize DOS.
Moderator Wengier must invite this brother Seekfor over
Think about how popular embedded systems are now
How promising it is to embed a DOS operating system with ARM ~ ~ ~ ~ ~ ~ ~ ~ ~ ~