eCos 3 0的編譯和執行

2021-05-22 19:34:26 字數 671 閱讀 4614

首先需要編譯目標平台的庫,我試過用redboot編譯出來的庫是不行的,在configure tool 裡面新建乙個工程vmware.ecc,然後進入模板選擇i386 pc target(vmware) 下的default

正常情況下,這個編譯不會有問題,編譯完後在vmware_install目錄下產生include和lib兩個目錄,後面程式的編譯需要用到。

makefile:

make完後產生a.out檔案,這就是目標平台上的可執行檔案,我把他放到tftp 的根目錄。

啟動redboot,由於在編譯redboot時已經指定了平台ip和server ip,所以直接執行

load a.out

go可以看到hello world列印出來了!

如果細心的話可以看到程式的入口點(entry point)是0x00108000,而系統的可用記憶體是在0x00089090-0x000a0000,這個是在遇到乙個問題後改了redboot編譯選項出來的,具體是參考網上一編文章,把redboot rom monitor -> build redboot rom elf image -> validate ram addresses during load 這個選項去掉,至於是為什麼,我也還沒有想到,希望知道的人可以告訴我。

在需擬機上跑通ecos只是第一步,下一步是要在一塊arm的目標板上跑起來,所以,路還很長。。

編譯和執行

對於語句nsstring testobject nsdata alloc init testobject 在編譯時和執行時分別是什麼型別的物件?首先,宣告 nsstring testobject是告訴編譯器,testobject是乙個指向某個objective c物件的指標。因為不管指向的是什麼型別...

解釋執行和編譯執行的區別?

閱讀目錄 一 編譯器 二 機器碼 三 目標程式 四 net中的clr是什麼?五 解釋執行和編譯執行的區別?一 編譯器 編譯器是一種特殊的程式,它可以把以特定程式語言寫成的程式變為機器可以執行的機器碼。我們把乙個程式寫好,這時我們利用的環境是文字編輯器,這時我們把程式稱為源程式,在此以後程式設計師可以...

lua編譯和執行

lua dofile 用於執行lua 塊.但實際上loadfile才做了核心的工作.loadfile會從乙個檔案中載入lua 塊,但它不會執行 只是編譯 然後將編譯結果作為乙個函式返回。function dofile filename local f assert loadfile filename...