embedded   26385

« earlier    

Small Devices | For creating, coding, and learning – smalldevices
We're a local online store based in Victoria, Australia. We stock a selection of small devices, kits, and electronic components for hobby and education needs.
online  store  embedded  australia  smalldevices 
22 hours ago by cyberchucktx
Zero cost stack overflow protection for ARM Cortex-M devices | Embedded in Rust
Using a linker script to swap position of the stack, so an overflow will hit a ram barrier instead of smashing static data.

Caveat: "The approach described here doesn’t help if you are using threads, where each one has its own stack. In that scenario the thread stacks are laid out contiguously in memory and no amount of shuffling around will prevent one from overflowing into the other. There pretty much your only choice is to use a MPU (Memory Protection Unit) – assuming your microcontroller has one – to create stack boundaries on demand. "
arm  programming  embedded  rust  reference 
23 hours ago by mechazoidal
The BARR-C:2018 Embedded C Coding Standard
'Barr Group's Embedded C Coding Standard was developed to minimize bugs in firmware by focusing on practical rules that keep bugs out--while also improving the maintainability and portability of embedded software. The coding standard details a set of guiding principles as well as specific naming conventions and other rules for the use of data types, functions, preprocessor macros, variables and much more. Individual rules that have been demonstrated to reduce or eliminate certain types of bugs are highlighted. In this latest version, BARR-C:2018, the stylistic coding rules have been fully harmonized with MISRA C: 2012, while helping embedded system designers reduce defects in firmware written in C and C++.'
embedded  c  coding  standards  style-guides  misra  c++ 
2 days ago by jm
Introducing Badger: A fast key-value store written purely in Go - Dgraph Blog
We have built an efficient and persistent log structured merge (LSM) tree based key-value store, purely in Go language. It is based upon WiscKey paper included in USENIX FAST 2016. This design is highly SSD-optimized and separates keys from values to minimize I/O amplification; leveraging both the sequential and the random performance of SSDs. We call it Badger. Based on benchmarks, Badger is at least 3.5x faster than RocksDB when doing random reads. For value sizes between 128B to 16KB, data loading is 0.86x - 14x faster compared to RocksDB, with Badger gaining significant ground as value size increases. On the flip side, Badger is currently slower for range key-value iteration, but that has a lot of room for optimization.
golang  go  keyvaluestores  embedded 
2 days ago by dlkinney
UnQLite - An Embeddable NoSQL Database Engine
nQLite is a in-process software library which implements a self-contained, serverless, zero-configuration, transactional NoSQL database engine. UnQLite is a document store database similar to MongoDB, Redis, CouchDB etc. as well a standard Key/Value store similar to BerkeleyDB, LevelDB, etc.


UnQLite is an embedded NoSQL (Key/Value store and Document-store) database engine. Unlike most other NoSQL databases, UnQLite does not have a separate server process. UnQLite reads and writes directly to ordinary disk files. A complete database with multiple collections, is contained in a single disk file. The database file format is cross-platform, you can freely copy a database between 32-bit and 64-bit systems or between big-endian and little-endian architectures.
embedded  nosql  keyvalue 
4 days ago by griddell
Vedis - An Embeddable Datastore Engine
Vedis is an embeddable datastore C library built with over 70 commands similar in concept to Redis but without the networking layer since Vedis run in the same process of the host application.



Unlike most other datastores (i.e. memcache, Redis), Vedis does not have a separate server process. Vedis reads and writes directly to ordinary disk files. A complete database with multiple collections, is contained in a single disk file. The database file format is cross-platform, you can freely copy a database between 32-bit and 64-bit systems or between big-endian and little-endian architectures.


Vedis is a self-contained C library without dependency. It requires very minimal support from external libraries or from the operating system. This makes it well suited for use in embedded devices that lack the support infrastructure of a desktop computer. This also makes Vedis appropriate for use within applications that need to run without modification on a wide variety of computers of varying configurations.
embedded  redis  keyvalue 
4 days ago by griddell
Solar Power Guide for Arduino
Run an Arduino offgrid with high performance solar panels and solar chargers by Voltaic Systems. We like our 2, 3.5, 6 and 9 Watt Kits for these applications. The V15, V44 and V88 batteries charge efficiently from solar and have an "Always On" mode which keeps them on whether or not a device is drawing any power. We have more information on sizing your system below.
arduino  embedded  solar  renewable  power  energy 
6 days ago by cyberchucktx

« earlier