![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式软件时间分析
文章平均质量分 76
CyberSecurity_zhang
高级MCU软件开发工程师
展开
-
IAR 编译优化等级详解
大家好,这里是快乐的肌肉。最近在迁移工程到IAR编译器上,发现编译优化等级变成了Low\Medium\High等,这与之前GCC优化等级-O1\2\3等有什么不同呢?因此简单总结一下。原创 2024-07-10 16:37:59 · 937 阅读 · 0 评论 -
C语言基础--指针
在主函数里,将g_hsm_ins.mb_ins[0]的地址0x61fea4传到子函数里去,由于子函数*ph是一个结构体指针,因此它本身的地址为0x61fe90,指向的地址为0x61fea4;最近在撸某IP厂提供HSM相关代码时,被他们代码里东绕西指的指针、结构体、结构体指针绕晕了,突然怀疑自己以前的C语言学废了,因此抓个时间重新来梳理下这部分内容。以上为调试后的结果,有不对的地方欢迎大家指出来。最近看这个代码,感觉已经绕晕了。废话不多说,直接代码中来看。所以以后见到形参直接被赋值就不要再惊讶了。原创 2023-07-27 15:50:10 · 81 阅读 · 0 评论 -
问题分析:编译出的elf没有代码段
最后查看生成的hex,发现Flash这一空间没有任何代码,这会导致仅生成符号,没有任何内容,MCU一运行就绝对跑飞。很明显,问题出现在最后链接上,没有把任何代码段链接,所以可以将问题初步定位在ld 链接脚本上。经测试,当使用GNU12.2.0版本,在选用hard模式,FPU type基本都可支持。好,现在我们修改ld文件,去掉.text段的NOLOAD属性进行编译,涉及到了浮点寄存器相关内容,这部分内容不是很熟悉,但我们来看环境配置,进一步的,去找指定的函数进行反汇编,发现也没有任何内容。原创 2023-04-14 17:25:47 · 251 阅读 · 0 评论 -
嵌入式软件分析时间--基本概念(一):编译过程详解
在考虑优化嵌入式软件性能时,我们需要知道源代码是是如何成为可执行文件这一个过程。原创 2023-03-31 17:35:20 · 635 阅读 · 0 评论