發現網上經常有人問庫的問題,下面說說我的理解,我做嵌入式也蠻久了,接觸的構建也蠻多,也許我的觀點能給大家一點借鑒。
什么是庫?在我接觸stm32之前,玩過lpc和s3c系列的arm,這些芯片,程序員編程的時候,很大精力都要用在操作寄存器上,而且還不能保證自己的操作是穩定及正確的。在保證對寄存器的操作正確之后,程序員才能將精力放在應用及系統之上,而應用和系統,對程序員而言,其意義往往大于對芯片本身寄存器的理解。因為,芯片只是工具,你理解了一個芯片的寄存器操作之后,玩一下個芯片,又需要重新去理解新芯片的寄存器操作。對于學習者而言,去學習寄存器是必要的,因為你要完成知識的積累(量變)。然而對于成熟的嵌入式工程師,都希望盡可能在芯片本身上花的時間少,因為他們希望產品開發周期盡可能短。成熟的嵌入式工程師,都會花大時間去研究應用和系統框架,因為這些東西可以用在任何一個芯片構架之上,是不變的(思維)。工具(芯片平臺)不管如何換,都是萬變不離其宗的--一個處理器而已。正因為出于這種考慮,st針對stm32芯片出了庫,所謂的庫,就是針對stm32這個芯片,將寄存器的操作都寫成函數,提供函數API給程序員,并且可以保證這些函數的穩定性及正確性。程序員就會從操作寄存器這繁雜的工作中脫離出來。需要使用stm32某個模塊時,只需要翻翻庫的api調用方法,或者找找例程,就可以很輕松的用庫里的函數(api)操作stm32的某個模塊。就我而言,今年三月份之前,我還不知道stm32到底是個什么東西。現在呢,我已經在stm32上寫了包括各種驅動例程和酷系統(Q-OS)在內的比較復雜的程序,可是對于stm32某個模塊具體是如何操作寄存器的,我還真不知道,因為我一直是用庫的。
現在很多學習者是本末倒置的,本來st出庫,是為了解放程序員對寄存器的繁雜操作。可是現在沒有經驗的初學者,都拼命想去了解庫是怎么實現的,是怎么操作寄存器的。有一種貌似要玩哪個模塊,就必須懂得寄存器操作這樣的觀念等等。這些觀念不能說是不正確的,因為我很能理解初學者對未知世界的探索欲。但是這樣不講究方法的學習,到最后得到的結果就是學習者四處碰壁,問又沒人問,找答案又找不著,結果灰心喪氣,打擊了自信心,對嵌入式學習的動力也沒有了。
我比較贊同的觀點就是,對于一個只接觸過單片機的初學者而言。不要再將學單片機的一套方法用在stm32上。初學者大可以放下心來,第一次學的時候,不去追求庫的具體實現,不去過問如何操作寄存器,只是放心的調用庫的api,相信庫的可靠性(實際上它真的很可靠)。多研究下庫里每個模塊都有哪些api,api如何使用,有些什么參數,返回的是什么值等。我相信這是很簡單的事情,因為很多api看名字就知道怎么用了,何況網上還有這么多例程和文檔可以參考。然后組織這些api,寫出你想要的有趣的應用,提升自己對嵌入式的興趣,保障自己的信心。要記住,你第一遍是在享受庫給你提供的快捷和方便!等你對stm32的每個模塊都有了了解,第二次學的時候,因為有了全局觀和信心,你再耐下心來,隨便挑個模塊研究下庫的實現,研究如何操作寄存器,寄存器操作有什么技巧等等。我相信這個時候,難度已經大大降低了。
用我說的這種方法,層層深入,學會引導自己,才能夠大大降低學習難度,讓自己真的了解stm32是個什么東西。永遠要記住,庫和stm32以及其他芯片,都只不過是個工具而已,掌握工具是必須的,然而核心的關鍵的,是思維!
下面借這個機會向大家介紹一下我總結的“工具思維方法_論”,拋磚引玉,希望和大家交流!
這兩年來,我接觸的事物非常多,本來就是個閑不住的人,興趣又廣泛,精力無限。經歷多了,自然感悟就多了,感悟多了,很多東西就看開了。今天我寫在這里的,就是這幾年以來,我所塑造的屬于自己的人生哲學。我不清楚這一套方法理論是不是適合別人,但是就我而言,它已經能幫我解決生活中的所有事情,我希望看我文章的人,對自己的思維也能有相同的思考,或者從我的方法里能夠得到借鑒。
在參看我的方法_論之前,如果你了解王陽明心學,那就更好了。我的方法_論,完全基于心學,是一個實踐性擴充而已。
我從高中開始知事,懂得去努力爭取自己想要的,那時的我,為了一所好大學而努力,去克服心中最原始的人性弱點,如懶惰、軟弱、虛榮等。我當時雖然不知道像今天一樣去引導自己,但是正是因為這種艱辛的環境,促成了我對自己情商最基本的認識,懂得去約束自己,為我未來的成功之路邁出了第一步。
在大學里,我跟很多人一樣,想要實現自己的價值,想要自己賺錢養活自己。于是我做了很多事情,學生工作、家教、賣報紙、推銷電話,只要是我想嘗試的,我都努力去嘗試。正因為這點點滴滴的遇事,讓我開始懂得觀察和思考,去探索自己最內心的思緒。
我大學的時候,在知識上完成了兩次積累,一是對平面設計網頁設計的知識積累,大概學了一年多的時間,曾一度希望靠做網站賺錢養活自己。二是對嵌入式的積累,在我接觸單片機的那一瞬間,我就知道這輩子已經交給嵌入式了,而嵌入式,也必將成為我人生最重要的工具。因為這兩次知識積累,我都是靠自學完成的,沒有誰教我什么,一切都是靠自己摸索。所以深刻的相信,很多路,真的沒人可以供你借鑒,只有靠你自己走,才能走出來。也正是這些學習經歷,我開始懂得如何引導自己,我曾寫過一篇《寫在大學最后的一些話》,就是講述如何找到自己的興趣,利用自己的興趣去克服學習遇到的困難,去克服人性的弱點。
畢業之后,我也做過自己的產品,借此而創業,當然現實殘酷的打擊了我。我還換過好幾份工作,結果發現都不是自己想要的工作。我曾一度迷茫,不知道未來會怎樣,不知道中國是否有適合我的工作。我也一度很瘋狂,拼命的學習新的東西,希望新的東西能夠帶給我更多的競爭力,讓應聘單位知道我是一匹好馬。我不斷的反問著自己的人生,不斷的思考,在這種基礎下,兩件事情改變了我。
第一件事情就是我看了一本書,叫《明朝那些事兒》,也許大多數人把這本書當小說看。但是我從來都是個喜歡多想的人,對于我而言,從這本書里感悟到的東西,遠遠比一本小說多。起碼,我知道了王守仁,知道了心學,我才發現,我之前所總結的一切思想,原來是有依據的,原來也有人總結過(當然,我的總結比王守仁還差得很遠,只能說我對自己的方法總結有向這個方向發展的趨勢)。我開始成為一個唯心的人,我更加透徹的借助生活經歷跟自己的內心對話。
第二件事情就是我開始炒股,從09年11月開始,我揣著自己的夢想和一萬塊錢進入二級市場,當然,我不是股神,現實也很殘酷,雖然我小有自負,可是一萬還是被我虧掉三千。現在也已經不記得當時的心痛,只不過我知道,我必須堅持。我曾不止一次的在自己寫的東西里提到,促進事情成功的因素很多,可是決定成功的因素只有一個,就是堅持。當然,堅持也要有方法,我取出股市里的錢,告訴自己,如果不能將模擬股市中的十萬變成十五萬,就不再做實盤。于是在這樣的環境下,我堅持認真對待自己的模擬盤,天天早上起來看新聞,每天花最少兩個小時看盤。我跟一些老手聊天,他們說很難想象將虛擬盤看得和實盤一樣,可是我做到了,它們在我看來是一樣的。在我的堅持之下,我對股市的認識慢慢有了質的改變,更多的,我對自己人生的認識也有了質的改變。
我曾經在自己一系列的股市總結里提到,股市是人生的濃縮,做不好股市的人,人生也不會成功;人生成功的人,做股市也不會虧。我越來越發現股市和人生的共通:股市是賭,你每次下注,都不知道明天你的股票是跌是漲;人生之事也是賭,你永遠不知道明天是加薪還是失業,你也不會知道你大學畢業后是得到什么或是感嘆日子空虛。所不同的是,在股市里,你會擁有人性一切的弱點,只看虛幻的利而忽視風險。就是說,在股市里,你愿意下大籌碼,去參與一個贏的概率小,但是賠率很大的賭局。而人生中,人顯得更加理性,你愿意找一份安穩的工作,而不愿意去博一把,如創業,辭職再找更好的工作等等。相當于,在人生中,你愿意下小籌碼,去參與一個贏的概率大,但是賠率比較小的賭局。
正是因為我人生的總總經歷,加上當年明月對我的點撥,加上股市這場濃縮人生對我的摧殘,加上嵌入式這項事業給我的實踐機會,加上我自己勤于思考的習慣和我因為懶惰而學會引導自己的方法,讓我終于有一天看通了所有的事情,讓我完成了由量到質的蛻變。我發現,身邊所有的所有,嵌入式,股市,工作,arm,開發環境,單片機,c語言,網頁設計,google,淘寶,pcb,所有的所有,都只是工具而已,真正的核心,亙古不變的核心,只有一樣,就是你的思維!
Photoshop\Dreamware只是一個工具,你要做的第一件事就是用自己的方法去掌握這個工具,完成量的積累。當你掌握這些工具,你的思維,才是決定你是否能成為優秀設計師的本質。你是否在看到一個平面廣告或者網頁的時候,默默的思考其最吸引人的理念?你是否在畫圖之前,就已經確切的知道,你要傳遞給看圖者的感覺、理念或者價值是什么?你是否有一個思維庫,將別人好的觀念都放進來,將錯誤的思想都打上禁止符?
單片機、arm、操作系統、庫也只是一個工具,你要做的第一件事情就是用自己的方法去掌握這些工具,完成量的積累。當你掌握了這些工具,你的思維,決定了你是否有成為優秀開發者的潛質。當你接觸了足夠多的構架芯片或系統,完成質變,你會發現,你和今天的我一樣,你看所有的處理器,都是一樣的,都是執行指令。你看所有的協議,都是一樣的,都是指定io在指定時間指定電平。你學新的庫,學新的操作系統,學新的構架,你不會再害怕,不再急躁,你會按部就班,從易到難,步步為營;你會發現,原來覺得不夠用的資料,現在信手沾來,原來到處都是;你會發現,你不再去強迫自己記枯燥的知識,而是把握最核心的思想;你會發現,你不會再將自己的競爭力放在多熟悉一種芯片上,也不會放在年輕,記憶上,而是放在隨著時間增長,經驗增長會導致越來越完善的思維上。你會更加關注精而不是多,你會更加相信踏實的重要性,你會更加善于引導自己,而不是跟自己做斗爭。你會發現,很多道理真的很簡單很簡單。這些是什么,這些就是思維!
股市,也不過是一個工具,它讓你懂得人生的本質,要想贏,你就必須去參與贏的概率大的賭局,根據自己的承受能力去下注。它讓你懂得,要克服內心的恐懼與貪婪,只有用自信和滿足。它讓你懂得,在最不能忍受的時候,依然要堅持。股市和人生,完全想通。這些是什么,就是思維!
創業,也只不過是一個工具,你要懂得自己在創造什么價值,是否有人需要這種價值,你如何將價值傳遞出去。做什么產品,只不過是個價值載體--工具而已!有了策劃方案,有了營銷手段,把握了思維,你才能贏。資金?工具而已!
工具思維方法_論還有很多實踐案例,人生之中所有的事情,都可以用這種論點來思考,來指導,有如下幾點中心思想:
1.工具是死的,思維是活的,遇到問題,一定要記住,你是萬能的人,你要想辦法,不能坐以待斃。山越不過,就繞過!這是典型的知行合一思想。
2.永遠不要參與輸的概率大于贏的概率的賭局,否則你失敗,你堅持不下去,就不能怪任何人!
3.量的積累是很漫長的,多思考,可以減少積累的時間。量的積累是很艱辛的,要學會引導自己,而不是跟自己做斗爭,人性的弱點無法戰勝,卻可以引導。(目前酷學玩倡導的,就是以興趣為引導,讓學習者學習更持久)。
4.可以暫時性的只關注你需要的,屏蔽你不需要的。
5.要記住堅持的重要性,但是要講究方法的堅持,死扛性質的堅持,得到的效果往往并不理想!
6.站在各種角度思考問題,如,站在對方的角度。
7.要做一個開拓者,有時不一定要走別人的路,完全可以自己走出一條路。不要鄙視別人,不要羨慕別人,每個人有自己的路!
8.有時慢比快好,當你有了全局觀,有了思維,你可以從容不迫的去做事。
9.做快樂真實的自己!
|