Recommended Migration Flow
D-3
C2xLP Migration Guidelines
D.2 Recommended Migration Flow
Use the following steps (shown in Figure D
1) Install the latest development tools for the C28x DSP (e.g. Code Compos-
er Studio
t
version 2.x or higher)
2) Build the project with following C28x assembler options:
−m20
; enable C2xLP instructions
− g
; enable source level debug to view the C2xLP
; instructions
−mw
; enable additional assembly checks
Code Composer Studio 2.x will assemble all C2xLP instructions and map
all the compatible instructions to their equivalent C28x instructions and
mnemonics. Code Composer Studio 2.x disassembly will display the in-
structions in the memory as C28x mnemonics only. If the source is built
with –g option, the relevant C2xLP source file will be also displayed and
will facilitate C2xLP instruction readability during debug.
3)
Memory map:
Define your C28x device memory map with C2xLP compatible memory
sections. Build a linker command file (*.cmd). See Table D
Select a C2xLP assembly source code *.asm for migration to C28x archi-
tecture.
4)
Boot Code:
Add the C2xLP mode conversion code segment shown in section D.4.1 as
the first set of instructions after reset.
After reset, the C28x powers up in C27x object
−
compatible mode. Adding
these few lines of initialization code will place the device in the proper oper-
ating mode for executing reassembled C2xLP code.
Note:
The C27x object-compatible mode is for use only for migration from the C27x
CPU. It is a reserved operating mode for all C28x and C2xLP applications.
5) This step will facilitate faster code conversion. In the C2xLP source file
modify the interrupt section with suggestions from the reference table in
section D.5.
In particular, modify the following types of code:
a)
IMR
and
IFR
−
See the example code in section D.4.2.
b)
Context Save/Restore
−
See the example code in section D.4.3
c) Comment all the known incompatible instructions or map with equiva-
Summary of Contents for TMS320C28x
Page 30: ...1 12...
Page 80: ...This page intentionally left blank 2 50 This page intentionally left blank...
Page 269: ...IN loc16 PA 6 112 MOV AL 0 AL 0 UOUT IORegC AL IOspace IORegC AL 10...
Page 308: ...MAXCUL P loc32 6 151 Saturate MOVL Var64 2 ACC Store result into Var64 MOVL Var64 P...
Page 509: ...SUBL ACC P PM 6 352 SUBL ACC P PM ACC S B 11 M X 4 MOVH Y ACC 5 Store Q15 result into Y...
Page 585: ...This page intentionally left blank 7 32 This page intentionally left blank...