2

シリアル ブート (LINFLEX0 の自動ボー モードを使用) を介して、MPC5604E コントローラーのSRAMにRAM.binイメージをロードしようとしています。サンプルの LED トグル プログラムを使用して RAM.binイメージ ファイルを生成し、シリアル ブートでロードしようとしましたが、正常にロードされ、LED トグルは正常に動作しています (ウォッチドッグが有効になっている場合) が、ウォッチドッグを無効にしてからロードして実行すると、それは、LED トグルが機能していません。そのため、シリアル ブート用にコード ウォリアーを使用してRAM.binファイルを生成する前に、 .lcf (リンカー ファイル) およびその他のファイルの初期化に関連する問題があると思われます。

何をすべきかわからないので、これらの初期化を手伝ってくれる人はいますか? 私のRAM.binイメージファイルが正常に実行できるように。

MPC5604E.lcf :::

       /* lcf file for MPC5604E processors                                         */
       /*                                                                          */
       /*              512KB Flash, 96KB SRAM                                      */




      MEMORY
      {
            resetvector:           org = 0x00000000,   len = 0x00000008
            init:                  org = 0x00000020,   len = 0x00000FE0 
            exception_handlers:    org = 0x00001000,   len = 0x00001000
            internal_flash:        org = 0x00002000,   len = 0x000FE000

            internal_ram:          org = 0x40000000,   len = 0x00016000
            heap  :                org = 0x40016000,   len = 0x00001000
            stack :                org = 0x40017000,   len = 0x00001000

         }

         /* This will ensure the rchw and reset vector are not stripped by the linker*/
         FORCEACTIVE { "bam_rchw" "bam_resetvector" }

        SECTIONS
        {
          .__bam_bootarea LOAD (0x00000000): {} > resetvector

       GROUP : {
        .init LOAD (0x00000020) : {}
       .init_vle (VLECODE) LOAD (_e_init) : {
       *(.init)
       *(.init_vle)
       }
     } > init

     GROUP : {
     .ivor_branch_table (VLECODE) LOAD (0x00001000) : {}
      .__exception_handlers  (VLECODE) LOAD (_e_ivor_branch_table) : {} 
      } > exception_handlers

     GROUP  : {
     .text : {} 
     .text_vle (VLECODE) ALIGN(0x08): {
        *(.text)
      *(.text_vle)
     }
      .rodata (CONST) : {
       *(.rdata)
       *(.rodata)
      }
      .ctors : {}
      .dtors : {}
      extab : {}
      extabindex : {}
      } > internal_flash

      GROUP : {
       .__uninitialized_intc_handlertable ALIGN(2048) : {}
       .data   : {}
       .sdata  : {}
       .sbss   : {}
       .sdata2 : {}
       .sbss2  : {}
       .bss    : {}
       } > internal_ram
      }

      /* Freescale CodeWarrior compiler address designations */

     _stack_addr = ADDR(stack)+SIZEOF(stack);
     _stack_end  = ADDR(stack);
     _heap_addr  = ADDR(heap);
     _heap_end   = ADDR(heap)+SIZEOF(heap);


    /* Exceptions Handlers Location (used in Exceptions.c IVPR initialization)*/

    EXCEPTION_HANDLERS    = ADDR(exception_handlers);

   /* L2 SRAM Location (used for L2 SRAM initialization) */

   L2SRAM_LOCATION = 0x40000000;
4

0 に答える 0