⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 config.h

📁 56f8300E系列dsp的BOOTloader
💻 H
📖 第 1 页 / 共 4 页
字号:
/*******************************************************************************
*
* Motorola Inc.
* (c) Copyright 2002 Motorola, Inc.
* ALL RIGHTS RESERVED.
*
* $Element: /project/dsp568_sdk/sdk/src/dsp56838evm/nos/config/config.h $ 
* $Author: saa $ 
* $Revision: /main/2 $ 
* $VOB: /project/dsp568_sdk $ 
* $OS: solaris $ 
*
* Description:  parameters of configuration of SDK application  
*
* Notes:   
*
******************************************************************************/
#ifndef __CONFIG_H
#define __CONFIG_H


/****************************************************************************
*
* Include default and user selected SDK components
*
****************************************************************************/
#include "configdefines.h"




/****************************************************************************
*
* Board specific oscillator frequency
*
****************************************************************************/

/* DSP56838EVM oscillator frequency is 8.0MHz */
#ifndef BSP_OSCILLATOR_FREQ
   #define BSP_OSCILLATOR_FREQ 8000000UL
#endif

#ifndef PLL_MUL
	#define PLL_MUL				30
#endif
    

/****************************************************************************
*
* Default PLL Initialization
*
****************************************************************************/
#ifdef INCLUDE_PLL

	/* Default PLL configuration */
	
	#ifndef PLL_MUL
		#define PLL_MUL				30
	#endif
		
	#ifndef PLL_CONTROL_REG
		#define PLL_CONTROL_REG 	(PLL_LOCK_DETECTOR | PLL_ZCLOCK_POSTSCALER)
	#endif
					
	#ifndef PLL_DIVIDE_BY_REG
		#define PLL_DIVIDE_BY_REG	( (PLL_MUL - 1) |  PLL_CLOCK_IN_DIVIDE_BY_1 |  PLL_CLOCK_OUT_DIVIDE_BY_1)
	#endif

#endif

/****************************************************************************
*
* Default COP Initialization
*
****************************************************************************/
#ifdef INCLUDE_COP
	/* cop_prescaler = 1024, 60MHz IPBus for Dakar */
	#define COP_PRESCALER           1024UL
#endif

/****************************************************************************
*
* Default Timer Initialization
*
****************************************************************************/
#ifdef INCLUDE_TIMER

	/* default REAL_TIME_TIMER_RESOLUTION is 0xFFFF ticks, max possible value is 0x7FFF80 ticks */

	#ifndef REAL_TICK_TIMER_RESOLUTION
		#define REAL_TICK_TIMER_RESOLUTION 0xFFFF
	#endif
	
	#if (REAL_TICK_TIMER_RESOLUTION > 0x7FFF80)
		#error "REAL_TIME_TIMER_RESOLUTION cannot be more than 0x7FFF80"
	#endif
	
	
#endif

/****************************************************************************
*
* Default MSCAN driver Initialization
*
****************************************************************************/
#ifdef INCLUDE_MSCAN

#ifndef CAN_CLOCK_SOURCE        
#define CAN_CLOCK_SOURCE           1  /* IP Bus is default */
#endif /* ifndef CAN_CLOCK_SOURCE  */


/*** CAN Predefined speed / bit timing section ***/
#if defined(CAN_SPEED)

#if !defined(CAN_PRESCALER)
	#if( CAN_CLOCK_SOURCE == 0 )
		#define CAN_OSCILLATOR_CLOCK    (  BSP_OSCILLATOR_FREQ / 1000000 )
	#else /*( CAN_CLOCK_SOURCE == 0) */
		#define CAN_OSCILLATOR_CLOCK    (  BSP_OSCILLATOR_FREQ * PLL_MUL / 2  / 2 / 1000000 )
	#endif /*( CAN_CLOCK_SOURCE == 0) */
#endif /* !defined(CAN_PRESCALER) */


#if ( CAN_SPEED == 1000000 )
	#define CAN_TIME_SEGMENT1    11
	#define CAN_TIME_SEGMENT2    4
	#define CAN_DIVIDER		     1
	#define CAN_MIN_FREQUENCY    16
#endif /* CAN_SPEED == 1000000 */

#if ( CAN_SPEED == 500000 )
	#define CAN_TIME_SEGMENT1    4
	#define CAN_TIME_SEGMENT2    3
	#define CAN_DIVIDER			 1
	#define CAN_MIN_FREQUENCY    4
#endif /* CAN_SPEED == 500000 */

#if ( CAN_SPEED == 400000 )
#define CAN_TIME_SEGMENT1   6
#define CAN_TIME_SEGMENT2   3
#define CAN_DIVIDER			1
#define CAN_MIN_FREQUENCY   4
#endif /* CAN_SPEED == 400000 */

#if ( CAN_SPEED == 250000 )  
#define CAN_TIME_SEGMENT1   11
#define CAN_TIME_SEGMENT2   4
#define CAN_DIVIDER			1
#define CAN_MIN_FREQUENCY   4
#endif /* CAN_SPEED == 250000 */

