Commit Graph

8 Commits

Author SHA1 Message Date
Yael Avramovich d5db35204a console: shell: Support multiple modules
Ability to use Zephyr shell by multiple modules simultaneously, each
module for its own usage.

Old shell implementation enabled the user to call only one module
commands, not all of the modules simultaneously.

Change-Id: I0ef8fa2fd190b7490c44fe91d1016363258302c9
Signed-off-by: Yael Avramovich <yael.avramovich@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-11-02 00:23:18 +00:00
Fabrice Olivero cad05129b9 samples/task_profiler: remove "dump" logging
This print showing when the profiler is flusing data to the
UART is annoying, especially when shell is used

Change-Id: I62c4466bd7f599ff995027ee19aea539d6679ec0
Signed-off-by: Fabrice Olivero <fabrice.olivero@intel.com>
2016-07-21 02:41:48 +00:00
Fabrice Olivero b551a447b0 samples/task_profiler: fix crash when starting profiler
When profiler is started from shell, platform information is
transmitted over uart by calling uart_poll_out(uart_dev)
directly in the shell fiber context which is executed when
the command is entered ('prof start')

Problem is that 'uart_dev' global variable is set to the UART
console device when prof_flush() first call is done.

Depending on when this call happens (application dependent,
especially in nano-apps which have to call prof_flush in
their main loop), 'prof start' may happen before 'uart_dev'
variable is actually set, which drives to shell fiber crash.

This patches moves sending platform information from shell
fiber to prof_flush function to avoid using non initialized
'uart_dev' variable.

Change-Id: Ie64f4418a745affa3fbd731db6bf9bb998b7c2f9
Signed-off-by: Fabrice Olivero <fabrice.olivero@intel.com>
2016-06-22 05:30:26 +00:00
Fabrice Olivero 275a853c16 samples/task_profiler: modifications to ease integration
- Few clarifications in README
- addition of prof_flush() in profiler.h
- renamed shell "commands" variable (too generic)

Change-Id: I1bcf1867c15774a84ba24c19546e5ddafb2233a2
Signed-off-by: Fabrice Olivero <fabrice.olivero@intel.com>
2016-06-10 15:16:16 +00:00
Fabrice Olivero 9cceb8c627 samples/task_profiler: fix #if to #ifdef
Change-Id: I6b0f6f14cab6df99c3bfe82062732e9f1eeef2bd
Signed-off-by: Fabrice Olivero <fabrice.olivero@intel.com>
2016-05-23 21:28:12 +00:00
Fabrice Olivero 8a1c4e642b samples/task_profiler: add RTC/counter support as timestamp
On Quark SE, using system timer as event timestamp creates
inconsistencies since the timer is handled by software in
timer_int_handler and tickless_idle_exit. So timestamp does not
reflect timing of certain events like timer IRQ.

This patch introduces the usage of RTC or AON counter as kernel
event logger timestamp

Change-Id: I070254446dd98dd448e119892c34abf12efca719
Signed-off-by: Fabrice Olivero <fabrice.olivero@intel.com>
2016-05-23 21:28:04 +00:00
Luiz Augusto von Dentz 7941630e17 console: shell: Add return to command callback
This enable checking for errors and automatically print help string:

btshell> connect
connect <address: XX:XX:XX:XX:XX:XX> <address type: (public)>

Change-Id: Ie097ecddb72ab15bf6192e310d0bd839bfd251d5
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-05-23 11:00:21 +03:00
Fabrice Olivero d24bd64302 samples: adds task_profiler application, code and scripts
This patches includes
- a profiler file/Makefile that can be added to an application to enable
  kernel event logger flush over UART
- a nanokernel and a microkernel sample application permitting to
  exercise the profiler
- scripts permitting to get kernel event profiler data over UART
  console and post-process this data

Origin: Original
Change-Id: Icacf4354c526c7f780b11371e9c28c87e6461eb8
Signed-off-by: Fabrice Olivero <fabrice.olivero@intel.com>
2016-05-17 20:13:40 +00:00