COS Build Flow Notes

  1. Source files contain assembly code organized into modules. The file "common.inc" is referenced by all source files and contains module interface and hardware descriptions.
  2. The 8051 Assembler reads the source files and produces object code and listings.
  3. Object code files contain code text and symbol information.
  4. Source listings are useful in understanding what code was produced by the assembler and where in each module that code and data are located.
  5. Linker parameters (program arguments) specify where code modules and data are to be located in 8051 memory spaces. There is a set of linker parameters specified for each executable image.
  6. The linker/locator program (L51) reads the linker parameter file and any specified object code files.
  7. The map file produced by the linker describes where each code module and data areas are located in memory. To determine where any particular code or data item is located in 8051 memory, one must consult with this map in conjunction with the corresponding source listing file.
  8. The linker also produces an "ABS" file that embodies an executable image and a map file.
  9. The Object-to-Hex utility converts the abs file to hex format.
  10. Hex format is a text file, more readable than abs, and used by various software tools.
  11. A UCB-created tool relocates the text of code to load at an address 16k-bytes lower in memory, which allows us to load a lower-code image executable into PROM space. A FSW software function is required to move the code back to its designed location on command.
  12. The moved code lives in an intermediate file,
  13. Which is combined with the boot image to
  14. Produce a prom image that may then be burned into PROMs loaded in the DCE.
  15. There is also an uploadable lower code image a format suitable for Berkeley’s gse
  16. And an uploadable upper code image a format suitable for Berkeley’s gse