Marcus Folkesson

Embedded Linux Artist

Terminate a hanging SSH session

Terminate a hanging SSH session It may be very frustrating when SSH sessions just hangs because the target is power cycling or something. Lucky for you there is a "secret" escape sequence that allows you to terminate the session (and a few other things). The escape sequence is <enter>~X where X is a command letter. To see all available key sequences, type <enter>~?. Example output: 1 marcus@Ilos:~$ ~? 2 Supported escape sequences: 3 ~.

Interrupts, and how to divide them between cores

Interrupts, and how to divide them between cores Symetric MultiProcessing (SMP) are becoming increasingly common in embedded systems. Many chip manufacturers such as Texas Instruments and Freescale offers ARM multicores, even FPGA manufacturers like Xilinx and Altera has System-on-Chip with multiple ARM cores. One benefit with SoC is that it's even possible to add soft cores in the programmable logic if it's necessary. The trend is clear, multiple cores is here and it's not likely to be fewer of them.

Linux memory overcommit

Linux memory overcommit Linux is generous in terms of memory, it will almost never fail on requests from malloc(3) with friends. What does this mean in practice and how may it be a potential issue? In short, overcommit memory means that the system will give the application so much memory it's asking for, even if the physical memory is not available. How does this work? Well, the requested memory comes with one small restriction; the application is given as much memory it demands if it not going to use it.

LDD without LDD

LDD without LDD I often meet colleges at work who gets frustrated when they try to see the shared libraries dependencies for an ELF file and the ldd command is simply stripped out from target. (I do often strip targets :-) ) The ldd command is not a binary executable but a script that simple calls the runtime dynamic linker with a few environment variables set, and you may do the same!

Quickfix in VIM

Quickfix in VIM One of the most fascinating things with the VIM editor is that you find new features every day, even after many years of heavy usage. Quickfix is one of those features. Quickfix parse your compiler-output and let you easy navigate to the concerned lines with errors and/or warnings. Great hue? How does it work? The builtin command is (surprisingly) make. Just do: :make (without bang character!)