【 聲明:版權所有,歡迎轉載,請勿用於商業用途。 聯繫信箱:feixiaoxing @163.com】
除了pc領域的x86、手機和嵌入式領域的arm、通信領域的mips,還有一種cpu架構用的也是很多的。那就是powerpc。記得我的第一份工作,當時在單位的主要工作就是負責大型交換機的開發,使用到的soc就是broadcom公司一款基於powerpc的soc套片。powerpc由於其出衆的性能和穩定性,在通信、汽車、航空領域使用的還是相當廣泛的。然而,相比較而言,powerpc的開發板很少,不利於學習。所以鑑於目前的這種情況,其實大家可以利用qemu學習powerpc。
目前安裝的平臺是ubuntu 16.04,相同的操作也可以在其他linux平臺完成。
1、安裝工具集
sudo apt-get install binutils-powerpc-linux-gnu
2、安裝c預處理工具
sudo apt-get install cpp-5-powerpc-linux-gnu
3、安裝gcc編譯器
sudo apt-get install gcc-5-powerpc-linux-gnu
4、安裝g++編譯器
sudo apt-get install g++-5-powerpc-linux-gnu
有了這麼四個工具,編寫和開發嵌入式程序不是問題了。最簡單的嵌入式代碼一般是這麼幾個部分組成,boot.s、main.c、link.script、makefile。所以說,以上安裝的這些工具對於編譯這些文件是足夠了。或許有的同學會說,是不是需要安裝libc等庫文件?我的答案是,如果編譯的程序是在linux平臺上運行,那麼libc庫的安裝是非常有必要的。但是,如果安裝的程序是bare mental代碼,也就是我們通常說的裸奔代碼,那麼用這些工具來開發,綽綽有餘了。
如果需要實際調試ppc程序,只需要查看一下qemu-system-ppc -M help支持哪些板子,直接用qemu做測試即可。一般的處理方法就是qemu -kernel os -S -s,接着用gdb os調試就好了。
上面這些工具有什麼遺憾的話,那麼就是缺少一個gdb了。當然,要把gdb真正用起來,還需要在bare mental代碼中嵌入一段類似於gdb server的代碼,這也是額外需要增加的一份工作了。