##// END OF EJS Templates
Removed error on fat32 library, seems now to be able navigate among sectors in...
Removed error on fat32 library, seems now to be able navigate among sectors in both directions. Improved SDLCD drawing performances by almost 1000x.

File last commit:

r63:68dfbccdd813 dev_alexis
r68:104125d87b89 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);
}
}