📄 read.me
字号:
uC/OS-II, The Real-Time Kernel
Motorola 683xx Port for the SDS Compiler
V1.05
READ ME FILE
------------------------------ COSMIC C COMPILER -------------------------------
1) The current version of the Motorola 683xx port is based on the SDS C compiler
V7.4:
SDS
333 East Butterfield Road, Suite 700
Lombard, Illinois 60148
1-630-971-5900
1-630-971-5901 (FAX)
1-800-448-7733
http://www.sdsi.com
sales@sdsi.com
support@sdsi.com
2) The C compiler is assumed to reside in the C:\SDS74 directory.
3) The code was tested using the SDS Instruction Set Simulator (ISS).
4) The SDS debugger is assumed to reside in the C:\SDS74 directory
-------------------------------- 683xx PORT NOTES -----------------------------
1) The port installation batch file (INSTALL.BAT) places the 683xx port in the
following directory of the selected drive:
\SOFTWARE\uCOS-II\M683xx\SDS
This directory contains the following sub-directories:
\SOFTWARE\uCOS-II\M683xx\SDS\SOURCE
This directory contains the port source files as well as the sample test
code (i.e. TEST.C).
\SOFTWARE\uCOS-II\M683xx\SDS\TEST
This directory contains BUILD.BAT which is used to compile, assemble and
link the test code.
\SOFTWARE\uCOS-II\M683xx\SDS\WORK
This is the directory in which the test code is built from.
\SOFTWARE\uCOS-II\M683xx\SDS\OBJ
This directory contains the object files produced by the compiler and
assembler.
\SOFTWARE\uCOS-II\M683xx\SDS\LST
This directory contains the 'listing' files produced by the compiler and
the assembler. For the C compiler, these files contain the interleaved
C source along with the assembly language code generated by the
compiler.
2) TRAP #15 (vector 47) is used to perform 'task level' context switches. The
TRAP handler needs to point to OSCtxSw() (see VECTORS.C).
3) All tasks execute in SUPERVISOR mode and thus, each task has an initial SR
set to 0x2000.
4) The port assumes a CPU32 or a 68020, 68030 or 68040 because the exception
stack frame contains a FORMAT/VECTOR OFFSET.
------------------------------ REPORTING PROBLEMS -----------------------------
If you find a problem (i.e. bug) in uC/OS-II or this port, do not hesitate to
report the problem to me:
1) Through e-mail:
My e-mail address is: Jean.Labrosse@uCOS-II.com
2) By writing to me:
Jean J. Labrosse
949 Crestview Circle
Weston, FL 33327
U.S.A.
3) By calling me (after 8PM Eastern time, US):
(954) 217-2036
(954) 217-2037, FAX
Make sure that the problem you are reporting is in uC/OS-II or this port and
not your application.
------------------------------- M683xx RELEASE NOTES -------------------------
July 3, 1999: V1.05
-------------------
1) Added test of OSIntNesting in OSIntExit68K() (see OS_CPU_A.S).
June 29, 1999: V1.04
--------------------
1) Added function OSIntExit68K() (see OS_CPU_A.S) which must now be JUMPed to
at the end of ALL ISRs. Your ISR code MUST now look as follows:
_YourISR:
ADDQ.B #1,_OSIntNesting ; OSIntNesting++
MOVEM.L A0-A6/D0-D7,-(A7) ; Save ALL registers
; CLEAR the INTERRUPT source!
JSR _YourISRHandler
JMP _OSIntExit68K ; Exit through uC/OS-II at end of ISR
As you can see, you MUST increment OSIntNesting at the beginning of the ISR
and NOT call OSIntExit(). OSIntExit68K() knows to return to task level code
because it examines the stack frame for the contents of the Status register
(SR) that is pushed onto the stack when the CPU recognizes an interrupt.
May 9, 1999: V1.03
------------------
1) The stack adjustment constant in OSIntCtxSw() was set incorrectly. The
correct value needed to be 10 instead of 18 because the SDS compiler
doesn't allocate local variables for OSIntExit().
2) The function OSSetVect() is OS_CPU_C.C didn't properly cast 'addr'. The
correct statement is:
*pvect = (INT32U)addr;
instead of:
*pvect = (INT32U *)addr;
February 7, 1999: V1.02
-----------------------
1) First release of the M683xx port for the SDS compiler. The first release
starts at V1.02 to match the revision level of other M680x0 or M683xx
ports.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -