diff options
author | David Sidrane <david_s5@nscdg.com> | 2015-03-25 15:01:05 -1000 |
---|---|---|
committer | David Sidrane <david_s5@nscdg.com> | 2015-03-25 15:01:05 -1000 |
commit | 497fd6b0891a1e564c66da9b8c0a9bfda4a62412 (patch) | |
tree | c1a49cf8cb85e5547dc873915de795a8cc05cdd4 /src/modules/systemlib/mcu_version.c | |
parent | 4237815b16f51774e853de61c494104adb7852c9 (diff) | |
download | px4-firmware-497fd6b0891a1e564c66da9b8c0a9bfda4a62412.tar.gz px4-firmware-497fd6b0891a1e564c66da9b8c0a9bfda4a62412.tar.bz2 px4-firmware-497fd6b0891a1e564c66da9b8c0a9bfda4a62412.zip |
Serial number address fixed, added F103 Chip ID - not complete
Diffstat (limited to 'src/modules/systemlib/mcu_version.c')
-rw-r--r-- | src/modules/systemlib/mcu_version.c | 45 |
1 files changed, 35 insertions, 10 deletions
diff --git a/src/modules/systemlib/mcu_version.c b/src/modules/systemlib/mcu_version.c index 24f4e4207..f152aad23 100644 --- a/src/modules/systemlib/mcu_version.c +++ b/src/modules/systemlib/mcu_version.c @@ -47,15 +47,24 @@ #ifdef CONFIG_ARCH_CHIP_STM32 #include <up_arch.h> -#define DBGMCU_IDCODE 0xE0042000 //STM DocID018909 Rev 8 Sect 38.18 (MCU device ID code) -#define UNIQUE_ID 0x1FFF7A10 //STM DocID018909 Rev 8 Sect 39.1 (Unique device ID Register) +# define DBGMCU_IDCODE 0xE0042000 //STM DocID018909 Rev 8 Sect 38.18 (MCU device ID code) +# define REVID_MASK 0xFFFF0000 +# define DEVID_MASK 0xFFF -#define STM32F40x_41x 0x413 -#define STM32F42x_43x 0x419 - -#define REVID_MASK 0xFFFF0000 -#define DEVID_MASK 0xFFF +# define STM32F40x_41x 0x413 +# define STM32F42x_43x 0x419 +# define STM32F103_LD 0x412 +# define STM32F103_MD 0x410 +# define STM32F103_HD 0x414 +# define STM32F103_XLD 0x430 +# define STM32F103_CON 0x418 +# if defined(CONFIG_STM32_STM32F40XX) +# define UNIQUE_ID 0x1FFF7A10 //STM DocID018909 Rev 8 Sect 39.1 (Unique device ID Register) +# endif +# if defined(CONFIG_STM32_STM32F10XX) +# define UNIQUE_ID 0x1FFFF7E8 //STM DocID13902 Rev 14 Sect 30.2 (Unique device ID Register) +# endif #endif /** Copy the 96bit MCU Unique ID into the provided pointer */ @@ -78,9 +87,24 @@ int mcu_version(char* rev, char** revstr) case STM32F40x_41x: *revstr = "STM32F40x"; break; - case STM32F42x_43x: - *revstr = "STM32F42x"; - break; + case STM32F42x_43x: + *revstr = "STM32F42x"; + break; + case STM32F103_LD: + *revstr = "STM32F1xx Low"; + break; + case STM32F103_MD: + *revstr = "STM32F1xx Med"; + break; + case STM32F103_HD: + *revstr = "STM32F1xx Hi"; + break; + case STM32F103_XLD: + *revstr = "STM32F1xx XL"; + break; + case STM32F103_CON: + *revstr = "STM32F1xx Con"; + break; default: *revstr = "STM32F???"; break; @@ -104,6 +128,7 @@ int mcu_version(char* rev, char** revstr) *rev = '3'; break; default: + // todo add rev for 103 - if needed *rev = '?'; revid = -1; break; |