电子信息工程科技公司嵌入式软件工程师实习报告_第1页
电子信息工程科技公司嵌入式软件工程师实习报告_第2页
电子信息工程科技公司嵌入式软件工程师实习报告_第3页
电子信息工程科技公司嵌入式软件工程师实习报告_第4页
电子信息工程科技公司嵌入式软件工程师实习报告_第5页
已阅读5页,还剩1页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子信息工程科技公司嵌入式软件工程师实习报告一、摘要2023年7月1日至2023年8月31日,我在一家电子信息工程科技公司担任嵌入式软件工程师实习生,负责智能硬件的固件开发与调试。核心工作成果包括:优化MCU主控程序,将蓝牙模块数据传输延迟从120ms降低至35ms,吞吐量提升70%;设计并实现内存管理模块,使系统可用内存增加20%,并解决卡顿问题;通过日志分析定位硬件接口bug3处,修复后设备在线稳定性提升至98%。专业技能应用上,将大学学习的C语言指针操作、实时操作系统原理应用于实际开发,并运用Git进行版本控制,采用STM32CubeMX进行硬件配置,积累了工业级软件开发流程经验。形成的调试方法论可复用于类似嵌入式项目,通过分层日志与仿真联合调试提高问题定位效率。二、实习内容及过程1.实习目的我去那家公司实习主要是想看看实际的工业软件开发流程是怎么样的,跟学校里做的课设或者毕设比,感觉能学到更多真东西。主要是想加深对嵌入式系统开发的理解,特别是实时操作系统这块,看看理论在工业环境里怎么落地。2.实习单位简介那家公司是做智能硬件的,产品主要是给工业设备用的,对实时性和稳定性要求很高。我所在的部门是硬件软件结合的团队,开发的产品里用到了STM32系列的MCU,还有蓝牙和WiFi模块,系统跑的是FreeRTOS。3.实习内容与过程刚开始的时候主要是熟悉他们用的开发环境,比如KeilMDK和STM32CubeMX,帮导师整理一下之前的代码注释。后来接手了一个小功能,是优化蓝牙模块的数据传输协议。原来老的代码每次传输都要重启蓝牙堆栈,我改成用事件回调机制,把传输过程拆分成多个状态,传输时间从120ms缩短到35ms,吞吐量直接翻了一倍多。这个过程中我花了两天时间把STM32CubeMX生成的初始化代码全部重写,用链表管理传输任务,还加了个看门狗防止卡死。实际开发里遇到的最大挑战是内存管理。那个设备只有512KB闪存和128KBRAM,我接手的时候系统经常崩溃,导师说可能是内存碎片问题。我花了三天时间用日志记录每个函数的内存分配和释放,发现是某个第三方库释放不干净。后来我改用静态内存分配,再加了个内存池管理模块,系统可用内存增加了20%,稳定性直接提升到98%。工作流程上他们挺规范的,需求文档、设计文档、测试报告都要写,版本控制用的是Git,每个功能提交前都要过CodeReview。我刚开始不太适应,提交代码老被导师挑bug,后来慢慢习惯了写测试用例再提PR。4.实习成果与收获主要成果就是那个蓝牙传输优化,还有内存管理模块,现在新功能都是基于这个框架做的。另外我还参与了设备固件烧录工具的开发,把原来手动操作改成自动化的脚本,节省了工程师不少时间。收获上最大的还是调试能力,以前做实验遇到问题直接看报错,现在会先分析日志,再用JLink仿真器单步调试,对FreeRTOS的任务调度和中断响应理解更深了。5.问题与建议遇到的问题主要是培训机制,公司给新实习生的培训材料太老了,很多新用的组件手册都没更新。我有时候得自己找资料,或者去问导师。建议公司可以搞个在线文档平台,把常用的开发流程、遇到的问题都整理好,这样新来的能更快上手。另外我觉得岗位匹配度上可以更精准一点,我来了之后发现实际工作跟学校教的实时操作系统课程结合不是特别紧密,建议实习前能跟导师多沟通几次,明确具体会做什么。三、总结与体会1.实习价值闭环这八周实习真正把学校学的理论跟实际开发连起来了。7月1号刚去的时候,我对FreeRTOS的任务优先级调度还停留在书本层面,看到导师用优先级反转调试了两天,才明白实际开发中问题会复杂得多。后来我设计的内存池模块,就是用链表管理128KBRAM,避免动态分配造成的碎片,这个经验直接用到最近学校的毕设里,导师说效率提升很明显。实习最后阶段做的固件烧录工具自动化脚本,用了Python的Serial库和正则表达式,把原来一小时的手动操作缩短到5分钟,这种把麻烦事变简单的感觉挺有成就感的。2.职业规划联结这次经历让我更确定未来想走嵌入式开发这条路。之前我对硬件调试很排斥,觉得太琐碎,但实习期间用JLink抓硬件时序,发现解决一个UART乱码问题就像解谜一样,这种成就感以前做纯算法题没体会过。现在想补的技能是RTThread,公司用的FreeRTOS是ARM官方的,但RTThread在物联网领域用得更广,我打算下学期考个嵌入式系统工程师证,顺便研究下他们的TCP/IP栈移植案例。导师说现在招聘嵌入式工程师都要求懂RTOS,至少要会分析任务切换日志,这点我接下来会重点练。3.行业趋势展望实习里接触到的一个项目让我意识到物联网安全的重要性。那个智能传感器用的是蓝牙5.2,我帮忙优化连接流程时,导师特别提醒要防重放攻击,说现在很多设备连不上网都是加密问题。我们公司产品要接入工业互联网平台,后来我看了下他们的安全文档,发现用的AES128CBC,但没看到具体实现代码。现在看行业新闻,都说车联网和工业设备会爆发,嵌入式软件里搞安全这块肯定吃香。我打算下学期选门嵌入式加密算法课,多练练硬件加速这块,现在很多MCU都带安全模块,不知道以后会不会考个CISSP证书更有竞争力。4.心态转变刚开始写代码老想用最花哨的方法,导师说这样容易出bug,现在改用看导师那种分而治之的思路,先隔离问题再修复。比如那个内存崩溃问题,先抓日志定位到函数,再单步查到第三方库调用,最后用静态分析工具确认。这种按部就班的感觉比以前漫无目的调试轻松多了。现在写邮件汇报进度也会先说结论,再附数据,完全不像刚去时写个"问题解决了"就完事。虽然现在写东西还是会手抖,但至少知道从哪方面找原因了。致谢1.感谢公司感谢公司给我这次实习机会,让我接触到了真实的工业级开发流程。2.感谢导师特别感谢导师在实习期间对我的指导,尤其

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论