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

📄 cdac_uart_tr.h

📁 hi everybody enjoy hi everybody enjoy hi everybody enjoy hi everybody enjoy hi everybody enjoy hi ev
💻 H
字号:
/***********************************************************************
 file ID                    	:CDAC_uart_tr.h
 Version Number           	:
 Project Code                	:
 Project Name               	:
 Architect    			:ProjectLeader
 Designer     			:
 Author                     	:  
 Date of last updation     	:02-04-2009
 Description             	: 

************************************************************************/
#ifndef __INCLUDES_H__
#define __INCLUDES_H__

#include    <stdio.h>
#include    <string.h>
#include    <ctype.h>
#include    <stdlib.h>
#include    <stdarg.h>

#include    <ioat91sam7x256.h>
/*-------------------------- EXCEPTION DEFINES -------------------------------*/

                                                 /* ARM exception IDs                                  */
#define  OS_CPU_ARM_EXCEPT_RESET                0x00
#define  OS_CPU_ARM_EXCEPT_UNDEF_INSTR          0x01
#define  OS_CPU_ARM_EXCEPT_SWI                  0x02
#define  OS_CPU_ARM_EXCEPT_PREFETCH_ABORT       0x03
#define  OS_CPU_ARM_EXCEPT_DATA_ABORT           0x04
#define  OS_CPU_ARM_EXCEPT_ADDR_ABORT           0x05
#define  OS_CPU_ARM_EXCEPT_IRQ                  0x06
#define  OS_CPU_ARM_EXCEPT_FIQ                  0x07
#define  OS_CPU_ARM_EXCEPT_NBR                  0x08
                                                 /* ARM exception vectors addresses                    */
#define  OS_CPU_ARM_EXCEPT_RESET_VECT_ADDR              (OS_CPU_ARM_EXCEPT_RESET          * 0x04 + 0x00)
#define  OS_CPU_ARM_EXCEPT_UNDEF_INSTR_VECT_ADDR        (OS_CPU_ARM_EXCEPT_UNDEF_INSTR    * 0x04 + 0x00)
#define  OS_CPU_ARM_EXCEPT_SWI_VECT_ADDR                (OS_CPU_ARM_EXCEPT_SWI            * 0x04 + 0x00)
#define  OS_CPU_ARM_EXCEPT_PREFETCH_ABORT_VECT_ADDR     (OS_CPU_ARM_EXCEPT_PREFETCH_ABORT * 0x04 + 0x00)
#define  OS_CPU_ARM_EXCEPT_DATA_ABORT_VECT_ADDR         (OS_CPU_ARM_EXCEPT_DATA_ABORT     * 0x04 + 0x00)
#define  OS_CPU_ARM_EXCEPT_ADDR_ABORT_VECT_ADDR         (OS_CPU_ARM_EXCEPT_ADDR_ABORT     * 0x04 + 0x00)
#define  OS_CPU_ARM_EXCEPT_IRQ_VECT_ADDR                (OS_CPU_ARM_EXCEPT_IRQ            * 0x04 + 0x00)
#define  OS_CPU_ARM_EXCEPT_FIQ_VECT_ADDR                (OS_CPU_ARM_EXCEPT_FIQ            * 0x04 + 0x00)

                                                 /* ARM exception handlers addresses                   */
#define  OS_CPU_ARM_EXCEPT_RESET_HANDLER_ADDR           (OS_CPU_ARM_EXCEPT_RESET          * 0x04 + 0x20)
#define  OS_CPU_ARM_EXCEPT_UNDEF_INSTR_HANDLER_ADDR     (OS_CPU_ARM_EXCEPT_UNDEF_INSTR    * 0x04 + 0x20)
#define  OS_CPU_ARM_EXCEPT_SWI_HANDLER_ADDR             (OS_CPU_ARM_EXCEPT_SWI            * 0x04 + 0x20)
#define  OS_CPU_ARM_EXCEPT_PREFETCH_ABORT_HANDLER_ADDR  (OS_CPU_ARM_EXCEPT_PREFETCH_ABORT * 0x04 + 0x20)
#define  OS_CPU_ARM_EXCEPT_DATA_ABORT_HANDLER_ADDR      (OS_CPU_ARM_EXCEPT_DATA_ABORT     * 0x04 + 0x20)
#define  OS_CPU_ARM_EXCEPT_ADDR_ABORT_HANDLER_ADDR      (OS_CPU_ARM_EXCEPT_ADDR_ABORT     * 0x04 + 0x20)
#define  OS_CPU_ARM_EXCEPT_IRQ_HANDLER_ADDR             (OS_CPU_ARM_EXCEPT_IRQ            * 0x04 + 0x20)
#define  OS_CPU_ARM_EXCEPT_FIQ_HANDLER_ADDR             (OS_CPU_ARM_EXCEPT_FIQ            * 0x04 + 0x20)

                                                 /* ARM "Jump To Self" asm instruction                 */
