freertos 编译c++失败_深度解剖~ FreeRtos阅读笔记1

本文是作者深入理解FreeRTOS的阅读笔记,探讨了上电复位过程中异常向量表的重要性,并介绍了CortexM3的向量表重定向机制,为后续的FreeRTOS内核分析做准备。
摘要由CSDN通过智能技术生成

上帝不仅给了我一颗低频的cpu还送了个劣质的晶振,可悲可叹!无奈在家休养,不然的话晶振偷停我可就驾鹤西去了。。。不过这也是个好机会,在家靠着窗户晒着太阳,偶尔读读源码,都很好。就是工资没了~

接连几个项目都使用了freertos,作为刚刚毕业一张白纸的我只能先去摸索一些api怎么去调用,需要填入哪些参数,才能达到自己的目的。程序不出问题就完事大吉了,不过稍有异常出现例如某个任务莫名奇妙的被挂起,超出预想,只凭借对api的了解很难追查问题的根源,所以我决定适当深入了解下freertos,顺便学习下大神们的编码风格,免得光头强总说:看你的代码像吃屎。我觉得看一些源码至少能给屎加点孜然。。。

上电复位

要让FreeRtos跑起来,首先要。。。给板子上电!

接触了一些芯片,发现它们都是将初始的异常向量表放在自己flash(也有可能是rom)的0地址,芯片上电复位在0地址,0地址开始的四个字节存放运行栈地址,紧跟着4字节是复位后要执行的第一行代码的地址(bootloader),引用一张cortexM3指南的一张图片:

8208fa89eb89a2491bf22f58b9770974.png

要执行的第一行代码一般是汇编实现的初始化工作,因为此时并没有对MSP进行配置,所以还不具备C运行环境,因此这些工作只能由汇编来代替:初始化内存各段,将0地址值填入MSP

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值