天天看點

我的個人經曆和Contiki OS相識

CONTIKI OS之戰,用的STM32.

初入社會,我一個三年的中專職高生(學黑白電視機,老式收音機等等),在公司是個硬體工師(偏重吧)。記得進入公司工作的是時候,因為開發部老大是我老鄉,後面幾年天天上班一起共事,下班後玩在一起。通過這個老鄉,讓我第一次認識99 SE軟體,和C51單片機,也算是我的貴人了。99 SE算是自學會了,當然現在一直用Altium Designer Summer 09. 繼續回憶當年,經過大量的查閱,還知道了PIC,  STM32,  AVR, 國産的合泰和STC51等等,經過思想鬥争後,我選擇了PIC。。。後面的2年到4年工作時間裡,斷斷續續學習PIC單片機,最開始用的彙編,是真的累!也沒做出什麼東西來,學得也不怎麼樣,期間自己畫幾個開發闆和仿真器,花上時間和金錢也是滿大的(類似*寶上的哪種),書也是一本本堆來起來,還入手了三個仿真器,對于PIC,我也不想多說了,說多了都是淚。。。(之前沒學過,隻覺得好玩!)

轉折點,因為我第一個單片機玩的是PIC,要從新接收其他單片機,說實話很難,為什麼? 學的彙編呀,大哥!最後花了幾千錢去教育訓練機構,邊工作邊學習了C語言,因為之前沒接觸C語言,沒有什麼概念,記得當時問老師:“老師,什麼是複合運算,這是什麼意思?”哈哈,是不是很傻??

C語言算是學了點皮毛( 指針啊 資料結構啊 跟本不懂是什麼東西 ),不是很精通但是簡簡單單的,還能馬馬虎虎用一下。這裡無形中打開了另一遍天地,C語言是通用語言,可以用于任何單片機程式設計,于是馬上轉入STM32戰營,因為國内STM32的‘正點原子’嵌入式教學和 ‘野火’嵌入式教學,資料都很多了,用得人也比較多,一些問題可以百度、也可以複制進行驗證,降低了像我這種新手入門的要求。(已有彙編去操作寄存器的習慣,以緻在用C學習PIC時,天天去找在C嵌入彙編的方法,我有錯嗎??)

現在,對!就說現在了,其中過程就不費話了,CONTIKI 3.0,是官方最新的。我現在隻想搞精通Contiki OS作業系統, 配合SOC的RF晶片應用起來,這是我最終的目标。在寫之前,我已經成功将CONTIKI OS移植到了STM8和STM32晶片上了(IAR system),比如clok.c,當CONTIKI的clok.c移置成功後,OS就有心跳時鐘了,像time和etimer就可以使用了,比如簡單的etimer例子: 

struct etimer timeout1; //聲明ETMIER事件 
PROCESS(hello_world_process1, "Hello world process1");//申請線程process1
PROCESS_THREAD(hello_world_process1, ev, data)//程序1的功能體   
{  
      PROCESS_BEGIN();//開始  
      etimer_set(&timeout1,CLOCK_SECOND*1/2);//0.5S時間事件    

      while(1)     {        

                       PROCESS_WAIT_EVENT();//事件進行等待   
                       if(ev == PROCESS_EVENT_TIMER) { //如果EV事件産生 
                       printf("\nprocess1\r\n");      // printf資訊,printf函數要自己實作才能輸出列印哦。
                       leds_toggle(LEDS_D2);//這個是os-->core-->dev驅動包裡的抽象層接口,低層leds-arch.c要自己實作才能使用哦。
                       }//if
     etimer_reset(&timeout1);//複位時間,周而複始 

                      }//while(1)

     PROCESS_END();//結束

}//PROCESS_THREAD      

其實我申請了3個etime事件,在IAR平台上進行測試,0.1S   0.5S   3.0S,通來示波器測試,還是相當精準的。因為移植前期,網上教程比較多,大家多上網查詢一下,我這裡就不重複費話了。今天就到這裡了,未完 待續中。。。 

有個前輩的感言,感覺很在理。有時間可以去看看https://www.eda365.com/article-89693-1.html

最後試一下能不能上傳圖檔。

我的個人經曆和Contiki OS相識

時間:2020-12-13

更新CONTIKI-NG資訊  ---->  https://www.cnblogs.com/lijianGX/p/11592862.html   <------(沒想到還有人看contiki,不過cotiki 3.X已經快退伍了,去看NG版吧)

時間:2021-10-19

近年來,有收到很多網友  群友訊問,說CONTIKI怎麼移植的,是以特意寫了一篇IAR教程,希望解決大家的疑惑。

contiki移植到STM32(細節篇)   ---->  https://www.cnblogs.com/lijianGX/p/15414013.html  (創作不容易,都是體力活)