S3C6410開發(1)-初步入門

由於公司接下來發展方向的需求,最近忙裏偷閒開始學習ARM嵌入式編程,拿出了好多年前買的飛凌嵌入式的OK6410開始慢慢研究,今天花了一整天的時間終於搞定了裸機的編譯環境也成功使用Jlink進行了調試。所以從今天開始我重開了一個系列的文章,來記錄我的學習過程,一來加深自己的記憶,二來也爲如果想要從單片機轉行嵌入式的同學提供一些思路,來更快的理解嵌入式編程。


簡單的介紹

自當年買了6410的開發板起到昨天,我的思路就一直都被當初坑爹的教程所限制着,經過這兩天不斷地學習和查詢資料,我基本可以斷定不管是飛凌嵌入式還是友善之臂,提供的gcc編譯器絕對都是很多年之前的編譯器,有的甚至是自己修改過的,不但版本落後,而且也無法兼容其它的芯片,倒確實是編譯的指令參數少了點。看着是簡化了操作但實際卻爲我這種刨根問底的學習者來說增加了不小的障礙。

編譯器

首先,經過比對飛凌官方和友善提供的編譯器,我發現貌似上一個通用的arm裸機編譯器應該是arm-none-linux-gnueabi-gcc這個,原本屬於codeSourcery的工具鏈,但現在被mentor收購了,我倒官網上翻了半天愣是沒找到它的GNU免費版本的下載連接,那鏈接結構做的就和國內的免費軟件網站一樣,來來回回的繞,就是要讓你下載他的付費的體驗版本,傳說中的lite版整整找了半個多小時都沒找到(過分了啊,簡直)。官網既然找不到那自然救助網友咯,然而網友那裏的版本最新也只有2014年的,這我怎麼可能會用呢~(總是追最新版軟件的強迫症)。

經過我反覆的分析研究,發現貌似 gcc-arm-none-eabi 就能編譯ARM的程序啊!爲了驗證我的猜想找了一段官方的程序修改了一下makefile編譯調試運行,誒誒,跑起來了。事實證明完全沒有問題。所以接下來的時間裏我都會使用gcc-arm-none-eabi作爲我的工具鏈。

調試器

同樣的,廠家貌似方便的一鍵下載功能又一次的誤導了我的思路,我一直在想如果是自己畫的板子那要怎麼下載程序呢?如果我想要調試代碼,又要怎麼辦呢,官方的教程也隻字未提,後來發現原來是可以通過jlink加載和調試代碼,並間接將程序燒錄進入flash的。今天的嘗試也證明了這點的可行性。

平臺

一開始爲了對應網絡上大部分的教程我使用了win平臺,當我們開發的是Linux怎可屈居於其下,於是乎經過一番艱難的嘗試,我終於把所有的開發都移到了我的ubuntu16.04虛擬機裏,呼。


呃,廢話說多了,沒講什麼正事。不過打了這麼多字,就是爲了提醒大家別被官方的教程限制了思路,早日回到正常的開發方式裏來。。接下來幾篇我們正式進入正題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章