Monitor program only for mbed GR-PEACH

Dependencies:  

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?

UserRevisionLine numberNew 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)