karosium / smbusb

USB SMBus Interface
GNU Lesser General Public License v2.1
141 stars 42 forks source link

armv7l/gcc - Build failed #21

Closed d51r3verse closed 4 years ago

d51r3verse commented 4 years ago

SDCC : mcs51 2.9.0 #5416 (Jul 3 2016) (UNIX) Adding --std-sdcc99 options to sdcc, same errors.

Making all in firmware
make[1]: Entering directory '/opt/SMBUS/smbusb/firmware'
Makefile:17: warning: overriding recipe for target 'clean'
../fx2lib/lib/fx2.mk:100: warning: ignoring old recipe for target 'clean'
mkdir -p build
make -C ../fx2lib/lib
make[2]: Entering directory '/opt/SMBUS/smbusb/fx2lib/lib'
sdcc -mmcs51  -I../include -c serial.c -o serial.rel
sdcc -mmcs51  -I../include -c i2c.c -o i2c.rel
sdcc -mmcs51  -I../include -c delay.c -o delay.rel
sdcc -mmcs51  -I../include -c setupdat.c -o setupdat.rel
sdcc -mmcs51  -I../include -c gpif.c -o gpif.rel
sdcc -mmcs51  -I../include -c eputils.c -o eputils.rel
sdcc -mmcs51  -I../include -c interrupts/spare_isr.c -o interrupts/spare_isr.rel
sdcc -mmcs51  -I../include -c interrupts/usbreset_isr.c -o interrupts/usbreset_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep4ff_isr.c -o interrupts/ep4ff_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep2ef_isr.c -o interrupts/ep2ef_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep0ping_isr.c -o interrupts/ep0ping_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep6ping_isr.c -o interrupts/ep6ping_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep4_isr.c -o interrupts/ep4_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep1ping_isr.c -o interrupts/ep1ping_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep1out_isr.c -o interrupts/ep1out_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep6ff_isr.c -o interrupts/ep6ff_isr.rel
sdcc -mmcs51  -I../include -c interrupts/errlimit_isr.c -o interrupts/errlimit_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep4isoerr_isr.c -o interrupts/ep4isoerr_isr.rel
sdcc -mmcs51  -I../include -c interrupts/gpifwf_isr.c -o interrupts/gpifwf_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep8_isr.c -o interrupts/ep8_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep6isoerr_isr.c -o interrupts/ep6isoerr_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep8ef_isr.c -o interrupts/ep8ef_isr.rel
sdcc -mmcs51  -I../include -c interrupts/suspend_isr.c -o interrupts/suspend_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep0out_isr.c -o interrupts/ep0out_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep8isoerr_isr.c -o interrupts/ep8isoerr_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep2ping_isr.c -o interrupts/ep2ping_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep4pf_isr.c -o interrupts/ep4pf_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep0in_isr.c -o interrupts/ep0in_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep2pf_isr.c -o interrupts/ep2pf_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep8ff_isr.c -o interrupts/ep8ff_isr.rel
sdcc -mmcs51  -I../include -c interrupts/gpifdone_isr.c -o interrupts/gpifdone_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep1in_isr.c -o interrupts/ep1in_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep8ping_isr.c -o interrupts/ep8ping_isr.rel
sdcc -mmcs51  -I../include -c interrupts/sof_isr.c -o interrupts/sof_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep0ack_isr.c -o interrupts/ep0ack_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep4ef_isr.c -o interrupts/ep4ef_isr.rel
sdcc -mmcs51  -I../include -c interrupts/sudav_isr.c -o interrupts/sudav_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep2ff_isr.c -o interrupts/ep2ff_isr.rel
sdcc -mmcs51  -I../include -c interrupts/sutok_isr.c -o interrupts/sutok_isr.rel
sdcc -mmcs51  -I../include -c interrupts/hispeed_isr.c -o interrupts/hispeed_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep2isoerr_isr.c -o interrupts/ep2isoerr_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep6ef_isr.c -o interrupts/ep6ef_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep2_isr.c -o interrupts/ep2_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ibn_isr.c -o interrupts/ibn_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep8pf_isr.c -o interrupts/ep8pf_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep6_isr.c -o interrupts/ep6_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep6pf_isr.c -o interrupts/ep6pf_isr.rel
sdcc -mmcs51  -I../include -c interrupts/ep4ping_isr.c -o interrupts/ep4ping_isr.rel
sdas8051 -logs usbav.a51
sdcclib fx2.lib serial.rel i2c.rel delay.rel setupdat.rel gpif.rel eputils.rel interrupts/spare_isr.rel interrupts/usbreset_isr.rel interrupts/ep4ff_isr.rel interrupts/ep2ef_isr.rel interrupts/ep0ping_isr.rel interrupts/ep6ping_isr.rel interrupts/ep4_isr.rel interrupts/ep1ping_isr.rel interrupts/ep1out_isr.rel interrupts/ep6ff_isr.rel interrupts/errlimit_isr.rel interrupts/ep4isoerr_isr.rel interrupts/gpifwf_isr.rel interrupts/ep8_isr.rel interrupts/ep6isoerr_isr.rel interrupts/ep8ef_isr.rel interrupts/suspend_isr.rel interrupts/ep0out_isr.rel interrupts/ep8isoerr_isr.rel interrupts/ep2ping_isr.rel interrupts/ep4pf_isr.rel interrupts/ep0in_isr.rel interrupts/ep2pf_isr.rel interrupts/ep8ff_isr.rel interrupts/gpifdone_isr.rel interrupts/ep1in_isr.rel interrupts/ep8ping_isr.rel interrupts/sof_isr.rel interrupts/ep0ack_isr.rel interrupts/ep4ef_isr.rel interrupts/sudav_isr.rel interrupts/ep2ff_isr.rel interrupts/sutok_isr.rel interrupts/hispeed_isr.rel interrupts/ep2isoerr_isr.rel interrupts/ep6ef_isr.rel interrupts/ep2_isr.rel interrupts/ibn_isr.rel interrupts/ep8pf_isr.rel interrupts/ep6_isr.rel interrupts/ep6pf_isr.rel interrupts/ep4ping_isr.rel usbav.rel
make[2]: Leaving directory '/opt/SMBUS/smbusb/fx2lib/lib'
for a in dscr.a51; do \
 cp $a build/; \
 cd build && sdas8051 -logs `basename $a` && cd ..; done
