mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-08-19 17:48:33 -04:00
Add FreeRTOS-Plus directory.
This commit is contained in:
parent
7bd5f21ad5
commit
f508a5f653
6798 changed files with 134949 additions and 19 deletions
|
@ -0,0 +1,86 @@
|
|||
/*
|
||||
* File: mcf52221_sysinit.c
|
||||
* Purpose: Power-on Reset configuration of the MCF52221.
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
*/
|
||||
#include "support_common.h"
|
||||
#include "exceptions.h"
|
||||
|
||||
|
||||
|
||||
/********************************************************************/
|
||||
static void pll_init(void)
|
||||
{
|
||||
|
||||
MCF_CLOCK_CCHR =0x05; // The PLL pre divider - 48MHz / 6 = 8MHz
|
||||
|
||||
/* The PLL pre-divider affects this!!!
|
||||
* Multiply 8Mhz reference crystal /CCHR by 10 to acheive system clock of 80Mhz
|
||||
*/
|
||||
|
||||
MCF_CLOCK_SYNCR = MCF_CLOCK_SYNCR_MFD(3) | MCF_CLOCK_SYNCR_CLKSRC| MCF_CLOCK_SYNCR_PLLMODE | MCF_CLOCK_SYNCR_PLLEN ;
|
||||
|
||||
while (!(MCF_CLOCK_SYNSR & MCF_CLOCK_SYNSR_LOCK))
|
||||
{
|
||||
}
|
||||
}
|
||||
/********************************************************************/
|
||||
static void scm_init(void)
|
||||
{
|
||||
/*
|
||||
* Enable on-chip modules to access internal SRAM
|
||||
*/
|
||||
MCF_SCM_RAMBAR = (0
|
||||
| MCF_SCM_RAMBAR_BA(RAMBAR_ADDRESS)
|
||||
| MCF_SCM_RAMBAR_BDE);
|
||||
}
|
||||
|
||||
/********************************************************************/
|
||||
|
||||
/*
|
||||
* Out of reset, the low-level assembly code calls this routine to
|
||||
* initialize the mcf5206e for this board. A temporary stack has been
|
||||
* setup in the internal SRAM, and the stack pointer will be changed
|
||||
* to point to DRAM once this routine returns.
|
||||
*/
|
||||
void __initialize_hardware(void)
|
||||
{
|
||||
/*******************************************************
|
||||
* Out of reset, the low-level assembly code calls this
|
||||
* routine to initialize the MCF52221 modules for the
|
||||
* M522223EVB board.
|
||||
********************************************************/
|
||||
|
||||
|
||||
asm
|
||||
{
|
||||
/* Initialize IPSBAR */
|
||||
move.l #__IPSBAR,d0
|
||||
andi.l #0xC0000000,d0 // need to mask
|
||||
add.l #0x1,d0
|
||||
move.l d0,0x40000000
|
||||
|
||||
|
||||
|
||||
/* Initialize FLASHBAR */
|
||||
move.l #__FLASHBAR,d0
|
||||
andi.l #0xFFF80000,d0 // need to mask
|
||||
add.l #0x61,d0
|
||||
movec d0,FLASHBAR
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* Set real time clock freq */
|
||||
MCF_CLOCK_RTCDR = 48000000;
|
||||
|
||||
pll_init();
|
||||
scm_init();
|
||||
|
||||
initialize_exceptions();
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue