summaryrefslogtreecommitdiff
path: root/ecos/packages/kernel/current/host/instr/readme.txt
diff options
context:
space:
mode:
authorschodet2007-02-23 12:33:47 +0000
committerschodet2007-02-23 12:33:47 +0000
commit22e4b1be3fe83053543994c325cb0d44e4587723 (patch)
tree6a4ef5b3c8ed45de299c185e5dd3391c934c6e1b /ecos/packages/kernel/current/host/instr/readme.txt
parent16697c575dfa90feb62c8db019d62682dfe026ca (diff)
Added ecos and build system.
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@4 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'ecos/packages/kernel/current/host/instr/readme.txt')
-rw-r--r--ecos/packages/kernel/current/host/instr/readme.txt80
1 files changed, 80 insertions, 0 deletions
diff --git a/ecos/packages/kernel/current/host/instr/readme.txt b/ecos/packages/kernel/current/host/instr/readme.txt
new file mode 100644
index 0000000000..51c3b99546
--- /dev/null
+++ b/ecos/packages/kernel/current/host/instr/readme.txt
@@ -0,0 +1,80 @@
+
+README for User Friendly Instrumentation Messages
+=================================================
+
+The CDL option CYGDBG_KERNEL_INSTRUMENT_MSGS controls whether the
+system is capable of displaying user friendly instrumentation
+messages. To do this it needs to know what event numbers mean
+what events - as a text string to print for you.
+
+It gets the information from a table created by the header file
+instrument_desc.h in the kernel. If the instrumentation numbers
+change, you must rebuild that header to match.
+
+A further CDL option is provided to help you with that. The
+procedure is as follows:
+
+1) Remove kernel/VERSION/include/instrument_desc.h from your
+ repository. Is is probably a good idea to move it away rather
+ than deleting it in case the next stages fail.
+
+2) Make a build configuration, enabling options
+ CYGDBG_KERNEL_INSTRUMENT, CYGDBG_KERNEL_INSTRUMENT_MSGS and
+ CYGDBG_KERNEL_INSTRUMENT_MSGS_BUILD_HEADERFILE in the kernel.
+ Viewed in the GUI configtool, "Kernel instrumentation", "Print
+ user friendly instrument messages" and "Rebuild the header
+ file" respectively.
+
+3) Make eCos within this build configuration. It should create
+ install/include/cyg/kernel/instrument_desc.h
+
+4) Copy that new file back to your repository, to
+ kernel/VERSION/include/instrument_desc.h replacing the file
+ you moved aside in step 1.
+
+5) Commit the new file to your version control system or whatever
+ you use.
+
+If you wish to rebuild the file "by hand" the command to use, in
+a suitable shell, is this:
+
+ $ECOS_REPOSITORY/kernel/$ECOS_VERSION/host/instr/instrument.sh
+ $ECOS_REPOSITORY/kernel/$ECOS_VERSION/include/instrmnt.h
+ > $ECOS_BUILD_PREFIX/include/cyg/kernel/instrument_desc.h
+
+(all on one line of course) or to rebuild it directly into the
+kernel source repository:
+
+ $ECOS_REPOSITORY/kernel/$ECOS_VERSION/host/instr/instrument.sh
+ $ECOS_REPOSITORY/kernel/$ECOS_VERSION/include/instrmnt.h
+ > $ECOS_REPOSITORY/kernel/$ECOS_VERSION/include/instrument_desc.h
+
+It's up to you to sort out file permissions for this to work, and
+to set environment variables as required or edit these lines as
+you type them.
+
+
+There is also a host-based program which can print a buffer
+nicely for you - if you can get the data into your host.
+Enabling CDL option CYGDBG_KERNEL_INSTRUMENT_BUILD_HOST_DUMP or
+"Build the host tool to print out a dump" will build it for you
+in install/bin. To build it instead "by hand", use
+
+ mkdir -p tempinc
+ cp -r $(ECOS_BUILD_PREFIX)/include/cyg tempinc
+ cp -r $(ECOS_BUILD_PREFIX)/include/pkgconf tempinc
+ cc -I./tempinc
+ $(ECOS_REPOSITORY)/kernel/${ECOS_VERSION}/host/instr/dump_instr.c
+ -o $(PREFIX)/bin/dump_instr
+
+again with environment variables as required, or type in whatever
+is appropriate. You still have to somehow get the
+instrumentation buffer into a file on the host. 'Exercise for the
+reader' as university lecturers tend to say.
+
+One possibility is to set up a tftp *server* in the target which
+will serve the instrumentation buffer. This hint is as far as
+support for this goes.
+
+
+