首頁  >  問答  >  主體

c++ - 用gcc 如何在 .text section的某個特定的位址寫入數據

1、現在我需要往.text(程式碼段)的某個位址插入一些資料。例如{'a','b','c','d','e','f','g','g'}
用的程式碼是char sgy_data2[32] __attribute__((section(".mysection1"))) = {'a','b','c','d','e','f','g','g'};
我的.text段起始位址為0XFFFE8000,然後我想在0XFFFE8400(.text總長大於1024)處寫入數據,該怎麼操作?
2、如果有用過E2操作成功的能否告知是怎麼設定的吶?

PHP中文网PHP中文网2660 天前974

全部回覆(1)我來回復

  • phpcn_u1582

    phpcn_u15822017-06-10 09:50:37

    For E2:In order to have your data populated into your sections, you should take some additional steps. After adding the section, right click on it and add the following two expressions:
    .section-name
    *.name.
    (GNU 官方的解釋)
    如果你不增加keep選項的話,不管你如何定義變量,都應該「用」一下這個變量,不然編譯器會忽略這個變量,並且不會在bin文件中寫入你想要的數據。
    至於其他的情況類似。

    .text 0xFFE00000 : AT (0xFFE00000)
        {
            *(.text)
            *(.text.*)
            *(P)
            etext = .;
        } > ROM
        
        相对应的你的gsi文件应该是这么样的

    回覆
    0
  • 取消回覆