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.