Closed d51r3verse closed 4 years ago
SDCC : mcs51 2.9.0 #5416 (Jul 3 2016) (UNIX) Adding --std-sdcc99 options to sdcc, same errors.
--std-sdcc99
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.
--stack-auto
--std-c99
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
Your SDCC seems to be outdated. The version that I used was 3.5.0 and the latest release version is 4.0.0
After upgrade to sdcc 3.5.0, build succeed. Thanks @karosium
SDCC : mcs51 2.9.0 #5416 (Jul 3 2016) (UNIX) Adding
--std-sdcc99
options to sdcc, same errors.Followings with
--stack-auto
,--std-c99
, but still failed to build.