Wednesday, December 17, 2014

Flash memory Vs eMMC

Flash memory and eMMC are the two most common non-volatile memory found on embedded systems.

Lets start with Flash - There are two types of them:
1) NOR Flash - Byte addressable (Read a byte, Write a byte (only flip bit:1s to 0s but not vice versa), Erase a sector/block to set all the bits to 1)
2) NAND Flash - Block addressable (Read/Write one block - typically one block is read in to memory before individual bytes in the block can be accessed)

Both types are connected to the system address bus, i.e. they are memory mapped and can be accessed by referencing their memory address.

eMMC:
Embedded Multimedia Controller is basically Flash memory bundled along with a controller. The flash memory can be accessed only via the controller using the eMMC protocol.

Friday, October 10, 2014

Remote debugging a QNX application running on an ARM target

On the target

Make sure pdebug is running and listening on port 8000

On the host

Start the gdb
ntoarm-gdb
Connect to the target
target qnx remote-ip:8000
List all the process running on the target
info pidlist
Attach to a process (Use the above listing to find the pid of the required process)
attach pid
Debug the process
info / step / continue
Kill the process
kill
Detach from the process
detach