Contiki-NG
Toggle main menu visibility
Loading...
Searching...
No Matches
dbg-arch.c
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2018, Texas Instruments Incorporated - http://www.ti.com/
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
* 1. Redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer.
10
* 2. Redistributions in binary form must reproduce the above copyright
11
* notice, this list of conditions and the following disclaimer in the
12
* documentation and/or other materials provided with the distribution.
13
* 3. Neither the name of the copyright holder nor the names of its
14
* contributors may be used to endorse or promote products derived
15
* from this software without specific prior written permission.
16
*
17
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
20
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
21
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
22
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
28
* OF THE POSSIBILITY OF SUCH DAMAGE.
29
*/
30
/**
31
* \addtogroup cc13xx-cc26xx-platform
32
* @{
33
*
34
* \file
35
* Implementation of the dbg module for CC13xx/CC26xx, used by stdio.
36
* The dbg module is implemented by writing to UART0.
37
* \author
38
* Edvard Pettersen <e.pettersen@ti.com>
39
*/
40
/*---------------------------------------------------------------------------*/
41
#include "contiki.h"
42
#include "
sys/cc.h
"
43
/*---------------------------------------------------------------------------*/
44
#include "
uart0-arch.h
"
45
/*---------------------------------------------------------------------------*/
46
#include <stdio.h>
47
#include <stddef.h>
48
#include <string.h>
49
/*---------------------------------------------------------------------------*/
50
int
51
dbg_putchar
(
int
c)
52
{
53
unsigned
char
ch;
54
int
num_bytes;
55
56
ch = (
unsigned
char)c;
57
58
num_bytes = (int)
uart0_write
(&ch, 1);
59
return
(num_bytes > 0)
60
? num_bytes
61
: 0;
62
}
63
/*---------------------------------------------------------------------------*/
64
unsigned
int
65
dbg_send_bytes
(
const
unsigned
char
*seq,
unsigned
int
len)
66
{
67
size_t
seq_len;
68
size_t
max_len;
69
int
num_bytes;
70
71
seq_len = strlen((
const
char
*)seq);
72
max_len = MIN(seq_len, (
size_t
)len);
73
74
if
(max_len == 0) {
75
return
0;
76
}
77
78
num_bytes = (int)
uart0_write
(seq, max_len);
79
return
(num_bytes > 0)
80
? num_bytes
81
: 0;
82
}
83
/*---------------------------------------------------------------------------*/
84
/** @} */
cc.h
Default definitions of C compiler quirk work-arounds.
uart0_write
int_fast32_t uart0_write(const void *buf, size_t buf_size)
Writes data from a memory buffer to the UART interface.
Definition
uart0-arch.c:106
dbg_send_bytes
unsigned int dbg_send_bytes(const unsigned char *s, unsigned int len)
Print a stream of bytes.
Definition
dbg-arch.c:53
dbg_putchar
int dbg_putchar(int c)
Print a character to debug output.
Definition
dbg-arch.c:61
uart0-arch.h
Header file of UART driver for CC13xx/CC26xx.
arch
cpu
simplelink-cc13xx-cc26xx
dev
dbg-arch.c
Generated on
for Contiki-NG by
1.17.0