##// END OF EJS Templates
Added Simulator target to run code on x86 and debug functions....
Added Simulator target to run code on x86 and debug functions. Fixed some bugs on terminal widget.

File last commit:

r63:68dfbccdd813 dev_alexis
r63:68dfbccdd813 dev_alexis
Show More
cpuinit.c
63 lines | 1.5 KiB | text/x-c | CLexer
#include "stm32f4xx.h"
#include <stdint.h>
#include <stdlib.h>
#include <stdio.h>
#include <bsp.h>
#include <stm32f4xx_rcc.h>
#include <core.h>
extern int main();
void cpu_init()
{
extern uint32_t currentCpuFreq;
#ifndef CPUFREQ
#define CPUFREQ (16*1000*1000)
#endif
currentCpuFreq = CPUFREQ;
enable_FPU();
RCC->CR |= (uint32_t)0x00000001;
FLASH->ACR = FLASH_ACR_ICEN |FLASH_ACR_DCEN |FLASH_ACR_LATENCY_5WS;
reset_AHB1();
reset_AHB2();
reset_APB1();
reset_APB2();
RCC->CR |= (uint32_t)0x00000001;
FLASH->ACR = FLASH_ACR_ICEN |FLASH_ACR_DCEN |FLASH_ACR_LATENCY_5WS;
RCC->CFGR = 0x00000000;
RCC->CIR = 0x00000000;
SCB->VTOR = FLASH_BASE;
RCC->APB1ENR |= RCC_APB1ENR_PWREN;
PWR->CR |= PWR_CR_PMODE;
currentCpuFreq=setCpuFreq(currentCpuFreq);
currentCpuFreq=getCpuFreq();
configureSysTick();
bsp_init();
printf("SysTick Configured to reach 100us period\n\r");
RCC_ClocksTypeDef RCC_ClocksStatus;
RCC_GetClocksFreq(&RCC_ClocksStatus);
printf("PLL Configured got:\n\r SYS=%uHz\n\r CPU=%uHz\n\r APB1=%uHz\n\r APB2=%uHz\n\r",(unsigned int)RCC_ClocksStatus.SYSCLK_Frequency,(unsigned int)RCC_ClocksStatus.HCLK_Frequency,(unsigned int)RCC_ClocksStatus.PCLK1_Frequency,(unsigned int)RCC_ClocksStatus.PCLK2_Frequency);
printf("Enter Main\n\r");
int res=main();
printf("\n\rprogram exited with code ");
printf("%u",res);
printf("\n\r");
while(1)
{
delay_100us(10000);
gpioset(LED2);
delay_100us(10000);
gpioclr(LED2);
}
}