Finding and fixing memoy leaks in your software

Memory leaks will cause your device to crash after a period of time once it runs out of memory. A quick way to find out if your application has memory leak(s) is too monitor it with top: PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND 1       root       15   0   2156    668  572 S     0           5 .0      0:00.14         application If you see the %MEM increase over time for no particular reasons, then you’ve got a memory leak. However, it might be tricky to isolate where the issue occurs exactly. The first thing to do is the review your source code for the following: Malloced memory is always freed fopen is always followed by fclose, and open by close scandir calls are properly freed Threads are properly terminated with pthread_cancel & pthread_join or pthread_detach, etc… If after a code review you cannot find the reason for the memory leak, use the following …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Mounting a JFFS2 image in a Linux PC

We often use JFFS2 binary images for embedded system, generating them with mkfs.jffs2. In some instances, it could also be good to mount a jffs2 image into your PC to modify it directly. To do that,  type the following commands as root in a linux shell: modprobe mtdcore modprobe jffs2 modprobe mtdram modprobe mtdchar modprobe mtdblock dd if=image-jffs2 of=/dev/mtd0 mount /dev/mtdblock0 mnt If your image is larger than the default kernel size (4MB in my case), you can try to adjust the mtdram device size with the total_size parameters. when inserting the mtdram module, e.g.: modprobe mtdram total_size=8096 where total_size is expressed in KB Further details can be found @ http://www.handhelds.org/hypermail/familiar/62/6232.html Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. www.cnx-software.com Support CNX Software – Donate via PayPal or become a Patron on Patreon

Support CNX Software – Donate via PayPal or become a Patron on Patreon