32BITS.TXT
上传用户:sunrenlu
上传日期:2022-06-13
资源大小:1419k
文件大小:2k
源码类别:

操作系统开发

开发平台:

DOS

  1. I am extending my 16 bit DOS eRTOS to also sport eRTOS/32, a 32 bit protected
  2. mode DOS/32 multithreaded environment.  The APIs are almost identical for both
  3. environments with only a few exceptions.
  4. Compiler
  5.     The only supported 32 bit compiler is DJGPP.  However, it's fast, it
  6.     produces efficient code, and it's effectively free.  You can debug your
  7.     applications with the rhgdb debugger which looks a lot like Borland's
  8.     TD albeit minus a few of TD's handy features.
  9. Gotchas
  10.     A big difference is that you will typically need thread stacks twice the
  11.     size of 16 bit eRTOS applications.  If you see halts with the message
  12.     "signature error on registers", or many other errors, it is likely your 32
  13.     bit stack is overflowing and corrupting the thread_x structure for the thread.
  14.     A larger thread stack will solve it immediately.
  15. Unimplemented
  16.     32 bit interrupt handlers are a bit tricky, I haven't added them yet.
  17.     However, you can find DJGPP source code around which explains how
  18.     to do this if you look for it.
  19.     The rt_timerfreq() function doesn't work correctly in 32 bits.  I'm still
  20.     trying to figure out why.
  21. Serial Library
  22.     The eRTOS/16 serial library is now compatible in both 16 and 32 bits.
  23. Network Functions
  24.     eRTOS/16 uses my original WATTCP library.  In the 32-bit world, eRTOS
  25.     uses the WATT-32 library.  WATT-32 is also available for 16 bits, but
  26.     it consumes more memory so I opted to stay with WATTCP for 16 bits.
  27.     WATT-32 also supports a BSD Unix style interface in addition
  28.     to my core WATTCP routines, note however, that eRTOS application must
  29.     not call the BSDish routines because they are not thread-safe... yet.
  30. Network Services
  31.     The network service (ftp, smtp, etc.) are all coded to the classic
  32.     WATTCP interface, which makes them portable to WATT-32.
  33.     Still, that's not enough to guarantee them to be 32 bit compatible.
  34.     Some changes are needed due to nuances in the DJGPP libraries compared
  35.     to Borland libraries.