標(biāo)題: 淺析為什么要使用ST的固件庫,談?wù)勎覀人的工具思維。。 [打印本頁]

作者: liuqq    時間: 2015-5-20 14:38
標(biāo)題: 淺析為什么要使用ST的固件庫,談?wù)勎覀人的工具思維!!
發(fā)現(xiàn)網(wǎng)上經(jīng)常有人問庫的問題,下面說說我的理解,我做嵌入式也蠻久了,接觸的構(gòu)建也蠻多,也許我的觀點能給大家一點借鑒。

什么是庫?在我接觸stm32之前,玩過lpc和s3c系列的arm,這些芯片,程序員編程的時候,很大精力都要用在操作寄存器上,而且還不能保證自己的操作是穩(wěn)定及正確的。在保證對寄存器的操作正確之后,程序員才能將精力放在應(yīng)用及系統(tǒng)之上,而應(yīng)用和系統(tǒng),對程序員而言,其意義往往大于對芯片本身寄存器的理解。因為,芯片只是工具,你理解了一個芯片的寄存器操作之后,玩一下個芯片,又需要重新去理解新芯片的寄存器操作。對于學(xué)習(xí)者而言,去學(xué)習(xí)寄存器是必要的,因為你要完成知識的積累(量變)。然而對于成熟的嵌入式工程師,都希望盡可能在芯片本身上花的時間少,因為他們希望產(chǎn)品開發(fā)周期盡可能短。成熟的嵌入式工程師,都會花大時間去研究應(yīng)用和系統(tǒng)框架,因為這些東西可以用在任何一個芯片構(gòu)架之上,是不變的(思維)。工具(芯片平臺)不管如何換,都是萬變不離其宗的--一個處理器而已。正因為出于這種考慮,st針對stm32芯片出了庫,所謂的庫,就是針對stm32這個芯片,將寄存器的操作都寫成函數(shù),提供函數(shù)API給程序員,并且可以保證這些函數(shù)的穩(wěn)定性及正確性。程序員就會從操作寄存器這繁雜的工作中脫離出來。需要使用stm32某個模塊時,只需要翻翻庫的api調(diào)用方法,或者找找例程,就可以很輕松的用庫里的函數(shù)(api)操作stm32的某個模塊。就我而言,今年三月份之前,我還不知道stm32到底是個什么東西。現(xiàn)在呢,我已經(jīng)在stm32上寫了包括各種驅(qū)動例程和酷系統(tǒng)(Q-OS)在內(nèi)的比較復(fù)雜的程序,可是對于stm32某個模塊具體是如何操作寄存器的,我還真不知道,因為我一直是用庫的。

現(xiàn)在很多學(xué)習(xí)者是本末倒置的,本來st出庫,是為了解放程序員對寄存器的繁雜操作?墒乾F(xiàn)在沒有經(jīng)驗的初學(xué)者,都拼命想去了解庫是怎么實現(xiàn)的,是怎么操作寄存器的。有一種貌似要玩哪個模塊,就必須懂得寄存器操作這樣的觀念等等。這些觀念不能說是不正確的,因為我很能理解初學(xué)者對未知世界的探索欲。但是這樣不講究方法的學(xué)習(xí),到最后得到的結(jié)果就是學(xué)習(xí)者四處碰壁,問又沒人問,找答案又找不著,結(jié)果灰心喪氣,打擊了自信心,對嵌入式學(xué)習(xí)的動力也沒有了。

我比較贊同的觀點就是,對于一個只接觸過單片機(jī)的初學(xué)者而言。不要再將學(xué)單片機(jī)的一套方法用在stm32上。初學(xué)者大可以放下心來,第一次學(xué)的時候,不去追求庫的具體實現(xiàn),不去過問如何操作寄存器,只是放心的調(diào)用庫的api,相信庫的可靠性(實際上它真的很可靠)。多研究下庫里每個模塊都有哪些api,api如何使用,有些什么參數(shù),返回的是什么值等。我相信這是很簡單的事情,因為很多api看名字就知道怎么用了,何況網(wǎng)上還有這么多例程和文檔可以參考。然后組織這些api,寫出你想要的有趣的應(yīng)用,提升自己對嵌入式的興趣,保障自己的信心。要記住,你第一遍是在享受庫給你提供的快捷和方便!等你對stm32的每個模塊都有了了解,第二次學(xué)的時候,因為有了全局觀和信心,你再耐下心來,隨便挑個模塊研究下庫的實現(xiàn),研究如何操作寄存器,寄存器操作有什么技巧等等。我相信這個時候,難度已經(jīng)大大降低了。

