I was wondering if you know of a "shell" for freertos? Currently we are using FORTH, which is an interpretive language and it helps our manufacturing and support staff to tweak some parameters without using heavy IDE’s. I was wondering if you have some kind of "shell" and command prompt which could do the same.
What kind of system are you running? Are you just wanting to change memory locations? You might be able to just run the system in the debugger of your choice, then change variables etc at run time through that. Or you could write a simple UART driver that accepts commands. You could have a simple command interpreter as low priority task. This could be very simple if you tailor it to your application rather than try to make it too generic.
A simple serial port interpreter with a dumb terminal?
Hi, We are currently using a version of 68HC12 and will be using Atmel ARM7TDMI in the next project. A mix of both in future. If I think about it, some of the features could be… 1. Change memory location/registers/variables/EEPROM 2. maybe simple loops. I have never used this. but something like this. http://acceleratedtechnology.com/embedded/nuc_term_app.html We never had to worry about these things because the LMI forth from 1980’s ran of the serial port and its very simple to use. Can you suggest any debuggers which can run on command lines and are easy enough for manufacturing staff to use? Preferably on serial port. Thanks Nihar
> If I think about it, some of the features could be… > 1. Change memory location/registers/variables/EEPROM This should be easy enough with a simple command interpreter through a dumb terminal. Have a low priority task look at the serial port and accept commands such as: "0x2000 0x1", set memory address 0x2000 to 0x1 to (as an example) turn a particular feature on. If this is a low priority task then it could access an eeprom while the rest of the application had nothing to do without delaying the higher priority tasks should they become ready. The PC demo application accepts simple single character commands like ‘t’ to display a list of the tasks and their current status. A standard interface might make a really good enhancement to FreeRTOS. > 2. maybe simple loops. ? > Can you suggest any debuggers which can run on command lines and are easy enough > for manufacturing staff to use? Generally command line debugger and easy to use don’t go together ;-) although some of the more complex commands could be hidden in macros or scripts. GDB might be all you are looking for. >Preferably on serial port. You can get GDB stubs that run over a serial port, alternatively you can use it over a jtag port with the correct interfaces (OCDLibRemote for example).
>A standard interface might make a really good enhancement to FreeRTOS Yes, thats the kind of thing I was looking for. Thinking out loud…maybe some kind of a barebone *nix shell where you can write simple loops/conditions/variables.
That’s basically what I do now… I have an API command set between the host and the board (over UART0). The host has a command-line user interface, which can also read script files. The serial interface consists of commands that contain a command initiator, a command byte, 2 bytes for data length, the data bytes, and a command terminator. Commands include: Reset, Read memory, Write memory, dump trace buffer (I also implemented tracing memory in the code on the board) The host utility implements the command-line interface, reading scripts, etc. I hadn’t thought of it, but the host can also implement the for loops you mentioned.
Sounds excellent. Would you care to share? I can make this available from the FreeRTOS.org site – obviously crediting you with the work. Alternatively I can provide a link if you would prefer to host yourself. Regards.
Seeing as I’m doing this as my hobby, I can certainly post a stripped-down version at some point. I’m extremely busy this week, but I’ll try and put something together next week. Perhaps I should post it on the LP2000 yahoo group… Would that be acceptable? Also, I don’t have any licensing headers at the moment, although I could probably make it GPL. I’m not sure what to include in that case. Suggestions? I’ve also found the need to do some timing estimates (something I want to add in soon). In my case I’m using Timer 1 just to provide a full-resolution (PCLK) clock to get a time before a call, then get the clock again after the call, and add a trace of the difference to be able to report the timing in the trace buffer dump.
> Perhaps I should post it on the LP2000 yahoo group… Would that be acceptable? Sure. > Also, I don’t have any licensing headers at the moment, although I could probably > make it GPL. I’m not sure what to include in that case. Suggestions? You can copy the header from the FreeRTOS source code. Alternatively: http://www.opensource.org/licenses/index.php there are so many to choose from ;-) Regards.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.