aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2015-05-14 13:04:58 +0200
committerJakob Odersky <jodersky@gmail.com>2015-05-14 13:04:58 +0200
commita0f69cb0bc4be17431849753c6f7b720cec7f6a5 (patch)
tree3683c033f076c2a23b194b9a7f5c16de15b733a3
parente4031ca37046ada989cc92abe79329f64f885e3c (diff)
downloadpx4-firmware-a0f69cb0bc4be17431849753c6f7b720cec7f6a5.tar.gz
px4-firmware-a0f69cb0bc4be17431849753c6f7b720cec7f6a5.tar.bz2
px4-firmware-a0f69cb0bc4be17431849753c6f7b720cec7f6a5.zip
implement device id
-rwxr-xr-xnuttx-configs/trifle/scripts/ld.script5
-rw-r--r--src/drivers/boards/trifle/board_config.h4
-rw-r--r--src/drivers/boards/trifle/idconfig.c8
-rw-r--r--src/drivers/boards/trifle/module.mk6
-rw-r--r--src/drivers/boards/trifle/pwmconfig.c (renamed from src/drivers/boards/trifle/devconfig.c)0
-rw-r--r--src/drivers/kinetis/drv_hrt.c2
6 files changed, 20 insertions, 5 deletions
diff --git a/nuttx-configs/trifle/scripts/ld.script b/nuttx-configs/trifle/scripts/ld.script
index 23e6a5174..c721346f3 100755
--- a/nuttx-configs/trifle/scripts/ld.script
+++ b/nuttx-configs/trifle/scripts/ld.script
@@ -69,6 +69,11 @@ SECTIONS
KEEP(*(.cfmconfig))
} > cfmprotect
+ .idconfig : {
+ __device_id = ABSOLUTE(.);
+ KEEP(*(.idconfig))
+ } > progflash
+
.text : {
_stext = ABSOLUTE(.);
KEEP(*(.text .text.*))
diff --git a/src/drivers/boards/trifle/board_config.h b/src/drivers/boards/trifle/board_config.h
index 5ebae1973..d860bb906 100644
--- a/src/drivers/boards/trifle/board_config.h
+++ b/src/drivers/boards/trifle/board_config.h
@@ -4,8 +4,8 @@
#include <nuttx/config.h>
#include <stdbool.h>
-//totally random
-#define UDID_START 0x2000000
+extern uint32_t __device_id;
+#define UDID_START __device_id
#define GPIO_LED0 (PIN_PORTC | PIN5 | GPIO_HIGHDRIVE | GPIO_OUTPUT_ONE)
diff --git a/src/drivers/boards/trifle/idconfig.c b/src/drivers/boards/trifle/idconfig.c
new file mode 100644
index 000000000..8fb80f987
--- /dev/null
+++ b/src/drivers/boards/trifle/idconfig.c
@@ -0,0 +1,8 @@
+#include <modules/systemlib/otp.h>
+
+__attribute__ ((section(".idconfig")))
+uint32_t device_id[] = {
+ 0xdeadbeef,
+ 0xdeadbeef,
+ 0xdeadbeef
+};
diff --git a/src/drivers/boards/trifle/module.mk b/src/drivers/boards/trifle/module.mk
index 7c4e4a525..6d553749a 100644
--- a/src/drivers/boards/trifle/module.mk
+++ b/src/drivers/boards/trifle/module.mk
@@ -2,6 +2,10 @@
# Board-specific startup code for the CONDOR
#
-SRCS = cfmconfig.c devconfig.c up_boot.c up_leds.c
+SRCS = cfmconfig.c \
+ pwmconfig.c \
+ idconfig.c \
+ up_boot.c \
+ up_leds.c
MAXOPTIMIZATION = -Os
diff --git a/src/drivers/boards/trifle/devconfig.c b/src/drivers/boards/trifle/pwmconfig.c
index 1fec4acd6..1fec4acd6 100644
--- a/src/drivers/boards/trifle/devconfig.c
+++ b/src/drivers/boards/trifle/pwmconfig.c
diff --git a/src/drivers/kinetis/drv_hrt.c b/src/drivers/kinetis/drv_hrt.c
index 90714b7ba..8a765c970 100644
--- a/src/drivers/kinetis/drv_hrt.c
+++ b/src/drivers/kinetis/drv_hrt.c
@@ -178,5 +178,3 @@ void hrt_init(void)
{
}
-
-__END_DECLS