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 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
<<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 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

