我有一个准备数据缓冲区的函数,然后通过外部提供的API函数发送它,如下所示:
send(uint8_t* data_buf, uint32_t length)
在我的特殊情况下,我的代码总是发送8个字节,前7个字节总是相同的(我不能改变这个事实;它是某种消息头)。
因为我处于有限的嵌入式环境中,所以我想优化代码的大小和性能,或者至少选择两者的最佳权衡。
目前,我看到两个选项:
有没有比上面提到的更好的解决方案?
答案 0 :(得分:-1)
即使在嵌入式系统上,您也可以拥有超过8个字节的缓存。因此,表现无关紧要。在这两种情况下,databuf[8]
都将完全处于缓存中。第一种情况的代码大小可能会减少2-3条指令。
(通常还有另一个问题:代码/闪存大小和RAM大小是不同的约束,当你可以XIP时)。