DMBS - Dean's Makefile Build System
===================================
Project Overview
----------------
GNU Make is scary, and it's tough to get the rules right sometimes. Many
projects get by via simple copy-pasting of old makefiles, resulting in many
redundant copies of the same old rules. DMBS aims to solve this by providing a
simple modular set of makefiles which can be included by your project to quickly
add various build functionality.
This aims to replace the old WinAVR "mfile" makefile template, giving better
functionality and much simpler user makefiles.
Benefits:
----------------
Apart from much simpler, cleaner makefiles DMBS carries the aim of making the
process of troubleshooting build issues a little easier. Lots can go wrong, so
DMBS tries to sanity check its inputs wherever possible, and produce
human-readable error messages. Forgotten to set a variable? Get a
`Makefile {X} value not set.` message, rather than a possibly unrelated message.
Have the wrong filename? See `Source file does not exist: {X}` rather than the
infamous `No rule to make target {X}` message.
Use:
----------------
A template user makefile is provided in the `Template` directory. DMBS modules
are included via a GNU Make `include` directive. While the DMBS `core` module is
always required, you can pick and choose what other modules you wish to add to
your user project.
[See here for the documentation on the individual modules provided by DMBS.](DMBS/ModulesOverview.md)
If you're interested in writing your own DMBS module(s), [see here.](DMBS/WritingYourOwnModules.md)
Here's an example user makefile:
MCU = atmega128
ARCH = AVR8
F_CPU = 8000000
OPTIMIZATION = s
TARGET = Template
SRC = $(TARGET).c
CC_FLAGS =
LD_FLAGS =
# Default target
all:
# Include DMBS build script makefiles
DMBS_PATH ?= ../DMBS
include $(DMBS_PATH)/core.mk
include $(DMBS_PATH)/gcc.mk
include $(DMBS_PATH)/cppcheck.mk
include $(DMBS_PATH)/doxygen.mk
include $(DMBS_PATH)/dfu.mk
include $(DMBS_PATH)/hid.mk
include $(DMBS_PATH)/avrdude.mk
include $(DMBS_PATH)/atprogram.mk
Each DMBS module can optionally supply one or more Make variables and macros,
which you can reference in your user makefile. Additionally, modules can require
one or more variables to be set by the user makefile, with (in some cases) sane
defaults used if left out.
As modules are added, you can get a list of available targets by simply typing
`make help` from the command line. This will produce a formatted list of targets
as well as mandatory and optional variables and exposed variables and macros.
Distribution
----------------
You can embed DMBS in your project any way you like - some options are:
1. A git submodule
2. A source tarball
3. A manually copied extracted archive
The intention of DMBS is that users can just import it from whatever source
they like. If your project needs to extend the existing modules in an unusual
manner, or if you want to provide your own modules, you can include them in
your project repository (or submit a patch to DMBS if your module is generic
enough to warrant wide use).
License
----------------
DMBS is released into the public domain, making is suitable for use everywhere,
by everyone. Contributions are greatly appreciated however, in order to make
DMBS better for everyone.
The actual license text is as follows:
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>
没有合适的资源?快使用搜索试试~ 我知道了~
适用于基于 AVR 的微控制器 的原始 xbox 控制器仿真器_C语言_代码_相关文件_下载
共465个文件
h:264个
c:71个
txt:32个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 156 浏览量
2022-07-07
23:47:56
上传
评论
收藏 1.64MB ZIP 举报
温馨提示
Xpad AVR 是原始 Xbox 控制台的控制器模拟器。它尝试模拟从控制器发送到控制台的 HID 报告。 建造 你需要: 一个 ATMega32u4(或任何带有内置 USB 的 AVR)微控制器(Arduino Leonardo 或中国仿冒品) 连接到 AVR 的 16 MHz 时钟。(这是Arduinos的标准) WinAVR 或带有 avr-gcc 的 unix。 要编程运行 make 并通过 avrdude 对其进行编程: make avrdude -p m32u4 -cavr109 -P /dev/ttyACM0 -b57600 -D -Uflash:w:XpadEmu.hex:i 更多详情、使用方法,请下载后阅读README.md文件
资源推荐
资源详情
资源评论
收起资源包目录
适用于基于 AVR 的微控制器 的原始 xbox 控制器仿真器_C语言_代码_相关文件_下载
(465个子文件)
MassStorageClassHost.c 19KB
RNDISClassDevice.c 19KB
RNDISClassHost.c 16KB
CDCClassHost.c 15KB
StillImageClassHost.c 13KB
HIDClassHost.c 12KB
AndroidAccessoryClassHost.c 12KB
EndpointStream_XMEGA.c 11KB
EndpointStream_AVR8.c 11KB
PrinterClassHost.c 11KB
CDCClassDevice.c 11KB
HIDParser.c 11KB
DeviceStandardReq.c 11KB
EndpointStream_UC3.c 9KB
PrinterClassDevice.c 9KB
HostStandardReq.c 8KB
AudioClassHost.c 8KB
PipeStream_AVR8.c 8KB
Endpoint_XMEGA.c 7KB
Host_AVR8.c 7KB
Host_UC3.c 7KB
MIDIClassHost.c 7KB
MassStorageClassDevice.c 7KB
USBController_AVR8.c 7KB
AudioClassDevice.c 7KB
HIDClassDevice.c 7KB
USBInterrupt_AVR8.c 7KB
Descriptors.c 6KB
USBController_XMEGA.c 6KB
USBInterrupt_UC3.c 6KB
Pipe_UC3.c 5KB
USBController_UC3.c 5KB
PipeStream_UC3.c 5KB
TWI_AVR8.c 5KB
TWI_XMEGA.c 5KB
Pipe_AVR8.c 5KB
Endpoint_UC3.c 5KB
XpadEmu.c 5KB
Endpoint_AVR8.c 5KB
ConfigDescriptors.c 4KB
Descriptors.c 4KB
HostApplication.c 4KB
MIDIClassDevice.c 4KB
DeviceApplication.c 3KB
Serial_XMEGA.c 3KB
Template_Endpoint_Control_W.c 3KB
Template_Endpoint_Control_W.c 3KB
Template_Endpoint_Control_W.c 3KB
USBInterrupt_XMEGA.c 3KB
SpiBus.c 3KB
Serial_AVR8.c 3KB
Temperature.c 3KB
Template_Endpoint_Control_R.c 2KB
Template_Endpoint_Control_R.c 2KB
Template_Endpoint_Control_R.c 2KB
USBTask.c 2KB
Template_Endpoint_RW.c 2KB
Template_Endpoint_RW.c 2KB
Template_Endpoint_RW.c 2KB
Template_Pipe_RW.c 2KB
Template_Pipe_RW.c 2KB
InterruptManagement.c 2KB
Device_AVR8.c 2KB
Device_UC3.c 1KB
Device_XMEGA.c 1KB
PipeStream_XMEGA.c 1KB
Host_XMEGA.c 1KB
Events.c 1KB
Pipe_XMEGA.c 1KB
HID_EEPROM_Loader.c 1KB
Template.c 201B
Style.css 2KB
lufa_studio_help_styling.css 895B
doxyfile 102KB
.gitignore 454B
.gitignore 50B
AudioClassCommon.h 44KB
StdDescriptors.h 40KB
Pipe_UC3.h 38KB
HIDClassCommon.h 37KB
Pipe_AVR8.h 35KB
EndpointStream_XMEGA.h 34KB
EndpointStream_AVR8.h 34KB
Endpoint_UC3.h 34KB
Endpoint_AVR8.h 31KB
Endpoint_XMEGA.h 27KB
CDCClassDevice.h 22KB
EndpointStream_UC3.h 22KB
CDCClassHost.h 22KB
PipeStream_AVR8.h 22KB
CDCClassCommon.h 21KB
AudioClassDevice.h 20KB
Events.h 19KB
USB.h 19KB
HIDParser.h 19KB
AudioClassHost.h 18KB
MassStorageClassHost.h 18KB
AndroidAccessoryClassHost.h 18KB
Endianness.h 17KB
USBController_AVR8.h 17KB
共 465 条
- 1
- 2
- 3
- 4
- 5
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9149
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功