// code.c
void code_fxck(int times)
{
// balabala...
}
// code_gen.h
#define code_shxt code_fxck
extern void code_shxt(int times);
// code.c
void code_fxck(int times)
{
// balabala...
}
const
// code_run.c
const void (*code_shxt)(int) = code_fxck;
// code.c
void code_fxck(int times)
{
// balabala...
}
void code_shxt(int times)
{
// balabala...
}
/* code.asm */
.thumb
.thumb_func
.globl code_fxck
.globl code_shxt
code_shxt:
code_fxck:
/* balabala...*/
// code.c
void __attribute__((section (".YOUR_FXXK_CODE"))) code_fxck(int times)
{
// balabala...
}
/* fxxk_proj.ld */
/* ... */
.your_fxx_code : ALIGN(1024)
{
_code_shxt = ABSOLUTE(.);
KEEP(*(*.YOUR_FXXK_CODE))
} > FLASH
code_shxt = _code_shxt;
// code.c
void code_fxck(int times)
{
// balabala...
}
void code_shxt(int times) __attribute__((alias("code_fxck")));
如果你喜欢我的文章,请关注,并转发、点赞和在看,这是对我莫大的鼓励!