完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
Linux开发工程师
首先成长为一名Linux开发工程师,这是最基本的目标,他应该具备如下的素质: (1)了解Linux基本概念和基本操作(历史,文化,起源)(命令行,配置,操作,开发模式) (2)会使用Linux平台下的编辑器vi(默认安装,占内存小,方便向嵌入式移植) (3)会使用Linux平台下的编译器GCC(相应的十几个命令行参数) (4)会使用Linux平台下的管理工具Make(与Makefile相配合,尤其用于大项目中多平台移植的情况下) (5)会使用Linux平台下的调试器GDB(可以了解底层硬件,及汇编指令) |
|
|
|
嵌入式工程师
他更关心的是将来在哪一目标机上运行,不关心操作系统,进行的更多与编程相关的工作 (1)合格的C程序的程序员(理解基本的控制结构:循环、分支、数组、指针) (2)基本的编程思想(编程实践中总结算法) (3)程序的编译和链接 (4)可执行文件内部(段、起始地址、如何加载执行) (5)目标机处理器体系结构 (6)知道处理器的外设即System on Chip(内部存储结构及外设驱动) (7)汇编语言及指令(主要是用在加载过程中) |
|
|
|
系统工程师
系统工程师夹在驱动工程师及应用工程师这两个层次之间,他要对系统有一个整体的概念,系统主要是指操作系统,往往理论有余而实践不足 (1)进程管理与调度(知道进程间的切换与调度,多任务) (2)内存管理(建立MMU页表,知道从虚地址到物理地址的映射) (3)驱动管理(管理设备,编写设备驱动,加载设备驱动) (4)文件系统(制作文件系统,文件系统的读写,甚至驱动有时也被当成文件系统来管理) (5)网络协议知识(协议实现作为上层应用与底层驱动之间的衔接) (6)图形系统知识(支持多窗口及管理窗口,包括窗口切换,窗口移动和覆盖) |
|
|
|
嵌入式Linux系统工程师
(1)嵌入式Linux基本概念 (2)交叉编译 (3)Linux内核开发和调试工具 (4)启动代码移植(修改Uboot,Vivi等) (5)内核交叉编译(Linux不支持芯片时要芯片级的移植,支持芯片时要板级的移植) (6)根文件系统制作 (7)设备驱动程序开发 |
|
|
|
下面针对一个简单的“hello world”程序来区分一下以上所讲的工程师之间的区别
#include int main(void) { printf(“hello world!/n”); } (1)初级程序员看到的是: a、头文件 b、主函数main c、子函数printf d、函数调用 e、入口参数 f、参数返回 (2)高级程序员看到的是: a、头文件---预处理过程 b、主函数main---程序入口 c、子函数printf---标准库函数 d、函数调用---跳转指令 e、入口参数---栈空间的参数传递 f、函数返回---返回指令 (3)嵌入式程序员看到的是: a、头文件---预处理过程---宏展开/条件编译 b、主函数main---程序入口---启动代码 c、子函数printf---标准库函数---链接过程 d、函数调用---跳转指令---PC寄存器 e、入口参数---栈空间的参数传递---寻址方式 f、函数返回---返回指令---LR寄存器 嵌入式程序员还能看到的是: 可执行文件的内部组织结构 代码段 指令格式和类型 地址无关代码 数据段 RWdata读写数据段 ROdata只读数据段 BSS未初始化数据段 (4)系统工程师看到的是: 子函数printf---标准库函数---链接过程 动态链接(Dynamic Linking)(需要系统的支持) 静态链接(Static Linking)(嵌入式系统常采用静态链接,以适应不同系统) 标准C库 系统调用(System Call) 软件中断(Software Interrupt) (5)Linux系统工程师看到的是: 可执行文件的加载过程(不用了解系统调用这一级) Shell进程--fork系统调用---exec系统调用 进程状态(就绪、运行、阻塞) 进程调度和调度算法 进程的上下文切换 (6)嵌入式Linux系统工程师看到的是 用户空间和系统空间(分别运行用户模式和管理模式) ARM---用户模式和管理模式(执行权限不同) SWI---软中断指令(系统调用就是由用户空间向系统空间切换) MMU---虚地址和实地址(不同进程如何实现自己独立的地址空间) BUS---地址总线、数据总线和控制总线(程序如何获得数据,系统如何取指) SOC---片上系统(整个嵌入式系统如何运行) |
|
|
|
只有小组成员才能发言,加入小组>>
692 浏览 0 评论
1106 浏览 1 评论
2473 浏览 5 评论
2808 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2646 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
653浏览 9评论
649浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
781浏览 6评论
628浏览 5评论
668浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 23:50 , Processed in 1.064102 second(s), Total 86, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号