@@ -1,5 +1,7 @@
|
|||||||
2017-09-04 NIIBE Yutaka <gniibe@fsij.org>
|
2017-09-04 NIIBE Yutaka <gniibe@fsij.org>
|
||||||
|
|
||||||
|
* mcu/sys-stm32f103.h (nvic_system_reset): Add noreturn attribute.
|
||||||
|
|
||||||
* sys.h: Add mcu/sys-gnu-linux.h.
|
* sys.h: Add mcu/sys-gnu-linux.h.
|
||||||
|
|
||||||
* mcu/sys-gnu-linux.c: New.
|
* mcu/sys-gnu-linux.c: New.
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ In the development of Gnuk, we developed:
|
|||||||
|
|
||||||
It is now maintained as example-cdc/sys.c.
|
It is now maintained as example-cdc/sys.c.
|
||||||
|
|
||||||
There is another version in example-led/sys.c, which also support
|
There is another version in example-led/sys.c, which also supports
|
||||||
STM32F030, as well as STM32F103. But, it wouldn't be useful for
|
STM32F030, as well as STM32F103. But, it wouldn't be useful for
|
||||||
STM32F030. In fact, the file example-fsm-55/sys.c has name sys.c
|
STM32F030. In fact, the file example-fsm-55/sys.c has name sys.c
|
||||||
but it doesn't include any system routines.
|
but it doesn't include any system routines.
|
||||||
@@ -74,7 +74,7 @@ Later on, we add another point.
|
|||||||
(3) It is good if the executable of Gnuk could be shared among
|
(3) It is good if the executable of Gnuk could be shared among
|
||||||
different boards.
|
different boards.
|
||||||
|
|
||||||
For (1) and (2), we decided put some useful routines and data which is
|
For (1) and (2), we decided put some useful routines and data which are
|
||||||
not need to be changed.
|
not need to be changed.
|
||||||
|
|
||||||
Now, the first 4KiB of flash ROM consists of:
|
Now, the first 4KiB of flash ROM consists of:
|
||||||
@@ -84,7 +84,7 @@ Now, the first 4KiB of flash ROM consists of:
|
|||||||
|
|
||||||
SYS consists of:
|
SYS consists of:
|
||||||
|
|
||||||
Internal: reset entry, end of RAM
|
Internal: reset entry, address of the end of RAM
|
||||||
Data: board identification
|
Data: board identification
|
||||||
Routines: board specific
|
Routines: board specific
|
||||||
board independent
|
board independent
|
||||||
@@ -94,7 +94,7 @@ and here is the list of all.
|
|||||||
* Internal routines
|
* Internal routines
|
||||||
|
|
||||||
reset entry
|
reset entry
|
||||||
end of RAM
|
address of the end of RAM
|
||||||
|
|
||||||
* Board identification
|
* Board identification
|
||||||
|
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ usb_lld_sys_shutdown (void)
|
|||||||
(*vector[11]) ();
|
(*vector[11]) ();
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void __attribute__((noreturn))
|
||||||
nvic_system_reset (void)
|
nvic_system_reset (void)
|
||||||
{
|
{
|
||||||
(*vector[12]) ();
|
(*vector[12]) ();
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ usb_lld_sys_shutdown (void)
|
|||||||
(*vector[11]) ();
|
(*vector[11]) ();
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void __attribute__((noreturn))
|
||||||
nvic_system_reset (void)
|
nvic_system_reset (void)
|
||||||
{
|
{
|
||||||
(*vector[12]) ();
|
(*vector[12]) ();
|
||||||
|
|||||||
Reference in New Issue
Block a user