All Projects → kylemanna → pydevmem

kylemanna / pydevmem

Licence: MIT license
Python interface to /dev/mem

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to pydevmem

o1heap
Constant-complexity deterministic memory allocator (heap) for hard real-time high-integrity embedded systems
Stars: ✭ 119 (+190.24%)
Mutual labels:  embedded, memory, embedded-systems
Statecharts
YAKINDU Statechart Tools (http://www.statecharts.org)
Stars: ✭ 145 (+253.66%)
Mutual labels:  embedded, embedded-systems
Hfsm2
High-Performance Hierarchical Finite State Machine Framework
Stars: ✭ 134 (+226.83%)
Mutual labels:  embedded, embedded-systems
Lwesp
Lightweight Espressif AT parser library for ESP8266 and ESP32 devices.
Stars: ✭ 212 (+417.07%)
Mutual labels:  embedded, embedded-systems
List of robot electronics
A curated list of awesome open source electronic resources for robotics
Stars: ✭ 106 (+158.54%)
Mutual labels:  embedded, embedded-systems
Embedded Ide
IDE for C embedded development centered on bare-metal ARM systems
Stars: ✭ 127 (+209.76%)
Mutual labels:  embedded, embedded-systems
Awesome Embedded Rust
Curated list of resources for Embedded and Low-level development in the Rust programming language
Stars: ✭ 2,805 (+6741.46%)
Mutual labels:  embedded, embedded-systems
Mylinux
myLinux is a small UNIX like OS for embedded systems based on Westermo NetBox
Stars: ✭ 53 (+29.27%)
Mutual labels:  embedded, embedded-systems
Libhydrogen
A lightweight, secure, easy-to-use crypto library suitable for constrained environments.
Stars: ✭ 247 (+502.44%)
Mutual labels:  embedded, embedded-systems
Embedded UKF Library
A compact Unscented Kalman Filter (UKF) library for Teensy4/Arduino system (or any real time embedded system in general)
Stars: ✭ 31 (-24.39%)
Mutual labels:  embedded, embedded-systems
openncc
OpenNCC Kit
Stars: ✭ 23 (-43.9%)
Mutual labels:  embedded, embedded-systems
Lwmem
Lightweight dynamic memory manager library for embedded systems with memory constraints. It implements malloc, calloc, realloc and free functions
Stars: ✭ 92 (+124.39%)
Mutual labels:  embedded, memory
Printf
Tiny, fast, non-dependent and fully loaded printf implementation for embedded systems. Extensive test suite passing.
Stars: ✭ 1,157 (+2721.95%)
Mutual labels:  embedded, embedded-systems
Szl
A lightweight, embeddable scripting language
Stars: ✭ 134 (+226.83%)
Mutual labels:  embedded, embedded-systems
Luos
Luos technology main lib
Stars: ✭ 55 (+34.15%)
Mutual labels:  embedded, embedded-systems
Libcanard
A compact implementation of the UAVCAN/CAN protocol in C for high-integrity real-time embedded systems
Stars: ✭ 151 (+268.29%)
Mutual labels:  embedded, embedded-systems
w1-gpio-cl
Command line configured kernel mode 1-wire bus master driver. w1-gpio standard Linux module enhancement/substitution.
Stars: ✭ 17 (-58.54%)
Mutual labels:  embedded, embedded-systems
Micro Xrce Dds Client
Micro XRCE-DDS Client repository
Stars: ✭ 30 (-26.83%)
Mutual labels:  embedded, embedded-systems
Embedded Device Lab
embedded-device-lab是一个利用qemu模拟真实世界中物联网漏洞的测试环境。由于物联网架构的特殊性,调试分析漏洞通常需要使用qemu模拟执行不同架构的可执行文件。而各种搭建环境,交叉编译是一件费事费力,令人忧伤的工作。 embedded-device-lab利用docker-compose,将各种漏洞调试环境一键化。简单使用两条命令,就可以直接使用gdb或者IDA动态分析相关漏洞。
Stars: ✭ 48 (+17.07%)
Mutual labels:  embedded, embedded-systems
Libonnx
A lightweight, portable pure C99 onnx inference engine for embedded devices with hardware acceleration support.
Stars: ✭ 217 (+429.27%)
Mutual labels:  embedded, embedded-systems

Python DevMem

This is designed primarily for use with accessing /dev/mem on OMAP platforms. It should work on other platforms and work to mmap() files rather then just /dev/mem, but these use cases aren't well tested.

All file accesses are aligned to DevMem.word bytes, which is 4 bytes on ARM platforms to avoid data abort faults when accessing peripheral registers.

Usage

Usage: devmem.py [options]

Options:
  -h, --help            show this help message and exit
  -r ADDR, --read=ADDR  read a value
  -w ADDR VALUE, --write=ADDR VALUE
						write a value
  -n NUM, --num=NUM     number of words to read
  -s WORD_SIZE, --word-size=WORD_SIZE
						size of word when displayed
  -m FILE, --mmap=FILE  file to open with mmap()
  -v                    provide more information regarding operation
  -d                    provide debugging information

Speed

Initial testing on a BeagleBoard-xM (Cortex-A8 in a TI DM3730) shows that starting up the python interpreter is pretty slow:

# time (echo | python)

real    0m0.859s
user    0m0.750s
sys     0m0.102s

# time python ./pydevmem.py -r 0x4830a204 -n 8
0x4830a204:   1b89102f  00000000  00000000  000000f0
0x4830a214:   cafeb891  0c030016  015739eb  1ff00000

real    0m1.109s
user    0m0.977s
sys     0m0.133s

# time python -S ./pydevmem.py -r 0x4830a204 -n 8
0x4830a204:   1b89102f  00000000  00000000  000000f0
0x4830a214:   cafeb891  0c030016  015739eb  1ff00000

real    0m0.659s
user    0m0.602s
sys     0m0.047s

# time python -S ./pydevmem.pyc -r 0x4830a204 -n 8
0x4830a204:   1b89102f  00000000  00000000  000000f0
0x4830a214:   cafeb891  0c030016  015739eb  1ff00000

real    0m0.647s
user    0m0.508s
sys     0m0.133s

System information for those tests:

Linux omap 3.0.6-x3 #1 SMP Wed Oct 5 07:19:24 UTC 2011 armv7l GNU/Linux

python              2.7.2-7ubuntu2
python-configobj    4.7.2+ds-3
python-minimal      2.7.2-7ubuntu2
python2.7           2.7.2-5ubuntu1
python2.7-minimal   2.7.2-5ubuntu1

Something needs to be sped up to make python start-up in a reasonable amount of time.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].