zoukankan      html  css  js  c++  java
  • cc2530 makefile简略分析 <contiki学习之三>

    前面将contiki的makefile框架都理了下,这篇就以cc2530为收篇吧,也即makefile分析就该到此为止了。

    contiki/examples/cc2530dk

    打开Makefile如下图:

    第一行的 "CONTIKI_PROJECT"变量依赖于该目录下的  blink-hello.c  hello-world.c  sensors-demo.c  timer-test.c 4个C源文件

    第五行的"CONTIKI"变量被定义成 contiki/ 路径,这个变量必须要在这里定义,后面各层makefile都要检查它。

    第六行开始包含 contiki/ 目录下的  “Makefile.include” 文件,这也是必须的。

    Makefile.include前面已做分析。那就直接进入平台支持吧:

    contiki/platform/cc2530dk

    打开该目录下的 Makefile.cc2530dk 文件,该文件在选择平台为cc2530dk的时候,会被 前面的 Makefile.include所调用。

    嗯,无外乎就是加载平台支持代码,这些都是放在C源文件的:

    导入CC2530 CPU支持makefile、加载默认模块:

    如图可知cc2530dk的cpu 支持makefile 放在了  contiki/cpu/cc253x/ 目录下面了。

    那些默认的模块,都在 contiki/core/  目录下放着。

    好吧,中间可能会涉及到这个目录下的代码的编译规则,不过,这不是我所关心的。Makefile.cc2530dk 我所关心的内容已经完毕。

    接下来看Makefile.cc253x内容。

    /contiki/cpu/cc253x

    在这里,首先定义了编译器,不是gcc,也不是arm-linux-gcc,也不是javac,而是linux下的sdcc编译器:

    接着关心一下51(cc2530的内核是51 core)单片机的 flash:

    在继续定义下芯片内部的起始地址、代码大小:

    然后依然包含一些51 cpu的代码,它们都存放于C源文件:

    OK,如果抛开makefile的语法,makefile给我们展示了很多东西。让自己对contiki整个代码框架,有一个大致的了解---从编译的角度。

    就这样了,重点不是makefile,而是makefile 主导下的东西。那就暂时抛开makefile吧,进入contiki 源码学习部分。

  • 相关阅读:
    WebClient设置Expect: 100-continue
    ActiveX控件注册不起作用的解决办法
    RadioButtonFor值为false.默认选中的问题
    Ueditor插入script标签
    Ueditor上传图片到本地改造到上传图片到七牛云存储
    让网页显示ajax的查询数据
    今天升级win10.vs调试程序各种崩溃
    visual assist x vs2012不智能提示
    几道 javascript 题,你全对了吗?
    Node.js中使用TCP套接字编程
  • 原文地址:https://www.cnblogs.com/chineseboy/p/3849082.html
Copyright © 2011-2022 走看看