|
ARM-Linux:開發(fā)板,網線,串口線,SD卡; 對于ARM-Linux開發(fā),通常是沒有硬件的調試器的,尤其是在應用開發(fā)的過程中,很少使用硬件的調試器,程序的調試主要是通過串口進行調試的;但是需要說明的是,對于ARM芯片也是有硬件仿真器的,但通常用于裸機開發(fā)。 ARM-Linux:串口下載、tftp網絡下載、或者直接讀寫SD、MMC卡等存儲設備,實現程序下載; 這個與開發(fā)環(huán)境的硬件設備是有直接關系的,由于沒有硬件仿真器,故ARM-Linux開發(fā)時通常不采用仿真器下載;這樣看似不方便,其實給ARM-Linux的應用開發(fā)提供了更多的下載方式。 單片機:通常是一個完整的計算機系統(tǒng),包含片內RAM,片內FLASH,以及UART、I2C、AD、DA等各種外設; ARM:通常只有CPU,需要外部電路提供RAM以供ARM正常運行,外部電路提供FLASH、SD卡等存儲系統(tǒng)映像,并通過外部電路實現各種外設功能。由于ARM芯片的處理能力很強,通過外部電路可以實現各種復雜的功能,其功能遠遠強于單片機。 單片機:通常具備片內flash存儲器,固件程序通常存儲在該區(qū)域,若固件較大則需要通過外部電路設計外部flash用于存儲固件。 ARM-Linux: 由于其沒有片內的flash, 并且需要運行操作系統(tǒng),整個系統(tǒng)映像通常較大,故ARM-Linux開發(fā)的操作系統(tǒng)映像和應用通常存儲在外部的MMC、SD卡上,或者采用SATA設備等。 單片機:其結構簡單,內部集成flash, 通常是芯片廠商在程序上電時加入固定的跳轉指令,直接跳轉到程序入口(通常在flash上);開發(fā)的應用程序通過編譯器編譯,采用專用下載工具直接下載到相應的地址空間;所以系統(tǒng)上電后直接運行到相應的程序入口,實現系統(tǒng)的啟動。 (a)啟動BIOS: BIOS是設備廠家(芯片或者是電路板廠家)設置的相應啟動信息,在設備上電后,其將讀取相應硬件設備信息,進行硬件設備的初始化工作,然后跳轉到bootloader所在位置(該位置是一個固定的位置,由BIOS設置)。(根據個人理解,BIOS的啟動和單片機啟動類似,需要采用相應的硬件調試器進行固件的寫入,存儲在一定的flash 空間,設備上電啟動后讀取flash空間的指令,從而啟動BIOS程序。) 開發(fā)板:ARM運行的硬件環(huán)境,或者是相應項目的ARM電路板; 計算機:作為開發(fā)主機使用,安裝Linux(如Ubuntu)),或者采用虛擬機安裝Ubuntu; 串口線:用于開發(fā)過程中采用終端進行串口調試或下載程序; 網線:用于連接arm-board和開發(fā)主機,實現tftp下載內核(程序等),通過網絡nfs運行程序等。 SD卡(及讀卡器)或者其他存儲設備:用于存儲bootloader、內核映像等,以及最終的軟件系統(tǒng)的存儲;開發(fā)過程中,通常用于保存bootloader,引導系統(tǒng)啟動。 Ubuntu: 作為操作系統(tǒng),是整個軟件開發(fā)環(huán)境的載體,相應的開發(fā)工具都布置在此系統(tǒng)中。 LTIB: 這是freescale的提供的一個編譯工具鏈,能夠很方便的將源代碼文件編譯為適合的程序代碼,并對程序進行調試;用戶也可以通過下載源碼構建自己的編譯工具鏈。 tftp: 用于從開發(fā)主機Ubuntu上向arm-board 下載內核文件、應用文件等。 nfs網絡文件系統(tǒng):用于在開發(fā)主機上建立網絡nfs文件根系統(tǒng),arm-board通過nfs網絡文件系統(tǒng)讀取開發(fā)主機上的虛擬根文件系統(tǒng),完成系統(tǒng)的啟動;方便系統(tǒng)的開發(fā)與調試。 minicom:串口調試工具,用于在開發(fā)主機上與arm-board通信,實現對arm-board上應用程序的操作與調試; Eclipse:集成開發(fā)環(huán)境,主要方便代碼的編輯、編譯等,也可采用DS5,RealView等;或者采用gedit進行編輯,通過LTIB進行編譯和管理。 |
|
|
來自: 西北望msm66g9f > 《模電》