integrate irq2nvic_h script in buildprocess
This commit is contained in:
@@ -65,7 +65,7 @@ template_nvic_h = '''\
|
||||
#endif /* {includeguard} */
|
||||
'''
|
||||
|
||||
template_vector_nvic_h = '''\
|
||||
template_vector_nvic_c = '''\
|
||||
/* This file is part of the libopencm3 project.
|
||||
*
|
||||
* It was generated by the irq2nvic_h script.
|
||||
@@ -110,13 +110,15 @@ def convert(infile, outfile_nvic, outfile_vectornvic):
|
||||
data['vectortableinitialization'] = ', \\\n '.join('[NVIC_%s_IRQ] = %s_isr'%(name.upper(), name.lower()) for name in irqnames)
|
||||
|
||||
outfile_nvic.write(template_nvic_h.format(**data))
|
||||
# FIXME: the vector_nvic.h file could just as well be a vector_nvic.c file
|
||||
# in lib/, but that'd spread this mechanism over the whole library; just
|
||||
# needs some thingking over
|
||||
outfile_vectornvic.write(template_vector_nvic_h.format(**data))
|
||||
outfile_vectornvic.write(template_vector_nvic_c.format(**data))
|
||||
|
||||
def main():
|
||||
convert(open('irq.yaml'), open('nvic.h', 'w'), open('vector_nvic.h', 'w'))
|
||||
infile = sys.argv[1]
|
||||
if not infile.startswith('./include/libopencm3/') or not infile.endswith('/irq.yaml'):
|
||||
raise ValueError("Arguent must match ./include/libopencm3/**/irq.yaml")
|
||||
nvic_h = infile.replace('irq.yaml', 'nvic.h')
|
||||
vector_nvic_c = infile.replace('./include/libopencm3/', './lib/').replace('irq.yaml', 'vector_nvic.c')
|
||||
convert(open(infile), open(nvic_h, 'w'), open(vector_nvic_c, 'w'))
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user