Peter Jansen schrieb:
> One thing this does it force a re-compile the msp430-gcc whenever TI
> bring out a new device with different memory etc. What about specifing
> the processor group? eg from the t-msp430 file
> 
> dir  | build option |  core  |  hwmul
> # -------+--------------+--------+--------
> #  msp1  |   430x110    |  430*  |    - 
> #  msp2  |   430x147    |  430*  |  16x16
> #  msp3  |   430x2232   |   430  |    -
> #  msp4  |   430x233    |   430  |  16x16
> #  msp5  |   430x2416   |  430X  |    -
> #  msp6  |   430x2616   |  430X  |  16x16
> #  msp7  |   430x4783   |   430  |  32x32
> #  msp8  |   430x47166  |  430X**|  32x32

i'd prefer individual options for these features.

with msp430-gcc --target-help, one can see that there already are some
in that direction. like -mforce-hwmul/-mdisable-hwmul

so i'd prefer a -mhwmul32 and -mhwmul64 or similar to select the
multiplier type. and a -mcore430x or similar for the instruction set
selection.

the -mmcu=... should be kept. it's sill useful to pass in the name of
the cpu and io.h selects the appropriate header. the compiler itself
would not change code generation and basically ignore the value.

the hwmul settings, core type etc. options should also set a
preprocessor symbol. that way, each header file for specific MSP430 can
verify the settings and issue a warning or error if the options are
invalid for that type.

an other option would be that the individual header files set the above
options through a #pragma (which isn't liked in the gcc world).
with this implementation the user either specifies the -mmcu option or
selects the individual features.

anyway, the feature wise switches would also be useful as function
attributes. so a developer could decide to implement all except some
selected function with the multiplier etc.

chris

Reply via email to