#define  OS_CPU_ARM_INSTR_JUMP_TO_SELF                   0xEAFFFFFE
                                                 /* ARM "Jump To Exception Handler" asm instruction    */
#define  OS_CPU_ARM_INSTR_JUMP_TO_HANDLER                0xE59FF018
/*--------------------DATA TYPES -----------------------------------------------*/
typedef            void      CPU_VOID;
typedef  unsigned  char      CPU_CHAR;                          /*  8-bit character                */
typedef  unsigned  char      CPU_BOOLEAN;                       /*  8-bit boolean or logical       */
typedef  unsigned  char      CPU_INT08U;                        /*  8-bit unsigned integer         */
typedef    signed  char      CPU_INT08S;                        /*  8-bit   signed integer         */
typedef  unsigned  short     CPU_INT16U;                        /* 16-bit unsigned integer         */
typedef    signed  short     CPU_INT16S;                        /* 16-bit   signed integer         */
typedef  unsigned  int       CPU_INT32U;                        /* 32-bit unsigned integer         */
typedef    signed  int       CPU_INT32S;                        /* 32-bit   signed integer         */
typedef  unsigned  long long CPU_INT64U;                        /* 64-bit unsigned integer         */
typedef    signed  long long CPU_INT64S;                        /* 64-bit   signed integer         */

typedef            float     CPU_FP32;                          /* 32-bit floating point           */
typedef            double    CPU_FP64;                          /* 64-bit floating point           */

typedef            void    (*CPU_FNCT_VOID)(void);              /* See Note #2a. */
typedef            void    (*CPU_FNCT_PTR )(void *);            /* See Note #2b. */

/*---------------- board parameters --------------------------------------------*/
#define  BSP_MAIN_XTAL_FREQ           18432000                  /* Onboard crystal frequency (khz) */
#define  BSP_SLOW_XTAL_FREQ              32768

#define  BSP_SER_COMM_UART_01                2                 /* UART 1.   Label as "RS232 COM PORT"  */
#define  BSP_SER_COMM_UART_DBG              63                 /* UART DBG. Label as "SERIAL DEBUG PORT"*/
/*---------------------BIT DEFINES ----------------------------------------------*/
#define  DEF_BIT_NONE                                   0x00

#define  DEF_BIT_00                                     0x01
#define  DEF_BIT_01                                     0x02
#define  DEF_BIT_02                                     0x04
#define  DEF_BIT_03                                     0x08
#define  DEF_BIT_04                                     0x10
#define  DEF_BIT_05                                     0x20
#define  DEF_BIT_06                                     0x40
#define  DEF_BIT_07                                     0x80

#define  DEF_BIT_08                                   0x0100
#define  DEF_BIT_09                                   0x0200
#define  DEF_BIT_10                                   0x0400
#define  DEF_BIT_11                                   0x0800
#define  DEF_BIT_12                                   0x1000
#define  DEF_BIT_13                                   0x2000
#define  DEF_BIT_14                                   0x4000
#define  DEF_BIT_15                                   0x8000

#define  DEF_BIT_16                               0x00010000
#define  DEF_BIT_17                               0x00020000
#define  DEF_BIT_18                               0x00040000
#define  DEF_BIT_19                               0x00080000
#define  DEF_BIT_20                               0x00100000
#define  DEF_BIT_21                               0x00200000
#define  DEF_BIT_22                               0x00400000
#define  DEF_BIT_23                               0x00800000

#define  DEF_BIT_24                               0x01000000
#define  DEF_BIT_25                               0x02000000
#define  DEF_BIT_26                               0x04000000
#define  DEF_BIT_27                               0x08000000
#define  DEF_BIT_28                               0x10000000
#define  DEF_BIT_29                               0x20000000
#define  DEF_BIT_30                               0x40000000
#define  DEF_BIT_31                               0x80000000
/*--------------------- FUNCTIONS TO BE USED ---------------------------------*/
void  init_all(void);     //defined
void  UART_WrByte(CPU_INT08U tx_byte);  //defined

 void       OS_CPU_InitExceptVect              (void);

__arm  void       ARM_ExceptUndefInstrHndlr   (void);
__arm  void       ARM_ExceptSwiHndlr          (void);
__arm  void       ARM_ExceptPrefetchAbortHndlr(void);
__arm  void       ARM_ExceptDataAbortHndlr    (void);
__arm  void       ARM_ExceptAddrAbortHndlr    (void);
__arm  void       ARM_ExceptIrqHndlr          (void);
__arm  void       ARM_ExceptFiqHndlr          (void);
__arm  void       CPU_SR_INT_En                   (void);

 void  my_irq_handler( void );
/*----------------------------------------------------------------------------*/
#endif

⌨️ 快捷键说明

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