data-structures-for-embedded-systems | data structures that use static memory allocation
kandi X-RAY | data-structures-for-embedded-systems Summary
kandi X-RAY | data-structures-for-embedded-systems Summary
data-structures-for-embedded-systems is a C library typically used in Framework applications. data-structures-for-embedded-systems has no bugs, it has no vulnerabilities, it has a Strong Copyleft License and it has low support. You can download it from GitHub.
This repository contains a code-base that I find useful for isolating the embedded applications I write from the characteristics that vary between hardware systems and microcontroller architectures. Each module is coded using dependency-injection, which allows compiling, testing, and integrating each module independently; making it more portable and modular. The idea is basically to write the modules by programming towards a generic interface whose concrete implementation can vary from one application (or running environment) to another. Most modules implement a base data-structure that carries with the information of the module dependencies and its attributes. For example, the module MyModule defines the data structure MyModule_t. Also, inside MyModule_t, the user must specify a concrete implementation of the "dependency Z" for the module to be integrated into an application. In this way, the user can separate the dependency implementation, the module itself, and the application so that they can be maintained/changed independently. In each module, the header MyMoudule.h contains the public declarations, while the behavioral implementation is inside the correspondent source file MyModule.c. Often, the source file contains only standard-C-library functions and calls to the dependencies (using the generic interfaces available in the module data-structure definition). Since this code is oriented towards embedded applications, I recommend to initialize the module data-structures statically (avoiding dynamic memory allocation). The code-base includes modules that are common to embedded applications such as general-purpose-IO, counters, queues, etc. Please feel free to comment, ask questions, or give me advice on how to improve the code.
This repository contains a code-base that I find useful for isolating the embedded applications I write from the characteristics that vary between hardware systems and microcontroller architectures. Each module is coded using dependency-injection, which allows compiling, testing, and integrating each module independently; making it more portable and modular. The idea is basically to write the modules by programming towards a generic interface whose concrete implementation can vary from one application (or running environment) to another. Most modules implement a base data-structure that carries with the information of the module dependencies and its attributes. For example, the module MyModule defines the data structure MyModule_t. Also, inside MyModule_t, the user must specify a concrete implementation of the "dependency Z" for the module to be integrated into an application. In this way, the user can separate the dependency implementation, the module itself, and the application so that they can be maintained/changed independently. In each module, the header MyMoudule.h contains the public declarations, while the behavioral implementation is inside the correspondent source file MyModule.c. Often, the source file contains only standard-C-library functions and calls to the dependencies (using the generic interfaces available in the module data-structure definition). Since this code is oriented towards embedded applications, I recommend to initialize the module data-structures statically (avoiding dynamic memory allocation). The code-base includes modules that are common to embedded applications such as general-purpose-IO, counters, queues, etc. Please feel free to comment, ask questions, or give me advice on how to improve the code.
Support
Quality
Security
License
Reuse
Support
data-structures-for-embedded-systems has a low active ecosystem.
It has 2 star(s) with 0 fork(s). There are 1 watchers for this library.
It had no major release in the last 6 months.
data-structures-for-embedded-systems has no issues reported. There are no pull requests.
It has a neutral sentiment in the developer community.
The latest version of data-structures-for-embedded-systems is current.
Quality
data-structures-for-embedded-systems has no bugs reported.
Security
data-structures-for-embedded-systems has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
License
data-structures-for-embedded-systems is licensed under the GPL-3.0 License. This license is Strong Copyleft.
Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.
Reuse
data-structures-for-embedded-systems releases are not available. You will need to build from source code and install.
Installation instructions, examples and code snippets are available.
Top functions reviewed by kandi - BETA
kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of data-structures-for-embedded-systems
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of data-structures-for-embedded-systems
data-structures-for-embedded-systems Key Features
No Key Features are available at this moment for data-structures-for-embedded-systems.
data-structures-for-embedded-systems Examples and Code Snippets
No Code Snippets are available at this moment for data-structures-for-embedded-systems.
Community Discussions
No Community Discussions are available at this moment for data-structures-for-embedded-systems.Refer to stack overflow page for discussions.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install data-structures-for-embedded-systems
To build the project in a Linux system:. If the latest command runs successfully, it should create the lib and bin directories. Inside the lib directory, you can find the archive files containing the functions of each module. The bin directory contains the executable tests, which require Linux environment to run (they use utilities such as signals, threads, process-control tools, and etcetera). If you want to build using a cross-compiler, then you have to set up the toolchain (compiler, archiver, linker, and etcetera) in the CMakeLists.txt file.
Clone the repository.
Run cmake . to generate the makefiles.
Run make.
Clone the repository.
Run cmake . to generate the makefiles.
Run make.
Support
For any new features, suggestions and bugs create an issue on GitHub.
If you have any questions check and ask questions on community page Stack Overflow .
Find more information at:
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page