#if ( CAN_SPEED == 125000 )
#define CAN_TIME_SEGMENT1   11
#define CAN_TIME_SEGMENT2   4
#define CAN_DIVIDER			2
#define CAN_MIN_FREQUENCY   4
#endif /* CAN_SPEED == 125000 */

#if ( CAN_SPEED == 100000 )
#define CAN_TIME_SEGMENT1   13
#define CAN_TIME_SEGMENT2   6
#define CAN_DIVIDER			2
#define CAN_MIN_FREQUENCY   4
#endif /* CAN_SPEED == 100000 */

#if ( CAN_SPEED == 50000 )
#define CAN_TIME_SEGMENT1   13
#define CAN_TIME_SEGMENT2   6
#define CAN_DIVIDER			4
#define CAN_MIN_FREQUENCY   4
#endif /* CAN_SPEED == 50000 */

#if ( CAN_SPEED == 25000 )
#define CAN_SYNCH_JUMP_WIDTH    2
#define CAN_TIME_SEGMENT1   13
#define CAN_TIME_SEGMENT2   6
#define CAN_DIVIDER			8
#define CAN_MIN_FREQUENCY   4
#endif /* CAN_SPEED == 25000 */

#if ( CAN_SPEED == 10000 )
#define CAN_SYNCH_JUMP_WIDTH    2
#define CAN_TIME_SEGMENT1   13
#define CAN_TIME_SEGMENT2   6
#define CAN_DIVIDER			20
#define CAN_MIN_FREQUENCY   4
#endif /* CAN_SPEED == 10000 */

#if CAN_OSCILLATOR_CLOCK < CAN_MIN_FREQUENCY
	#error "incorrect CAN oscillator frequency for this CAN Speed"
#endif /* PLL_MUL < 8 */

#define CAN_SAMPLING			0

#ifndef  CAN_SYNCH_JUMP_WIDTH
	#define CAN_SYNCH_JUMP_WIDTH    1
#endif /* CAN_SAMPLING */

#if !defined(CAN_PRESCALER)
	#define CAN_PRESCALER ( CAN_DIVIDER  * CAN_OSCILLATOR_CLOCK / CAN_MIN_FREQUENCY )
#endif /* !defined(CAN_PRESCALER) */

#endif /* ifndef CAN_SPEED */

#if !defined(CAN_TIME_SEGMENT1) || !defined(CAN_TIME_SEGMENT2) || !defined(CAN_PRESCALER)
	#error  "CAN speed parameters( time segments and prescaler) are not correct assigned"
#endif /* !defined(CAN_TIME_SEGMENT1) || !defined(CAN_TIME_SEGMENT2) || !defined(CAN_PRESCALER) */

#if CAN_TIME_SEGMENT1 < 4 || CAN_TIME_SEGMENT2 < 2
	#error  "time segments parameters are not supported by hardware implementation"
#endif /* CAN_TIME_SEGMENT1 < 4 || CAN_TIME_SEGMENT2 < 2 */

#if CAN_PRESCALER > 64
	#error  "invalid prescaler value or CAN oscillator frequency too high"
#endif /* CAN_PRESCALER > 64 */



#ifndef  CAN_SAMPLING
	#define CAN_SAMPLING			0
#endif /* CAN_SAMPLING */

#ifndef  CAN_SYNCH_JUMP_WIDTH
	#define CAN_SYNCH_JUMP_WIDTH    1
#endif /* CAN_SYNCH_JUMP_WIDTH */
/*** end of CAN Predefined speed / bit timing section ***/

 
#ifndef CAN_MAX_RECEIVE_ID  
	#define CAN_MAX_RECEIVE_ID         7
#endif /* ifdef CAN_MAX_RECEIVE_ID  */

#ifndef CAN_MAX_TRANSMIT_ID  
	#define CAN_MAX_TRANSMIT_ID        7
#endif /* ifdef CAN_MAX_TRANSMIT_ID  */

#ifndef CAN_STOP_IN_WAIT_MODE  
	#define CAN_STOP_IN_WAIT_MODE      0
#else /* ifndef CAN_STOP_IN_WAIT_MODE */ 
	#undef CAN_STOP_IN_WAIT_MODE      
	#define CAN_STOP_IN_WAIT_MODE      1
#endif /* ifndef CAN_STOP_IN_WAIT_MODE */

#ifndef CAN_LOOP_BACK
#define CAN_LOOP_BACK              0
#else /* ifndef CAN_LOOP_BACK */
#undef  CAN_LOOP_BACK
#define CAN_LOOP_BACK              1
#endif /* ifndef CAN_LOOP_BACK */

#ifndef CAN_WAKE_UP_MODE
#define CAN_WAKE_UP_MODE           0
#else /* ifndef CAN_WAKE_UP_MODE */
#undef CAN_WAKE_UP_MODE           
#define CAN_WAKE_UP_MODE           1
#endif /* #ifndef CAN_WAKE_UP_MODE */


