1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-13 19:18:56 +00:00

embed: more cleanup

This commit is contained in:
Pavol Rusnak 2017-10-11 23:11:59 +02:00
parent 7653eb699d
commit 7babde646e
No known key found for this signature in database
GPG Key ID: 91F3B339B9A02A3D
6 changed files with 18 additions and 28 deletions

View File

@ -11,8 +11,19 @@
#define IMAGE_MAGIC 0x425A5254 // TRZB
#define IMAGE_MAXSIZE (1 * 64 * 1024 + 7 * 128 * 1024)
void pendsv_isr_handler(void) {
__fatal_error("pendsv", __FILE__, __LINE__, __FUNCTION__);
#include STM32_HAL_H
// reference RM0090 section 35.12.1 Figure 413
#define USB_OTG_HS_DATA_FIFO_RAM (USB_OTG_HS_PERIPH_BASE + 0x20000U)
#define USB_OTG_HS_DATA_FIFO_SIZE (4096U)
void clear_otg_hs_memory(void)
{
RCC->AHB1ENR |= RCC_AHB1ENR_OTGHSEN; // enable USB_OTG_HS peripheral clock so that the peripheral memory is accessible
const uint32_t unpredictable = rng_get();
memset_reg((volatile void *) USB_OTG_HS_DATA_FIFO_RAM, (volatile void *) (USB_OTG_HS_DATA_FIFO_RAM + USB_OTG_HS_DATA_FIFO_SIZE), unpredictable);
memset_reg((volatile void *) USB_OTG_HS_DATA_FIFO_RAM, (volatile void *) (USB_OTG_HS_DATA_FIFO_RAM + USB_OTG_HS_DATA_FIFO_SIZE), 0);
RCC->AHB1ENR &= ~RCC_AHB1ENR_OTGHSEN; // disable USB OTG_HS peripheral clock as the peripheral is not needed right now
}
bool check_sdcard(void)
@ -146,7 +157,7 @@ int main(void)
{
__stack_chk_guard = rng_get();
clear_peripheral_local_memory();
clear_otg_hs_memory();
periph_init();
if (0 != display_init()) {

View File

@ -17,11 +17,6 @@
#define IMAGE_MAGIC 0x465A5254 // TRZF
#define IMAGE_MAXSIZE (7 * 128 * 1024)
void pendsv_isr_handler(void)
{
__fatal_error("pendsv", __FILE__, __LINE__, __FUNCTION__);
}
void display_vendor(const uint8_t *vimg, const char *vstr, uint32_t vstr_len, uint32_t fw_version)
{
display_clear();

View File

@ -86,6 +86,10 @@ void __attribute__((noreturn)) nlr_jump_fail(void *val) {
__fatal_error("uncaught exception", NULL, 0, NULL);
}
void PendSV_Handler(void) {
pendsv_isr_handler();
}
// MicroPython file I/O stubs
mp_lexer_t *mp_lexer_new_from_file(const char *filename) {

View File

@ -62,15 +62,3 @@ void hal_delay(uint32_t ms)
{
HAL_Delay(ms);
}
#define USB_OTG_HS_DATA_FIFO_RAM (USB_OTG_HS_PERIPH_BASE + 0x20000U) // reference RM0090 section 35.12.1 Figure 413
#define USB_OTG_HS_DATA_FIFO_SIZE (4096U)
void clear_peripheral_local_memory(void)
{
RCC->AHB1ENR |= RCC_AHB1ENR_OTGHSEN; // enable USB_OTG_HS peripheral clock so that the peripheral memory is accessible
const uint32_t unpredictable = rng_get();
memset_reg((volatile void *) USB_OTG_HS_DATA_FIFO_RAM, (volatile void *) (USB_OTG_HS_DATA_FIFO_RAM + USB_OTG_HS_DATA_FIFO_SIZE), unpredictable);
memset_reg((volatile void *) USB_OTG_HS_DATA_FIFO_RAM, (volatile void *) (USB_OTG_HS_DATA_FIFO_RAM + USB_OTG_HS_DATA_FIFO_SIZE), 0);
RCC->AHB1ENR &= ~RCC_AHB1ENR_OTGHSEN; // disable USB OTG_HS peripheral clock as the peripheral is not needed right now
}

View File

@ -10,8 +10,6 @@
extern void memset_reg(volatile void *start, volatile void *stop, uint32_t val);
void clear_peripheral_local_memory(void);
void periph_init(void);
void __attribute__((noreturn)) __fatal_error(const char *msg, const char *file, int line, const char *func);

View File

@ -1,6 +1,5 @@
#include STM32_HAL_H
#include "pendsv.h"
#include "rng.h"
const uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9};
@ -37,10 +36,6 @@ void SystemInit(void)
#endif
}
void PendSV_Handler(void) {
pendsv_isr_handler();
}
void SysTick_Handler(void) {
// Instead of calling HAL_IncTick we do the increment here of the counter.
// This is purely for efficiency, since SysTick is called 1000 times per
@ -69,4 +64,3 @@ void SysTick_Handler(void) {
// dma_idle_handler(uwTick);
// }
}