网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
02月26日漏签0天
tinyos模块吧 关注:242贴子:269
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 4回复贴,共1页
<<返回tinyos模块吧
>0< 加载中...

TinyOS的个人见解3之make

  • 只看楼主
  • 收藏

  • 回复
  • dan158185
  • 武林新贵
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
以简单的Blink为例,Blink目录下的Makefile文件
COMPONENT=BlinkAppC
include $(MAKERULES)
可以看到MAKERULES这个是上一篇环境变量的export所声明过的,也就是../support/make目录,这个目录下文件基本介绍:
*.target---------target文件,指明编译平台也就是make telosb/cc2538cb(对应为telosb.target和cc2538cb.target)
打开cc2538cb.target文件:
#-*-Makefile-*- vim:syntax=make
PLATFORM = cc2538cb
ifdef CC2520_CHANNEL
PFLAGS += -DCC2520_DEF_CHANNEL=$(CC2520_CHANNEL)
endif
PFLAGS += -I$(TOSROOT)/tos/chips/cc2538/fwlib
$(call TOSMake_include_platform,cc2538cb)
$(call TOSMake_include_make_platform,cc2538cb)
cc2538cb: $(BUILD_DEPS)
@:
没错,我们看到的是声明平台是cc2538cb以及编译规则目录是cc2538cb
*.extra ----------编译的额外说明文件,主要是指比如blip.extra,coap.extra,主要是对你编译时候用到的其他库的一个补充,这些额外库的编译选项已经组件目录路径
下面则是编译的rules。对于telosb对应是msb目录,对于cc2538cb则为cc2538cb目录,里面会有xxx.rules目录,这个也就是make的核心文件;
再此不再详细介绍:
总结编译过程 比如编译命令为make cc2538cb blip id.1
过程为执行cc2538cb.rules的编译过程同时 引入blip的库组件以及 设置编译的rf的短地址为1
知道这些后你可以个性化你的make规则!!!


  • dan158185
  • 武林新贵
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
补充说明 编译一个例程的Makefile文件的编写,如Blink,Blink目录下的Makefile文件
COMPONENT=BlinkAppC
include $(MAKERULES)
最基本你需要指定COMPONENT= xxxx
最后指定make目录
你会发现其他的例程中间还有很多,那些都是一些堆代码编译的宏定义而已


2026-02-26 14:04:32
广告
不感兴趣
开通SVIP免广告
  • dan158185
  • 武林新贵
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
那么现在我说明一下为什么保留2.2.12release的make方式呢,你不用怀疑现在代码不是github同步的,实际上你可以去对比,代码和githun tinyos到现在为止组件尤其是库组件是同步的。
不喜欢github代码上现在的做法是因为,make的不灵活,您可以自己去看他现在的make方式已经丧失了从tinyos一直以来的灵活的make方式,那就是每个平台有自己的rules,现在的这种捆绑让就从2530就开始移植的我感到非常反感。.pltform等文件的指定目录当然是进步,但是将所有的编译弄进自己的makefile,rules是否是一个好的方法我保留意见。
代码的例程我采用nesc-1.4.2版本,最新版本是1.3.5.1,也就是能配合编译github最新的那个nesc编译器,我测试过没什么大用处,毕竟你可以去看nesc编译器1.3.5.1的更新日志,对现在的代码编译来说没什么用处。


  • dan158185
  • 武林新贵
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
也许以后我会妥协移植遵守他的make写法,但是不是现在,除非某些库组件确实必须用到nesc1.3.5.1的一些新特性,但是至少现在没有.......


  • dan158185
  • 武林新贵
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
貌似和上面的认识平台重了,哎 数学不好害死人啊


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 4回复贴,共1页
<<返回tinyos模块吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示