Установите Flash Memory Location в определенные значения на MSP430, используя GCC
Как установить несколько байт флэш-памяти для программирования флэш-программистом во время программирования mcu на определенное значение с помощью цепочки инструментов msp GCC? Например, набор инструментов компилятора TI C/C++, включает ассемблер, и следующие строки сборки устанавливают в ячейках памяти нужные значения:
;----------------------------------------------------------------------
.sect ".BSLSIG"
.retain
;----------------------------------------------------------------------
.word 0xFFFF ; 0x17F0
BslProtectVecLoc .word BSL_Protect ; 0x17F2 adress of function
PBSLSigLoc .word 03CA5h ; 0x17F4 1st BSL signature
SBSLSigLoc .word 0C35Ah ; 0x17F6 2nd BSL signature
.word 0xFFFF ; 0x17F8
BslEntryLoc .word BSL_Entry_JMP ; 0x17FA BSL_Entry_JMP
Есть ли способ сделать что-то подобное, используя msp GCC toolchain?
1 ответ
Ассемблер GNU имеет те же механизмы. Например, вот как код запуска MSP430 помещает адрес кода запуска в вектор сброса:
.section ".resetvec", "a"
__msp430_resetvec_hook:
.word __crt0_start
Как и в случае с компилятором TI, для этого требуется раздел (здесь: .resetvec
), который будет определен в скрипте компоновщика.