for s in smbusb_firmware.c; do \
 THISREL=$(basename `echo "$s" | sed -e 's/\.c$/\.rel/'`); \
 sdcc -mmcs51  --code-size 0x1c00 --xram-size 0x0200 --xram-loc 0x1c00 -Wl"-b DSCR_AREA=0x1e00" -Wl"-b INT2JT=0x1f00" -c -I ../fx2lib/include -I "" $s -o build/$THISREL ; done

smbusb_firmware.c:70: syntax error: token -> '=' ; column 10

smbusb_firmware.c:74: syntax error: token -> '&' ; column 20
smbusb_firmware.c:82: error 159: in function pec_crc: name omitted for parameter 2
smbusb_firmware.c:72: warning 85: in function pec_crc unreferenced function argument : 'crc'
smbusb_firmware.c:72: warning 85: in function pec_crc unreferenced function argument : '_pec_crc_PARM_2'
../fx2lib/lib/fx2.mk:82: recipe for target 'build/smbusb_firmware.ihx' failed
make[1]: *** [build/smbusb_firmware.ihx] Error 1
make[1]: Leaving directory '/opt/SMBUS/smbusb/firmware'
Makefile:386: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

Followings with --stack-auto , --std-c99, but still failed to build.

 sdcc --stack-auto --std-c99 -mmcs51  --code-size 0x1c00 --xram-size 0x0200 --xram-loc 0x1c00 -Wl"-b DSCR_AREA=0x1e00" -Wl"-b INT2JT=0x1f00" -c -I ../fx2lib/include -I "" $s -o build/$THISREL ; done
smbusb_firmware.c:851: warning 85: in function handle_get_interface unreferenced function argument : 'ifc'
smbusb_firmware.c:860: warning 85: in function handle_set_interface unreferenced function argument : 'ifc'
smbusb_firmware.c:860: warning 85: in function handle_set_interface unreferenced function argument : 'alt_ifc'
sdcc --stack-auto --std-c99 -mmcs51  --code-size 0x1c00 --xram-size 0x0200 --xram-loc 0x1c00 -Wl"-b DSCR_AREA=0x1e00" -Wl"-b INT2JT=0x1f00" -o build/smbusb_firmware.ihx build/smbusb_firmware.rel build/dscr.rel fx2.lib -L ../fx2lib/lib

?ASlink-Warning-Undefined Global '__divulong_PARM_2' referenced by module 'serial'

?ASlink-Warning-Undefined Global '_handle_get_interface_PARM_2' referenced by module 'setupdat'

?ASlink-Warning-Undefined Global '__mullong_PARM_2' referenced by module 'serial'

?ASlink-Warning-Undefined Global '_handle_set_interface_PARM_2' referenced by module 'setupdat'

?ASlink-Error-Insufficient ROM/EPROM/FLASH memory.
../fx2lib/lib/fx2.mk:82: recipe for target 'build/smbusb_firmware.ihx' failed
make[1]: *** [build/smbusb_firmware.ihx] Error 1
make[1]: Leaving directory '/opt/SMBUS/smbusb/firmware'
Makefile:386: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
karosium commented 4 years ago

Your SDCC seems to be outdated. The version that I used was 3.5.0 and the latest release version is 4.0.0

d51r3verse commented 4 years ago

After upgrade to sdcc 3.5.0, build succeed. Thanks @karosium