little bit of clean up commit. Updating readme for little more
direction for stm32 ARM cortex-M0 building. Also adding more explicit error message if VID/PID of device found, but unable to open due to drivers not being installed. Got quite a bit done since last commit, and never committed all the changes. Most should be fine but need to review a little more before I'm ready to commit those. Mostly was in a rush to get SF2 working and then took a break before cleaning up and committing progress. Once old SF2/SNES STM8 updates committed, need to move on to supporting NES mappers. Also in a bit of a rush to verify new STM8S001 can be programmed via CIC CLK on inl6 devices. Also need to get JTAG up and running to make progress on SNES v2 board design. Figured out problem with STM32F070 bootloader, basically broken for 16Mhz crystals because ST doesn't do adequate testing on their bootloader code to verify datasheet and AN specs of allows xtal frequencies. 4, 8, 12, & 24Mhz tested and working, also STM32F072 works. Have dumped bootloader and started analysis. STmicro isn't offering any help to fix issue, bunch of jackasses! Oh well, plan is to establish my own bootloader means which has benefit of allowing me to define however I'd like. Planning on LED pin held high triggering bootloader which would require smallest erase/write protected sector to be devoted to my bootloader similar to how things were done for AVR. After detecting bootloader, initialize HSE and jump to ST's bootloader code so don't have to write my own USB drivers for the bootloader alone.
This commit is contained in:
parent
235e1649f1
commit
b7364b964c
|
|
@ -3,9 +3,11 @@
|
|||
########################################
|
||||
*.o
|
||||
*.swp
|
||||
*.swo
|
||||
*.bin
|
||||
*.bak
|
||||
*.smc
|
||||
*.dropbox.attr
|
||||
|
||||
# ignore shared files that have been copied to host-firmware dirs
|
||||
firmware/source/shared_*.h
|
||||
|
|
|
|||
19
Readme.txt
19
Readme.txt
|
|
@ -16,13 +16,13 @@ run:
|
|||
./inlretro
|
||||
|
||||
|
||||
FIRMWARE:
|
||||
AVR FIRMWARE:
|
||||
install avr-gcc and avr-libc:
|
||||
sudo apt-get install gcc-avr
|
||||
sudo apt-get install avr-libc
|
||||
|
||||
|
||||
BOOTLOADER:
|
||||
AVR BOOTLOADER:
|
||||
bootloadHID-master:
|
||||
https://github.com/ajd4096/bootloadHID
|
||||
fork of original obdev bootloader has option to remove BL switch with timeout.
|
||||
|
|
@ -57,6 +57,9 @@ Uploading 1920 (0x780) bytes starting at 0 (0x0)
|
|||
-take BL switch back to RUN
|
||||
-enjoy new firmware
|
||||
|
||||
STM32 FIRMWARE:
|
||||
Need arm-none-eabi-gcc
|
||||
|
||||
|
||||
===================
|
||||
Windows
|
||||
|
|
@ -71,6 +74,7 @@ Install minGW:
|
|||
(primary need is make, basic unix commands are nice to have)
|
||||
optional: msys-openssh
|
||||
(helpful if using gitlab to pull updates)
|
||||
lua for host app dev
|
||||
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
|
||||
|
|
@ -95,7 +99,7 @@ But whatever it works and saves ~12sec of compile time with current setup.
|
|||
This way lua is compiled separately using it's provided make file.
|
||||
make clean still deletes lua object files, so this process must be reperformed if cleaned.
|
||||
|
||||
FIRMWARE:
|
||||
AVR 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
|
||||
|
|
@ -113,7 +117,7 @@ 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:
|
||||
AVR 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.
|
||||
|
|
@ -133,3 +137,10 @@ If trying to flash mcu from make file you'll have to modify AVRDUDE line to matc
|
|||
Once completed you can make the bootloader and flash it with command "make flash"
|
||||
|
||||
|
||||
STM32 FIRMWARE:
|
||||
|
||||
Need arm-none-eabi-gcc:
|
||||
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads
|
||||
|
||||
Download .zip file and place in folder like C:\ARM and create environment variables to point to bin folder
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -101,12 +101,13 @@ libusb_device_handle * open_usb_device( libusb_context *context, int log_level )
|
|||
if (log_level>0) printf("checking %x product\n", desc.idProduct);
|
||||
if ((desc.idVendor == 0x16C0) && (desc.idProduct == 0x05DC)) {
|
||||
//Found a V-USB device with default VID/PID now see if it's actually a kazzo
|
||||
//printf("found matching VID PID pair\n");
|
||||
if (log_level>0) printf("found vend ID:%x prod ID:%x ", desc.idVendor, desc.idProduct);
|
||||
if (log_level>0) printf("manf: %d prod: %d\n", desc.iManufacturer, desc.iProduct);
|
||||
|
||||
//opening device allows performing I/O via USB with device
|
||||
rv = libusb_open( device, &handle );
|
||||
check( rv == LIBUSB_SUCCESS, "Unable to open USB device: %s", libusb_strerror(rv));
|
||||
check( rv == LIBUSB_SUCCESS, "Unable to open USB device: %s., \n\nDEVICE FOUND, BUT CAN'T OPEN DEVICE, VERIFY DRIVERS ARE INSTALLED!!!", libusb_strerror(rv));
|
||||
if (log_level>0) printf("device opened successfully\n");
|
||||
|
||||
if (desc.iManufacturer) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue