前不久在用51單片機(jī)做一個東西,用到了GPS模塊、GSM模塊、電子羅盤模塊、DS1302計時、LCD1602循環(huán)顯示時間和當(dāng)前磁方位角信息,單片機(jī)程序就寫了幾個周,雖然磕磕碰碰,但最后還是能夠勉強(qiáng)靠一個while(1)大循環(huán)和無數(shù)子函數(shù)搞定了,但是也深切地感覺到單片機(jī)在面對一個較大工程時“裸奔”的無奈,尤其是面對多個需要同時執(zhí)行的任務(wù)。
對于我而言,“操作系統(tǒng)”一直以來都感覺是一種可望而不可及,而且尤其的偏向于軟件的那么一種東西,而我勵志是成為一名硬件工程師,這段時間自學(xué)單片機(jī)以來,天天就寫程序、看代碼,越發(fā)感覺到自己“偏科”了,電路沒時間設(shè)計了,DXP怎么用也怕都給忘了,很多電子元件的特性啥的也快忘差不多了,我這是要練成太極了嗎?
但是單片機(jī)確實(shí)是一種好東西,我覺得它能夠釋放硬件電路的潛能。
曾經(jīng)見到過網(wǎng)上一個哥們用晶振+非門振蕩電路、D觸發(fā)器分頻、計數(shù)器芯片、7段數(shù)碼管解碼芯片和數(shù)碼管做了一個簡單的時鐘。后來我們學(xué)了數(shù)電,掌握了一些知識后,我也用proteus仿真了一個,電路異常的麻煩。但是出來的功能單一到了極點(diǎn),增加任何一個功能都會消耗極大的心力、物力和財力。想到這里,我就能夠體會當(dāng)時設(shè)計處理器的工程師們的初衷。
單片機(jī)作為微型處理器發(fā)展的一條朝著多功能走的路線,在今天吸引了一大票愛好者來學(xué)習(xí)使用它,我覺得一點(diǎn)是它便宜,二是它有用。
好吧,扯遠(yuǎn)了。。。。言歸正傳!
面對一開始說到的問題,我迫切想知道面對這種情況其他工程師或者愛好者是如何解決的? 于是我問了度娘,度娘說的話讓我茫然了-----操作系統(tǒng)(OS)。
Windows XP嗎?Linux嗎?android嗎?我慌了!最近寫單片機(jī)程序給我的感觸就是以后少跟代碼打交道啊。。。。這不是火坑嘛!
最后看到一個似曾相識的名字---uCOS II。話說這是所有學(xué)嵌入式的一個必經(jīng)之路??戳撕芏嗑W(wǎng)友在網(wǎng)上的言論。
于是毅然決然地告訴自己:就是它了!
然后就是幾天苦苦看網(wǎng)上下來的PPT、WORD、PDF。
最終決定從我最熟悉的51單片機(jī)開始來學(xué)習(xí)uCOS II的原理!
現(xiàn)在開帖!希望大家對uCOS有了解或者有興趣的朋友一起來學(xué)習(xí)和討論如何給單片機(jī)這個小東西“注入靈魂”?
首先分享一些網(wǎng)絡(luò)下載的很好的資料:文字版_嵌入式實(shí)時操作系統(tǒng)uCOS-II_邵貝貝.pdf
以下是一個經(jīng)過我測試,能夠在STC增強(qiáng)型51單片機(jī)上運(yùn)行的uCOS II移植程序:
uCOS-II內(nèi)核移植到STC單片機(jī).zip