OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 嵌入式软件工程师的内功修炼

共3条 1/1 1 跳转至

嵌入式软件工程师的内功修炼

专家
2020-11-03 15:32:25    评分

所谓嵌入式软件开发,抽象的讲,就是在专用的硬件平台借助宿主机交叉编译环境通过编程、编译、链接下载、调试达到目标需求;往细了分,嵌入式软件开发可分为嵌入式驱动设计师(向下根据接口协议驱动硬件设备,向上提供应用API),嵌入式系统设计师(编写固件程序,设计操作系统内核或文件系统,根据不同硬件平台移植操作系统,优化系统功能),嵌入式界面设计师(嵌入式硬件平台的上位机GUI设计,人机交互),嵌入式应用设计师(裸机或操作系统移植调度驱动API按照一定的算法逻辑实现相应的需求功能),嵌入式算法设计师(把相关数学算法设计成软件程序精准优化系统功能,如PID控算、卡尔曼滤波算法、低通滤波等)。
C语言就是嵌入式软件的内功,21ic家也曾经多次强调。相信大家都看过武侠小说或电视,金老前辈的甚是出名,里面有“天下武功出少林”一说,为什么呢?
就是因为少林有一本《易筋经》,“扫地僧”也就是当时江湖的大神,学了易筋经的人想再学其他武功可谓是游刃有余,就像《射雕英雄传》的郭靖郭大侠因为修炼了全真教马钰道长的内功,再学洪七公、老顽童等的外功就很简单了,而C语言就是所有各种编程语言(像Python、Java、C++、PHP、JavaScript等等)里面的“易筋经”,达到精通C的境界,再学其他就很简单了,因为C要整明白,必须了解底层、明白计算机系统的运行机制,当然一个没学过汇编的人不能真正掌握C语言的真谛。
在如今Python、Java编程语言火热的市场前景下,资深工程师的建议是,在学校读书真心想搞IT技术,从C语言学起,会受益终生的。
学习C语言难吗?资深工程师表示:不难。真正懂得用C语言难吗?--难,但是按照心法不断去实践会化解“难”这颗顽石。现在对C语言水平层次的定义有几阶:入门、掌握、熟悉、精通。现在很多一线的软件工程师都是至多在“熟悉”的水平阶上。
内功心法:用数学思维抽象化去学习,多编程、多调试、多实际应用,多看高手写的优秀代码,可以尝试去写写RTOS内核;知错就改,温故知新,不断学习
内功大纲:结构体、数组、指针、函数、内存管理

1. 深度理解ANSI标准定义的C语言预处理指令用法,文件结构问题

2. 明确定义及声明,深度解析C语言的32个关键字,sizeof是关键字

3. 标准C语言的20个基本符号深度熟练怎么用,还有表达式的优先级问题

4. 深度理解内存管理与内存泄漏问题,野指针的问题,栈、堆、静态区的问题

5. 深度解析指针和数组的内存布局,它们之间的相互访问形式以及地址的强制转换 ,还有多维数组和多级指针问题

6. 深度理解函数设计的原则和技巧,养成良好的编程风格和编程习惯


顺便提提软件面试一般考察的问题,也就是面试官想通过面试了解的问题:

1. 在需求实现的前提下,看你的编程风格;

2. 编程逻辑不可能一步到位,很多时候需要不断修改,看你出错问题的处理能力;

3. 对你代码算法复杂度进行分析,是否提高系统性能。

 





关键词: 嵌入式     软件     内功     修炼    

工程师
2020-11-03 22:28:08    评分
2楼

搞的非常不错


工程师
2020-11-03 22:50:11    评分
3楼

确实得好好锻炼自己


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]