用我說的這種方法,層層深入,學(xué)會引導(dǎo)自己,才能夠大大降低學(xué)習(xí)難度,讓自己真的了解stm32是個什么東西。永遠(yuǎn)要記住,庫和stm32以及其他芯片,都只不過是個工具而已,掌握工具是必須的,然而核心的關(guān)鍵的,是思維!




下面借這個機(jī)會向大家介紹一下我總結(jié)的“工具思維方法_論”,拋磚引玉,希望和大家交流!

這兩年來,我接觸的事物非常多,本來就是個閑不住的人,興趣又廣泛,精力無限。經(jīng)歷多了,自然感悟就多了,感悟多了,很多東西就看開了。今天我寫在這里的,就是這幾年以來,我所塑造的屬于自己的人生哲學(xué)。我不清楚這一套方法理論是不是適合別人,但是就我而言,它已經(jīng)能幫我解決生活中的所有事情,我希望看我文章的人,對自己的思維也能有相同的思考,或者從我的方法里能夠得到借鑒。

在參看我的方法_論之前,如果你了解王陽明心學(xué),那就更好了。我的方法_論,完全基于心學(xué),是一個實踐性擴(kuò)充而已。

我從高中開始知事,懂得去努力爭取自己想要的,那時的我,為了一所好大學(xué)而努力,去克服心中最原始的人性弱點,如懶惰、軟弱、虛榮等。我當(dāng)時雖然不知道像今天一樣去引導(dǎo)自己,但是正是因為這種艱辛的環(huán)境,促成了我對自己情商最基本的認(rèn)識,懂得去約束自己,為我未來的成功之路邁出了第一步。

在大學(xué)里,我跟很多人一樣,想要實現(xiàn)自己的價值,想要自己賺錢養(yǎng)活自己。于是我做了很多事情,學(xué)生工作、家教、賣報紙、推銷電話,只要是我想嘗試的,我都努力去嘗試。正因為這點點滴滴的遇事,讓我開始懂得觀察和思考,去探索自己最內(nèi)心的思緒。

我大學(xué)的時候,在知識上完成了兩次積累,一是對平面設(shè)計網(wǎng)頁設(shè)計的知識積累,大概學(xué)了一年多的時間,曾一度希望靠做網(wǎng)站賺錢養(yǎng)活自己。二是對嵌入式的積累,在我接觸單片機(jī)的那一瞬間,我就知道這輩子已經(jīng)交給嵌入式了,而嵌入式,也必將成為我人生最重要的工具。因為這兩次知識積累,我都是靠自學(xué)完成的,沒有誰教我什么,一切都是靠自己摸索。所以深刻的相信,很多路,真的沒人可以供你借鑒,只有靠你自己走,才能走出來。也正是這些學(xué)習(xí)經(jīng)歷,我開始懂得如何引導(dǎo)自己,我曾寫過一篇《寫在大學(xué)最后的一些話》,就是講述如何找到自己的興趣,利用自己的興趣去克服學(xué)習(xí)遇到的困難,去克服人性的弱點。

畢業(yè)之后,我也做過自己的產(chǎn)品,借此而創(chuàng)業(yè),當(dāng)然現(xiàn)實殘酷的打擊了我。我還換過好幾份工作,結(jié)果發(fā)現(xiàn)都不是自己想要的工作。我曾一度迷茫,不知道未來會怎樣,不知道中國是否有適合我的工作。我也一度很瘋狂,拼命的學(xué)習(xí)新的東西,希望新的東西能夠帶給我更多的競爭力,讓應(yīng)聘單位知道我是一匹好馬。我不斷的反問著自己的人生,不斷的思考,在這種基礎(chǔ)下,兩件事情改變了我。

第一件事情就是我看了一本書,叫《明朝那些事兒》,也許大多數(shù)人把這本書當(dāng)小說看。但是我從來都是個喜歡多想的人,對于我而言,從這本書里感悟到的東西,遠(yuǎn)遠(yuǎn)比一本小說多。起碼,我知道了王守仁,知道了心學(xué),我才發(fā)現(xiàn),我之前所總結(jié)的一切思想,原來是有依據(jù)的,原來也有人總結(jié)過(當(dāng)然,我的總結(jié)比王守仁還差得很遠(yuǎn),只能說我對自己的方法總結(jié)有向這個方向發(fā)展的趨勢)。我開始成為一個唯心的人,我更加透徹的借助生活經(jīng)歷跟自己的內(nèi)心對話。

