www.pudn.com > PMSM.zip > DSP281x_RevisionHistory.txt, change:2003-09-11,size:13645b


DSP281x Header Files 
September 11, 2003 
 
This file provides an overview of the changes made between the V.58 and V1.00 release of 
the header files and example code.   
 
For more details on the changes as well as migration tips, please refer to the  
DSP281x_Readme_V100.pdf document. 
 
Revision History: 
 
Rev 1.00  
 
    Changes made from the previous release (V.058 Alpha) 
 
    Filename Prefix Change: 
    ====================== 
 
    In anticipaton of future 28x devices, all included file names were modified slightly  
    to indicate that they are for the 281x devices.  The file name change is as follows: 
  
    DSP28_file.c was changed to DSP281x_file.c 
 
    This file uses the new name format when referring to the files.  
 
 
    Directory Structure Changes: 
    ============================ 
 
    The organization of the files has changed to better seperate the header files from  
    the example source code. 
 
       Directory        Contents: 
    ------------------------------ 
    DSP281x_headers       All of the files needed to use the Peripheral Structures 
 
    DSP281x_examples      Example projects that configure different peripherals 
  
    DSP281x_common        Common example source files that are shared between different 
                          example projects and/or may be useful for application development.   
                      
 
    Header File Changes - <base install>\DSP281x_headers\: 
    ==================================================== 
 
     - New Files: 
       DSP281x_Headers_nonBIOS.cmd Linker command file for non-BIOS applications.  This 
                                   file only contains the memory allocation for the 
                                   peripheral structures used within these headerfiles. 
 
       DSP281x_Headers_BIOS.cmd    Linker command file for BIOS applications.  This 
                                   file only contains the memory allocation for the 
                                   peripheral structures used within these headerfiles. 
 
    -  DSP281x_Adc.h 
       * Separated the MAX_CONV bit field into two fields: MAX_CONV1 and MAX_CONV2      
       * Added SEQ_OVRD bit to ADCCTRL1 for RevC and after versions of F2810/12 
 
    -  DSP281x_CpuTimers.h 
       * Corrected the definition of the TCR register 
 
    -  DSP281x_Device.h 
       Added External symbol declarations created by the linker cmd file. The DSP28  
       examples will use these to relocate code from a LOAD location in either  
       Flash or XINTF to a different RUN location in internal RAM.  These symbols are: 
 
                  extern Uint16 RamfuncsLoadStart; 
                  extern Uint16 RamfuncsLoadEnd; 
                  extern Uint16 RamfuncsRunStart;   
 
       Refer to the Flash and run_from_xintf examples for their use 
 
       * Added float32 and float64 to the data typedefs 
       * Added #if DSP28_DATA_TYPES wrapper around the data typedefs to avoid conflicts 
         with other software releases that may define these types again (such as Flash API) 
       * Seperated out DSP281x example specific files and info.  This is now found in  
         DSP281x_Common\include\DSP281x_Examples.h 
       * Changed F2812 -> DSP281x_F2812 
       * Changed F2810 -> DSP281x_F2810 
 
    -  DSP281x_ECan.h 
       Note: a number of these corrections were made to a limited released version 
       of the file (V.059).  These changes include updates from V.58 to V.59 as well 
       as changes to V1.00. 
        
       * Added extern struct declarations for MOTO, MOTS and LAM eCAN register files 
       * Many bit field names and register names were corrected to match the  
         reference guide.  
 
         Bit name changes: 
         old       new        register 
         --------------------------- 
         SCM       SCB        CANMC 
         LNTM      TCC        CANMC 
         LNTC      MBCC       CANMC 
         TSEG2     TSEG2REG   CANBTC 
         TSEG1     TSEG1REG   CANBTC 
         SJW       SJWREG     CANBTC 
         BRP       BRPREG     CANBTC 
         ERM       reserved   CANBTC 
         MAIFO     MTOFO      CANGIFO 
         SIL       GIL        CANGIM 
         TCOIM     TCOM       CANGIM 
         MAIM      MTOM       CANGIM 
         TCOIF1    MTOF1      CANGIF1 
         MAIF1     MTOF1      CANGIF1 
         MSGID_L   EXTMSGID_L CANMSGID 
         MSGID_H   EXTMSGID_H CANMSGID  
  
         TXIN, TXOUT, TXDIR in CANTIOC are now reserved. 
         RXIN, RXOUT, RXDIR in CANRIOC are now reserved. 
         MSGID_H was renamed and split into two parts: 
         EXTMSGID_H and STDMSGID. 
 
         Register name changes: 
         old       new 
         ------------------- 
         CANLNT    CANTSC   (bit field definitions removed) 
         CANMID    CANMSGID 
         CANMCF    CANMSGCTRL 
         CANMDRL   CANMDL 
         CANMDRH   CANMDH 
 
       * MDL and MDH can now be accessed as .byte or .word 
 
 
    -  DPS281x_Ev.h 
       * CAPCON register for EVA renamed CAPCONA for consistency with other documentation.  
       * EXTCON register for EVA renamed EXTCONA for consistency with other documentation. 
       * CAPFIFOA register for EVA renamed EXTCONA for consistency with other documentation. 
       * Corrected bit definitions for GPTCONA and GPTCONB registers 
       * T1CON and T2CON were using the same bit definitions.  Split this so the reserved 
         bits in T1CON would be correct 
       * T3CON and T4CON were using the same bit definitions.  Split this so the reserved 
         bits in T3CON would be correct 
       * Changed QEPIQEL to QEPIQUAL in EXTCONA/EXTCONB registers to match user documentation 
       * Added bits that are active only when EXTCONA.0 = 1 to the COMCONA and CONCOMB  
         registers. Previously these were marked as reserved. 
       * Changed CAPQEPN to CAP12EN in the CAPCONA register 
       * Changed CAPQEPN to CAP45EN in the CAPCONB register 
 
    -  DSP281x_DevEmu.h 
       * As of Rev C silicon, DEVICEID is a 16-bit register  
       * Commented out the DFT test registers.  These are not needed as of Rev C silicon. 
 
    -  DSP281x_Gpio.h 
       * Corrected union definitions that had BIT instead of bit 
 
    -  DPS281x_Mcbsp.h 
       * Changed the name of PCR1 register to PCR 
       * Fixed name of GSYNC bit (was incorrectly GYSNC) 
       * Changed bit 14 of SRGR2 to reserved 
       * RFULL bit in SPCR1 was mislabeled 
       * MFFTX register bits change to align with user's guide 
       * MFFRX register bits change to align with user's guide   
 
    -  DSP281x_PieVect.h 
       * Changed USER0-USER11 to USER1-USER12 to match the CPU guide 
 
    -  DSP281x_Sci.h 
       * Added SCIRST bit field to SCIFFTX register 
       * Renamed RXERR to RXERROR to match documentation 
       * Renamed RXOVF_CLR to RXFFOVRCLR to match user document 
 
    -  DSP281x_Spi.h 
       * Corrected SPIFFTX bit definitions 
       * RESET renamed SPISWRESET to match documentation 
       * OVERRUN renamed OVERRUNINTENA to match documentation 
 
    -  DSP281x_SysCtrl.h 
       * Commented out the Emulation register initialization for RAM blocks.  This is  
         no longer required as of rev C silicon. This change removed M0RAMDFT, M1RAMDFT, 
         L0RAMDFT, L1RAMDFT, and H0RAMDFT 
       * Increased the PLL lock loop to take into account the new requirement as of Rev C 
         silicon. 
       * Added bit definitions for the PLL Control Register (PLLCR) 
       * Added bit definitions for the low power mode control registers (LPMCR0 and LPMCR1) 
       * Removed bit definition for SCSR register.  This register should only be written to 
         using a 16-bit mask value.  Otherwise a read-modify-write operation will clear 
         the WDOVERRIDE bit.  
 
 
    Common Example Code Changes - <base install>\DSP281x_common\: 
    =========================================================== 
 
     - New Files: 
       DSP281x_MemCopy.C           Memory copy from source to dest function 
       DSP281x_XintfBootReset.asm  Reset vector for booting from XINTF Zone 7 
       F2812_XintfBoot.cmd       Example linker command file for booting from XINTF Zone 7 
 
    -  DSP281x_Adc.c 
       * ADC_usDELAY changed from 5000L to 8000L 
 
    -  DSP281x_CSMPasswords.asm 
       * This file was previously blank.  Filled in the code for populating the CSM 
         password locations and the reserved CSM memory. 
 
    -  DSP281x_DefaultIsr.c 
       * Search and replaced PieCtrl. with PieCtrlRegs 
       * Added PIE Ack statements for XINT1 and XINT2 shell ISRs  
       * Changed USER0-USER11 to USER1-USER12 to match the CPU guide 
 
    -  DSP281x_DefaultIsr.h 
       * Changed USER0-USER11 to USER1-USER12 to match the CPU guide 
 
    -  DSP281x_ECan.c 
       * Added various initialization routines 
 
    -  DSP281x_GlobalPrototypes.h 
       * Corrected the filename and title in the header 
 
    -  DSP281x_GlobalVariables.c 
       * Added struct declarations and pragma statements for MOTO, MOTS and  
         LAM eCAN register files 
 
    -  DSP281x_PieCtrl.c 
       * Added ENPIE = 0 to the IntPieCtrl function 
       * Removed ENPIE = 1 from the IntPieCtrl function 
       * Created EnableInterrupts function 
 
    -  DSP281x_PieVect.c 
       * Changed USER0-USER11 to USER1-USER12 to match the CPU guide 
 
    -  DSP281x_SWPrioritizedDefaultIsr.c 
       * Corrected the handling of IER in the following shell interrupt routines: 
         INT13_ISR, INT14_ISR, XINT1_ISR, XINT2_ISR, DATALOG_ISR 
       * Aligned the version number of this file to match the rest (ie .01 -> .59) 
 
    -  DSP281x_SysCtrl.c 
       * Increased the PLL lock loop time per requirements as of Rev C silicon.  
       * Counter for PLL lock loop made volatile so the optimizer won't remove the loop. 
       * Added comments regarding the PLL initialization sequence. 
       * Changed the PLL initialization to take into account the bit definitions for the PLLCR register 
       * Corrected bit field name for OTPWAIT (was OPTWAIT) in the FOTPWAIT register  
       * Changed SCIENCLKA to SCIAENCLK and SCIENCLKB to SCIBENCLK to match documentation 
 
    -  DSP281x_usDelay.asm 
       * Updated comments to better describe the functions use.  
       * This code is now part of the ramfuncs section - this section is used for code that 
         must run from internal RAM in order to work properly or for accuracy.  
       * Placed this function in the ramfuncs section 
 
    -  EzDSP_RAM_lnk.cmd 
       * Added BEGIN section for boot to H0 code redirection branch instruction. 
       * Removed .sysmem, .const, and .bss sections.  These are only used for the small  
         memory model.  All examples use the large model and large model is suggested 
         for customer use. 
       * Added .esysmem section  
       * Added ECANA_LAM ECANA_MOTO and ECANA_MOTS memory blocks.  Also allocated the register files 
         to these memory blocks. 
       * Changed the ramfuncs section to load to RAM and run from RAM (it was type DSECT previously) 
       * Added Load_START/LOAD_END and RUN_START symbols for the ramfuncs section. 
         These symbols are used to relocate code as shown in the Flash and xintf examples. 
 
    -  F2810.cmd 
       F2812.cmd 
       EzDSP_RAM_lnk.cmd 
       * Split peripheral sections into a separate command file called DSP281x_Headers.cmd 
         This was done to make the header files more portable for use with other applications 
         such as BIOS. 
  
    -  F2810.cmd 
       F2812.cmd 
       * Removed .sysmem, .const, and .bss sections.  These are only used for the small  
         memory model.  All examples use the large model and large model is suggested 
         for customer use. 
       * Added ECANA_LAM ECANA_MOTO and ECANA_MOTS memory blocks.  Also allocated the register files 
         to these memory blocks. 
       * Added Load_START/LOAD_END and RUN_START symbols for the ramfuncs section. 
         These symbols are used to relocate code as shown in the Flash and xintf examples. 
       * Added CSM_RSVD memory section in FLASHA - this region should be programmed with  
         all 0x0000 when using the CSM 
 
 
     Changes made to example Projects - <base install>\DSP281x_examples\ 
     ================================================================== 
 
     - All Examples: 
       * Rebuilt all examples for the new directory structure 
       * Updated all examples to use the new file name format (DSP281x) 
       * Added #include DSP281x_Examples.h  
       * Cleanup of initliazation code.  Cleaned up many comments that were 
         left over from internal test code.  
       * Added DSP281x_CodeStartBranch.asm to all projects that use boot to H0 mode 
       * Examples are now compiled with -w and -pdr switches enabled.  
 
     - run_from_xintf 
       * changed the method for moving code from XINTF to internal RAM 
       * updated the linker command file and moved it to the common directory 
       * added a boot from XINTF reset vector and disabled the watchdog before 
         the C init routine. 
       * Added 8 NOP's after XINTF configuration to allow the writes to move through 
         the pipeline. 
 
     - flash 
       *changed the method for moving code from Flash to internal RAM 
 
     - sw_prioritized_interrupts:  
       * Changed USER0-USER11 to USER1-USER12 to match the CPU guide 
       * Corrected a number of comments and changed the flow of each testcase to 
         make more sense.