前言:
由于项目的原因,需要在LPC1788(STM32 cortex-M3)上面跑contiki。
之前没有涉及到contiki,不知其为何物。不过这个不是难事,做IT的,每每遇到新事物,都不会处理,习惯了从无到有的过程就好了。
开始老师说这个系统很好移植,于是想在网上找现成的资料。无奈,关于contiki的资料少的可怜,contiki移植就更少了,有几篇也是互相copy而来的,连图片都没有改,呵呵。于是不得不自己动手,从头开始搞移植了。
操作系统:windowsXP
开发环境:MDK
目标板:LPC1788(cortex-M3 STM32)
移植系统:contiki
开发工具:J-Linker
在这里,先给出几个我认为比较好的链接,供大家学习研究contiki时使用。
1) Contiki大神Jelline的博客http://blog.chinaunix.net/uid-9112803-id-2978041.html,相信大家都看过他写的关于contiki的学习资料,没说的,大神的文章,当然要借鉴学习的。
2) Contiki大神徐凯的博客http://blog.csdn.net/xukai871105/article/category/1129569,这篇也是比较好的,我有些东西也是参考他的。
一 contiki简介:
“Contiki 是一个小型的,开源的,极易移植的多任务操作系统。它专门设计以适用于一系列的内存优先的网络系统,包括从8位电脑到微型控制器的嵌入系统。它的名字来自于托尔·海尔达尔的康提基号。Contiki只需几kilobyte的代码和几百字节的内存就能提供多任务环境和内建TCP/IP支持。”-------维基百科。
从维基百科这段介绍中可以得知contiki操作系统的三大特点——小型、开源、极易移植。和绝大多数开源的嵌入式操作系统不同,contiki非常容易移植,使用事件驱动和protothread机制,运行时占用的内存很小。究竟什么是时间驱动和protothread机制,本篇先不讲,在后面的文章中,我会给与讲解。
二 Contiki的源代码:
在线浏览http://contiki.git.sourceforge.net/git/gitweb.cgi?p=contiki/contiki;a=tree
GIT下载:git clone git://contiki.git.sourceforge.net/gitroot/contiki/contiki
最新的contiki系统已经更新到2.6版,我移植的就是2.6版本的contiki(跟上国际的脚步,呵呵)
三 开发环境的搭建:
1) Instant Contiki
InstantContiki是官方配好的开发环境,基于Ubuntu,在http://sourceforge.net/projects/contiki/下载InstantContiki,装在虚拟机VMware上。网上没什么资料,我自己也没有试过,虽然也有虚拟机。
2) IAR+J-Linker
网上的资料,大部分是基于IAR环境来开发的,移植起来相对简单。目标板也是ARM Cortex M3,如果你的也是这样的开发板,不妨试试用这个开发环境。不过在IAR做移植,要对Makefile进行大量修改。我自己安装了IAR,但是用了一周后,觉得很不舒服,而且修改什么的很不方便,所以放弃了,改用下面的方法。
3) MDK + J-Linker
这个就是我自己的方法了,用现成的MDK(keil for ARM) 环境+J-Linker移植contiki到我的LPC1788开发板上。由于之前网上都没有这样的资料,因此移植的难度可想而知。不过通过自己的努力,还是达到了预期的效果。
我这里有contiki大神Jelline的移植笔记的PDF板,大家可以百度Contiki学习笔记.pdf,如果找不到,可以发邮件告诉我(我的邮箱:hurryliu28@gmail.com),我会在邮箱中,把文档发给需要的你。
--------------------- 下面是原作者的相关信息
作者:hurry_liu
来源:CSDN
原文:https://blog.csdn.net/hurry_liu/article/details/11908127
版权声明:本文为博主原创文章,转载请附上博文链接!
来源:oschina
链接:https://my.oschina.net/u/4418661/blog/3637849