@@ -96,6 +96,7 @@ OBJCOPY=$(TOOLCHAIN_PATH)/$(TOOLCHAIN_PR
AS=$(TOOLCHAIN_PATH)/$(TOOLCHAIN_PREFIX)-as
AR=$(TOOLCHAIN_PATH)/$(TOOLCHAIN_PREFIX)-ar
GDB=$(TOOLCHAIN_PATH)/$(TOOLCHAIN_PREFIX)-gdb
SIZE=$(TOOLCHAIN_PATH)/$(TOOLCHAIN_PREFIX)-size
all: $(OBJ)
@@ -110,3 +111,9 @@ clean:
rm -f $(TARGET).elf
rm -f $(TARGET).hex
rm -f $(TARGET).bin
# Display size
size: $(TARGET).elf
@echo Invoking: ARM GNU Print Size
$(SIZE) --format=berkeley $<
@echo
@@ -6,6 +6,54 @@ static __IO uint32_t TimingDelay;
uint8_t BlinkSpeed = 0;
ErrorStatus HSEStartUpStatus;
// Clock config
void RCC_Configuration(void)
{
/* RCC system reset(for debug purpose) */
RCC_DeInit();
/* Enable HSE */
RCC_HSEConfig(RCC_HSE_ON);
/* Wait till HSE is ready */
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if(HSEStartUpStatus == SUCCESS)
/* HCLK = SYSCLK */
RCC_HCLKConfig(RCC_SYSCLK_Div1);
/* PCLK2 = HCLK */
RCC_PCLK2Config(RCC_HCLK_Div1);
/* PCLK1 = HCLK/2 */
RCC_PCLK1Config(RCC_HCLK_Div2);
/* PLLCLK = 8MHz * 8 = ?? MHz */
RCC_PLLConfig(RCC_PLLSource_HSE, RCC_PLLMul_8, RCC_PLLDiv_2);
/* Enable PLL */
RCC_PLLCmd(ENABLE);
/* Wait till PLL is ready */
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
}
/* Select PLL as system clock source */
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
/* Wait till PLL is used as system clock source */
while(RCC_GetSYSCLKSource() != 0x08)
/* Enable GPIO_LED clock */
// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO_LED, ENABLE);
/* Main */
int main(void)
@@ -16,6 +64,7 @@ int main(void)
STM_EVAL_LEDInit(LED4);
// RCC_Configuration();
/* Initialize User_Button on STM32L100C-Discovery */
//STM_EVAL_PBInit(BUTTON_USER, BUTTON_MODE_GPIO);
@@ -26,6 +75,10 @@ int main(void)
/* Initiate Blink Speed variable */
BlinkSpeed = 1;
while(1) {
ITM_SendChar('!');
/* Init lcd driver */
SSD1303_Init();
SSD1303_DrawPoint(3,3,1);
Status change: