Bootstrap

20240929 杰理科技 笔试


岗位:嵌入式软件工程师

题型:11 道问答题,60 分钟,总分 110 分


1、问答题

1.1

简述在嵌入式学习中遇到的一个问题(可多个)及处理过程?

解答(抛砖引玉,非标准答案):

问题:

我自己写 RTOS 内核的过程中,发现任务调度不正常,会在心跳函数中出现卡死现象

处理过程:

  1. ​首先尝试使用 Keil 软件的 Debug 模式定位发生错误的程序
  2. 发现程序会卡在 HardFault_Handler 中断处理函数(非法内存访问、堆栈溢出或者除零等操作)
  3. 尝试打断点进定位发生错误的程序
  4. 经过逐步排查我发现一旦执行 RTOS 的心跳函数就会触发 HardFault 中断
  5. 逐行查看程序后发现可能访问了不该访问的地址
  6. 聚焦到就绪链表数组的下标上
  7. 利用 printf 打印访问时的数组下标,发现不正常
  8. 思考不正

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;