>>>>> I would think that such an application would be a C++ development and would be usable both on Windows and Linux. <<<<<<
Would it be nice to have an application that utilizes HTML5 and CSS3 for the UI, communicates with the low-level parts of the app via WebSockets? (Lesser C++, but additionally some JS.) >>>>> I believe that such a tool would be a valuable addition to the NuttX ecology. <<<<< I do agree. That would be such an invaluable tool. BTW, speaking of particular hardware like FT245 gives me an idea. Well, this might sound a little bit irrelevant, but what about taking it a step further and developing a mini-SDK (NX-SDK) as the one Zephyr has? Still not as a very active contributor, but an enthusiastic follower of the NuttX project, I think that the entry barrier of the project is still not that low. Onboarding takes some time. Having a custom SDK that includes not only a tracer, but also other helper tools (e.g., flasher/debugger for the supported boards) would facilitate the adaptation process of the newcomers. Finally, rather than relying on some particular ICs, would it be more practical to build such a tool by creating a (custom) fork of OpenOCD? Erdem Gregory Nutt <spudan...@gmail.com>, 13 Haz 2020 Cmt, 02:02 tarihinde şunu yazdı: > Hi, List, > > I have been contemplating a NuttX-based Open Source project today and I > am interested in seeing if anyone is willing to participate or, even if > not, if anyone has any insights or recommendations that could be useful. > > Basically, I am thinking of a NuttX tool to monitor the internal state > of the OS. This would be conceptually similar to Segger SystemView or > Wind River WindView: A host basic graphical tool that exposes the > internal behavior of tasks and threads within the OS in a "logic > analyzer format": > > 1. Horizontal rows would be indicate the state of each task, running or > block (and if blocked why/) > 2. Each arranged vertically by task/thread priority so that the highest > priority task is the first row and the lowest priority task is the > bottom row. > 3. Annotation to indicated events: Interrupts, semaphore operations, > spinlock operations, etc. > 4. This display should be realtime (with a lag, of course) and should > scroll to the right as time elapses. It should be possible to > capture and save the event data for subsequent offline analysis. > > Additional analytic displays could be considered in the future. > > The hardware I am thinking to accomplish this would be an inexpensive > FT245RL board which connects to the target via an 8-bit parallel > interface and to the host via a USB 2.0 interface. The target side is > essentially a FIFO: OS events would be written to the FT245RL FIFO and > transferred to the host via USB 2.0. > > The OS instrumentation is already in place to accomplish this. This is > controlled by CONFIG_SCHED_INSTRUMENTATION and related configuration > options that you can see in sched/Kconfig. The target side effort is then: > > 1. Configure the parallel interface to the FT245RL's FIFO. This would > likely be FSMC for an initial STM32 implementation. > 2. Develop the simple logic to encode the instrumented events and to > pass them to host visa that FIFO. > > Drivers and configuration tools for the host side are already available > from the FTDI website. Becoming familiar with these tools and > integrating the host-side interface would be another task. > > The final task, the one that is the most daunting to me, is the > development of the substantial host-side graphics application that would > receive the OS instrumentation data and produce the graphic > presentation. I would think that such an application would be a C++ > development and would be usable both on Windows and Linux. > > I believe that such a tool would be a valuable addition to the NuttX > ecology. I think that such a tool would move NuttX from a basic, > primitive open source OS project and into full competition with > commercial products (in terms of features and usage... we are not > actually in competition with anyone). > > Is this something that would be interesting to anyone? Does anyone have > any input or advice? If there is any interest I think that we should > create a small development team to make this happen. If that team is > small enough, I would be happy to provide common development hardware > (STM32 and FT245RL boards from China, or course). > > What say ye? > > Greg > >