144 lines
5.9 KiB
Plaintext
144 lines
5.9 KiB
Plaintext
===================
|
|
Linux
|
|
===================
|
|
HOST APPLICATION:
|
|
install libusb:
|
|
sudo apt-get install libusb-1.0-0-dev
|
|
|
|
make:
|
|
gcc -I include usbtest.c -o usbtest -lusb-1.0
|
|
|
|
run:
|
|
./usbtest
|
|
|
|
FIRMWARE:
|
|
install avr-gcc and avr-libc:
|
|
sudo apt-get install gcc-avr
|
|
sudo apt-get install avr-libc
|
|
|
|
setting up permissions so don't need to run with sudo
|
|
cd to /etc/udev/rules.d and run ls:
|
|
paul@eeepc:/etc/udev/rules.d$ ls
|
|
70-persistent-net.rules README
|
|
here you can see I only have one default number 70 rule.
|
|
So we need to create a rule number greater than 70 to override that rule not giving us the permission we want.
|
|
copy the file:
|
|
sudo cp <exsistingrule##.rules> <## + 1>-libusb-permission.rules
|
|
here's what I did, you rule number and name may differ:
|
|
paul@eeepc:/etc/udev/rules.d$ sudo cp 70-persistent-net.rules 71-libusb-permission.rules
|
|
paul@eeepc:/etc/udev/rules.d$ ls
|
|
70-persistent-net.rules 71-libusb-permission.rules README
|
|
|
|
udevadm monitor
|
|
plug in device:
|
|
KERNEL[867.744361] add /devices/pci0000:00/0000:00:1d.1/usb3/3-1 (usb)
|
|
KERNEL[867.748427] add /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0 (usb)
|
|
UDEV [867.764925] add /devices/pci0000:00/0000:00:1d.1/usb3/3-1 (usb)
|
|
UDEV [867.770804] add /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0 (usb)
|
|
|
|
lsusb
|
|
Bus 001 Device 003: ID 05e3:0505 Genesys Logic, Inc.
|
|
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
|
|
Bus 005 Device 002: ID 0b05:b700 ASUSTek Computer, Inc. Broadcom Bluetooth 2.1
|
|
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
|
|
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
|
|
Bus 003 Device 010: ID 16c0:05dc Van Ooijen Technische Informatica shared ID for use with libusb
|
|
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
|
|
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
|
|
|
|
ls -ltr /dev/bus/usb/003/
|
|
total 0
|
|
crw-rw-r-- 1 root root 189, 256 Nov 12 00:37 001
|
|
crw-rw-r-- 1 root root 189, 265 Nov 12 01:24 010
|
|
|
|
sudo chown paul /dev/bus/usb/003/010
|
|
|
|
ls -ltr /dev/bus/usb/003/010
|
|
crw-rw-r-- 1 paul root 189, 265 Nov 12 01:24 /dev/bus/usb/003/010
|
|
|
|
https://ubuntuforums.org/showthread.php?t=168221
|
|
|
|
|
|
|
|
BOOTLOADER:
|
|
bootloadHID-master:
|
|
https://github.com/ajd4096/bootloadHID
|
|
fork of original obdev bootloader has option to remove BL switch with timeout.
|
|
|
|
bootloadHID.2012-12-08:
|
|
https://www.obdev.at/products/vusb/bootloadhid.html
|
|
the original believe it has more upto date V-USB drivers.
|
|
|
|
Both have identical commandline folders so they're identical on the host side.
|
|
need to have libusb-dev installed can check by typing "libusb-config" in terminal
|
|
will present usage options if installed on your system
|
|
if not installed should report so with suggestion for apt-get:
|
|
paul@eeepc:~/Dropbox/retro_pgmr/INL-retro-progdump/bootloader/commandline$ libusb-config
|
|
The program 'libusb-config' is currently not installed. You can install it by typing:
|
|
sudo apt-get install libusb-dev
|
|
then just run 'make' will hopefully build sucessfully
|
|
|
|
|
|
===================
|
|
Windows
|
|
===================
|
|
HOST APPLICATION:
|
|
Install minGW:
|
|
download: http://www.mingw.org/wiki/Getting_Started
|
|
launch: Installation manager default settings
|
|
select: mingw32-base
|
|
(primary need is gcc)
|
|
select: msys-base
|
|
(primary need is make, basic unix commands are nice to have)
|
|
optional: msys-openssh
|
|
(helpful if using gitlab to pull updates)
|
|
minGW utilities can be easily added or removed at any time with minGW installation manager.
|
|
Add C:\MinGW\bin & C:\MinGW\msys\1.0\bin to your PC's enviroment PATH variable
|
|
-control panel search: "edit system environment variables
|
|
-System properties window, Advanced tab, click Environment Variables...
|
|
-System Variables pane: Select and edit "PATH"
|
|
-Add new entries below assuming you used default location for minGW
|
|
C:\MinGW\bin
|
|
C:\MinGW\msys\1.0\bin
|
|
|
|
Now host app can be built from windows command prompt command make when in host directory
|
|
|
|
FIRMWARE:
|
|
Download and Install WinAVR
|
|
http://www.webring.org/l/rd?ring=avr;id=59;url=http%3A%2F%2Fwinavr%2Esourceforge%2Enet%2Findex%2Ehtml
|
|
optional: install programmer's notepad has handy feature to make clean, all, program in tools menu
|
|
this is nifty if you are scared of the command prompt for some strange reason...
|
|
installation process should modify PATH environment variables for you.
|
|
incase they don't add them just like MinGW above
|
|
C:\WinAVR-20100110\bin
|
|
C:\WinAVR-20100110\utils\bin
|
|
|
|
Now firmware can be built from windows command prompt with command "make" when in firmware directory
|
|
|
|
There is a bootloader installed on all "kazzo" INL retro programmer-dumper's which allows new firmware
|
|
builds to be easily flashed on to the device without a avr programmer.
|
|
Place BL/RUN switch in BL, then hit reset button in INL retro-prog
|
|
from firmware folder run command "make program" this will flash target build onto device using bootloadHID.exe
|
|
Take BL/RUN switch back to RUN and device will reset into INL retro-prog you just built.
|
|
|
|
BOOTLOADER:
|
|
If you wish to build bootloader for kazzo (shouldn't be necessary for most ppl) follow the following
|
|
Requires you to have an avr programmer to reflash atmega164a mcu
|
|
Helpful to download more recent version of avrdude than included with WinAVR.
|
|
Download latest version with mingw32.zip from following link:
|
|
http://download.savannah.gnu.org/releases/avrdude/
|
|
unzip and copy paste both avrdude.exe and avrdude.conf to C:\WinAVR-20100110\bin directory
|
|
Assuming the recent build still doesn't support atmega164a..
|
|
You'll also have to add a definition for atmega164a in the avrdude.conf file
|
|
Copy paste the atmega324P section and rename it atmega164A
|
|
Then change the following lines to match:
|
|
id = "m164a";
|
|
desc = "ATmega164A";
|
|
signature = 0x1e 0x94 0x0f;
|
|
|
|
Now the bootloader can be built and flashed from the bootloadHID/firmware directory with make
|
|
If trying to flash mcu from make file you'll have to modify AVRDUDE line to match your avr programmer
|
|
Once completed you can make the bootloader and flash it with command "make flash"
|
|
|
|
|