搜索
bottom↓
回复: 4

利用SCons开发AVR程序

[复制链接]

出0入0汤圆

发表于 2013-4-27 19:57:53 | 显示全部楼层 |阅读模式
本帖最后由 lyyyuna 于 2013-4-27 20:00 编辑

scons是一个Python写的自动化构建工具,跟GNU make是同一类的工具。

我仿照RT-Thread的scons脚本,给AVR也写了一个。

avrconfig.py
  1. import os

  2. # target name
  3. MCU = 'atmega16'
  4. TARGET_NAME = 'template'

  5. # toolchains options
  6. PLATFORM = 'gcc'
  7. EXEC_PATH = 'H:/Atmel/WinAVR-20100110/bin'

  8. PREFIX = 'avr-'
  9. CC = PREFIX + 'gcc'
  10. AS = PREFIX + 'gcc'
  11. AR = PREFIX + 'ar'
  12. LINK = PREFIX + 'gcc'
  13. TARGET_EXT = 'elf'
  14. SIZE = PREFIX + 'size'
  15. OBJDUMP = PREFIX + 'objdump'
  16. OBJCOPY = PREFIX + 'objcopy'

  17. TARGET = TARGET_NAME + '.' + TARGET_EXT

  18. DEVICE = '-mmcu=' + MCU
  19. CFLAGS = DEVICE
  20. AFLAGS = '-c' + DEVICE
  21. LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=' + TARGET_NAME + '.map,-cref '

  22. HEXFILE = TARGET_NAME + '.hex'
  23. POST_ACTION = OBJCOPY + ' -O ihex $TARGET ' + HEXFILE
复制代码
SConstruct
  1. import os
  2. import sys
  3. import avrconfig
  4. from building import *

  5. env = Environment(tool = ['winavr'],
  6.     AS = avrconfig.AS, ASFLAGS = avrconfig.AFLAGS,
  7.         CC = avrconfig.CC, CCFLAGS = avrconfig.CFLAGS,
  8.         AR = avrconfig.AR, ARFLAGS = '-rc',
  9.         LINK = avrconfig.LINK, LINKFLAGS = avrconfig.LFLAGS)
  10. env.PrependENVPath('PATH', avrconfig.EXEC_PATH)   

  11. Export('avrconfig')

  12. objs = LIHU_PrepareBuilding(env)

  13. env.Program(avrconfig.TARGET, objs)

  14. LIHU_EndBuilding(avrconfig.TARGET)
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-4-28 01:44:56 | 显示全部楼层
曲高和寡,顶一下!

出0入0汤圆

发表于 2016-1-12 15:31:33 | 显示全部楼层
大神,顶礼膜拜。最近接触scons,觉得实在无从下手,纠结中。。。

出0入0汤圆

 楼主| 发表于 2016-1-20 09:43:07 | 显示全部楼层
lujian19871214 发表于 2016-1-12 15:31
大神,顶礼膜拜。最近接触scons,觉得实在无从下手,纠结中。。。

好久之前的事啊。
可以看看我的博客
http://www.lyyyuna.com/categorie ... %E7%BF%BB%E8%AF%91/

我想起来就会继续翻译下去。。。。。。。

出0入0汤圆

发表于 2017-2-8 15:41:26 | 显示全部楼层
lyyyuna 发表于 2016-1-20 09:43
好久之前的事啊。
可以看看我的博客
http://www.lyyyuna.com/categories/SCons-%E7%94%A8%E6%88%B7%E6%8C ...

哈哈,正在看你的博客。谢谢。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 09:40

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表