123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- /*
- * File : board.c
- * This file is part of RT-Thread RTOS
- * COPYRIGHT (C) 2006-2011, RT-Thread Development Team
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rt-thread.org/license/LICENSE
- *
- * Change Logs:
- * Date Author Notes
- * 2011-05-23 aozima first implementation for PIC32.
- */
- // Adds support for PIC32 Peripheral library functions and macros
- #include <plib.h>
- // Configuration Bits
- #pragma config FNOSC = PRIPLL // Oscillator Selection
- #pragma config FPLLIDIV = DIV_2 // PLL Input Divider (PIC32 Starter Kit: use divide by 2 only)
- #pragma config FPLLMUL = MUL_20 // PLL Multiplier
- #pragma config FPLLODIV = DIV_1 // PLL Output Divider
- #pragma config FPBDIV = DIV_1 // Peripheral Clock divisor
- #pragma config FWDTEN = OFF // Watchdog Timer
- #pragma config WDTPS = PS1 // Watchdog Timer Postscale
- #pragma config FCKSM = CSDCMD // Clock Switching & Fail Safe Clock Monitor
- #pragma config OSCIOFNC = OFF // CLKO Enable
- #pragma config POSCMOD = XT // Primary Oscillator
- #pragma config IESO = OFF // Internal/External Switch-over
- #pragma config FSOSCEN = OFF // Secondary Oscillator Enable
- #pragma config CP = OFF // Code Protect
- #pragma config BWP = OFF // Boot Flash Write Protect
- #pragma config PWP = OFF // Program Flash Write Protect
- #pragma config ICESEL = ICS_PGx2 // ICE/ICD Comm Channel Select
- #pragma config DEBUG = OFF // Debugger Disabled for Starter Kit
- // The following is used by the main application
- #define SYS_FREQ (80000000)
- static void rt_hw_show_info(void)
- {
- rt_kprintf("\r\n\r\n---------- board info ----------\r\n");
- rt_kprintf("DEVICE_FAMILY: PIC32\r\n");
- rt_kprintf("CPU_ARCHITECTURE: MIPS\r\n");
- rt_kprintf("CPU_FREQ: %uMHz\r\n",SYS_FREQ/1000000UL);
- }
- /**
- * This function will initial FM3 Easy Kit board.
- */
- void rt_hw_board_init()
- {
- // Configure the device for maximum performance, but do not change the PBDIV clock divisor.
- // Given the options, this function will change the program Flash wait states,
- // RAM wait state and enable prefetch cache, but will not change the PBDIV.
- // The PBDIV value is already set via the pragma FPBDIV option above.
- SYSTEMConfig(SYS_FREQ, SYS_CFG_WAIT_STATES | SYS_CFG_PCACHE);
- rt_hw_console_init();
- rt_hw_show_info();
- }
|