AVRDUDE AVR ISP 工具 源码 研究

工程网址:
http://www.nongnu.org/avrdude/
http://download.savannah.gnu.org/releases/avrdude/
http://savannah.nongnu.org/projects/avrdude

下载地址:
http://download.savannah.gnu.org/releases/avrdude/

网上常见的是avrdude-GUI 1.0.5,放出两个更好的:
AVRDUDESS 和 avrdude-GUI 1.5.0,两款avrdude编程器的图形扩展界面
https://www.arduino.cn/thread-17399-1-2.html

这个就是常见的avrdude-GUI 1.0.5的最新版本,基本涵盖了avrdude的所有可设置项。
出处见(日文,翻墙,注册登录后可见):http://www-ice.yamagata-cit.ac.jp/forum/viewtopic.php?t=637
选择好Programmer就可以点“Dev Read”自动识别芯片型号和熔丝设置。
着重强调“Find Hex”按钮,可以自动从正在运行的Arduino IDE中获取到上一次编译的hex位置!

AVRDUDESS

AVRDUDESS is a GUI for AVRDUDE, a tool for programming Atmel microcontrollers.

Some key features:

Supports all programmers and MCUs that AVRDUDE supports
Supports presets, allowing you to change between devices and configurations quickly and easily
Drag and drop files for easy uploading
Automatically lists available COM ports
Cross-platform with the use of Mono for Linux & Mac OS X
源码位置:
https://github.com/zkemble/AVRDUDESS
This is a GUI for AVRDUDE (http://savannah.nongnu.org/projects/avrdude).

http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/
vs2013 C#

AVRDUDESS - A GUI for AVRDUDE

This is a GUI for AVRDUDE (http://savannah.nongnu.org/projects/avrdude).

http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/

Windows:

Requires .NET Framework 2.0 SP1 or newer (http://www.microsoft.com/en-gb/download/details.aspx?id=16614). Latest .NET can be found here - http://www.microsoft.com/net

AVRDUDE requires LibUSB LibUSB should really be installed the normal way as a driver for a LibUSB device, but if you don't have any such devices then you will need to download this - http://downloads.sourceforge.net/libusb-win32/libusb-win32-bin-1.2.6.0.zip

Extract libusb-win32-bin-1.2.6.0/bin/x86/libusb_x86.dll to where you have avrdude.exe placed and rename libusb_x86.dll to libusb.dll

这里写图片描述

avrdude-gui

源码:
https://sourceforge.net/projects/avrdude-gui/
avrdude-gui is a simple GUI for avrdude (http://savannah.nongnu.org/projects/avrdude) which is a command line tool running on several OS to program the Atmel AVR Microcontrollers.

下载地址:
https://sourceforge.net/projects/avrdude-gui/files/avrdude-gui/avrdude-gui_0.2.0/

# Project: avrdude-gui
# Makefile created by Dev-C++ 4.9.9.0-wx-beta-6.4

Additional Project Details
Intended Audience
Developers
User Interface
wxWidgets
Programming Language
C
Registered
2004-12-01

这里写图片描述

这里写图片描述

该源码没有最终编译过:
差最后一个问题没有搞定,在这里记录一下:

Compiler: Default compiler
Building Makefile: "E:\arduino\tool\avrdude-gui_src_v0.2.0\Makefile.win"
Executing  make clean
rm -f MainDlgApp.o MainDlg.o avrdude-gui_private.res avrdude-gui.dll

g++.exe -D__DEBUG__ -c MainDlgApp.cpp -o MainDlgApp.o -I"C:/Dev-Cpp/include/c++/3.3.1"  -I"C:/Dev-Cpp/include/c++/3.3.1/mingw32"  -I"C:/Dev-Cpp/include/c++/3.3.1/backward"  -I"C:/Dev-Cpp/lib/gcc-lib/mingw32/3.3.1/include"  -I"C:/Dev-Cpp/include"  -I"C:/wxWidgets-2.5.5/include"  -I"C:/wxWidgets-2.5.5/lib/gcc_dll/mswud"  -fno-rtti -fno-exceptions -fno-pcc-struct-return -fstrict-aliasing -Wall -D__WXMSW__ -D__GNUWIN32__ -D__WIN95__ --share    -fverbose-asm -pg -g3

g++.exe -D__DEBUG__ -c MainDlg.cpp -o MainDlg.o -I"C:/Dev-Cpp/include/c++/3.3.1"  -I"C:/Dev-Cpp/include/c++/3.3.1/mingw32"  -I"C:/Dev-Cpp/include/c++/3.3.1/backward"  -I"C:/Dev-Cpp/lib/gcc-lib/mingw32/3.3.1/include"  -I"C:/Dev-Cpp/include"  -I"C:/wxWidgets-2.5.5/include"  -I"C:/wxWidgets-2.5.5/lib/gcc_dll/mswud"  -fno-rtti -fno-exceptions -fno-pcc-struct-return -fstrict-aliasing -Wall -D__WXMSW__ -D__GNUWIN32__ -D__WIN95__ --share    -fverbose-asm -pg -g3

MainDlg.cpp: In member function `void MainDlg::CreateGUIControls()':
MainDlg.cpp:168: warning: passing NULL used for non-pointer argument 1 of `
   wxArrayString::wxArrayString(int)'

windres.exe -i avrdude-gui_private.rc -I rc -o avrdude-gui_private.res -O coff  --include-dir v册鹶 --include-dir C:/WXWIDG~1.5/include --include-dir C:/WXWIDG~1.5/lib/gcc_dll/mswud

windres.exe: warning: 24: 1: 1033: duplicate value

dllwrap.exe --output-def libavrdude-gui.def --driver-name c++ --implib libavrdude-gui.a MainDlgApp.o MainDlg.o avrdude-gui_private.res -L"C:/Dev-Cpp/lib" -L"C:/wxWidgets-2.5.5/lib/gcc_dll" -lwxmsw25d -lwxmsw25d_gl -lwxtiffd -lwxjpegd -lwxpngd -lwxzlibd -lwxregexd -lwxexpatd -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lodbc32 -lopengl32   -lgmon -pg  -g3  -o avrdude-gui.dll

dllwrap.exe: no export definition file provided.
Creating one, but that may not be what you want

Execution terminated
Compilation successful

使用的版本: 为:
wxMSW-2.5.5-setup.zip
devcpp4990setup.exe
编译:wxMSW-2.5.5 用到的命令为:

DOS命令行下,进入目录:C:\wxWidgets-2.5.5\build\msw
set PATH=C:\Dev-Cpp\bin
mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=0 BUILD=debug clean

mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 USE_OPENGL=1 BUILD=debug

avrdude-gui需要 UNICODE =0

编译完成之后,在
C:\wxWidgets-2.5.5\lib\gcc_dll 目录下会看到生成的库:
这里写图片描述

E:\arduino\tool\avrdude-gui_src_v0.2.0 目录下面:
avrdude-gui.dev 为工程文件,双击打开:
这里写图片描述
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

#define WXUSINGDLL

另外,要特别注意的是,有时,编译、连接的时候,会有一些错误,诸如,
variable 'vtable for wxProcess' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.
碰到这种情况,只要在程序中,加一句 #define WXUSINGDLL 的宏定义,就可以了

win7的Path 环境变量:
C:\WinAVR-20100110\bin;C:\WinAVR-20100110\utils\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\CMake\bin;C:\Python27;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\MinGW\bin

C:\Program Files (x86)\StormII\Codec;C:\Program Files (x86)\StormII;C:\Python27;


%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;


\Dev-Cpp\Bin\..\lib\gcc-lib\mingw32\3.3.1\..\..\..\..\mingw32\bin\ld.exe E:\arduino\tool\avrdude-gui_src_v0.2.0\C cannot find -lwxmsw25 

虽然没有编译过,但是可以借助,avrdude-gui.exe 和其源码,用最新的wxWidgets ,实现一个相同功能的工具,
用来熟悉wxWidgets 这个GUI库。

2018-06-18 最终编译通过
方法是:
https://sourceforge.net/projects/wxdsgn/?source=navbar
https://sourceforge.net/projects/wxdsgn/files/wxDev-C%2B%2B/
https://sourceforge.net/projects/wxdsgn/files/wxDev-C%2B%2B/Version%206/
http://wxdsgn.sourceforge.net/
下载下来:
wxdevcpp_6.10.2_setup.exe

安装之前先卸载之前安装的devcpp
,安装完之后,用wxdevcpp_6.10.2 打开:
E:\arduino\avrdude-gui_src_v0.2.0\avrdude-gui.dev
由于MainDlg.wxform 是旧格式,工具会对其迁移。
完成之后,编译出现错误,找不到某个库
做如下改动,
这里写图片描述

改动之后,再次编译会成功,然后,
运行:
界面如下:
这里写图片描述

bitburner

https://sourceforge.net/projects/bitburner/?source=navbar
c# 开发的

python做的一个

wxpython_avr_isp_tool
对avrdude 工具的GUI封装使用的是,python 和wxwidgets ,来自阿莫网友
下载地址:
https://download.csdn.net/download/wowocpp/10484962

猜你喜欢

转载自blog.csdn.net/wowocpp/article/details/80717866