https://github.com/andidittrich/avr.skeleton-c
:skull: Application Skeleton for 8Bit AVR Projects
https://github.com/andidittrich/avr.skeleton-c
avr avr-gcc avr-library avr-toolchain gcc makefile
Last synced: 3 months ago
JSON representation
:skull: Application Skeleton for 8Bit AVR Projects
- Host: GitHub
- URL: https://github.com/andidittrich/avr.skeleton-c
- Owner: AndiDittrich
- License: mit
- Created: 2015-12-31T11:30:21.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-01-10T20:28:33.000Z (over 7 years ago)
- Last Synced: 2025-01-11T18:10:59.759Z (4 months ago)
- Topics: avr, avr-gcc, avr-library, avr-toolchain, gcc, makefile
- Language: Makefile
- Homepage:
- Size: 11.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE.md
Awesome Lists containing this project
README
Skeleton-C
==========Simple Makefile Template for 8Bit AVR Projects
## Features ##
* Simply compile all C-Files of a project
* Project configuration within a simple config file
* EEPROM CLI Programming utility functions
* Generates the `.hex` image and extended listing `.lss`
* Includes some [basic utility functions](docs/library.md) located in `lib/`
* Use [AVRDUDE](http://www.nongnu.org/avrdude/) to upload the flash image to your target
* Advanced PHP based pre-processing (define your custom pre-processor functions)## Requirement: AVR Toolchain ##
The AVR Toolchain can be installed with your package manager, or *in case you need a more recent version* manually by downloading the [Official Toolchain Package](http://www.atmel.com/tools/atmelavrtoolchainforlinux.aspx)
**Ubuntu/Debian**
```bash
apt-get install make avr-libc binutils-avr gcc-avr avrdude
```## Usage ##
1. Use git
2. Add **AVR.Skelekton-C** as submodule: `git submodule add https://github.com/AndiDittrich/AVR.Skeleton-C.git`
3. Link the makefile to your project root `ln -s AVR.Skeleton-C/makefile makefile`
4. Copy to makefile.config template `cp AVR.Skeleton-C/config.makefile .`
5. Customize the project based configuration by editing `config.makefile` to match your MCU-Type and frequency
6. Compile your project with `make`
7. Upload the flash image to your device `make install`All build-files are stored in the `build/` directorie. The output files are prefixed with **_application**.
For example, the generated hex file is located in `build/_application.hex`## Project based Configuration ##
To edit linker, compiler flags, MCU-target, frequency you just need to edit the `config.makefile` file.
This allows you to easily update the **Skeleton-C** project without merging the makefile manually!### Exmaple - Target Device Settings ###
* 8MHz Clock
* atmega16```makefile
# The AVR Device (AVR-GCC/AVRDUDE)
T_DEVICE = atmega16# Target Clock (F_CPU) in Hz
T_FCPU = 8000000
```## EEPROM Programming ##
```raw
0x55 0x22 0x10 0x1 0x00 0x01 0x02 0x03
0x22 0x11 0x00 0xff 0xA0
```## Library Functions ##
A bunch of easy to use [utility functions](docs/library.md) is included to speed-up your project.
For further informations, please take a look into the [Documentation](docs/library.md)## Any Questions ? Report a Bug ? Enhancements ? ##
Please open a new issue on [GitHub](https://github.com/AndiDittrich/AVR.Skeleton-C/issues)
## License ##
AVR.Skeleton-C is OpenSource and licensed under the Terms of [The MIT License (X11)](http://opensource.org/licenses/MIT). You're welcome to [contribute](https://github.com/AndiDittrich/AVR.Skeleton-C/blob/master/CONTRIBUTE.md)!