1. ホーム
  2. assembly

[解決済み] 未解決のシンボルが残る コードコンポーザースタジオ

2022-03-01 07:27:50

質問

MSP4302355マイコンで初めてアセンブリレベルのプログラムを試しています。私がやっていることは、あるレジスタから別のレジスタに値を移動させるだけです。しかし、コードをコンパイルするたびに、次のようなエラーが発生します。 エラー #10234-D: 未解決のシンボルが残っています。

error #10010: errors encountered during linking; "Register_Mode_Addr_2355.out" not built".リンク中にエラーが発生しました。

できる限りのことをやってみたのですが、やはりダメでした。

;-------------------------------------------------------------------------------
; MSP430 Assembler Code Template for use with TI Code Composer Studio
;
;
;-------------------------------------------------------------------------------
            .cdecls C,LIST,"msp430.h"       ; Include device header file
            
;-------------------------------------------------------------------------------
            .def    RESET                   ; Export program entry-point to
                                            ; make it known to linker.
;-------------------------------------------------------------------------------
            .text                           ; Assemble into program memory.
            .retain                         ; Override ELF conditional linking
                                            ; and retain current section.
            .retainrefs                     ; And retain any sections that have
                                            ; references to current section.

;-------------------------------------------------------------------------------
RESET       mov.w   #__STACK_END,SP         ; Initialize stackpointer
StopWDT     mov.w   #WDTPW|WDTHOLD,&WDTCTL  ; Stop watchdog timer


;-------------------------------------------------------------------------------
; Main loop here
;-------------------------------------------------------------------------------
main:
        mov.w PC, R4            ;Move from Program counter to Register R4
        mov.w R4, R5            ;Move from R4 to Register R5
        mov.w R5, R6            ;Move from R5 to Register R6

        jmp main
                                            

;-------------------------------------------------------------------------------
; Stack Pointer definition
;-------------------------------------------------------------------------------
            .global __STACK_END
            .sect   .stack
            
;-------------------------------------------------------------------------------
; Interrupt Vectors
;-------------------------------------------------------------------------------
            .sect   ".reset"                ; MSP430 RESET Vector
            .short  RESET

どうか私を助けてください、みんなありがとうございます。

どのように解決するのですか?

quot;unresolved symbols remain" は、アセンブルしたソースから1つ以上のシンボルを解決できなかったため、リンカーが失敗したことを意味します。ビルドプロセスを表示するコンソールウィンドウを開き、未解決のシンボルのリストをスクロールして探してみてください。これで、私の推測する __STACK_END シンボルが問題であることが確認できます。少し古いですが このスレッド が参考になるかもしれません。