|
|
1.1 root 1: /******************************************************************************
2: * Copyright (c) 2004, 2008 IBM Corporation
3: * All rights reserved.
4: * This program and the accompanying materials
5: * are made available under the terms of the BSD License
6: * which accompanies this distribution, and is available at
7: * http://www.opensource.org/licenses/bsd-license.php
8: *
9: * Contributors:
10: * IBM Corporation - initial implementation
11: *****************************************************************************/
12:
13: #include <cpu.h>
14:
15: #include "debug.h"
16:
17: uint32_t debug_flags = 0;
18:
19: void
20: dump(uint8_t * addr, uint32_t len)
21: {
22: printf("\n\r%s(%p, %x):\n", __FUNCTION__, addr, len);
23: while (len) {
24: unsigned int tmpCnt = len;
25: unsigned char x;
26: if (tmpCnt > 8)
27: tmpCnt = 8;
28: printf("\n\r%p: ", addr);
29: // print hex
30: while (tmpCnt--) {
31: set_ci();
32: x = *addr++;
33: clr_ci();
34: printf("%02x ", x);
35: }
36: tmpCnt = len;
37: if (tmpCnt > 8)
38: tmpCnt = 8;
39: len -= tmpCnt;
40: //reset addr ptr to print ascii
41: addr = addr - tmpCnt;
42: // print ascii
43: while (tmpCnt--) {
44: set_ci();
45: x = *addr++;
46: clr_ci();
47: if ((x < 32) || (x >= 127)) {
48: //non-printable char
49: x = '.';
50: }
51: printf("%c", x);
52: }
53: }
54: printf("\n");
55: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.