#ifndef CAN_CUSTOM_FILTER_CODE
#if defined (CAN_CUSTOM_FILTER_MASK)
#define CAN_CUSTOM_FILTER_CODE     CANIDMASK
#else /* defined (CAN_CUSTOM_FILTER_MASK) */
#define CAN_CUSTOM_FILTER_CODE     (CANIDMASK + 1)
#endif /* defined (CAN_CUSTOM_FILTER_MASK) */
#endif /* ifndef CAN_CUSTOM_FILTER_CODE */

#ifndef CAN_CUSTOM_FILTER_MASK
#if defined (CAN_CUSTOM_FILTER_CODE)
#define CAN_CUSTOM_FILTER_MASK     0
#else /* if defined (CAN_CUSTOM_FILTER_CODE) */
#define CAN_CUSTOM_FILTER_MASK     (CANIDMASK + 1)
#endif /* if defined (CAN_CUSTOM_FILTER_CODE) */
#endif /* ifndef CAN_CUSTOM_FILTER_MASK */

#if !defined(CAN_RECEIVE_ID_QUEUE_SIZE) || !defined(CAN_QUEUED_TRANSMISSION)
#undef CAN_RECEIVE_ID_QUEUE_SIZE  
#define CAN_RECEIVE_ID_QUEUE_SIZE  1 
#endif /* CAN_RECEIVE_ID_QUEUE_SIZE */

#if CAN_RECEIVE_ID_QUEUE_SIZE > 1 && !defined(CAN_QUEUED_TRANSMISSION)
#error  "Rx queue size can not be greater than 1, when CAN_QUEUED_TRANSMISSION undefined"
#endif /* CAN_RECEIVE_ID_QUEUE_SIZE > 1 && !defined(CAN_QUEUED_TRANSMISSION) */

#if  CAN_RECEIVE_ID_QUEUE_SIZE == 0 && !defined(CAN_RAW_CALLBACK)
#error  "Rx queue size can not be 0, when CAN_RAW_CALLBACK undefined"
#endif /*!defined(CAN_RAW_CALLBACK) && CAN_RECEIVE_ID_QUEUE_SIZE == 0 */

/*
#ifndef CAN_RAW_CALLBACK        
#define CAN_RAW_CALLBACK           NULL
#endif */ /* ifndef CAN_RAW_CALLBACK  */

#if !defined( CAN_TX_ERROR_ASSERT )
#define CAN_TX_ERROR_ASSERT  CAN_ASSERT_BUSOFF
#endif /* !defined( CAN_TX_ERROR_LIMIT )  */

//#if defined( CAN_NO_FAST_ISRs )
//#undef CAN_RECEIVE_HANDLER_USES_PRAGMA_INTERRUPT
//#else /* defined( CAN_NO_FAST_ISRs ) */
//#define CAN_RECEIVE_HANDLER_USES_PRAGMA_INTERRUPT
//#endif /* defined( CAN_NO_FAST_ISRs ) */

/*
	x	x	17	0x0022	MSCAN Wakeup
	x	x	16	0x0020	MSCAN Error
	x	x	15	0x001E	MSCAN Receiver Full
	x	x	14	0x001C	MSCAN Transmitter Ready
*/

#endif /* INCLUDE_MSCAN */

/****************************************************************************
*
* Default FLEXCAN driver Initialization
*
****************************************************************************/
#ifdef INCLUDE_FLEXCAN


/*** CAN Predefined speed / bit timing section ***/
#if defined(CAN_SPEED)

#if !defined(CAN_PRESCALER)
    #define CAN_OSCILLATOR_CLOCK    (  BSP_OSCILLATOR_FREQ * PLL_MUL / 2  / 2 / 1000000 )
#endif /* !defined(CAN_PRESCALER) */


#if ( CAN_SPEED == 1000000 )
    #define CAN_PROP_SEGMENT        7  
    #define CAN_PHASE_SEGMENT1      4 /* = 11 */
    #define CAN_PHASE_SEGMENT2      4
    #define CAN_DIVIDER             1
    #define CAN_MIN_FREQUENCY       16
#endif /* CAN_SPEED == 1000000 */

#if ( CAN_SPEED == 500000 )
    #define CAN_PROP_SEGMENT        7  
    #define CAN_PHASE_SEGMENT1      4
    #define CAN_PHASE_SEGMENT2      4
    #define CAN_DIVIDER             1
    #define CAN_MIN_FREQUENCY       8
#endif /* CAN_SPEED == 500000 */

#if ( CAN_SPEED == 400000 )
    #define CAN_PROP_SEGMENT        7  
    #define CAN_PHASE_SEGMENT1      6 /* 13 */
    #define CAN_PHASE_SEGMENT2      6
    #define CAN_DIVIDER             1
    #define CAN_MIN_FREQUENCY       8
#endif /* CAN_SPEED == 400000 */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -