summaryrefslogtreecommitdiff
path: root/nuttx/tools
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-11-22 14:44:38 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-11-22 14:44:38 +0000
commit6bb69076e50b9dec9f3735fa8f9e168e99f6bba7 (patch)
tree5e079fa9b212ae3765b3b14888fd7b1f0b106e2f /nuttx/tools
parent38e599c580d418182a6fc4101686843ff0ae4e18 (diff)
downloadpx4-nuttx-6bb69076e50b9dec9f3735fa8f9e168e99f6bba7.tar.gz
px4-nuttx-6bb69076e50b9dec9f3735fa8f9e168e99f6bba7.tar.bz2
px4-nuttx-6bb69076e50b9dec9f3735fa8f9e168e99f6bba7.zip
Move some PHY initialization logic for Darcy
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5382 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/tools')
-rw-r--r--nuttx/tools/README.txt24
-rwxr-xr-xnuttx/tools/incdir.sh1
-rw-r--r--nuttx/tools/prebuild.py256
3 files changed, 1 insertions, 280 deletions
diff --git a/nuttx/tools/README.txt b/nuttx/tools/README.txt
index efe8ad68f..68b85dc4f 100644
--- a/nuttx/tools/README.txt
+++ b/nuttx/tools/README.txt
@@ -403,30 +403,6 @@ unlink.sh
script so that it uses the NTFS mklink command. But I have never
tried that
-prebuild.py
------------
-
- This is a Python script contributed by Darcy Gong that automates many
- build actions:
-
- Nuttx configure utils v 0.3
- usage: tools/prebuild.py [-abcdfhmr] [-b boardname] [-l number]\n'%(program_name)
- -c, --clean : Will execute "make clean" command.
- -d, --distclean : Will execute "make distclean" command.
- -l, --cleanlevel : Will execute "make clean"(value of 1) or "make distclean"(value of 2) command.
- -f, --fixcfg : The configuration correction nuttx.cfg defconfig configuration items.
- -a, --auto : Equivalent parameters -d and -f.
- -b, --boardname : The boardname configuration.
- -r, --mkromfs : Make Romfs.
- -m, --make : Make now.
- -h, --help : Help Message.
-
- example:'
- usage 1 : tools/prebuild.py -b fire-stm32v2/nsh
- usage 2 : tools/prebuild.py -f -b fire-stm32v2/nsh
- usage 3 : tools/prebuild.py -a -b fire-stm32v2/nsh
- usage 4 : tools/prebuild.py -l 1 -f -b fire-stm32v2/nsh
-
mkimage.sh
----------
diff --git a/nuttx/tools/incdir.sh b/nuttx/tools/incdir.sh
index 181fb1fa2..1e862aae1 100755
--- a/nuttx/tools/incdir.sh
+++ b/nuttx/tools/incdir.sh
@@ -65,6 +65,7 @@ while [ ! -z "$1" ]; do
echo " Enable script debug"
echo " -h"
echo " Shows this help text and exits."
+ exit 0
;;
* )
break;
diff --git a/nuttx/tools/prebuild.py b/nuttx/tools/prebuild.py
deleted file mode 100644
index 34fed09b6..000000000
--- a/nuttx/tools/prebuild.py
+++ /dev/null
@@ -1,256 +0,0 @@
-#!/usr/bin/python
-
-import os
-import sys,getopt
-import commands
-import ConfigParser
-import socket
-import fcntl
-import struct
-import re
-
-class Enum(object):
- def __init__(self, *keys):
- self.__dict__.update(zip(keys, range(len(keys))))
-
-enum_parse_tag = Enum('tag','item')
-enum_config = Enum('std','ext')
-
-def put_file_contents(filename,data=''):
- if not os.path.isfile(filename):
- return ''
- try:
- f = open(filename,'w')
- contents = f.write(data)
- f.close()
- except IOError:
- print 'file open or write err!'
-
-def fix_nuttx_cfg_value(key,val):
- #if key == "CONFIG_NSH_IPADDR":
- if re.search(r"_IPADDR$", key):
- return '%s=%s\n'%(key,get_local_ip(50,2))
- #elif key == "CONFIG_NSH_DRIPADDR":
- elif re.search(r"_DRIPADDR$", key):
- return '%s=%s\n'%(key,get_local_ip(1,2))
- else:
- return '%s=%s\n'%(key,val)
-
-def fix_nuttx_config(cfg,fix_cfgs):
- result = ''
- for line in cfg.readlines():
- line = line.strip()
- if line.startswith('#'):
- result += line+'\n'
- continue
- elif len(line) == 0:
- result += '\n'
- continue
- elif line.count('=') > 0 :
- #print line
- it = line.find('=')
- key = line[0:it].strip()
- val = line[it + 1:].strip()
- if fix_cfgs.has_key(key):
- result += fix_nuttx_cfg_value(key, fix_cfgs.pop(key))
- else:
- result += line+'\n'
- else:
- result += line+'\n'
- #fix_cfgs = {}
- #print fix_cfgs.viewitems()
- if (len(fix_cfgs.keys())>0):
- result += '\n\n####################################################\n\n'
- for key in fix_cfgs.keys():
- result += fix_nuttx_cfg_value(key, fix_cfgs.pop(key))
- return result
-
-
-def usage():
- program_name = sys.argv[0]
- print 'Nuttx configure utils v 0.3\n'
- print ' usage: %s [-abcdfhmr] [-b boardname] [-l number]\n'%(program_name)
- print ' -c, --clean : Will execute "make clean" command.'
- print ' -d, --distclean : Will execute "make distclean" command.'
- print ' -l, --cleanlevel : Will execute "make clean"(value of 1) or "make distclean"(value of 2) command.'
- print ' -f, --fixcfg : The configuration correction nuttx.cfg defconfig configuration items.'
- print ' -a, --auto : Equivalent parameters -d and -f.'
- print ' -b, --boardname : The boardname configuration.'
- print ' -r, --mkromfs : Make Romfs.'
- print ' -m, --make : Make now.'
- print ' -h, --help : Help Message.'
- print '\n example:'
- print ' usage 1 : %s -b fire-stm32v2/nsh'%(program_name)
- print ' usage 2 : %s -f -b fire-stm32v2/nsh'%(program_name)
- print ' usage 3 : %s -a -b fire-stm32v2/nsh'%(program_name)
- print ' usage 4 : %s -l 1 -f -b fire-stm32v2/nsh'%(program_name)
-
-def fix_config(boardname,fix_cfgs):
- cfg_path = './configs/%s/defconfig'%boardname
- if (os.path.isfile(cfg_path)):
- try:
- cfg = open(cfg_path, "r")
- contents = fix_nuttx_config(cfg,fix_cfgs)
- cfg.close()
- #print contents
- put_file_contents(cfg_path,contents)
- except IOError:
- print 'nuttx config open err!'
- return ''
-
-def fix_root_config(fix_cfgs):
- cfg_path = '.config'
- if (os.path.isfile(cfg_path)):
- try:
- cfg = open(cfg_path, "r")
- contents = fix_nuttx_config(cfg,fix_cfgs)
- cfg.close()
- #print contents
- put_file_contents(cfg_path,contents)
- except IOError:
- print 'nuttx config open err!'
- return ''
-
-def get_local_ipn(ifname):
- s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
- ip = fcntl.ioctl(s.fileno(),
- 0x8915, # SIOCGIFADDR
- struct.pack('256s', ifname[:15]))[20:24]
- return ip
-
-def get_local_ip(id=-1,mode=1):
- ip = get_local_ipn('eth0')
- if (id < 0):
- id = ord(ip[3])
- ipr = ord(ip[0])<<24|ord(ip[1])<<16|ord(ip[2])<<8|(id & 0xFF)
- if mode == 1 :
- return socket.inet_ntoa(struct.pack('>L', ipr))
- if mode == 2 :
- return "0x%x"%ipr
- else:
- return ipr
-
-def get_ip_address(ifname):
- s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
- return socket.inet_ntoa(fcntl.ioctl(
- s.fileno(),
- 0x8915, # SIOCGIFADDR
- struct.pack('256s', ifname[:15])
- )[20:24])
-
-def config(cfg={}):
- output = ''
- fix_cfgs = {}
- if cfg.clearlevel == 2:
- print "make distclean apps_distclean"
- output = commands.getoutput("make distclean apps_distclean")
- elif cfg.clearlevel == 1:
- print "make clean apps_clean"
- output = commands.getoutput("make clean apps_clean")
-
- ini = ConfigParser.ConfigParser()
- ini.optionxform = str
- cfgf = 'nuttx_cfg.py'
- #if not(os.path.isfile(cfgf)):
- #fp = open(cfgf,'w')
- #fp.write('# is nuttx config\n[info]\nlast=')
- #fp.close()
- #cfgf = open(cfgf,'rw')
- ini.readfp(open(cfgf))
- lastfile = ini.get('info','last')
- if (cmp(lastfile,cfg.boardname) != 0):
- if ((cfg.boardname.strip() !='')):
- lastfile = cfg.boardname
- ini.set('info','last',lastfile)
- ini.write(open(cfgf, "w"))
- if cfg.usefix:
- #print lastfile
- if ini.has_section('defconfig'):
- opts = ini.items('defconfig')
- for item in opts:
- fix_cfgs[item[0]] = item[1]
- if ini.has_section(lastfile):
- opts = ini.items(lastfile)
- for item in opts:
- fix_cfgs[item[0]] = item[1]
- #print fix_cfgs
- #fix_config(boardname,fix_cfgs)
-
- output = commands.getoutput("cd tools;./configure.sh %s;cd .."%lastfile)
- print "tools/configure.sh %s"%lastfile
- if cfg.usefix:
- fix_root_config(fix_cfgs)
- print "fix .config file"
- if cfg.mkromfs:
- if (os.path.isfile("./rcS.template")):
- print "tools/mkromfsimg.sh ."
- #output = commands.getoutput("tools/mkromfs.sh .")
- os.system("tools/mkromfsimg.sh .")
- bpath = "configs/%s/include"%(lastfile.split('/')[0])
- if (not os.path.exists(bpath)):
- print "mkdir -p %s"%(bpath)
- #commands.getoutput("mkdir -pv %s"%(bpath))
- os.system("mkdir -pv %s"%(bpath))
- if (not os.path.exists(bpath)):
- print "[ERROR] no %s"%(bpath)
- if (os.path.isfile("nsh_romfsimg.h")):
- print "cp nsh_romfsimg.h %s/nsh_romfsimg.h"%(bpath)
- #output = commands.getoutput("cp nsh_romfsimg.h include/arch/board/nsh_romfsimg.h")
- os.system("cp nsh_romfsimg.h %s/nsh_romfsimg.h"%(bpath))
- if cfg.make:
- os.system("sleep 3")
- print "make"
- os.system("make")
- if '' != output.strip():
- print output
-
-class cfgobj():
- usefix = False
- mkromfs = False
- make = False
- clearlevel = 0
- boardname = ''
-
-def main():
- try:
- opts, args = getopt.getopt(sys.argv[1:], "dcb:hal:frm",
- ["dictclean","clean","board=", "auto", "cleanlevel=",
- "help","fixcfg","mkromfs","make"])
- except getopt.GetoptError:
- # print help information and exit:
- usage()
- sys.exit(2)
- #cfg = {"usefix":False,"mkromfs":False,"make":False,"clearlevel":0,"boardname":'' }
- cfg = cfgobj()
- for o, v in opts:
- if o in ("-a","--auto"):
- cfg.clearlevel = 2
- cfg.usefix = True
- cfg.mkromfs = True
- cfg.make = True
- if o in ("-c","--clean"):
- cfg.clearlevel = 1
- if o in ("-d","--distclean"):
- cfg.clearlevel = 2
- if o in ("-l","--cleanlevel"):
- if v == '1':
- cfg.clearlevel = 1
- elif v == '2':
- cfg.clearlevel = 2
- else:
- cfg.clearlevel = 0
- if o in ("-b","--board"):
- cfg.boardname = v
- if o in ("-f","--fixcfg"):
- cfg.usefix = True
- if o in ("-r","--mkromfs"):
- cfg.mkromfs = True
- if o in ("-m","--make"):
- cfg.make = True
- if o in ("-h", "--help"):
- usage()
- sys.exit()
- config(cfg)
-
-if __name__ == "__main__":
- main()