mirror of https://github.com/ARMmbed/mbed-os.git
Fix last issues
Imports working McuBoot for reset. Updates microsec ticker driver. Default baudrate is set to 115200 to see TF-M boot messages. Stack top is set to scatter file dependent and not hard-coded.pull/9221/head
parent
bde2557629
commit
40627a5220
|
@ -130,6 +130,12 @@
|
|||
}
|
||||
},
|
||||
"target_overrides": {
|
||||
"ARM_MUSCA_A1_NS": {
|
||||
"stdio-baud-rate": 115200
|
||||
},
|
||||
"ARM_MUSCA_A1_S": {
|
||||
"stdio-baud-rate": 115200
|
||||
},
|
||||
"EFM32": {
|
||||
"stdio-baud-rate": 115200
|
||||
},
|
||||
|
|
|
@ -23,8 +23,6 @@
|
|||
;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
|
||||
;*/
|
||||
|
||||
__initial_sp EQU 0x20020000 ; Top of RAM
|
||||
|
||||
; Vector Table Mapped to Address 0 at Reset
|
||||
|
||||
AREA VECTOR, DATA, READONLY
|
||||
|
@ -32,102 +30,104 @@ __initial_sp EQU 0x20020000 ; Top of RAM
|
|||
EXPORT __Vectors_End
|
||||
EXPORT __Vectors_Size
|
||||
|
||||
IMPORT |Image$$ARM_LIB_STACK$$ZI$$Limit|
|
||||
|
||||
__Vectors ;Core Interrupts
|
||||
DCD __initial_sp ; Top of Stack
|
||||
DCD Reset_Handler ; Reset Handler
|
||||
DCD NMI_Handler ; NMI Handler
|
||||
DCD HardFault_Handler ; Hard Fault Handler
|
||||
DCD MemManage_Handler ; MPU Fault Handler
|
||||
DCD BusFault_Handler ; Bus Fault Handler
|
||||
DCD UsageFault_Handler ; Usage Fault Handler
|
||||
DCD 0 ; Reserved
|
||||
DCD 0 ; Reserved
|
||||
DCD 0 ; Reserved
|
||||
DCD 0 ; Reserved
|
||||
DCD SVC_Handler ; SVCall Handler
|
||||
DCD DebugMon_Handler ; Debug Monitor Handler
|
||||
DCD 0 ; Reserved
|
||||
DCD PendSV_Handler ; PendSV Handler
|
||||
DCD SysTick_Handler ; SysTick Handler
|
||||
DCD |Image$$ARM_LIB_STACK$$ZI$$Limit|; Top of Stack
|
||||
DCD Reset_Handler ; Reset Handler
|
||||
DCD NMI_Handler ; NMI Handler
|
||||
DCD HardFault_Handler ; Hard Fault Handler
|
||||
DCD MemManage_Handler ; MPU Fault Handler
|
||||
DCD BusFault_Handler ; Bus Fault Handler
|
||||
DCD UsageFault_Handler ; Usage Fault Handler
|
||||
DCD 0 ; Reserved
|
||||
DCD 0 ; Reserved
|
||||
DCD 0 ; Reserved
|
||||
DCD 0 ; Reserved
|
||||
DCD SVC_Handler ; SVCall Handler
|
||||
DCD DebugMon_Handler ; Debug Monitor Handler
|
||||
DCD 0 ; Reserved
|
||||
DCD PendSV_Handler ; PendSV Handler
|
||||
DCD SysTick_Handler ; SysTick Handler
|
||||
;SSE-200 Interrupts
|
||||
DCD NS_WATCHDOG_RESET_IRQHandler ; 0: Non-Secure Watchdog Reset Request Interrupt
|
||||
DCD NS_WATCHDOG_IRQHandler ; 1: Non-Secure Watchdog Interrupt
|
||||
DCD S32K_TIMER_IRQHandler ; 2: S32K Timer Interrupt
|
||||
DCD TIMER0_IRQHandler ; 3: CMSDK Timer 0 Interrupt
|
||||
DCD TIMER1_IRQHandler ; 4: CMSDK Timer 1 Interrupt
|
||||
DCD DUALTIMER_IRQHandler ; 5: CMSDK Dual Timer Interrupt
|
||||
DCD MHU0_IRQHandler ; 6: Message Handling Unit 0 Interrupt
|
||||
DCD MHU1_IRQHandler ; 7: Message Handling Unit 1 Interrupt
|
||||
DCD CRYPTOCELL_IRQHandler ; 8: CryptoCell-312 Interrupt
|
||||
DCD 0 ; 9: Reserved
|
||||
DCD 0 ; 10: Reserved
|
||||
DCD 0 ; 11: Reserved
|
||||
DCD 0 ; 12: Reserved
|
||||
DCD I_CACHE_INV_ERR_IRQHandler ; 13: Intsruction Cache Invalidation Interrupt
|
||||
DCD 0 ; 14: Reserved
|
||||
DCD SYS_PPU_IRQHandler ; 15: System PPU Interrupt
|
||||
DCD CPU0_PPU_IRQHandler ; 16: CPU0 PPU Interrupt
|
||||
DCD CPU1_PPU_IRQHandler ; 17: CPU1 PPU Interrupt
|
||||
DCD CPU0_DGB_PPU_IRQHandler ; 18: CPU0 Debug PPU Interrupt
|
||||
DCD CPU1_DGB_PPU_IRQHandler ; 19: CPU1 Debug PPU Interrupt
|
||||
DCD CRYPTOCELL_PPU_IRQHandler ; 20: CryptoCell PPU Interrupt
|
||||
DCD 0 ; 21: Reserved
|
||||
DCD RAM0_PPU_IRQHandler ; 22: RAM 0 PPU Interrupt
|
||||
DCD RAM1_PPU_IRQHandler ; 23: RAM 1 PPU Interrupt
|
||||
DCD RAM2_PPU_IRQHandler ; 24: RAM 2 PPU Interrupt
|
||||
DCD RAM3_PPU_IRQHandler ; 25: RAM 3 PPU Interrupt
|
||||
DCD DEBUG_PPU_IRQHandler ; 26: Debug PPU Interrupt
|
||||
DCD 0 ; 27: Reserved
|
||||
DCD CPU0_CTI_IRQHandler ; 28: CPU0 CTI Interrupt
|
||||
DCD CPU1_CTI_IRQHandler ; 29: CPU1 CTI Interrupt
|
||||
DCD 0 ; 30: Reserved
|
||||
DCD 0 ; 31: Reserved
|
||||
DCD NS_WATCHDOG_RESET_IRQHandler ; 0: Non-Secure Watchdog Reset Request Interrupt
|
||||
DCD NS_WATCHDOG_IRQHandler ; 1: Non-Secure Watchdog Interrupt
|
||||
DCD S32K_TIMER_IRQHandler ; 2: S32K Timer Interrupt
|
||||
DCD TIMER0_IRQHandler ; 3: CMSDK Timer 0 Interrupt
|
||||
DCD TIMER1_IRQHandler ; 4: CMSDK Timer 1 Interrupt
|
||||
DCD DUALTIMER_IRQHandler ; 5: CMSDK Dual Timer Interrupt
|
||||
DCD MHU0_IRQHandler ; 6: Message Handling Unit 0 Interrupt
|
||||
DCD MHU1_IRQHandler ; 7: Message Handling Unit 1 Interrupt
|
||||
DCD CRYPTOCELL_IRQHandler ; 8: CryptoCell-312 Interrupt
|
||||
DCD 0 ; 9: Reserved
|
||||
DCD 0 ; 10: Reserved
|
||||
DCD 0 ; 11: Reserved
|
||||
DCD 0 ; 12: Reserved
|
||||
DCD I_CACHE_INV_ERR_IRQHandler ; 13: Intsruction Cache Invalidation Interrupt
|
||||
DCD 0 ; 14: Reserved
|
||||
DCD SYS_PPU_IRQHandler ; 15: System PPU Interrupt
|
||||
DCD CPU0_PPU_IRQHandler ; 16: CPU0 PPU Interrupt
|
||||
DCD CPU1_PPU_IRQHandler ; 17: CPU1 PPU Interrupt
|
||||
DCD CPU0_DGB_PPU_IRQHandler ; 18: CPU0 Debug PPU Interrupt
|
||||
DCD CPU1_DGB_PPU_IRQHandler ; 19: CPU1 Debug PPU Interrupt
|
||||
DCD CRYPTOCELL_PPU_IRQHandler ; 20: CryptoCell PPU Interrupt
|
||||
DCD 0 ; 21: Reserved
|
||||
DCD RAM0_PPU_IRQHandler ; 22: RAM 0 PPU Interrupt
|
||||
DCD RAM1_PPU_IRQHandler ; 23: RAM 1 PPU Interrupt
|
||||
DCD RAM2_PPU_IRQHandler ; 24: RAM 2 PPU Interrupt
|
||||
DCD RAM3_PPU_IRQHandler ; 25: RAM 3 PPU Interrupt
|
||||
DCD DEBUG_PPU_IRQHandler ; 26: Debug PPU Interrupt
|
||||
DCD 0 ; 27: Reserved
|
||||
DCD CPU0_CTI_IRQHandler ; 28: CPU0 CTI Interrupt
|
||||
DCD CPU1_CTI_IRQHandler ; 29: CPU1 CTI Interrupt
|
||||
DCD 0 ; 30: Reserved
|
||||
DCD 0 ; 31: Reserved
|
||||
;Expansion Interrupts
|
||||
DCD 0 ; 32: Reserved
|
||||
DCD GpTimer_IRQHandler ; 33: General Purpose Timer
|
||||
DCD I2C0_IRQHandler ; 34: I2C0
|
||||
DCD I2C1_IRQHandler ; 35: I2C1
|
||||
DCD I2S_IRQHandler ; 36: I2S
|
||||
DCD SPI_IRQHandler ; 37: SPI
|
||||
DCD QSPI_IRQHandler ; 38: QSPI
|
||||
DCD UARTRX0_Handler ; 39: UART0 receive FIFO interrupt
|
||||
DCD UARTTX0_Handler ; 40: UART0 transmit FIFO interrupt
|
||||
DCD UART0_RxTimeout_IRQHandler ; 41: UART0 receive timeout interrupt
|
||||
DCD UART0_ModemStatus_IRQHandler ; 42: UART0 modem status interrupt
|
||||
DCD UART0_Error_IRQHandler ; 43: UART0 error interrupt
|
||||
DCD UART0_IRQHandler ; 44: UART0 interrupt
|
||||
DCD UARTRX1_Handler ; 45: UART0 receive FIFO interrupt
|
||||
DCD UARTTX1_Handler ; 46: UART0 transmit FIFO interrupt
|
||||
DCD UART1_RxTimeout_IRQHandler ; 47: UART0 receive timeout interrupt
|
||||
DCD UART1_ModemStatus_IRQHandler ; 48: UART0 modem status interrupt
|
||||
DCD UART1_Error_IRQHandler ; 49: UART0 error interrupt
|
||||
DCD UART1_IRQHandler ; 50: UART0 interrupt
|
||||
DCD GPIO_0_IRQHandler ; 51: GPIO 0 interrupt
|
||||
DCD GPIO_1_IRQHandler ; 52: GPIO 1 interrupt
|
||||
DCD GPIO_2_IRQHandler ; 53: GPIO 2 interrupt
|
||||
DCD GPIO_3_IRQHandler ; 54: GPIO 3 interrupt
|
||||
DCD GPIO_4_IRQHandler ; 55: GPIO 4 interrupt
|
||||
DCD GPIO_5_IRQHandler ; 56: GPIO 5 interrupt
|
||||
DCD GPIO_6_IRQHandler ; 57: GPIO 6 interrupt
|
||||
DCD GPIO_7_IRQHandler ; 58: GPIO 7 interrupt
|
||||
DCD GPIO_8_IRQHandler ; 59: GPIO 8 interrupt
|
||||
DCD GPIO_9_IRQHandler ; 60: GPIO 9 interrupt
|
||||
DCD GPIO_10_IRQHandler ; 61: GPIO 10 interrupt
|
||||
DCD GPIO_11_IRQHandler ; 62: GPIO 11 interrupt
|
||||
DCD GPIO_12_IRQHandler ; 63: GPIO 12 interrupt
|
||||
DCD GPIO_13_IRQHandler ; 64: GPIO 13 interrupt
|
||||
DCD GPIO_14_IRQHandler ; 65: GPIO 14 interrupt
|
||||
DCD GPIO_15_IRQHandler ; 66: GPIO 15 interrupt
|
||||
DCD Combined_IRQHandler ; 67: Combined interrupt
|
||||
DCD PVT_IRQHandler ; 68: PVT sensor interrupt
|
||||
DCD 0 ; 69: Reserved
|
||||
DCD PWM_0_IRQHandler ; 70: PWM0 interrupt
|
||||
DCD RTC_IRQHandler ; 71: RTC interrupt
|
||||
DCD GpTimer1_IRQHandler ; 72: General Purpose Timer1
|
||||
DCD GpTimer0_IRQHandler ; 73: General Purpose Timer0
|
||||
DCD PWM_1_IRQHandler ; 74: PWM1 interrupt
|
||||
DCD PWM_2_IRQHandler ; 75: PWM2 interrupt
|
||||
DCD IOMUX_IRQHandler ; 76: IOMUX interrupt
|
||||
DCD 0 ; 32: Reserved
|
||||
DCD GpTimer_IRQHandler ; 33: General Purpose Timer
|
||||
DCD I2C0_IRQHandler ; 34: I2C0
|
||||
DCD I2C1_IRQHandler ; 35: I2C1
|
||||
DCD I2S_IRQHandler ; 36: I2S
|
||||
DCD SPI_IRQHandler ; 37: SPI
|
||||
DCD QSPI_IRQHandler ; 38: QSPI
|
||||
DCD UARTRX0_Handler ; 39: UART0 receive FIFO interrupt
|
||||
DCD UARTTX0_Handler ; 40: UART0 transmit FIFO interrupt
|
||||
DCD UART0_RxTimeout_IRQHandler ; 41: UART0 receive timeout interrupt
|
||||
DCD UART0_ModemStatus_IRQHandler ; 42: UART0 modem status interrupt
|
||||
DCD UART0_Error_IRQHandler ; 43: UART0 error interrupt
|
||||
DCD UART0_IRQHandler ; 44: UART0 interrupt
|
||||
DCD UARTRX1_Handler ; 45: UART0 receive FIFO interrupt
|
||||
DCD UARTTX1_Handler ; 46: UART0 transmit FIFO interrupt
|
||||
DCD UART1_RxTimeout_IRQHandler ; 47: UART0 receive timeout interrupt
|
||||
DCD UART1_ModemStatus_IRQHandler ; 48: UART0 modem status interrupt
|
||||
DCD UART1_Error_IRQHandler ; 49: UART0 error interrupt
|
||||
DCD UART1_IRQHandler ; 50: UART0 interrupt
|
||||
DCD GPIO_0_IRQHandler ; 51: GPIO 0 interrupt
|
||||
DCD GPIO_1_IRQHandler ; 52: GPIO 1 interrupt
|
||||
DCD GPIO_2_IRQHandler ; 53: GPIO 2 interrupt
|
||||
DCD GPIO_3_IRQHandler ; 54: GPIO 3 interrupt
|
||||
DCD GPIO_4_IRQHandler ; 55: GPIO 4 interrupt
|
||||
DCD GPIO_5_IRQHandler ; 56: GPIO 5 interrupt
|
||||
DCD GPIO_6_IRQHandler ; 57: GPIO 6 interrupt
|
||||
DCD GPIO_7_IRQHandler ; 58: GPIO 7 interrupt
|
||||
DCD GPIO_8_IRQHandler ; 59: GPIO 8 interrupt
|
||||
DCD GPIO_9_IRQHandler ; 60: GPIO 9 interrupt
|
||||
DCD GPIO_10_IRQHandler ; 61: GPIO 10 interrupt
|
||||
DCD GPIO_11_IRQHandler ; 62: GPIO 11 interrupt
|
||||
DCD GPIO_12_IRQHandler ; 63: GPIO 12 interrupt
|
||||
DCD GPIO_13_IRQHandler ; 64: GPIO 13 interrupt
|
||||
DCD GPIO_14_IRQHandler ; 65: GPIO 14 interrupt
|
||||
DCD GPIO_15_IRQHandler ; 66: GPIO 15 interrupt
|
||||
DCD Combined_IRQHandler ; 67: Combined interrupt
|
||||
DCD PVT_IRQHandler ; 68: PVT sensor interrupt
|
||||
DCD 0 ; 69: Reserved
|
||||
DCD PWM_0_IRQHandler ; 70: PWM0 interrupt
|
||||
DCD RTC_IRQHandler ; 71: RTC interrupt
|
||||
DCD GpTimer1_IRQHandler ; 72: General Purpose Timer1
|
||||
DCD GpTimer0_IRQHandler ; 73: General Purpose Timer0
|
||||
DCD PWM_1_IRQHandler ; 74: PWM1 interrupt
|
||||
DCD PWM_2_IRQHandler ; 75: PWM2 interrupt
|
||||
DCD IOMUX_IRQHandler ; 76: IOMUX interrupt
|
||||
|
||||
__Vectors_End
|
||||
|
||||
|
|
|
@ -6,6 +6,16 @@ Built by mbed-cli using GNU Arm Embedded - version 6.3.1
|
|||
|
||||
These images were compiled by the following command:
|
||||
|
||||
## mcuboot.bin
|
||||
### Repository
|
||||
https://git.trustedfirmware.org/trusted-firmware-m.git
|
||||
### Commit SHA
|
||||
8da7f102a6a6a1a99462f7f32edbd1565096c2f3
|
||||
```sh
|
||||
cmake ../ -G"Unix Makefiles" -DTARGET_PLATFORM=MUSCA_A -DCOMPILER=ARMCLANG -DCMAKE_BUILD_TYPE=Debug
|
||||
make
|
||||
```
|
||||
|
||||
## tfm.bin
|
||||
|
||||
```sh
|
||||
|
|
Binary file not shown.
|
@ -1,5 +1,5 @@
|
|||
/* mbed Microcontroller Library
|
||||
* Copyright (c) 2019 Arm Limited
|
||||
* Copyright (c) 2017-2019 Arm Limited
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -22,10 +22,15 @@
|
|||
*/
|
||||
|
||||
#include "device.h"
|
||||
#include "mbed_critical.h"
|
||||
#include "timer_cmsdk_drv.h"
|
||||
#include "us_ticker_api.h"
|
||||
|
||||
static uint64_t total_ticks = 0;
|
||||
/* Stores the last reload value, or the last tick value read when a read API
|
||||
* call occurs from the upper layer, needed to keep total_ticks
|
||||
* accumulated properly.
|
||||
*/
|
||||
static uint32_t previous_ticks = 0;
|
||||
|
||||
static void restart_timer(uint32_t new_reload)
|
||||
|
@ -39,6 +44,23 @@ static void restart_timer(uint32_t new_reload)
|
|||
timer_cmsdk_enable(&USEC_TIMER_DEV);
|
||||
}
|
||||
|
||||
static void update_ticker(void)
|
||||
{
|
||||
if (timer_cmsdk_is_interrupt_active(&USEC_TIMER_DEV)) {
|
||||
total_ticks += previous_ticks;
|
||||
previous_ticks = TIMER_CMSDK_MAX_RELOAD;
|
||||
restart_timer(previous_ticks);
|
||||
} else {
|
||||
uint32_t tick = timer_cmsdk_get_current_value(&USEC_TIMER_DEV);
|
||||
|
||||
if (tick < previous_ticks) {
|
||||
uint32_t delta = previous_ticks - tick;
|
||||
total_ticks += delta;
|
||||
previous_ticks = tick;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void us_ticker_init(void)
|
||||
{
|
||||
timer_cmsdk_init(&USEC_TIMER_DEV);
|
||||
|
@ -54,20 +76,11 @@ void us_ticker_free(void)
|
|||
|
||||
uint32_t us_ticker_read(void)
|
||||
{
|
||||
if (timer_cmsdk_is_interrupt_active(&USEC_TIMER_DEV)) {
|
||||
total_ticks += previous_ticks;
|
||||
previous_ticks = TIMER_CMSDK_MAX_RELOAD;
|
||||
restart_timer(previous_ticks);
|
||||
}
|
||||
uint32_t tick = timer_cmsdk_get_current_value(&USEC_TIMER_DEV);
|
||||
core_util_critical_section_enter();
|
||||
update_ticker();
|
||||
core_util_critical_section_exit();
|
||||
|
||||
if (tick < previous_ticks) {
|
||||
uint32_t delta = previous_ticks - tick;
|
||||
total_ticks += delta;
|
||||
previous_ticks = tick;
|
||||
}
|
||||
|
||||
return (total_ticks >> USEC_REPORTED_SHIFT);
|
||||
return (uint32_t)(total_ticks >> USEC_REPORTED_SHIFT);
|
||||
}
|
||||
|
||||
void us_ticker_set_interrupt(timestamp_t timestamp)
|
||||
|
@ -106,6 +119,6 @@ const ticker_info_t* us_ticker_get_info()
|
|||
#endif
|
||||
void usec_interval_irq_handler(void)
|
||||
{
|
||||
us_ticker_read();
|
||||
update_ticker();
|
||||
us_ticker_irq_handler();
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2017-2019 ARM Limited
|
||||
* Copyright (c) 2009-2019 Arm Limited. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -14,10 +14,10 @@
|
|||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
*
|
||||
* This file is derivative of CMSIS V5.01 \Device\ARM\ARMCM33\Source\system_ARMCM33.c
|
||||
* https://github.com/ARM-software/CMSIS_5/tree/5.0.1
|
||||
* Git SHA: 8a1d9d6ee18b143ae5befefa14d89fb5b3f99c75
|
||||
*/
|
||||
|
||||
#include "system_cmsdk_musca.h"
|
||||
|
|
Loading…
Reference in New Issue