FIND AND GREP

This post provides essential commands for navigating directories on Ubuntu/Linux, making directory navigation easier. The post includes commands for searching for specific patterns within files, filtering by file type, and excluding certain directories. Each command is accompanied by a brief explanation and example. This valuable resource can greatly enhance your Linux command line skills.

Read More FIND AND GREP

ps – ?

The ‘ps’ command in Linux shows information about active processes. Options include displaying processes for the current shell, showing all processes on the system, providing full or long-format listings, showing processes not attached to a terminal, displaying all threads for a process, allowing custom formatting, sorting the output, and more. For further details, type ‘man ps’ on bash.

Read More ps – ?

GDB COMMANDS

This article by Yashwanth Naidu Tikkisetty provides a comprehensive list of gdb commands for debugging. It covers functions like info, set, watch, stepi, disassemble, and more, essential for efficient debugging in embedded systems. The post also emphasizes the importance of inspecting memory maps and displaying directory paths. For more details, visit the LinkedIn post.

Read More GDB COMMANDS

𝑺𝒆𝒍𝒆𝒄𝒕𝒊𝒗𝒆 𝑭𝒖𝒏𝒄𝒕𝒊𝒐𝒏 𝑫𝒆𝒄𝒍𝒂𝒓𝒂𝒕𝒊𝒐𝒏 𝒐𝒗𝒆𝒓 𝒇𝒖𝒍𝒍 𝒉𝒆𝒂𝒅𝒆𝒓 𝒊𝒏𝒄𝒍𝒖𝒔𝒊𝒐𝒏𝒔

In embedded systems, optimizing code size is critical. Including only necessary function declarations can reduce memory usage and improve build times. However, this approach may impact code readability, portability, and error risk. Striking a balance and prioritizing clear documentation is key for successful implementation in resource-limited environments.

Read More 𝑺𝒆𝒍𝒆𝒄𝒕𝒊𝒗𝒆 𝑭𝒖𝒏𝒄𝒕𝒊𝒐𝒏 𝑫𝒆𝒄𝒍𝒂𝒓𝒂𝒕𝒊𝒐𝒏 𝒐𝒗𝒆𝒓 𝒇𝒖𝒍𝒍 𝒉𝒆𝒂𝒅𝒆𝒓 𝒊𝒏𝒄𝒍𝒖𝒔𝒊𝒐𝒏𝒔

GCC – ?

The gcc commands cover optimizations, profiling, security, and low-level operations, essential for embedded systems and performance-critical applications. Techniques include Link-Time Optimizations, dependency file generation, controlling inline functions, architecture-specific optimizations, and static analysis. These techniques prioritize efficient, secure, and compact code in memory-constrained embedded systems.

Read More GCC – ?

𝑻𝒉𝒆𝒓𝒂𝒄 𝟐𝟓 – 𝑴𝑨𝑳𝑭𝑼𝑵𝑪𝑻𝑰𝑶𝑵 𝟓𝟒

The Therac-25 incident serves as a stark reminder of the ethical and technical responsibilities in embedded engineering. This state-of-the-art medical device’s software race condition led to catastrophic consequences, emphasizing engineers’ duty to design with care and respect for end users. It highlights the profound impact of engineering work on real people and urges a cautious, responsible approach.

Read More 𝑻𝒉𝒆𝒓𝒂𝒄 𝟐𝟓 – 𝑴𝑨𝑳𝑭𝑼𝑵𝑪𝑻𝑰𝑶𝑵 𝟓𝟒

𝑾𝒉𝒂𝒕 𝒊𝒔 𝒂 𝑭𝑰𝑭𝑶?

Named pipes, also known as FIFOs, are essential in inter-process communication. They embody the “First In, First Out” concept, serving as intermediaries between processes. Positioned within the file system, they enable seamless communication and offer persistence and flexibility. Understanding named pipes is key to fully appreciate Linux’s capabilities and empower your programming endeavors.

Read More 𝑾𝒉𝒂𝒕 𝒊𝒔 𝒂 𝑭𝑰𝑭𝑶?

𝑬𝒙𝒑𝒍𝒐𝒓𝒊𝒏𝒈 𝒕𝒉𝒆 𝑻𝒘𝒐-𝑾𝒂𝒚 𝑺𝒕𝒓𝒆𝒆𝒕𝒔 𝒊𝒏 𝑳𝒊𝒏𝒖𝒙: 𝑫𝒖𝒑𝒍𝒆𝒙 𝑪𝒐𝒎𝒎𝒖𝒏𝒊𝒄𝒂𝒕𝒊𝒐𝒏 𝒘𝒊𝒕𝒉 𝑷𝒊𝒑𝒆𝒔 🛣️

Unix Pipes allow one-way communication, but Duplex Communication enables two processes to chat back and forth simultaneously. Using two pipes, data can flow both ways between parent and child processes. By coordinating the reading and writing ends, full duplex communication is achieved, despite not guaranteeing simultaneous data exchange.

Read More 𝑬𝒙𝒑𝒍𝒐𝒓𝒊𝒏𝒈 𝒕𝒉𝒆 𝑻𝒘𝒐-𝑾𝒂𝒚 𝑺𝒕𝒓𝒆𝒆𝒕𝒔 𝒊𝒏 𝑳𝒊𝒏𝒖𝒙: 𝑫𝒖𝒑𝒍𝒆𝒙 𝑪𝒐𝒎𝒎𝒖𝒏𝒊𝒄𝒂𝒕𝒊𝒐𝒏 𝒘𝒊𝒕𝒉 𝑷𝒊𝒑𝒆𝒔 🛣️

𝑫𝒊𝒗𝒊𝒏𝒈 𝒊𝒏𝒕𝒐 𝑼𝒏𝒊𝒙 𝑷𝒊𝒑𝒆𝒔: 𝑨 𝑭𝒖𝒏 𝑱𝒐𝒖𝒓𝒏𝒆𝒚 🚀

Unix Pipes are the OGs of Inter-Process Communication on Unix systems. They facilitate seamless data flow between processes, like family messengers connecting parent and child processes. Operating like a one-lane road, they ensure a one-way data flow with a capacity limit. With simple functions, they enable sharing of notes between processes.

Read More 𝑫𝒊𝒗𝒊𝒏𝒈 𝒊𝒏𝒕𝒐 𝑼𝒏𝒊𝒙 𝑷𝒊𝒑𝒆𝒔: 𝑨 𝑭𝒖𝒏 𝑱𝒐𝒖𝒓𝒏𝒆𝒚 🚀