第二件事情就是我開始炒股,從09年11月開始,我揣著自己的夢想和一萬塊錢進(jìn)入二級市場,當(dāng)然,我不是股神,現(xiàn)實也很殘酷,雖然我小有自負(fù),可是一萬還是被我虧掉三千,F(xiàn)在也已經(jīng)不記得當(dāng)時的心痛,只不過我知道,我必須堅持。我曾不止一次的在自己寫的東西里提到,促進(jìn)事情成功的因素很多,可是決定成功的因素只有一個,就是堅持。當(dāng)然,堅持也要有方法,我取出股市里的錢,告訴自己,如果不能將模擬股市中的十萬變成十五萬,就不再做實盤。于是在這樣的環(huán)境下,我堅持認(rèn)真對待自己的模擬盤,天天早上起來看新聞,每天花最少兩個小時看盤。我跟一些老手聊天,他們說很難想象將虛擬盤看得和實盤一樣,可是我做到了,它們在我看來是一樣的。在我的堅持之下,我對股市的認(rèn)識慢慢有了質(zhì)的改變,更多的,我對自己人生的認(rèn)識也有了質(zhì)的改變。

我曾經(jīng)在自己一系列的股市總結(jié)里提到,股市是人生的濃縮,做不好股市的人,人生也不會成功;人生成功的人,做股市也不會虧。我越來越發(fā)現(xiàn)股市和人生的共通:股市是賭,你每次下注,都不知道明天你的股票是跌是漲;人生之事也是賭,你永遠(yuǎn)不知道明天是加薪還是失業(yè),你也不會知道你大學(xué)畢業(yè)后是得到什么或是感嘆日子空虛。所不同的是,在股市里,你會擁有人性一切的弱點,只看虛幻的利而忽視風(fēng)險。就是說,在股市里,你愿意下大籌碼,去參與一個贏的概率小,但是賠率很大的賭局。而人生中,人顯得更加理性,你愿意找一份安穩(wěn)的工作,而不愿意去博一把,如創(chuàng)業(yè),辭職再找更好的工作等等。相當(dāng)于,在人生中,你愿意下小籌碼,去參與一個贏的概率大,但是賠率比較小的賭局。

正是因為我人生的總總經(jīng)歷,加上當(dāng)年明月對我的點撥,加上股市這場濃縮人生對我的摧殘,加上嵌入式這項事業(yè)給我的實踐機(jī)會,加上我自己勤于思考的習(xí)慣和我因為懶惰而學(xué)會引導(dǎo)自己的方法,讓我終于有一天看通了所有的事情,讓我完成了由量到質(zhì)的蛻變。我發(fā)現(xiàn),身邊所有的所有,嵌入式,股市,工作,arm,開發(fā)環(huán)境,單片機(jī),c語言,網(wǎng)頁設(shè)計,google,淘寶,pcb,所有的所有,都只是工具而已,真正的核心,亙古不變的核心,只有一樣,就是你的思維!

Photoshop\Dreamware只是一個工具,你要做的第一件事就是用自己的方法去掌握這個工具,完成量的積累。當(dāng)你掌握這些工具,你的思維,才是決定你是否能成為優(yōu)秀設(shè)計師的本質(zhì)。你是否在看到一個平面廣告或者網(wǎng)頁的時候,默默的思考其最吸引人的理念?你是否在畫圖之前,就已經(jīng)確切的知道,你要傳遞給看圖者的感覺、理念或者價值是什么?你是否有一個思維庫,將別人好的觀念都放進(jìn)來,將錯誤的思想都打上禁止符?

單片機(jī)、arm、操作系統(tǒng)、庫也只是一個工具,你要做的第一件事情就是用自己的方法去掌握這些工具,完成量的積累。當(dāng)你掌握了這些工具,你的思維,決定了你是否有成為優(yōu)秀開發(fā)者的潛質(zhì)。當(dāng)你接觸了足夠多的構(gòu)架芯片或系統(tǒng),完成質(zhì)變,你會發(fā)現(xiàn),你和今天的我一樣,你看所有的處理器,都是一樣的,都是執(zhí)行指令。你看所有的協(xié)議,都是一樣的,都是指定io在指定時間指定電平。你學(xué)新的庫,學(xué)新的操作系統(tǒng),學(xué)新的構(gòu)架,你不會再害怕,不再急躁,你會按部就班,從易到難,步步為營;你會發(fā)現(xiàn),原來覺得不夠用的資料,現(xiàn)在信手沾來,原來到處都是;你會發(fā)現(xiàn),你不再去強(qiáng)迫自己記枯燥的知識,而是把握最核心的思想;你會發(fā)現(xiàn),你不會再將自己的競爭力放在多熟悉一種芯片上,也不會放在年輕,記憶上,而是放在隨著時間增長,經(jīng)驗增長會導(dǎo)致越來越完善的思維上。你會更加關(guān)注精而不是多,你會更加相信踏實的重要性,你會更加善于引導(dǎo)自己,而不是跟自己做斗爭。你會發(fā)現(xiàn),很多道理真的很簡單很簡單。這些是什么,這些就是思維!

