首页 » 智能 » 为什么你写的嵌入式轨范这么随意马虎跑飞?看完你就知道了_客栈_这个问题

为什么你写的嵌入式轨范这么随意马虎跑飞?看完你就知道了_客栈_这个问题

神尊大人 2024-12-11 07:45:11 0

扫一扫用手机浏览

文章目录 [+]

1.看门狗是否喂狗成功

检讨是不是由于工程中打开了开门狗,当定时喂狗韶光到没有及时的喂狗,以是超时重启,这个问题比较好排查,以是列在第一个

为什么你写的嵌入式轨范这么随意马虎跑飞?看完你就知道了_客栈_这个问题 智能

2. 程序中的循环条件是否永久知足造成去世循环

这个问题也比较好检讨,用二分法debug跟一下看看末了卡在哪里,常见的便是代码里面有while(Flag),记得加一个timeout超时退出机制。

3. 裸机程序并发实行任务

实在现在很多单片机还是跑的裸机程序并没有上RTOS,没有任务调度,新手就随意马虎将中断触发的任务同时实行,或者当前中断触发的任务还未完成,另一个触发任务就来了,这种情形更多的是在SPI同挂、IIC同挂的外设上,以是得有一个互斥条件,一次只许可实行一个任务或者将正在实行的任务逼迫关闭。

4. 系统堆栈溢出

市情上一些M0/M3内核的芯片,内部资源较小,各个函数的嵌套调用会增大开销,这个问题比较暗藏,不太好查找,以是最好减少函数的嵌套调用,局部变量也会占用开销,会导致程序运行过程中所需的内存变小。
以是最好减少在函数内部开辟较大的局部变量。
把稳下这两点能办理大多数堆栈溢出的问题。

堆栈溢出

5. 越界访问

这种情形在数组和指针的调用上最为常见。
要把稳,循环遍历数组时一定要关注下标不能超过数组的最大值,否则会产生一些莫名其妙错乱数据,造成系统崩溃。
还有便是指针解引用时一定要绑定有效的内存单元,否则便是野指针,同样会造成一些严重后果。

标签:

相关文章

宾语在现代汉语中的作用与魅力

在现代汉语中,宾语作为句子成分之一,具有举足轻重的作用。它不仅能够使句子结构更加完整,还能丰富句子的内涵,使表达更加生动形象。本文...

智能 2024-12-29 阅读0 评论0

尖峰战神IT,引领科技潮流,重塑产业未来

在当今这个信息化、数字化时代,IT产业已成为推动我国经济发展的关键力量。随着大数据、云计算、人工智能等技术的飞速发展,我国IT产业...

智能 2024-12-29 阅读0 评论0