Monitor program only for mbed GR-PEACH
debug_tools/debug_lpc1114.cpp@4:76b3113c79ff, 2014-12-14 (annotated)
- Committer:
- kenjiArai
- Date:
- Sun Dec 14 09:17:01 2014 +0000
- Revision:
- 4:76b3113c79ff
Check rtos functions on GR-PEACH. Does NOT work on GR-PEACH but does work on LPC1768, F401RE and L152RE.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kenjiArai | 4:76b3113c79ff | 1 | /* |
kenjiArai | 4:76b3113c79ff | 2 | * mbed Application program |
kenjiArai | 4:76b3113c79ff | 3 | * |
kenjiArai | 4:76b3113c79ff | 4 | * Copyright (c) 2010-2014 Kenji Arai / JH1PJL |
kenjiArai | 4:76b3113c79ff | 5 | * http://www.page.sannet.ne.jp/kenjia/index.html |
kenjiArai | 4:76b3113c79ff | 6 | * http://mbed.org/users/kenjiArai/ |
kenjiArai | 4:76b3113c79ff | 7 | * Created: May 15th, 2010 |
kenjiArai | 4:76b3113c79ff | 8 | * Spareted: June 25th, 2014 mon() & mon_hw() |
kenjiArai | 4:76b3113c79ff | 9 | * Ported: September 22nd, 2014 from L152RE, LP1114 |
kenjiArai | 4:76b3113c79ff | 10 | * changed: October 15th, 2014 mon.cpp to debug_xxx.cpp |
kenjiArai | 4:76b3113c79ff | 11 | * Revised: Nobember 2nd, 2014 |
kenjiArai | 4:76b3113c79ff | 12 | * |
kenjiArai | 4:76b3113c79ff | 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, |
kenjiArai | 4:76b3113c79ff | 14 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE |
kenjiArai | 4:76b3113c79ff | 15 | * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, |
kenjiArai | 4:76b3113c79ff | 16 | * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
kenjiArai | 4:76b3113c79ff | 17 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
kenjiArai | 4:76b3113c79ff | 18 | */ |
kenjiArai | 4:76b3113c79ff | 19 | |
kenjiArai | 4:76b3113c79ff | 20 | #if defined(TARGET_LPC1114) |
kenjiArai | 4:76b3113c79ff | 21 | |
kenjiArai | 4:76b3113c79ff | 22 | // Include --------------------------------------------------------------------------------------- |
kenjiArai | 4:76b3113c79ff | 23 | #include "mbed.h" |
kenjiArai | 4:76b3113c79ff | 24 | #include "debug_common.h" |
kenjiArai | 4:76b3113c79ff | 25 | |
kenjiArai | 4:76b3113c79ff | 26 | // Object ---------------------------------------------------------------------------------------- |
kenjiArai | 4:76b3113c79ff | 27 | |
kenjiArai | 4:76b3113c79ff | 28 | // Definition ------------------------------------------------------------------------------------ |
kenjiArai | 4:76b3113c79ff | 29 | |
kenjiArai | 4:76b3113c79ff | 30 | // RAM ------------------------------------------------------------------------------------------- |
kenjiArai | 4:76b3113c79ff | 31 | |
kenjiArai | 4:76b3113c79ff | 32 | // ROM / Constant data --------------------------------------------------------------------------- |
kenjiArai | 4:76b3113c79ff | 33 | |
kenjiArai | 4:76b3113c79ff | 34 | // Function prototypes --------------------------------------------------------------------------- |
kenjiArai | 4:76b3113c79ff | 35 | extern void cpu_inf (void); |
kenjiArai | 4:76b3113c79ff | 36 | |
kenjiArai | 4:76b3113c79ff | 37 | //------------------------------------------------------------------------------------------------- |
kenjiArai | 4:76b3113c79ff | 38 | // Control Program |
kenjiArai | 4:76b3113c79ff | 39 | //------------------------------------------------------------------------------------------------- |
kenjiArai | 4:76b3113c79ff | 40 | // Help Massage |
kenjiArai | 4:76b3113c79ff | 41 | void msg_hlp (void) |
kenjiArai | 4:76b3113c79ff | 42 | { |
kenjiArai | 4:76b3113c79ff | 43 | PRINTF(mon_msg); |
kenjiArai | 4:76b3113c79ff | 44 | put_rn(); |
kenjiArai | 4:76b3113c79ff | 45 | PRINTF("1 - goto step1 -> no connection all pins"); |
kenjiArai | 4:76b3113c79ff | 46 | put_rn(); |
kenjiArai | 4:76b3113c79ff | 47 | PRINTF("2 - goto step2 -> connects pin_x and pin_y"); |
kenjiArai | 4:76b3113c79ff | 48 | put_rn(); |
kenjiArai | 4:76b3113c79ff | 49 | PRINTF("x - Goto HW monitor"); |
kenjiArai | 4:76b3113c79ff | 50 | put_rn(); |
kenjiArai | 4:76b3113c79ff | 51 | PRINTF("q - Return to main"); |
kenjiArai | 4:76b3113c79ff | 52 | put_rn(); |
kenjiArai | 4:76b3113c79ff | 53 | } |
kenjiArai | 4:76b3113c79ff | 54 | |
kenjiArai | 4:76b3113c79ff | 55 | // ---------- Program starts here! --------------------------------------------------------------- |
kenjiArai | 4:76b3113c79ff | 56 | void debug_interface(void) |
kenjiArai | 4:76b3113c79ff | 57 | { |
kenjiArai | 4:76b3113c79ff | 58 | char *ptr; |
kenjiArai | 4:76b3113c79ff | 59 | uint8_t quitflag; |
kenjiArai | 4:76b3113c79ff | 60 | |
kenjiArai | 4:76b3113c79ff | 61 | BAUD(BAUD_RATE); |
kenjiArai | 4:76b3113c79ff | 62 | put_rn(); |
kenjiArai | 4:76b3113c79ff | 63 | put_rn(); |
kenjiArai | 4:76b3113c79ff | 64 | PRINTF("%s [Help:'?' key]", mon_msg); |
kenjiArai | 4:76b3113c79ff | 65 | put_rn(); |
kenjiArai | 4:76b3113c79ff | 66 | for (;;) { |
kenjiArai | 4:76b3113c79ff | 67 | put_r(); |
kenjiArai | 4:76b3113c79ff | 68 | PUTC('>'); |
kenjiArai | 4:76b3113c79ff | 69 | ptr = linebuf; |
kenjiArai | 4:76b3113c79ff | 70 | get_line(ptr, sizeof(linebuf)); |
kenjiArai | 4:76b3113c79ff | 71 | switch (*ptr++) { |
kenjiArai | 4:76b3113c79ff | 72 | //--------------------------------------------------------------------------------- |
kenjiArai | 4:76b3113c79ff | 73 | // Debug Step1 |
kenjiArai | 4:76b3113c79ff | 74 | //--------------------------------------------------------------------------------- |
kenjiArai | 4:76b3113c79ff | 75 | case '1' : |
kenjiArai | 4:76b3113c79ff | 76 | put_r(); |
kenjiArai | 4:76b3113c79ff | 77 | PRINTF("Enter Step1: no connection all pins"); |
kenjiArai | 4:76b3113c79ff | 78 | put_rn(); |
kenjiArai | 4:76b3113c79ff | 79 | quitflag = 0; |
kenjiArai | 4:76b3113c79ff | 80 | for (; quitflag != 0xff;) { |
kenjiArai | 4:76b3113c79ff | 81 | PRINTF("1>"); |
kenjiArai | 4:76b3113c79ff | 82 | ptr = linebuf; |
kenjiArai | 4:76b3113c79ff | 83 | get_line(ptr, buf_size); |
kenjiArai | 4:76b3113c79ff | 84 | put_r(); |
kenjiArai | 4:76b3113c79ff | 85 | switch(*ptr++) { |
kenjiArai | 4:76b3113c79ff | 86 | case 's' : |
kenjiArai | 4:76b3113c79ff | 87 | PRINTF("----- CPU CLOCK Information -----"); |
kenjiArai | 4:76b3113c79ff | 88 | put_rn(); |
kenjiArai | 4:76b3113c79ff | 89 | get_freq(1); |
kenjiArai | 4:76b3113c79ff | 90 | PRINTF("----- CPU TYPE Information ------"); |
kenjiArai | 4:76b3113c79ff | 91 | put_rn(); |
kenjiArai | 4:76b3113c79ff | 92 | cpu_inf(); |
kenjiArai | 4:76b3113c79ff | 93 | break; |
kenjiArai | 4:76b3113c79ff | 94 | case '?' : |
kenjiArai | 4:76b3113c79ff | 95 | PRINTF("s - CPU system info & clock"); |
kenjiArai | 4:76b3113c79ff | 96 | put_rn(); |
kenjiArai | 4:76b3113c79ff | 97 | PRINTF("q - Return to all mode"); |
kenjiArai | 4:76b3113c79ff | 98 | put_rn(); |
kenjiArai | 4:76b3113c79ff | 99 | PRINTF("? - You know this"); |
kenjiArai | 4:76b3113c79ff | 100 | put_rn(); |
kenjiArai | 4:76b3113c79ff | 101 | break; |
kenjiArai | 4:76b3113c79ff | 102 | case 'q' : // quit |
kenjiArai | 4:76b3113c79ff | 103 | PRINTF("Back to all mode"); |
kenjiArai | 4:76b3113c79ff | 104 | quitflag = 0xff; |
kenjiArai | 4:76b3113c79ff | 105 | break; |
kenjiArai | 4:76b3113c79ff | 106 | default: |
kenjiArai | 4:76b3113c79ff | 107 | PUTC('?'); |
kenjiArai | 4:76b3113c79ff | 108 | put_rn(); |
kenjiArai | 4:76b3113c79ff | 109 | } |
kenjiArai | 4:76b3113c79ff | 110 | } |
kenjiArai | 4:76b3113c79ff | 111 | put_rn(); |
kenjiArai | 4:76b3113c79ff | 112 | break; |
kenjiArai | 4:76b3113c79ff | 113 | //--------------------------------------------------------------------------------- |
kenjiArai | 4:76b3113c79ff | 114 | // help |
kenjiArai | 4:76b3113c79ff | 115 | //--------------------------------------------------------------------------------- |
kenjiArai | 4:76b3113c79ff | 116 | case '?' : |
kenjiArai | 4:76b3113c79ff | 117 | put_r(); |
kenjiArai | 4:76b3113c79ff | 118 | msg_hlp(); |
kenjiArai | 4:76b3113c79ff | 119 | break; |
kenjiArai | 4:76b3113c79ff | 120 | //--------------------------------------------------------------------------------- |
kenjiArai | 4:76b3113c79ff | 121 | // Go to special command |
kenjiArai | 4:76b3113c79ff | 122 | //--------------------------------------------------------------------------------- |
kenjiArai | 4:76b3113c79ff | 123 | case 'x' : |
kenjiArai | 4:76b3113c79ff | 124 | mon_hw(); |
kenjiArai | 4:76b3113c79ff | 125 | PRINTF("->Came back monitor\r\n"); |
kenjiArai | 4:76b3113c79ff | 126 | break; |
kenjiArai | 4:76b3113c79ff | 127 | //--------------------------------------------------------------------------------- |
kenjiArai | 4:76b3113c79ff | 128 | // Go back to main() |
kenjiArai | 4:76b3113c79ff | 129 | //--------------------------------------------------------------------------------- |
kenjiArai | 4:76b3113c79ff | 130 | case 'q' : // Quit |
kenjiArai | 4:76b3113c79ff | 131 | PRINTF("\rReturn to main\r\n"); |
kenjiArai | 4:76b3113c79ff | 132 | //PRINTF("cannot control anymore from here\r\n"); |
kenjiArai | 4:76b3113c79ff | 133 | return; |
kenjiArai | 4:76b3113c79ff | 134 | //--------------------------------------------------------------------------------- |
kenjiArai | 4:76b3113c79ff | 135 | // no support |
kenjiArai | 4:76b3113c79ff | 136 | //--------------------------------------------------------------------------------- |
kenjiArai | 4:76b3113c79ff | 137 | default: |
kenjiArai | 4:76b3113c79ff | 138 | put_r(); |
kenjiArai | 4:76b3113c79ff | 139 | PUTC('?'); |
kenjiArai | 4:76b3113c79ff | 140 | put_rn(); |
kenjiArai | 4:76b3113c79ff | 141 | break; |
kenjiArai | 4:76b3113c79ff | 142 | } |
kenjiArai | 4:76b3113c79ff | 143 | } |
kenjiArai | 4:76b3113c79ff | 144 | } |
kenjiArai | 4:76b3113c79ff | 145 | |
kenjiArai | 4:76b3113c79ff | 146 | #endif // defined(TARGET_LPC1114) |