mirror of
https://github.com/tillitis/tillitis-key1.git
synced 2025-04-25 01:19:20 -04:00

This is an import of the fw-2 tag of tkey-libs. We import the entire tkey-libs repo minus dot files into the tillitis-key1 repo to make it very simple not to make mistakes regarding which firmware tag depends on which tkey-libs tag, especially considering locking down with NVCM. Please see README for information about developing with another tkey-libs or how to import future tkey-libs. Since tkey-libs is now a part of the repo we also add tkey-libs to the clean_fw target.
36 lines
727 B
C
36 lines
727 B
C
// SPDX-FileCopyrightText: 2022 Tillitis AB <tillitis.se>
|
|
// SPDX-License-Identifier: BSD-2-Clause
|
|
|
|
#include <tkey/assert.h>
|
|
#include <tkey/io.h>
|
|
#include <tkey/lib.h>
|
|
|
|
void assert_fail(enum ioend dest, const char *assertion, const char *file,
|
|
unsigned int line, const char *function)
|
|
{
|
|
puts(dest, "assert: ");
|
|
puts(dest, assertion);
|
|
puts(dest, " ");
|
|
puts(dest, file);
|
|
puts(dest, ":");
|
|
putinthex(dest, line);
|
|
puts(dest, " ");
|
|
puts(dest, function);
|
|
puts(dest, "\n");
|
|
|
|
// Force illegal instruction to halt CPU
|
|
asm volatile("unimp");
|
|
|
|
// Not reached
|
|
__builtin_unreachable();
|
|
}
|
|
|
|
void assert_halt(void)
|
|
{
|
|
// Force illegal instruction to halt CPU
|
|
asm volatile("unimp");
|
|
|
|
// Not reached
|
|
__builtin_unreachable();
|
|
}
|