home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / sys / m68k / 1473 < prev    next >
Encoding:
Text File  |  1992-12-16  |  4.9 KB  |  98 lines

  1. Newsgroups: comp.sys.m68k
  2. Path: sparky!uunet!cs.utexas.edu!uwm.edu!spool.mu.edu!umn.edu!csus.edu!netcom.com!sean
  3. From: sean@netcom.com (Sean Burke22)
  4. Subject: Question: OS, devel tools for 68332, flash system?
  5. Message-ID: <1992Dec17.020036.29573@netcom.com>
  6. Keywords: Realtime OS, SBC, 68332
  7. Organization: Netcom - Online Communication Services  (408 241-9760 guest) 
  8. Date: Thu, 17 Dec 1992 02:00:36 GMT
  9. Lines: 87
  10.  
  11.  
  12. Hello comp.sys.m68k'ers,
  13.  
  14.   Here I am, once again looking for some free net.consultation.  :^}
  15. In return, I will post a summary of the wisdom I obtain.
  16.  
  17.   I'm going to do an embedded software project on an SBC that is very
  18. similar to the 68332 EVB (tho I'm not familiar with the EVB, so this
  19. is second hand).  We've got the '332,  with a serial port, the BDM
  20. port, 64K of flash eprom, and 4k of DRAM, plus the A/D and D/A channels
  21. that do the work.  We have the DOS development tools, including the 
  22. C-compiler, and we have DIBUG. I am not satisfied.
  23.  
  24.   What do I want?  What do you recommend?  
  25.  
  26.   Can I get an operating system/boot monitor running on this system?
  27. Freeware would be nice, but if you are using a commercial product you
  28. like, let me know.  Can I get the source for the motorola 680x0 debugger,
  29. I think it was called Macsbug or Maxbug on the Macintosh?  If I do a
  30. simple boot monitor, it would be nice to include debugging features,
  31. particularly ones that could run at serial-port interrupt time, so that
  32. we don't have to unduly disturb a realtime control application?
  33.  
  34.   Can I develop on a Unix workstation, namely a sun3 or sun4 running
  35. sunos 4.1.1?  Will Moto supply development tools for these platforms?
  36.   Will gcc work?  If gcc, how can I generate S-records, or load directly from
  37. coff or a.out files? Can I put a loader on the board to support incremental
  38. linking/loading? I already noted the posting about connecting gdb to BDM,
  39. thanx.
  40.  
  41.   How do i equip this little system with a development and debugging
  42. environment that will be useful in hard-realtime applications?  We've
  43. gotten a couple applications running on this board before I became
  44. involved,  but it seems like we're really doing things the hard way.
  45. I'm not very familiar with tiny-computer OSes; Macs are the smallest thing
  46. I'm familiar with.  I'd very much like to develop on UNIX, so any help
  47. here will be especially appreciated.
  48.  
  49.   Up to this point, we've been compiling and linking the entire program,
  50. before downloading it to flash.  The interrupt vector table is compiled
  51. as part of the program, with the entry point as the reset vector, so we
  52. boot right into the application.  This means that every application needs
  53. to include all of the system code as well, which is ugly.  I could write
  54. a boot monitor that is able call an arbitrary address to invoke other
  55. functions.  That would not be too hard,  but how about loading application
  56. code that would link to utility functions in the boot monitor?  Is this
  57. doable, given the small amount of RAM in this system?  Should I use traps,
  58. as in MacOS, to access system calls instead?  Does anyone know what the 
  59. trap overhead is (CPU context save/restore) on a 16MHz 020,030,CPU32? 
  60. Anything over 5 microseconds would be cause for concern.  Does anyone
  61. have a code fragment which shows how arguments are passed and values 
  62. returnd from a trap handler?  I'm a beginner with 68k assembly.
  63.  
  64.   What's a good way to manage the flash?  One thing we now have to do 
  65. is link twice: once with the initialized data section in its runtime
  66. location in DRAM,  to generate a correct code section,  and a second
  67. time with initialized data in flash to generate S-records to program
  68. the flash.  We combine the code S-records from the first link with the
  69. data S-records from the second link to program the flash memory.  If
  70. the initialized data contains pointers to other data, this method 
  71. loses big, right?  The only other method I can think of is to write
  72. a program which munges the S-records from the first compile to relocate
  73. the data section.  Any better ideas?  None of the special section types
  74. in the Moto linker seemed to do exactly what i want.  Can gld do a better
  75. job?
  76.  
  77.   A second problem is that I have to keep track of which areas of flash
  78. are in use by hand.  The nice thing about have the monitor do relocation
  79. at download time is that it could keep track of which areas of flash were
  80. free,  so that I could keep a number of programs on the system without
  81. conflict.  And, I could load stuff into RAM for testing, which would be
  82. faster than programming the flash,  and also make it easier to insert
  83. breakpoints into the code (which is tough when executing from flash).
  84. Would this be very hard to do?  
  85.  
  86.   These are some points to get you thinking.  I'm mostly an application
  87. programmer, and I've never had to confront  system-programming issues like
  88. these,   (Unfortunately, neither has anyone else in my company :-) )
  89. so feel free to raise any topic you think I've overlooked.  
  90.  
  91. Sean Burke
  92.  
  93.  
  94.  
  95. -- 
  96.  
  97. sean@netcom2.netcom.com
  98.