學寫嵌入式系統(一) 環境搭建

       鬱悶的一天,參考《一步步寫嵌入式操做系統》這本書來實現第一節環境的搭建,可事實並非一路順風。早上安裝Cygwin,由於校園網的問題,安了有些時間。安裝完後開始配置交叉編譯環境armgcc,而後按照書上一步一步作,但是爆出一大堆關於彙編的錯誤,網上搜了半天沒找出緣由。最終值得放棄這個蛋疼的cygwin,用虛擬機的Linux。而後又是一夜,期間遇到各類問題,最終排除萬難,一一解決,一天總算有點成果了。不過纔開始接觸linux幾天,對Linux還不是很熟。鬧出一點小笑話,在羣裏發問被鄙視了。linux

列出當時出現的彙編錯誤,若有大神看見,但願能幫助我改正。ide

$ arm-elf-gcc -nostdlib test.c
/tmp/ccFLe985.s: Assembler messages:
/tmp/ccFLe985.s:5: Warning: .type pseudo-op used outside of .def/.endef ignored.
/tmp/ccFLe985.s:5: Error: junk at end of line, first unrecognized character is `
m'
/tmp/ccFLe985.s:7: Error: invalid character '@' in mnemonic
/tmp/ccFLe985.s:8: Error: invalid character '@' in mnemonic
/tmp/ccFLe985.s:9: Error: invalid character '@' in mnemonic
/tmp/ccFLe985.s:10: Error: invalid char '[' beginning operand 2 `[sp'
/tmp/ccFLe985.s:11: Error: too many memory references for `add'
/tmp/ccFLe985.s:12: Error: expecting operand after ','; got nothing
/tmp/ccFLe985.s:13: Error: too many memory references for `mov'
/tmp/ccFLe985.s:14: Error: too many memory references for `add' 學習


下圖是辛苦了一夜的成果,不過有點小BUG,就是關於那個leeos.bin文件的問題,書上說編譯的二進制文件,我不知道在哪裏編譯的。只是新建了個文件就叫這個leeos.bin。最後顯示加載這個文件失敗。但願知道的告訴我。操作系統

但願學習下操做系統的能夠去看看上面說到的那本書,我的感受跟日常的那些講操做系統的書有很大的不一樣。http://www.leeos.org/這是那個書的網址。get

這幾天忙着複習考試。下星期更是要複習。唉。。都幾天沒搞ARM了。明天星期天是去實驗室仍是圖書館複習呢。。。虛擬機


仍是那句話,天天都進步一點。得意編譯

相關文章
相關標籤/搜索