【转】hurry_liu 大神STM32移植contiki入门之一:系统介绍和开发环境搭建
前言:
由于项目的原因,需要在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
版权声明:本文为博主原创文章,转载请附上博文链接!
【转】hurry_liu 大神STM32移植contiki入门之一:系统介绍和开发环境搭建的更多相关文章
- 大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建
大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建 大数据应用之Windows平台Hbase客户端Eclipse环境搭建-Java版 作者:张子良 版权所有,转载请注明出处 引子 ...
- 【JAVA零基础入门系列】Day1 开发环境搭建
[JAVA零基础入门系列](已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day ...
- Unix/Linux环境C编程入门教程(7) OPENBSDCCPP开发环境搭建
1. 年发起了OpenBSD 专案,希望创造一个注重安全的操作系统. 2.创建一个虚拟机. 3.选择默认的workstation10.0 4.我们选择稍后安装操作系统. 5.我们选择FreeBSD64 ...
- Unix/Linux环境C编程入门教程(18) kali-linuxCCPP开发环境搭建
1. Kali linux是BT5的晋级版本,用于信息安全.基于Debian7内核.新建虚拟机. 2. 选择默认虚拟机 3. 选择稍后安装操作系统 4.选择Linux Debian7 64位,因为Ka ...
- Unix/Linux环境C编程入门教程(15) BT5开发环境搭建
1. Backtrack 是处于世界领先地位的渗透测试和信息安全审计发行版本.有着上百种预先安装好的工具软件,并确定能完美运行,Backtrack5 提供了一个强大的渗透测试平台--从Web hack ...
- Eclipse + CDT + YAGARTO + J-Link,STM32开源开发环境搭建与调试
Eclipse+CDT+YAGARTO+J-Li:开源开发环境搭建与调试:作者:Chongqing:邮箱:ycq.no1@163.com:文档版本:V1.0:发布日期:2014-08-04:前言:此文 ...
- 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子
本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建.例子演示到对容易混淆概念的解释.文中用到的全部软件+代码下载链接为:https://url39 ...
- Cocos2dx-3.0版本 从开发环境搭建(Win32)到项目移植Android平台过程详解
作为重量级的跨平台开发的游戏引擎,Cocos2d-x在现今的手游开发领域占有重要地位.那么问题来了,作为Cocos2dx的学习者,它的可移植特性我们就需要掌握,要不然总觉得少一门技能.然而这个时候各种 ...
- 【转】Xamarin.Android 入门之:Xamarin+vs2015 环境搭建
Xamarin.Android 入门之:Xamarin+vs2015 环境搭建 一.前言 此篇博客主要写了如何使用搭建xamarin开发的环境,防止我自己万一哪天电脑重装系统了,可以直接看这篇博客 ...
随机推荐
- 13.常见模块re-正则模块
1.正则 正则表达式是计算机科学的一个概念,正则表通常被用来检索.替换那些符合某个模式(规则)的文本.也就是说使用正则表达式可以在字符串中匹配出你需要的字符或者字符串,甚至可以替换你不需要的字符或者字 ...
- 源代码中直接package edu.princeton.cs.algs4还是import edu.princeton.cs.algs4问题
对于前者这个问题,直接在src目录下命名一个包:edu.princeton.cs.algs4 即创建了文件:src->edu->princeton->cs->algs4,然后把 ...
- servlet原理分析
一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...
- Oracle常用知识小总结
永不放弃,一切皆有可能!!! 只为成功找方法,不为失败找借口! Oracle常用知识小总结 1. 创建自增主键 对于习惯了SQL SERVER的图形化界面操作的SQLer,很长一段时间不用oracle ...
- 异常:没有找到本地方法库,java.lang.UnsatisfiedLinkError: no trsbean in java.library.path
1.问题描述 迁移环境中遇到这个问题 : Fri Apr 20 15:22:31 CST 2018, Exception:500004___-500004,没有找到本地方法库,java.lang.Un ...
- CF697E && CF696C PLEASE
题意:给你三个杯子,一开始钥匙放在中间的杯子里,然后每一回合等概率将左右两个杯子中的一个与中间杯子交换.求n回合之后钥匙在中间杯子的概率.这里要求概率以分数形式输出,先化成最简,然后对1e9 + 7取 ...
- HBase-建表(普通建表及预分区建表)
package com.hbase.HBaseAdmin; import java.io.IOException; import org.apache.hadoop.conf.Configuratio ...
- 到底EJB是什么
到底EJB是什么 到底EJB是什么?被口口相传的神神秘秘的,百度一番,总觉得没有讲清楚的,仍觉得一头雾水.百度了很久,也从网络的文章的只言片语中,渐渐有了头绪. 用通俗话说,EJB就是:" ...
- vc 改变控制台字符颜色
#include <Windows.h> #include <stdio.h> #include <iostream> using namespace std; i ...
- 【转载】JAVA多线程读取、操作List集合
本文转载自:http://blog.csdn.net/wang1989cs/article/details/47663565 import java.util.ArrayList; import ja ...