mirror of
https://github.com/eddyem/stm32samples.git
synced 2025-12-06 02:35:23 +03:00
add EEPROM emulation snippet
This commit is contained in:
parent
c07884c06d
commit
7a69f7b3e7
9
F0-nolib/Snippets/Flash_EEPROM/Readme
Normal file
9
F0-nolib/Snippets/Flash_EEPROM/Readme
Normal file
@ -0,0 +1,9 @@
|
||||
EEPROM emulation in flash
|
||||
All user data stored in user_conf structure.
|
||||
|
||||
macro/constants:
|
||||
FLASH_CONF_START_ADDR - start address of flash page used
|
||||
maxnum - maximal amount of structures in data
|
||||
|
||||
Call function get_userconf() at the beginning of your code after base initialisation. It will copy data from last non-empty flash storage to variable the_conf (or leave the_conf empty if all flash is clean).
|
||||
Change some data in `the_conf` and after it call store_userconf() to save data in flash. This function returnc 1 in case of error. It will clear the flash page if all indexes used and store at first.
|
||||
162
F0-nolib/Snippets/Flash_EEPROM/flash.c
Normal file
162
F0-nolib/Snippets/Flash_EEPROM/flash.c
Normal file
@ -0,0 +1,162 @@
|
||||
/*
|
||||
* geany_encoding=koi8-r
|
||||
* flash.c
|
||||
*
|
||||
* Copyright 2017 Edward V. Emelianov <eddy@sao.ru, edward.emelianoff@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*
|
||||
*/
|
||||
#include "stm32f0.h"
|
||||
#include <string.h> // memcpy
|
||||
|
||||
#include "flash.h"
|
||||
#include "usart.h"
|
||||
|
||||
// start of configuration data in flash (from 15kB, one kB size)
|
||||
#define FLASH_CONF_START_ADDR ((uint32_t)0x08003C00)
|
||||
static const int maxnum = 1024 / sizeof(user_conf);
|
||||
|
||||
user_conf the_conf = {
|
||||
.userconf_sz = sizeof(user_conf)
|
||||
,.devID = 0
|
||||
,.v12numerator = 1
|
||||
,.v12denominator = 1
|
||||
,.i12numerator = 1
|
||||
,.i12denominator = 1
|
||||
,.v33denominator = 1
|
||||
,.v33numerator = 1
|
||||
,.ESW_thres = 150
|
||||
};
|
||||
|
||||
static int erase_flash();
|
||||
|
||||
static int get_gooddata(){
|
||||
user_conf *c = (user_conf*) FLASH_CONF_START_ADDR;
|
||||
// have data - move it to `the_conf`
|
||||
int idx;
|
||||
//write2trbuf("get_gooddata()\n");
|
||||
for(idx = 0; idx < maxnum; ++idx){ // find current settings index - first good
|
||||
uint16_t sz = c[idx].userconf_sz;
|
||||
/*write2trbuf("idx=");
|
||||
put_int((int32_t) idx);
|
||||
write2trbuf(", sz=");
|
||||
put_uint((uint32_t) sz);
|
||||
write2trbuf(", devID=");
|
||||
put_uint((uint32_t) c[idx].devID);
|
||||
write2trbuf(", ESW_thres=");
|
||||
put_uint((uint32_t) c[idx].ESW_thres);
|
||||
SENDBUF();*/
|
||||
if(sz != sizeof(user_conf)){
|
||||
if(sz == 0xffff) break; // first clear
|
||||
else{
|
||||
return -2; // flash corrupt, need to erase
|
||||
}
|
||||
}
|
||||
}
|
||||
return idx-1; // -1 if there's no data at all & flash is clear; maxnum-1 if flash is full
|
||||
}
|
||||
|
||||
void get_userconf(){
|
||||
user_conf *c = (user_conf*) FLASH_CONF_START_ADDR;
|
||||
int idx = get_gooddata();
|
||||
if(idx < 0) return; // no data stored
|
||||
memcpy(&the_conf, &c[idx], sizeof(user_conf));
|
||||
}
|
||||
|
||||
// store new configuration
|
||||
// @return 0 if all OK
|
||||
int store_userconf(){
|
||||
int ret = 0;
|
||||
user_conf *c = (user_conf*) FLASH_CONF_START_ADDR;
|
||||
int idx = get_gooddata();
|
||||
if(idx == -2 || idx == maxnum - 1){ // data corruption or there's no more place
|
||||
idx = 0;
|
||||
if(erase_flash()) return 1;
|
||||
}else ++idx; // take next data position
|
||||
/*write2trbuf("store_userconf()\nidx=");
|
||||
put_int((int32_t) idx);
|
||||
SENDBUF();*/
|
||||
if (FLASH->CR & FLASH_CR_LOCK){ // unloch flash
|
||||
FLASH->KEYR = FLASH_FKEY1;
|
||||
FLASH->KEYR = FLASH_FKEY2;
|
||||
}
|
||||
while (FLASH->SR & FLASH_SR_BSY);
|
||||
if(FLASH->SR & FLASH_SR_WRPERR) return 1; // write protection
|
||||
FLASH->SR = FLASH_SR_EOP | FLASH_SR_PGERR | FLASH_SR_WRPERR; // clear all flags
|
||||
FLASH->CR |= FLASH_CR_PG;
|
||||
uint16_t *data = (uint16_t*) &the_conf;
|
||||
uint16_t *address = (uint16_t*) &c[idx];
|
||||
uint32_t i, count = sizeof(user_conf) / 2;
|
||||
for (i = 0; i < count; ++i){
|
||||
*(volatile uint16_t*)(address + i) = data[i];
|
||||
while (FLASH->SR & FLASH_SR_BSY);
|
||||
if(FLASH->SR & FLASH_SR_PGERR) ret = 1; // program error - meet not 0xffff
|
||||
else while (!(FLASH->SR & FLASH_SR_EOP));
|
||||
/*write2trbuf("write byte ");
|
||||
put_int((int32_t) i);
|
||||
write2trbuf(", write value=");
|
||||
put_uint(data[i]);
|
||||
write2trbuf(", read value=");
|
||||
put_uint(address[i]);
|
||||
SENDBUF();
|
||||
if(ret){
|
||||
write2trbuf("PGERR");
|
||||
SENDBUF();*/
|
||||
}
|
||||
FLASH->SR = FLASH_SR_EOP | FLASH_SR_PGERR | FLASH_SR_WRPERR;
|
||||
}
|
||||
FLASH->CR &= ~(FLASH_CR_PG);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
static int erase_flash(){
|
||||
int ret = 0;
|
||||
/*write2trbuf("erase_flash()");
|
||||
SENDBUF();*/
|
||||
/* (1) Wait till no operation is on going */
|
||||
/* (2) Clear error & EOP bits */
|
||||
/* (3) Check that the Flash is unlocked */
|
||||
/* (4) Perform unlock sequence */
|
||||
while ((FLASH->SR & FLASH_SR_BSY) != 0){} /* (1) */
|
||||
FLASH->SR = FLASH_SR_EOP | FLASH_SR_PGERR | FLASH_SR_WRPERR; /* (2) */
|
||||
/* if (FLASH->SR & FLASH_SR_EOP){
|
||||
FLASH->SR |= FLASH_SR_EOP;
|
||||
}*/
|
||||
if ((FLASH->CR & FLASH_CR_LOCK) != 0){ /* (3) */
|
||||
FLASH->KEYR = FLASH_FKEY1; /* (4) */
|
||||
FLASH->KEYR = FLASH_FKEY2;
|
||||
}
|
||||
/* (1) Set the PER bit in the FLASH_CR register to enable page erasing */
|
||||
/* (2) Program the FLASH_AR register to select a page to erase */
|
||||
/* (3) Set the STRT bit in the FLASH_CR register to start the erasing */
|
||||
/* (4) Wait until the EOP flag in the FLASH_SR register set */
|
||||
/* (5) Clear EOP flag by software by writing EOP at 1 */
|
||||
/* (6) Reset the PER Bit to disable the page erase */
|
||||
FLASH->CR |= FLASH_CR_PER; /* (1) */
|
||||
FLASH->AR = FLASH_CONF_START_ADDR; /* (2) */
|
||||
FLASH->CR |= FLASH_CR_STRT; /* (3) */
|
||||
while(!(FLASH->SR & FLASH_SR_EOP));
|
||||
FLASH->SR |= FLASH_SR_EOP; /* (5)*/
|
||||
if(FLASH->SR & FLASH_SR_WRPERR){ /* Check Write protection error */
|
||||
ret = 1;
|
||||
FLASH->SR |= FLASH_SR_WRPERR; /* Clear the flag by software by writing it at 1*/
|
||||
}
|
||||
FLASH->CR &= ~FLASH_CR_PER; /* (6) */
|
||||
return ret;
|
||||
}
|
||||
|
||||
46
F0-nolib/Snippets/Flash_EEPROM/flash.h
Normal file
46
F0-nolib/Snippets/Flash_EEPROM/flash.h
Normal file
@ -0,0 +1,46 @@
|
||||
/*
|
||||
* geany_encoding=koi8-r
|
||||
* flash.h
|
||||
*
|
||||
* Copyright 2017 Edward V. Emelianov <eddy@sao.ru, edward.emelianoff@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifndef __FLASH_H__
|
||||
#define __FLASH_H__
|
||||
|
||||
typedef struct{
|
||||
uint16_t userconf_sz; // size of data
|
||||
uint16_t devID; // device address (id)
|
||||
uint16_t ESW_thres; // ADC threshold for end-switches/Hall sensors
|
||||
// calibration values for current/voltage sensors
|
||||
uint16_t v12numerator; // 12V to motors
|
||||
uint16_t v12denominator;
|
||||
uint16_t i12numerator; // motors' current
|
||||
uint16_t i12denominator;
|
||||
uint16_t v33numerator; // 3.3V (vref)
|
||||
uint16_t v33denominator;
|
||||
} user_conf;
|
||||
|
||||
extern user_conf the_conf;
|
||||
|
||||
void get_userconf();
|
||||
int store_userconf();
|
||||
|
||||
#endif // __FLASH_H__
|
||||
4
F0-nolib/Snippets/Readme.md
Normal file
4
F0-nolib/Snippets/Readme.md
Normal file
@ -0,0 +1,4 @@
|
||||
Some snippets
|
||||
=============
|
||||
|
||||
* Flash_EEPROM - EEPROM emulation in flash
|
||||
@ -32,6 +32,9 @@
|
||||
#define NULL (0)
|
||||
#endif
|
||||
|
||||
// some good things from CMSIS
|
||||
#define nop() __NOP()
|
||||
|
||||
/************************* RCC *************************/
|
||||
// reset clocking registers
|
||||
TRUE_INLINE void sysreset(void){
|
||||
@ -62,7 +65,7 @@ TRUE_INLINE void sysreset(void){
|
||||
#elif defined (STM32F091xC) || defined (STM32F098xx)
|
||||
/* Reset USART3SW[1:0], USART2SW[1:0], USART1SW[1:0], I2C1SW, CECSW and ADCSW bits */
|
||||
RCC->CFGR3 &= (uint32_t)0xFFF0FEAC;
|
||||
#elif defined (STM32F030x6) || defined (STM32F030x8) || defined (STM32F031x6) || defined (STM32F038xx) || defined (STM32F030xC)
|
||||
#elif defined (STM32F030x4) || defined (STM32F030x6) || defined (STM32F030x8) || defined (STM32F031x6) || defined (STM32F038xx) || defined (STM32F030xC)
|
||||
/* Reset USART1SW[1:0], I2C1SW and ADCSW bits */
|
||||
RCC->CFGR3 &= (uint32_t)0xFFFFFEEC;
|
||||
#elif defined (STM32F051x8) || defined (STM32F058xx)
|
||||
@ -91,7 +94,7 @@ TRUE_INLINE void sysreset(void){
|
||||
RCC->CFGR |= RCC_CFGR_PPRE_DIV1;
|
||||
/* PLL configuration = (HSI/2) * 12 = ~48 MHz */
|
||||
RCC->CFGR &= ~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLMUL);
|
||||
RCC->CFGR |= RCC_CFGR_PLLSRC_HSI_DIV2 | RCC_CFGR_PLLMUL12;
|
||||
RCC->CFGR |= RCC_CFGR_PLLMUL12;
|
||||
/* Enable PLL */
|
||||
RCC->CR |= RCC_CR_PLLON;
|
||||
/* Wait till PLL is ready */
|
||||
@ -116,6 +119,7 @@ TRUE_INLINE void StartHSE(){
|
||||
while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL){}
|
||||
}
|
||||
|
||||
#if !defined (STM32F030x4) && !defined (STM32F030x6) && !defined (STM32F030x8) && !defined (STM32F031x6) && !defined (STM32F038xx) && !defined (STM32F030xC)
|
||||
TRUE_INLINE void StartHSI48(){
|
||||
// disable PLL
|
||||
RCC->CR &= ~RCC_CR_PLLON;
|
||||
@ -130,6 +134,7 @@ TRUE_INLINE void StartHSI48(){
|
||||
RCC->CFGR |= RCC_CFGR_SW_HSI48;
|
||||
while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_HSI48){}
|
||||
}
|
||||
#endif
|
||||
|
||||
/************************* GPIO *************************/
|
||||
|
||||
@ -202,7 +207,14 @@ TRUE_INLINE void StartHSI48(){
|
||||
#define TEMP30_CAL_ADDR ((uint16_t*) ((uint32_t) 0x1FFFF7B8))
|
||||
// VDDA_Actual = 3.3V * VREFINT_CAL / average vref value
|
||||
#define VREFINT_CAL_ADDR ((uint16_t*) ((uint32_t) 0x1FFFF7BA))
|
||||
#define VDD_CALIB ((uint16_t) (330))
|
||||
#define VDD_APPLI ((uint16_t) (300))
|
||||
|
||||
/************************* USART *************************/
|
||||
|
||||
#define USART_CR2_ADD_SHIFT 24
|
||||
// set address/character match value
|
||||
#define USART_CR2_ADD_VAL(x) ((x) << USART_CR2_ADD_SHIFT)
|
||||
|
||||
//#define do{}while(0)
|
||||
|
||||
|
||||
@ -64,7 +64,7 @@
|
||||
* @{
|
||||
*/
|
||||
|
||||
#if !defined (STM32F030x6) && !defined (STM32F030x8) && \
|
||||
#if !defined (STM32F030x4) && !defined (STM32F030x6) && !defined (STM32F030x8) && \
|
||||
!defined (STM32F031x6) && !defined (STM32F038xx) && \
|
||||
!defined (STM32F042x6) && !defined (STM32F048xx) && !defined (STM32F070x6) && \
|
||||
!defined (STM32F051x8) && !defined (STM32F058xx) && \
|
||||
@ -139,7 +139,9 @@ void WEAK usb_isr(void);
|
||||
*/
|
||||
|
||||
// arch-dependent defines
|
||||
#if defined(STM32F030x6)
|
||||
#if defined(STM32F030x4)
|
||||
#include "stm32f030x6.h"
|
||||
#elif defined(STM32F030x6)
|
||||
#include "stm32f030x6.h"
|
||||
#elif defined(STM32F030x8)
|
||||
#include "stm32f030x8.h"
|
||||
|
||||
@ -1,46 +0,0 @@
|
||||
mk/cdcacm.o: cdcacm.c cdcacm.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/usb/usbd.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/usb/usbstd.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/include/stdint.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/stdint.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/_ansi.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/newlib.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/config.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/ieeefp.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/features.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/common.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/include/stdbool.h user_proto.h main.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/stdlib.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/_ansi.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/include/stddef.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/reent.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/_types.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/_types.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/_default_types.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/lock.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/stdlib.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/alloca.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/string.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/cdefs.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/string.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/gpio.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/memorymap.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/memorymap.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/memorymap.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/gpio.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/common/gpio_common_all.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/nvic.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/dispatch/nvic.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/nvic.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/usb/cdc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/systick.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/rcc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/rcc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/common/rcc_common_all.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/adc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/adc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/common/adc_common_v1.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/timer.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/timer.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/common/timer_common_all.h \
|
||||
sync.h
|
||||
Binary file not shown.
@ -1,46 +0,0 @@
|
||||
mk/hardware_ini.o: hardware_ini.c main.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/stdlib.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/ieeefp.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/_ansi.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/newlib.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/config.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/features.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/include/stddef.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/reent.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/_ansi.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/_types.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/_types.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/_default_types.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/lock.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/stdlib.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/alloca.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/string.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/cdefs.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/string.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/gpio.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/common.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/include/stdint.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/stdint.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/include/stdbool.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/memorymap.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/memorymap.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/memorymap.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/gpio.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/common/gpio_common_all.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/nvic.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/dispatch/nvic.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/nvic.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/usb/cdc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/usb/usbd.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/usb/usbstd.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/systick.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/rcc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/rcc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/common/rcc_common_all.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/adc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/adc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/common/adc_common_v1.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/timer.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/timer.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/common/timer_common_all.h \
|
||||
sync.h user_proto.h cdcacm.h hardware_ini.h
|
||||
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -1,46 +0,0 @@
|
||||
mk/main.o: main.c main.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/stdlib.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/ieeefp.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/_ansi.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/newlib.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/config.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/features.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/include/stddef.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/reent.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/_ansi.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/_types.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/_types.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/_default_types.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/lock.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/stdlib.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/alloca.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/string.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/cdefs.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/string.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/gpio.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/common.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/include/stdint.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/stdint.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/include/stdbool.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/memorymap.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/memorymap.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/memorymap.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/gpio.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/common/gpio_common_all.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/nvic.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/dispatch/nvic.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/nvic.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/usb/cdc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/usb/usbd.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/usb/usbstd.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/systick.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/rcc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/rcc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/common/rcc_common_all.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/adc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/adc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/common/adc_common_v1.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/timer.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/timer.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/common/timer_common_all.h \
|
||||
sync.h user_proto.h cdcacm.h hardware_ini.h timer.h
|
||||
Binary file not shown.
@ -1,10 +0,0 @@
|
||||
mk/sync.o: sync.c /usr/local/arm-none-eabi/include/libopencm3/cm3/sync.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/common.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/include/stdint.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/stdint.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/_ansi.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/newlib.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/config.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/ieeefp.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/features.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/include/stdbool.h
|
||||
Binary file not shown.
@ -1,46 +0,0 @@
|
||||
mk/timer.o: timer.c timer.h main.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/stdlib.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/ieeefp.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/_ansi.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/newlib.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/config.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/features.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/include/stddef.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/reent.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/_ansi.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/_types.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/_types.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/_default_types.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/lock.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/stdlib.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/alloca.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/string.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/cdefs.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/string.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/gpio.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/common.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/include/stdint.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/stdint.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/include/stdbool.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/memorymap.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/memorymap.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/memorymap.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/gpio.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/common/gpio_common_all.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/nvic.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/dispatch/nvic.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/nvic.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/usb/cdc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/usb/usbd.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/usb/usbstd.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/systick.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/rcc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/rcc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/common/rcc_common_all.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/adc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/adc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/common/adc_common_v1.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/timer.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/timer.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/common/timer_common_all.h \
|
||||
sync.h user_proto.h cdcacm.h hardware_ini.h
|
||||
Binary file not shown.
@ -1,46 +0,0 @@
|
||||
mk/user_proto.o: user_proto.c cdcacm.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/usb/usbd.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/usb/usbstd.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/include/stdint.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/stdint.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/_ansi.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/newlib.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/config.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/ieeefp.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/features.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/common.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/include/stdbool.h main.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/stdlib.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/_ansi.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/include/stddef.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/reent.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/_types.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/_types.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/_default_types.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/lock.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/machine/stdlib.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/alloca.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/string.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/cdefs.h \
|
||||
/usr/lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/include/sys/string.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/gpio.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/memorymap.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/memorymap.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/memorymap.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/gpio.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/common/gpio_common_all.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/nvic.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/dispatch/nvic.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/nvic.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/usb/cdc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/cm3/systick.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/rcc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/rcc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/common/rcc_common_all.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/adc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/adc.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/common/adc_common_v1.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/timer.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/f1/timer.h \
|
||||
/usr/local/arm-none-eabi/include/libopencm3/stm32/common/timer_common_all.h \
|
||||
sync.h user_proto.h hardware_ini.h timer.h
|
||||
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user