umon_bootloader
所属分类:Windows编程
开发工具:C/C++
文件大小:7428KB
下载次数:54
上传日期:2007-12-06 20:47:42
上 传 者:
jason52537
说明: umon bootloader source code, support mips cpu.
文件列表:
umon_bootloader\CVS\Entries (1087, 2006-11-29)
umon_bootloader\CVS\Repository (36, 2006-11-29)
umon_bootloader\CVS\Root (46, 2006-11-29)
umon_bootloader\CVS\Tag (26, 2006-11-29)
umon_bootloader\umon_apps\bwb\bwbasic.c (34418, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBASIC.DOC (64210, 2006-09-22)
umon_bootloader\umon_apps\bwb\bwbasic.h (56224, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\ABS.BAS (159, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\ASSIGN.BAS (57, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\CALLFUNC.BAS (1066, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\CALLSUB.BAS (921, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\CHAIN1.BAS (184, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\CHAIN2.BAS (125, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\CVS\Entries (2858, 2006-11-29)
umon_bootloader\umon_apps\bwb\BWBTEST\CVS\Repository (58, 2006-11-29)
umon_bootloader\umon_apps\bwb\BWBTEST\CVS\Root (46, 2006-11-29)
umon_bootloader\umon_apps\bwb\BWBTEST\CVS\Tag (26, 2006-11-29)
umon_bootloader\umon_apps\bwb\BWBTEST\DATAREAD.BAS (519, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\DEFFN.BAS (247, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\DIM.BAS (127, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\DOLOOP.BAS (102, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\DOWHILE.BAS (250, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\ELSEIF.BAS (618, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\END.BAS (226, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\ERR.BAS (36, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\FNCALLFN.BAS (353, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\FORNEXT.BAS (356, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\FUNCTION.BAS (1760, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\GOSUB.BAS (1140, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\GOTOLABL.BAS (275, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\IFLINE.BAS (150, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\INDEX.TXT (1184, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\INPUT.BAS (214, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\LOF.BAS (142, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\LOOPUNTL.BAS (102, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\MAIN.BAS (317, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\MLIFTHEN.BAS (442, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\ON.BAS (324, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\ONERR.BAS (436, 2006-09-22)
umon_bootloader\umon_apps\bwb\BWBTEST\ONERRLBL.BAS (404, 2006-09-22)
... ...
#########################################################################
#
# MICROMONITOR README:
#
This is the top-level of the main MicroMonitor (umon) source tree.
This source tree, along with a target-specific port directory,
makes up a complete umon build.
#########################################################################
#
# HOW IS THE SOURCE TREE ORGANIZED?
#
The two top-level directories of this main module are "target" and "host"...
The "host" directory contains source code to build the host-based tools
that come with MicroMonitor. These tools must be built prior to building
a target port. To build these tools, read the "Dos2Unix" note below, then
change directory to "host" and follow the instructions in that README file.
The "target" directory contains the main umon source tree. This is the
target-resident code that is used by all umon ports, the port-specific
code is a separate diretory under umon_ports.
Dos2Unix note:
Depending on how you received this tree, it may be necessary to run a
"dos-to-unix" utility on the source files to eliminate those pesky "^M"s
at the end of every line in the file. There is a script called umon_d2u
under umon_main/host/src/scripts directory that can be run to do this
automatically; however, note that it too may have the DOS format end-of-lines
so you may need to clean it up first. To be safe, do the following:
1. Build the "d2u" tool...
Under umon_main/host/src/utils run "make d2u", then place that
d2u executable in your PATH.
2 Change directory to the top umon level (one level above
umon_main) and run the following commands:
d2u umon_main/host/src/scripts/umon_d2u
chmod +x umon_main/host/src/scripts/umon_d2u
umon_main/host/src/scripts/umon_d2u
The umon_d2u script will then walk through all files under a typical
uMon source installation and clean up (eliminate the DOS format end-of-line)
the files.
#########################################################################
#
# WHAT IS THE DEVELOPMENT ENVIRONMENT?
#
All of the scripts, tools and makefiles assume a Unix-like GNU environment
and a bash shell. If the host OS isn't some flavor of UNIX, then for a PC
running Windows, this usually means Cygwin.
All MicroMonitor ports are built with the Microcross cross-compilation
package called "X-Tools" (refer to www.microcross.com for more information).
The makefiles are tuned to these tools; however, since they are GNU, only
minor changes in the make files should allow any GNU-based cross-compilation
environment to run.
#########################################################################
#
# HOW DO I BUILD A NEW PORT?
#
Look through the list of available ports and find one that most
closely matches your port. Start with that, or if nothing is even
close, use the template directory as a starting point. Even if there
is a port that is close to what you need, it is useful to refer to the
template directory files because they show the basic set of functions
that need to be filled in. Also, refer to porting instructions in the
uMon user's manual downloadable from the Microcross website
(www.microcross.com/html/micromonitor.html). Note that if you are
reading this, you are working with uMon 1.0 (or above), some
documentation at microcross may not yet be up-to-date with the new
uMon 1.0 structure.
#########################################################################
#
# HOW DO I REBUILD AN ALREADY CREATED PORT?
#
For the sake of this discussion, we'll assume you've got the csb337
port, the port of umon to the Cogent Single Board 337 (www.cogcomp.com).
Follow these steps:
1. Build the host-based tools (see instructions in umon_main/host/README).
2. Change directory (cd) to the directory the port-specific code was
installed to (anywhere on your machine, say C:/els/umon_ports/csb337).
3. Start off by establishing the environment with the bashrc file.
First edit the file and set the UMONTOP shell variable to the
hard-coded full path of this main directory (i.e. export
UMONTOP=C:/els/umon/umon_main). Then close and save that file
and issue the command:
. bashrc
Yes, you type "DOT SPACE bashrc". Putting the "DOT SPACE" before
running the bashrc script will make all environment variables created
by that script accessible to the calling shell.
4. Depending on where you got (or who built) your GNU cross-compilation
tools, they will have some common prefix for each of the generic tools.
In other words, instead of "gcc", your toolset might be arm-elf-gcc
(where "arm-elf" is the common prefix) or powerpc-405-elf-gcc or
mips-rtems-gcc or something like that. These makefiles are tuned to
the Microcross style prefix, using CPUTYPE-FILETYPE as the prefix. As
a result, if you are using the Microcross tools, you can probably skip
this step. If you are using tools that have a different prefix style,
then edit the makefile in the port-specific directory and just above
the line that pulls in common.make add a line to initialize the variable
TOOL_PREFIX to your prefix. For example...
TOOL_PREFIX = mips-rtems <<<--- This is the line you add, but use
--- the prefix for your toolset.
include $(TOPDIR)/target/make/common.make <<<--- Right above this line.
This will override the default prefix defined in common.make and
allow your tools to be called out by the makefile.
5. Type 'make help' to get information about port specific variables (if any)
that need to be established prior to starting the make. If the
makefile requires any additional variable definitions on the command
line, output here will indicate this.
6. Once the variables of the step above (if any) are established (either
on the command line or in your environment) run...
make [VAR-INIT] rebuild
where VAR-INIT is any variable initialization
spelled out by "make help" (may be nothing).
to rebuild the bootrom and ramtst images for that target. Note that
it is likely that "VAR-INIT" is nothing so your command line will
just be "make rebuild".
Once the build completes, the final files will be under a directory
named "build_PLATFORM" where "PLATFORM" is the value of the PLATFORM
variable defined in the makefile. There are many other make rules
for building various port-specific files. Run "make help" to get a
listing of those other rules.
7. The final step (assuming you have a target that is already running
MicroMonitor) is to install the new version. This is also done with
a make rule...
make TARGET_IP=A.B.C.D dld
This 'dld' rule will install a file called 'ramtst' on the target.
This is a version of the monitor that will run from TFS, out of RAM.
This is a suggested, but not required prefix to the 'newmon' rule which
will actually overwrite the boot sector with a new boot image...
make TARGET_IP=A.B.C.D newmon
This pumps the new image down to the target using TFTP, then tells the
monitor to erase the old image and install the new one. Be very
careful here because there is a window of time during which the bootrom
is erased and re-written; hence, if you arbitrarily reset the board
while newmon is in progress, you may destroy your bootrom image and
then you need a JTAG device (or something similar) to recover the board.
#########################################################################
#
# WHAT ABOUT MICROMONITOR VERSION NUMBERING?
#
Until December 2004, MicroMonitor was distributed as a single, port-specific
tar-ball and the only information about a version was the build date.
Moving forward, the MicroMonitor source will have at least a 3-field
version number, i.e. X.Y.Z. The least significant field (in this case,
'Z') will represent the release of the port and all other fields represent
the release of the common source code. For a given port then, the
target-specific version number 'Z' is appended to the core-specific
version number 'X.Y' to form the three-field number 'X.Y.Z'. This allows
the port code to be changed and reflected in the version number without
affecting the core version number and visa versa... The core code
can be updated (incrementing X or Y) without affecting the port version
number. In the common source code, target/core/version.h contains the X.Y
field and under the target-specific code, the file target_version.h holds
the 'Z' value.
近期下载者:
相关文件:
收藏者: