2016-09-02 8 views
0

플래시의 몇 바이트를 msp를 프로그래밍하는 동안 플래시 프로그래머가 msp GCC toolchain을 사용하여 특정 값으로 프로그래밍하도록 설정합니까? 예를 들어, TI C/C++ 컴파일러 툴체인, 어셈블러를 포함하고 어셈블리의 다음 행은 원하는 값으로 메모리 위치 설정 :GCC를 사용하여 MSP430의 특정 값으로 플래시 메모리 위치를 설정하십시오

;---------------------------------------------------------------------- 
.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 툴체인을 사용하여 비슷한 일을 할 수있는 방법이 있나요를?

답변

1

GNU 어셈블러에는 동일한 메커니즘이 있습니다. 예를 들어, 여기에 MSP430 startup code 리셋 벡터에 시작 코드의 주소를두고 어떻게 다음 linker script에 정의 할 수 :

 .section ".resetvec", "a" 
__msp430_resetvec_hook: 
     .word __crt0_start 

는 TI 컴파일러와 마찬가지로,이 (.resetvec 여기) 섹션을 필요로한다.

+1

링커 매개 변수에서 섹션의 시작 주소를 설정할 수 있으므로 링커 스크립트를 변경할 필요가 없다고 생각합니다 :'LDFLAGS + = "-Wl, - section-start = .resetvec = 0x5000"'. 섹션 속성은 GNU C에서'__attribute__ ((section (".resetvec"))) 구문을 사용하여 설정할 수 있습니다. – kfx

+0

GCC C 컴파일러를 사용하여 동일한 작업을 수행 할 수 있습니까? – user1135541

+0

@kfx C에서 섹션 * 속성 *을 어떻게 설정할 수 있습니까? –