初入社会,我一个三年的中专职高生(学黑白电视机,老式收音机等等),在公司是个硬件工师(偏重吧)。记得进入公司工作的是时候,因为开发部老大是我老乡,后面几年天天上班一起共事,下班后玩在一起。通过这个老乡,让我第一次认识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
最后试一下能不能上传图片。
时间: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 (创作不容易,都是体力活)