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

📄 bsp.lst

📁 IARSOURCECODE是基于LPC2478嵌入式软件IAR EWARM V4.42的应用实例代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
     54          #define  GPIO0_LCD_RSTOUT_SEL          DEF_BIT_21               /* LCD (Can be selected)                                    */
     55          #define  GPIO0_MCIDAT0_SEL             DEF_BIT_22               /* SD/MMC (Because of silicon errata)                       */
     56          #define  GPIO0_AD00                    DEF_BIT_23
     57          #define  GPIO0_AD01                    DEF_BIT_24
     58          #define  GPIO0_PBLED_SDA0              DEF_BIT_27               /* PCA9532                                                  */
     59          #define  GPIO0_PBLED_SCL0              DEF_BIT_28               /* PCA9532                                                  */
     60          #define  GPIO0_USBA_DP                 DEF_BIT_29
     61          #define  GPIO0_USBA_DM                 DEF_BIT_30
     62          #define  GPIO0_USBB_DP                 DEF_BIT_31
     63          
     64                                                                          /* ---------------------- GPIO1 Pins ---------------------- */
     65          #define  GPIO1_E_TXD0                  DEF_BIT_00
     66          #define  GPIO1_E_TXD1                  DEF_BIT_01
     67          #define  GPIO1_MCICLK                  DEF_BIT_02               /* SD/MMC                                                   */
     68          #define  GPIO1_MCICMD                  DEF_BIT_03               /* SD/MMC                                                   */
     69          #define  GPIO1_E_TX_EN                 DEF_BIT_04
     70          #define  GPIO1_MCIPWR                  DEF_BIT_05               /* SD/MMC                                                   */
     71          #define  GPIO1_MCIDAT0                 DEF_BIT_06               /* SD/MMC (Cannot be used due to errata)                    */
     72          #define  GPIO1_MCIDAT1                 DEF_BIT_07               /* SD/MMC                                                   */
     73          #define  GPIO1_E_CRS0                  DEF_BIT_08
     74          #define  GPIO1_E_RXD0                  DEF_BIT_09
     75          #define  GPIO1_E_RXD1                  DEF_BIT_10
     76          #define  GPIO1_MCIDAT2                 DEF_BIT_11               /* SD/MMC                                                   */
     77          #define  GPIO1_MCIDAT3                 DEF_BIT_12               /* SD/MMC                                                   */
     78          #define  GPIO1_E_RX_ER                 DEF_BIT_14
     79          #define  GPIO1_E_RX_CLK                DEF_BIT_15
     80          #define  GPIO1_E_MDC                   DEF_BIT_16
     81          #define  GPIO1_E_MDIO                  DEF_BIT_17
     82          #define  GPIO1_USBA_LED                DEF_BIT_18               /* USB Channel A (OTG)                                      */
     83          #define  GPIO1_USBA_SDA                DEF_BIT_27
     84          #define  GPIO1_USBA_SCL                DEF_BIT_28
     85          #define  GPIO1_USBA_INT                DEF_BIT_29
     86          #define  GPIO1_USBB_PWR_VBUS           DEF_BIT_30               /* USB Channel B                                            */
     87          #define  GPIO1_USBB_OVERCRNT           DEF_BIT_31               /* USB Channel B                                            */
     88          
     89                                                                          /* ---------------------- GPIO2 Pins ---------------------- */
     90          #define  GPIO2_ETM              ((CPU_INT32U)(0x000000FF))
     91          #define  GPIO2_EINT0                   DEF_BIT_10
     92          #define  GPIO2_PHY_INT_SEL             DEF_BIT_11               /* PHY Interrupt output                                     */
     93          #define  GPIO2_NAND_BUSY_SEL           DEF_BIT_12
     94          #define  GPIO2_CS2                     DEF_BIT_14               /* DBUS_EN                                                  */
     95          #define  GPIO2_RAS                     DEF_BIT_16
     96          #define  GPIO2_CAS                     DEF_BIT_17
     97          #define  GPIO2_CLKOUT0                 DEF_BIT_18
     98          #define  GPIO2_CLKOUT1                 DEF_BIT_19
     99          #define  GPIO2_DYCS0                   DEF_BIT_20
    100          #define  GPIO2_DYCS1                   DEF_BIT_21               /* DBUS_EN                                                  */
    101          #define  GPIO2_CKE0                    DEF_BIT_24
    102          #define  GPIO2_CKE1                    DEF_BIT_25
    103          #define  GPIO2_DQM0                    DEF_BIT_28
    104          #define  GPIO2_DQM1                    DEF_BIT_29
    105          
    106                                                                          /* ---------------------- GPIO4 Pins ---------------------- */
    107          #define  GPIO3_LCD_D            ((CPU_INT32U)(0x0000FFFF))      /* LCD Data Bus                                             */
    108          #define  GPIO3_TXD1                    DEF_BIT_16               /* UART #1: RS232 Full Modem or WLAN Add-On Module          */
    109          #define  GPIO3_RXD1                    DEF_BIT_17               /* UART #1: RS232 Full Modem or WLAN Add-On Module          */
    110          #define  GPIO3_CTS1                    DEF_BIT_18               /* UART #1: RS232 Full Modem or WLAN Add-On Module          */
    111          #define  GPIO3_DCD1                    DEF_BIT_19               /* UART #1: RS232 Full Modem or WLAN Add-On Module          */
    112          #define  GPIO3_DSR1                    DEF_BIT_20               /* UART #1: RS232 Full Modem or WLAN Add-On Module          */
    113          #define  GPIO3_DTR1                    DEF_BIT_21               /* UART #1: RS232 Full Modem or WLAN Add-On Module          */
    114          #define  GPIO3_RI1                     DEF_BIT_22               /* UART #1: RS232 Full Modem or WLAN Add-On Module          */
    115          #define  GPIO3_LCD_LIGHT               DEF_BIT_28               /* LCD Backlight                                            */
    116          #define  GPIO3_RTS1                    DEF_BIT_30               /* UART #1: RS232 Full Modem or WLAN Add-On Module          */
    117          
    118          
    119                                                                          /* ---------------------- GPIO4 Pins ---------------------- */
    120          #define  GPIO4_LCD_A            ((CPU_INT32U)(0x00FFFFFF))      /* LCD address bus                                          */
    121          #define  GPIO4_LCD_OE                  DEF_BIT_24               /* LCD RD_E Input                                           */
    122          #define  GPIO4_LCD_WE                  DEF_BIT_25               /* LCD WR_RW Input                                          */
    123          #define  GPIO4_BLS0                    DEF_BIT_26
    124          #define  GPIO4_BLS1                    DEF_BIT_27
    125          #define  GPIO4_CS0                     DEF_BIT_30
    126          #define  GPIO4_CS1                     DEF_BIT_31
    127          
    128          /*
    129          *********************************************************************************************************
    130          *                                               DATA TYPES
    131          *********************************************************************************************************
    132          */
    133          
    134          typedef  void (*BSP_FNCT_PTR)(void);                            /* Pointer to ISR handler function                          */
    135          
    136          /*
    137          *********************************************************************************************************
    138          *                                              VARIABLES
    139          *********************************************************************************************************
    140          */
    141          

   \                                 In segment DATA_Z, align 4, align-sorted
    142                  CPU_INT32U  VIC_SpuriousInt;
   \                     VIC_SpuriousInt:
   \   00000000                      DS8 4
    143          
    144          /*
    145          *********************************************************************************************************
    146          *                                              PROTOTYPES
    147          *********************************************************************************************************
    148          */
    149          
    150          static  void  PLL_Init          (void);
    151          static  void  MAM_Init          (void);
    152          static  void  GPIO_Init         (void);
    153          static  void  VIC_Init          (void);
    154          static  void  ADC_Init          (void);
    155          
    156          static  void  DCC_Init          (void);
    157          
    158          static  void  Tmr_TickInit      (void);
    159          
    160          static  void  VIC_Dummy         (void);                         /* Prototypes for dummy interrupt handlers                  */
    161          static  void  VIC_DummyWDT      (void);
    162          static  void  VIC_DummySW       (void);
    163          static  void  VIC_DummyDEBUGRX  (void);
    164          static  void  VIC_DummyDEBUGTX  (void);
    165          static  void  VIC_DummyTIMER0   (void);
    166          static  void  VIC_DummyTIMER1   (void);
    167          static  void  VIC_DummyUART0    (void);
    168          static  void  VIC_DummyUART1    (void);
    169          static  void  VIC_DummyPWM01    (void);
    170          static  void  VIC_DummyI2C0     (void);
    171          static  void  VIC_DummySPI      (void);
    172          static  void  VIC_DummySSP1     (void);
    173          static  void  VIC_DummyPLL      (void);
    174          static  void  VIC_DummyRTC      (void);
    175          static  void  VIC_DummyEINT0    (void);
    176          static  void  VIC_DummyEINT1    (void);
    177          static  void  VIC_DummyEINT2    (void);
    178          static  void  VIC_DummyEINT3    (void);
    179          static  void  VIC_DummyAD0      (void);
    180          static  void  VIC_DummyI2C1     (void);
    181          static  void  VIC_DummyBOD      (void);
    182          static  void  VIC_DummyETHERNET (void);
    183          static  void  VIC_DummyUSB      (void);
    184          static  void  VIC_DummyCAN01    (void);
    185          static  void  VIC_DummyMMC      (void);
    186          static  void  VIC_DummyGP_DMA   (void);
    187          static  void  VIC_DummyTIMER2   (void);
    188          static  void  VIC_DummyTIMER3   (void);
    189          static  void  VIC_DummyUART2    (void);
    190          static  void  VIC_DummyUART3    (void);
    191          static  void  VIC_DummyI2C2     (void);
    192          static  void  VIC_DummyI2S      (void);
    193          
    194          /*
    195          ******************************************************************************************************************************
    196          ******************************************************************************************************************************
    197          **                                         Global Functions
    198          ******************************************************************************************************************************
    199          ******************************************************************************************************************************
    200          */
    201          
    202          /*
    203          *********************************************************************************************************
    204          *                                         BSP INITIALIZATION
    205          *
    206          * Description : This function should be called by your application code before you make use of any of the
    207          *               functions found in this module.
    208          *
    209          * Arguements  : None
    210          *
    211          * Returns     : None
    212          *********************************************************************************************************
    213          */
    214          

   \                                 In segment CODE, align 4, keep-with-next
    215          void  BSP_Init (void)
    216          {
   \                     BSP_Init:
   \   00000000   00402DE9           PUSH     {LR}
    217              PLL_Init();                                                 /* Initialize the PLL                                       */
   \   00000004   ........           BL       PLL_Init
    218              MAM_Init();                                                 /* Initialize the Memory Acceleration Module                */
   \   00000008   ........           BL       MAM_Init
    219              GPIO_Init();                                                /* Initialize the board's I/Os                              */
   \   0000000C   ........           BL       GPIO_Init
    220              ADC_Init();                                                 /* Initialize the board's ADCs                              */
   \   00000010   ........           BL       ADC_Init
    221              VIC_Init();                                                 /* Initialize the Vectored Interrupt Controller             */
   \   00000014   ........           BL       VIC_Init
    222              I2C_Init();                                                 /* Initialize the I2C                                       */
   \   00000018   ........           _BLF     I2C_Init,??I2C_Init??rA
    223          
    224              Tmr_TickInit();                                             /* Initialize the uC/OS-II tick interrupt                   */
   \   0000001C   ........           BL       Tmr_TickInit
    225          }
   \   00000020   0080BDE8           POP      {PC}             ;; return
    226          
    227          
    228          /*
    229          *********************************************************************************************************
    230          *                                      Get the CPU Clock Frequency
    231          *
    232          * Description : This function reads CPU registers to determine the CPU clock frequency
    233          *
    234          * Arguements  : None
    235          *
    236          * Returns     : The CPU Core clock in Hz
    237          *
    238          * Notes       : None
    239          *********************************************************************************************************
    240          */
    241          

   \                                 In segment CODE, align 4, keep-with-next
    242          CPU_INT32U  BSP_CPU_ClkFreq (void)
    243          {
   \                     BSP_CPU_ClkFreq:
   \   00000000   00402DE9           PUSH     {LR}
    244              CPU_INT32U  msel;
    245              CPU_INT32U  nsel;
    246              CPU_INT32U  fin;
    247              CPU_INT32U  pll_clk_feq;                                    /* When the PLL is enabled, this is Fcco                    */
    248              CPU_INT32U  clk_div;
    249              CPU_INT32U  clk_freq;
    250          
    251          
    252              switch (CLKSRCSEL & 0x03) {                                 /* Determine the current clock source                       */
   \   00000004   ........           LDR      R0,??DataTable10  ;; 0xffffffffe01fc10c
   \   00000008   000090E5           LDR      R0,[R0, #+0]
   \   0000000C   030010E2           ANDS     R0,R0,#0x3
   \   00000010   020050E3           CMP      R0,#+2
   \   00000014   0B00008A           BHI      ??BSP_CPU_ClkFreq_1
   \   00000018   011F8FE2           ADR      R1,??BSP_CPU_ClkFreq_0
   \   0000001C   0010D1E7           LDRB     R1,[R1, R0]
   \   00000020   01F18FE0           ADD      PC,PC,R1, LSL #+2
   \                     ??BSP_CPU_ClkFreq_0:
   \   00000024   00030600           DC8      +0,+3,+6,+0
    253                  case 0:
    254                       fin        =  IRC_OSC_FRQ;
   \                     ??BSP_CPU_ClkFreq_2:
   \   00000028   B708A0E3           MOV      R0,#+11993088
   \   0000002C   6C0D80E3           ORR      R0,R0,#0x1B00
   \   00000030   060000EA           B        ??BSP_CPU_ClkFreq_3

⌨️ 快捷键说明

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