Handle reset info in reset syscall

Disabling debug printouts to get firmware to fit in ROM
This commit is contained in:
Mikael Ågren 2025-03-17 18:41:50 +01:00
parent ba211212f0
commit e4028d9a86
No known key found for this signature in database
GPG Key ID: E02DA3D397792C46
2 changed files with 9 additions and 1 deletions

View File

@ -524,6 +524,7 @@ int main(void)
// TODO Remove
// Wait for terminal program and a character to be typed
/*
enum ioend endpoint = IO_NONE;
uint8_t available = 0;
uint8_t in = 0;
@ -537,6 +538,7 @@ int main(void)
// read failed! I/O broken? Just redblink.
assert(1 == 2);
}
*/
// TODO end of remove block
@ -556,7 +558,7 @@ int main(void)
// TODO Just start something from flash without looking in
// FW_RAM.
state = FW_STATE_LOAD_FLASH;
//state = FW_STATE_LOAD_FLASH;
for (;;) {
switch (state) {

View File

@ -7,15 +7,18 @@
#include <tkey/assert.h>
#include <tkey/debug.h>
#include <tkey/led.h>
#include <tkey/lib.h>
#include "partition_table.h"
#include "storage.h"
#include "../tk1/resetinfo.h"
#include "../tk1/syscall_num.h"
// clang-format off
static volatile uint32_t *system_reset = (volatile uint32_t *)TK1_MMIO_TK1_SYSTEM_RESET;
static volatile uint32_t *udi = (volatile uint32_t *)TK1_MMIO_TK1_UDI_FIRST;
static volatile uint8_t *resetinfo = (volatile uint8_t *) TK1_MMIO_RESETINFO_BASE;
// clang-format on
extern struct partition_table part_table;
@ -25,7 +28,10 @@ int32_t syscall_handler(uint32_t number, uint32_t arg1, uint32_t arg2,
{
switch (number) {
case TK1_SYSCALL_RESET:
// TODO: Take length from user
memcpy((uint8_t *)resetinfo, (uint8_t *)arg1, sizeof(struct reset));
*system_reset = 1;
return 0;
case TK1_SYSCALL_ALLOC_AREA:
if (storage_allocate_area(&part_table) < 0) {