adding dependencies

This commit is contained in:
Janosch
2022-10-10 12:39:30 +01:00
parent 0e8e1e4db6
commit 2327ae7aab
867 changed files with 137599 additions and 0 deletions
+57
View File
@@ -0,0 +1,57 @@
#include <stdint.h>
#include <libopencm3/cm3/common.h>
#include <libopencm3/cm3/memorymap.h>
#include <libopencm3/cm3/itm.h>
#include "trace.h"
void trace_send_blocking8(int stimulus_port, char c)
{
if (!(ITM_TER[0] & (1<<stimulus_port))) {
return;
}
while (!(ITM_STIM8(stimulus_port) & ITM_STIM_FIFOREADY));
ITM_STIM8(stimulus_port) = c;
}
void trace_send8(int stimulus_port, char val)
{
if (!(ITM_TER[0] & (1<<stimulus_port))) {
return;
}
ITM_STIM8(stimulus_port) = val;
}
void trace_send_blocking16(int stimulus_port, uint16_t val)
{
if (!(ITM_TER[0] & (1<<stimulus_port))) {
return;
}
while (!(ITM_STIM16(stimulus_port) & ITM_STIM_FIFOREADY));
ITM_STIM16(stimulus_port) = val;
}
void trace_send16(int stimulus_port, uint16_t val)
{
if (!(ITM_TER[0] & (1<<stimulus_port))) {
return;
}
ITM_STIM16(stimulus_port) = val;
}
void trace_send_blocking32(int stimulus_port, uint32_t val)
{
if (!(ITM_TER[0] & (1<<stimulus_port))) {
return;
}
while (!(ITM_STIM32(stimulus_port) & ITM_STIM_FIFOREADY));
ITM_STIM32(stimulus_port) = val;
}
void trace_send32(int stimulus_port, uint32_t val)
{
if (!(ITM_TER[0] & (1<<stimulus_port))) {
return;
}
ITM_STIM32(stimulus_port) = val;
}
+32
View File
@@ -0,0 +1,32 @@
/*
* File: trace.h
* Author: karlp
*
* Created on November 21, 2013, 4:35 PM
*/
#ifndef TRACE_H
#define TRACE_H
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
void trace_send_blocking8(int stimulus_port, char c);
void trace_send8(int stimulus_port, char c);
void trace_send_blocking16(int stimulus_port, uint16_t val);
void trace_send16(int stimulus_port, uint16_t val);
void trace_send_blocking32(int stimulus_port, uint32_t val);
void trace_send32(int stimulus_port, uint32_t val);
#ifdef __cplusplus
}
#endif
#endif /* TRACE_H */
+34
View File
@@ -0,0 +1,34 @@
/*
* support for stdio output to a trace port
* Karl Palsson, 2014 <karlp@remake.is>
*/
#include <errno.h>
#include <stdio.h>
#include <unistd.h>
#include "trace.h"
#ifndef STIMULUS_STDIO
#define STIMULUS_STDIO 0
#endif
int _write(int file, char *ptr, int len);
int _write(int file, char *ptr, int len)
{
int i;
if (file == STDOUT_FILENO || file == STDERR_FILENO) {
for (i = 0; i < len; i++) {
if (ptr[i] == '\n') {
trace_send_blocking8(STIMULUS_STDIO, '\r');
}
trace_send_blocking8(STIMULUS_STDIO, ptr[i]);
}
return i;
}
errno = EIO;
return -1;
}