You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Compilation under sdcc (4.0 and 4.2) fails on the assert at line 410 of cdc.h which checks the size of cdc_line_control_state_t. The exact layout of bitfields is apparently implementation-defined and sdcc makes a different choice than gcc in this case. See the SDCC discussion for more info. So this seems to be a kind of C standard conformance issue.
There is a straightforward workaround which I will supply in a PR.
How to reproduce ?
Build tinyusb under sdcc for 8051, for example by using my branch. Change src/class/cdc/cdc.h to match master and observe this error message:
src/class/cdc/cdc.h:410: warning 215: static assertion failed: "size is not correct"
Debug Log as txt file
No response
Screenshots
No response
I have checked existing issues, dicussion and documentation
I confirm I have checked existing issues, dicussion and documentation.
The text was updated successfully, but these errors were encountered:
can you specify which board/mcu you are using, if possible please add an PR to include the mcu into board support, so that we could include the SDCC into ci build to fix any future changes.
This will eventually be for the (obsolete) ALi M5623 in certain Canon scanners; I am in the process of porting to SDCC but am facing code size issues that require significant changes to the TinyUSB core so a PR is somewhat in the future.
thank you for the info, indeed the code size has been increased quite a bit lately due to lots of added features. Maybe in the future we should have some option to trim down the code size e.g no dynamic configuration etc..
Operating System
Linux
Board
n/a
Firmware
examples/device/cdc_msc
What happened ?
Compilation under sdcc (4.0 and 4.2) fails on the assert at line 410 of cdc.h which checks the size of
cdc_line_control_state_t
. The exact layout of bitfields is apparently implementation-defined and sdcc makes a different choice than gcc in this case. See the SDCC discussion for more info. So this seems to be a kind of C standard conformance issue.There is a straightforward workaround which I will supply in a PR.
How to reproduce ?
Build tinyusb under sdcc for 8051, for example by using my branch. Change src/class/cdc/cdc.h to match master and observe this error message:
src/class/cdc/cdc.h:410: warning 215: static assertion failed: "size is not correct"
Debug Log as txt file
No response
Screenshots
No response
I have checked existing issues, dicussion and documentation
The text was updated successfully, but these errors were encountered: