showjean / ps2avrU

ps2avrU custom keyboard firmware
131 stars 39 forks source link

How to compile the firmware from source? #4

Closed kaansoral closed 8 years ago

kaansoral commented 9 years ago

Is there a basic guide on how to compile this firmware manually and adjust the key schemes etc.?

Thanks in Advance

showjean commented 9 years ago

Install "WinAVR" https://www.google.co.kr/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=winavr

Firmware folder : ps2avrU/firmware/ps2avrGB

Command : prompt> make clean prompt> make

You will get file "ps2avrGB.hex".

Sorry for my foor english.

kaansoral commented 9 years ago

I forgot to tell I was on OSX

make fails complaining ps2avrU.elf doesn't exist, to fix this, I renamed bootMapper.h/c to bootmapper.h/c and refactored the references

Then make complained usbconfig.h doesn't exist, so I renamed usbconfig-prototype.h to usbconfig.h of the usbdrv

Then make tried to re-compile usbdrv for usbdrvasm.o - and avr-gcc halts at that point - it just sits there

 Considering target file `../../source/usbdrv/usbdrvasm.o'.

    File `../../source/usbdrv/usbdrvasm.o' does not exist.

     Pruning file `../../source/usbdrv/usbdrvasm.S'.

    Finished prerequisites of target file `../../source/usbdrv/usbdrvasm.o'.

   Must remake target `../../source/usbdrv/usbdrvasm.o'.

avr-gcc -Wa, -gstabs -DF_CPU=12000000 -I../../source -mmcu=atmega32   -c -o ../../source/usbdrv/usbdrvasm.o ../../source/usbdrv/usbdrvasm.S

Putting child 0x7f8878d05ab0 (../../source/usbdrv/usbdrvasm.o) PID 79452 on the chain.

Live child 0x7f8878d05ab0 (../../source/usbdrv/usbdrvasm.o) PID 79452

Any ideas?

showjean commented 9 years ago

usbconfig.h : https://github.com/showjean/ps2avrU/blob/master/firmware/ps2avrGB/usbconfig.h

kaansoral commented 9 years ago

This is the original error:

      Trying pattern rule with stem `main'.

      Rejecting impossible implicit prerequisite `../../source/main.w'.

      No implicit rule found for `../../source/main.c'.

      Finished prerequisites of target file `../../source/main.c'.

     No need to remake target `../../source/main.c'.

   Considering target file `../../source/usbdrv/usbdrvasm.o'.

    File `../../source/usbdrv/usbdrvasm.o' does not exist.

     Pruning file `../../source/usbdrv/usbdrvasm.S'.

    Finished prerequisites of target file `../../source/usbdrv/usbdrvasm.o'.

   Must remake target `../../source/usbdrv/usbdrvasm.o'.

avr-gcc -Wa, -gstabs -DF_CPU=12000000 -I../../source -mmcu=atmega32   -c -o ../../source/usbdrv/usbdrvasm.o ../../source/usbdrv/usbdrvasm.S

Putting child 0x7fcaa0f004b0 (../../source/usbdrv/usbdrvasm.o) PID 79611 on the chain.

Live child 0x7fcaa0f004b0 (../../source/usbdrv/usbdrvasm.o) PID 79611 

In file included from ../../source/usbdrv/usbdrvasm.S:19:0:

../../source/usbdrv/usbdrv.h:12:23: fatal error: usbconfig.h: No such file or directory

 #include "usbconfig.h"

                       ^

compilation terminated.

Reaping losing child 0x7fcaa0f004b0 PID 79611 

make: *** [../../source/usbdrv/usbdrvasm.o] Error 1

Removing child 0x7fcaa0f004b0 PID 79611 from chain.

copying usbconfig.h and hardwareconfig.h returns the situation back to the first halting scenario

I don't think the makefile is structured well, as far as I understand, it shouldn't be trying to generate the usbdrvasm.o at all

showjean commented 9 years ago

compile folder : ps2avrU/firmware/ps2avrGB right?

I don't know about OS X.

kaansoral commented 9 years ago

Yes, I "make" there, the makefile imports common.mk and others, however, it doesn't seem to resolve issues

Anyway, I give up :) Going to use the pre-compiled .hex's and see how it goes

Edit: My main intention to compile was to try and extend the feature set a bit, or maybe remove all the extra features and generate a "lite" version etc.

kaansoral commented 9 years ago

This is from flabbergast over geekhack, he was kind enough to aid me in my quest to compile this firmware: https://freeshell.de/~teatime/make-the-bloody-thing-compile.patch

It turns out the avrlib is too old, doesn't compile with the new avr compilers, his solution was to replace it with: https://github.com/dreamiurg/avr-liberty

showjean commented 9 years ago

Thank you ^^

yiyabob commented 8 years ago

Excuse me, how to get through the source file “ps2avrGB-split.hex”?

showjean commented 8 years ago

execute ps2avrU/firmware/ps2avrGB/release.bat You will find "ps2avrGB-split.hex" in "bin" folder.

yiyabob commented 8 years ago

Thank you very much for your answer to my question. I according to give your method of operation, can not be the bin folder, but could not find "ps2avrGB-split.hex" file, directory, only ps2avrGB.hex "file and brush into ps2avrGB-split master and connected to the computer, Download keymap obtained using Bootmapper clinet is all bad and brush can not write key, updating the firmware. Only RGB lights controlled effectively. Please help.

yiyabob commented 8 years ago

Excuse me, is it because my operating system is 64bit win10? Or because some settings do not do a good job? Can not directly provide a compilation of the completion of the "ps2avrGB-split.hex" to me? Thank you very much!

showjean commented 8 years ago

http://blog.winkeyless.kr/153 http://blog.winkeyless.kr/attachment/cfile6.uf@2658D93D5662C268256E9B.zip

yiyabob commented 8 years ago

Thank you very much. I succeeded in the bread plate. Your design was very good. I like it very much.