背景:arm cortex M mcu,keil 5
C文件当中引用汇编当中定义的符号,需要注意对齐问题,因为arm 访问地址一般要求4字节对齐。
汇编如下:
AREA xxxx_BIN, DATA, READONLY, ALIGN=2
EXPORT xxxx_bin
EXPORT xxxx_bin_size
xxxx_bin
INCBIN xxxx.bin ; 包含二进制文件
ALIGN 4 ;需要加上对齐,否则访问xxxx_bin_size可能触发异常,因为分配的地址可能未对齐
xxxx_bin_end
xxxx_bin_size
DCD xxxxbin_end - xxxx_font_bin ; 计算数据的大小
END
c代码:
extern const uint8_t xxxx_bin[];
extern const uint32_t xxxx_bin_size;