25、嵌入式软件的时序优化与开发方法

嵌入式软件的时序优化与开发方法

1. 代码级时序优化

1.1 优化前的准备与注意事项

在进行代码级的时序优化时,若要在调试器或跟踪器中检查代码的正确功能,通常至少停用部分优化会有所帮助。部分编译器提供便于调试的特殊优化选项,如 HighTec GCC 编译器的 -Og 选项,可禁用妨碍调试的优化。此外,详细阅读编译器手册对实现代码级的成功运行时优化至关重要,每次优化措施后,都需通过测量、跟踪或合适的代码模拟来审查和检查对生成汇编代码的影响。

1.2 memcpy 函数优化示例

1.2.1 初始简单实现

以下是一个简单的 memcpy 函数实现,用于逐字节复制:

void* memcpy(void* pDest, void const* pSrc, unsigned short n)
{
    /* char pointers allows copying with byte granularity */
    char* pD = pDest;
    char const* pS = pSrc;

    while(n--)
    {
        *pD++ = *pS++;
    }
    return pDest;
}

参数 pDest 是目标内存区域起始地址的指针, pSrc 是源内存区域的指针, n 指定要复制的字节数。对于内存对齐,源和目标区域没有要求。

1.2.2 优化步骤及结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值