股市,也不過是一個工具,它讓你懂得人生的本質(zhì),要想贏,你就必須去參與贏的概率大的賭局,根據(jù)自己的承受能力去下注。它讓你懂得,要克服內(nèi)心的恐懼與貪婪,只有用自信和滿足。它讓你懂得,在最不能忍受的時候,依然要堅持。股市和人生,完全想通。這些是什么,就是思維!

創(chuàng)業(yè),也只不過是一個工具,你要懂得自己在創(chuàng)造什么價值,是否有人需要這種價值,你如何將價值傳遞出去。做什么產(chǎn)品,只不過是個價值載體--工具而已!有了策劃方案,有了營銷手段,把握了思維,你才能贏。資金?工具而已!

工具思維方法_論還有很多實踐案例,人生之中所有的事情,都可以用這種論點來思考,來指導(dǎo),有如下幾點中心思想:
1.工具是死的,思維是活的,遇到問題,一定要記住,你是萬能的人,你要想辦法,不能坐以待斃。山越不過,就繞過!這是典型的知行合一思想。
2.永遠(yuǎn)不要參與輸?shù)母怕蚀笥谮A的概率的賭局,否則你失敗,你堅持不下去,就不能怪任何人!
3.量的積累是很漫長的,多思考,可以減少積累的時間。量的積累是很艱辛的,要學(xué)會引導(dǎo)自己,而不是跟自己做斗爭,人性的弱點無法戰(zhàn)勝,卻可以引導(dǎo)。(目前酷學(xué)玩倡導(dǎo)的,就是以興趣為引導(dǎo),讓學(xué)習(xí)者學(xué)習(xí)更持久)。
4.可以暫時性的只關(guān)注你需要的,屏蔽你不需要的。
5.要記住堅持的重要性,但是要講究方法的堅持,死扛性質(zhì)的堅持,得到的效果往往并不理想!
6.站在各種角度思考問題,如,站在對方的角度。
7.要做一個開拓者,有時不一定要走別人的路,完全可以自己走出一條路。不要鄙視別人,不要羨慕別人,每個人有自己的路!
8.有時慢比快好,當(dāng)你有了全局觀,有了思維,你可以從容不迫的去做事。
9.做快樂真實的自己!



作者: fanwei700615    時間: 2016-2-5 20:41
您的這篇文章,是我在查找關(guān)于stm32相關(guān)資料時候看到的,本來只是想眼睛掃視一遍的,但當(dāng)我看的時候,卻發(fā)現(xiàn)在您的身上,我看到了自己,(盡管經(jīng)歷的事情不一樣),產(chǎn)生了共鳴!
您的這篇文章給了迷惘的我很大的啟發(fā),我一定像您一樣講方法地堅持下去,我相信幾個月后我就可以吃掉stm32了。。謝謝您寫了這篇文章。。
作者: 陳航    時間: 2016-2-13 04:01
感謝 分享對我這種初學(xué)者很有幫助
作者: 曉薇薇    時間: 2016-3-24 15:06
我也是看完明朝那些事兒后看到有個王陽明這個心學(xué)大師,你說的對要順應(yīng)自己的內(nèi)心,增加自己的思維緯度
作者: liuyimao485812    時間: 2016-4-6 17:19
從51轉(zhuǎn)到ARM,真的很不習(xí)慣庫函數(shù)。
作者: liuzhiping    時間: 2016-4-7 00:27
認(rèn)同樓主的觀點,先應(yīng)用再深究
作者: I_joker    時間: 2016-4-7 11:17
深有感觸
作者: chensi123    時間: 2016-4-29 14:18
受益良多、。
作者: yuyunbo_123    時間: 2016-8-30 19:29
我還在大學(xué),發(fā)現(xiàn)除了炒股,其他經(jīng)歷好像。」,這篇文章,有共鳴啊。謝謝。
作者: nhwhg    時間: 2016-10-9 09:57
深度好文!看了你的文章,感覺眼前一亮,以前走的都是彎路啊。。。。
作者: starxer    時間: 2016-10-11 15:35
是的,樓主分析的很好,謝謝
作者: waerdeng    時間: 2016-10-15 08:23
感謝 分享對我這種初學(xué)者很有幫助
作者: yq97723997    時間: 2016-10-17 22:52
你好    非常感謝的你的資料
作者: zhslcd    時間: 2016-10-20 09:50
草泥馬的這個網(wǎng)站
作者: waerdeng    時間: 2016-11-3 14:01
感謝 分享對我這種初學(xué)者很有幫助




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1