This is sample program for Nucleo L152RE (and F401RE & F411RE) mbed-rtos. You need to modify mbed-src and mbed-rtos before compile it.
Dependencies: mbed-rtos mbed-src SetRTC
Fork of GR-PEACH_test_on_rtos_works_well by
Please refer below link.
/users/kenjiArai/notebook/necleo-l152re-rtos-sample-also-for-f401re--f411re-/
debug_tools_L152_F4x1RE/mon_hw_common.h@13:d0d1da1fae4c, 2015-05-20 (annotated)
- Committer:
- kenjiArai
- Date:
- Wed May 20 10:49:02 2015 +0000
- Revision:
- 13:d0d1da1fae4c
- Parent:
- 10:1c0f58b9c048
change L152 System clock (PLL VCO=96MHz) ->32MHz Clock
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kenjiArai | 10:1c0f58b9c048 | 1 | /* |
kenjiArai | 10:1c0f58b9c048 | 2 | * mbed Headder file for Hardware Monitor |
kenjiArai | 10:1c0f58b9c048 | 3 | * |
kenjiArai | 10:1c0f58b9c048 | 4 | * Copyright (c) 2014,'15 Kenji Arai / JH1PJL |
kenjiArai | 10:1c0f58b9c048 | 5 | * http://www.page.sannet.ne.jp/kenjia/index.html |
kenjiArai | 10:1c0f58b9c048 | 6 | * http://mbed.org/users/kenjiArai/ |
kenjiArai | 10:1c0f58b9c048 | 7 | * Created: June 1st, 2014 |
kenjiArai | 10:1c0f58b9c048 | 8 | * Revised: May 16th, 2015 |
kenjiArai | 10:1c0f58b9c048 | 9 | * |
kenjiArai | 10:1c0f58b9c048 | 10 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, |
kenjiArai | 10:1c0f58b9c048 | 11 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE |
kenjiArai | 10:1c0f58b9c048 | 12 | * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, |
kenjiArai | 10:1c0f58b9c048 | 13 | * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
kenjiArai | 10:1c0f58b9c048 | 14 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
kenjiArai | 10:1c0f58b9c048 | 15 | */ |
kenjiArai | 10:1c0f58b9c048 | 16 | |
kenjiArai | 10:1c0f58b9c048 | 17 | // Object ---------------------------------------------------------------------------------------- |
kenjiArai | 10:1c0f58b9c048 | 18 | extern Serial pc; |
kenjiArai | 10:1c0f58b9c048 | 19 | |
kenjiArai | 10:1c0f58b9c048 | 20 | // Definition ------------------------------------------------------------------------------------ |
kenjiArai | 10:1c0f58b9c048 | 21 | #define BAUD_RATE 9600 |
kenjiArai | 10:1c0f58b9c048 | 22 | |
kenjiArai | 10:1c0f58b9c048 | 23 | #define BAUD(x) pc.baud(x) |
kenjiArai | 10:1c0f58b9c048 | 24 | #define GETC(x) pc.getc(x) |
kenjiArai | 10:1c0f58b9c048 | 25 | #define PUTC(x) pc.putc(x) |
kenjiArai | 10:1c0f58b9c048 | 26 | #define PRINTF(...) pc.printf(__VA_ARGS__) |
kenjiArai | 10:1c0f58b9c048 | 27 | #define READABLE(x) pc.readable(x) |
kenjiArai | 10:1c0f58b9c048 | 28 | |
kenjiArai | 10:1c0f58b9c048 | 29 | // Range check status |
kenjiArai | 10:1c0f58b9c048 | 30 | #define ERR_NOTHING 0 |
kenjiArai | 10:1c0f58b9c048 | 31 | #define ERR_MODIFY_SIZ 1 |
kenjiArai | 10:1c0f58b9c048 | 32 | #define ERR_OUT_OF_RANGE 2 |
kenjiArai | 10:1c0f58b9c048 | 33 | |
kenjiArai | 10:1c0f58b9c048 | 34 | // Reg. Size |
kenjiArai | 10:1c0f58b9c048 | 35 | #define SIZE8 8 |
kenjiArai | 10:1c0f58b9c048 | 36 | #define SIZE16 16 |
kenjiArai | 10:1c0f58b9c048 | 37 | #define SIZE32 32 |
kenjiArai | 10:1c0f58b9c048 | 38 | #define SIZE_FULL 32 |
kenjiArai | 10:1c0f58b9c048 | 39 | #define SIZE_X 32 |
kenjiArai | 10:1c0f58b9c048 | 40 | |
kenjiArai | 10:1c0f58b9c048 | 41 | // RAM ------------------------------------------------------------------------------------------- |
kenjiArai | 10:1c0f58b9c048 | 42 | extern char linebuf[]; |
kenjiArai | 10:1c0f58b9c048 | 43 | extern int buf_size; |
kenjiArai | 10:1c0f58b9c048 | 44 | |
kenjiArai | 10:1c0f58b9c048 | 45 | #if USE_MEM |
kenjiArai | 10:1c0f58b9c048 | 46 | typedef struct { |
kenjiArai | 10:1c0f58b9c048 | 47 | int32_t mstr; |
kenjiArai | 10:1c0f58b9c048 | 48 | int32_t msiz; |
kenjiArai | 10:1c0f58b9c048 | 49 | int32_t mtmp; |
kenjiArai | 10:1c0f58b9c048 | 50 | int32_t mold; |
kenjiArai | 10:1c0f58b9c048 | 51 | uint8_t mflg; |
kenjiArai | 10:1c0f58b9c048 | 52 | uint8_t mbhw; |
kenjiArai | 10:1c0f58b9c048 | 53 | } MEMO; |
kenjiArai | 10:1c0f58b9c048 | 54 | static MEMO mem; |
kenjiArai | 10:1c0f58b9c048 | 55 | #endif |
kenjiArai | 10:1c0f58b9c048 | 56 | |
kenjiArai | 10:1c0f58b9c048 | 57 | // Function prototypes --------------------------------------------------------------------------- |
kenjiArai | 10:1c0f58b9c048 | 58 | extern void put_rn ( void ); |
kenjiArai | 10:1c0f58b9c048 | 59 | extern void put_r ( void ); |
kenjiArai | 10:1c0f58b9c048 | 60 | extern void put_lin ( void ); |
kenjiArai | 10:1c0f58b9c048 | 61 | extern void put_spc( uint8_t n); |
kenjiArai | 10:1c0f58b9c048 | 62 | extern void get_line (char *buff, int len); |
kenjiArai | 10:1c0f58b9c048 | 63 | extern int xatoi (char **str, int32_t *res); |