irq2nvic_h: don't declare irq symbols as WEAK
At least in some toolchains (e.g., Debian Jessie with gcc 4.8.3-9+11 and ld 2.24.51.20140604), declaring an irq symbol as WEAK together with gcc -ffunction-sections / ld --gc-sections leads to the default version of the IRQ function to be taken, rather than the user-supplied version.
This commit is contained in:
parent
0dd6073407
commit
87d1585159
1 changed files with 1 additions and 1 deletions
|
|
@ -121,7 +121,7 @@ def convert(infile, outfile_nvic, outfile_vectornvic, outfile_cmsis):
|
|||
data['irqcount'] = max([int(x) for x in data['irqs'].keys()]) + 1
|
||||
|
||||
data['irqdefinitions'] = "\n".join('#define NVIC_%s_IRQ %d'%(v.upper(),int(k)) for (k,v) in irq2name)
|
||||
data['isrprototypes'] = "\n".join('void WEAK %s_isr(void);'%name.lower() for name in irqnames)
|
||||
data['isrprototypes'] = "\n".join('void %s_isr(void);'%name.lower() for name in irqnames)
|
||||
data['isrpragmas'] = "\n".join('#pragma weak %s_isr = blocking_handler'%name.lower() for name in irqnames)
|
||||
data['vectortableinitialization'] = ', \\\n '.join('[NVIC_%s_IRQ] = %s_isr'%(name.upper(), name.lower()) for name in irqnames)
|
||||
data['cmsisbends'] = "\n".join("#define %s_IRQHandler %s_isr"%(name.upper(), name.lower()) for name in irqnames)
|
||||
|
|
|
|||
Loading…
Reference in a new issue