如何从51单片机转到linux嵌入式开发

如何从51单片机转到linux嵌入式开发,第1张

可以在不影响目前工作的情况下自学嵌入式的知识,比如通过书籍、视频、网上课程来学习,积累足够的专业知识后再选择跳槽,重点是要了解嵌入式工作的要求,并且努力让自己打到相关要求,建议先到智联、前程无忧、全职_招聘_网、dajie这些地方看一看相关工作的职位需求,祝顺利!

从事单片机开发行业的工作一定要学unix和Linux之类的嵌入式开发吗?

单片机开发本来就属于嵌入式开发, 但不一定要学linux,linux只是嵌入式领域一个主流的 *** 作系统.

嵌入式分硬件部分和软件部分.站在工作的角度.

搞硬件 主要就是pcb layout,如果你够厉害也许也会有设计原理的工作吧.

搞软件就分很多东西了

直接在裸机上写程序的,搞系统切割与移植的,搞驱动的,搞图像的,搞网络的,等等....

linux是一个主流的嵌入式 *** 作系统,unix 现在好像没有用于嵌入式开发. 另外就是 wince 和ucos也是挺长见的嵌入式 *** 作系统.

在公司里面搞硬件就搞硬件,搞软件就搞软件,一般不会有两边都搞的人存在,除非公司太小又或者是那人太厉害..

一、准备

busybox 1.14.1

qt-embedded-linux-opensource-src-4.5.1

tslib 1.4

gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)

构建一个新的根文件系统目录,路径为

/root/rootfs

二、具体步骤:

1、编译安装busybox

在官网下载最新版。可以参考如下几处要修改的地方:

Busybox Settings --->Build Options --->(arm-linux-)Cross Compiler prefix

Busybox Settings --->Installation Options --->[]Dont't use /usr

Busybox Settings --->Installation Options --->(/root/rootfs) BusyBox installation prefix

Busybox Settings --->Busybox Library Tuning --->[*] Fancy Shell prompts

输入如下命令,编译并安装。

# makemake install

2、编译安装tslib

# ./autogen.sh

# ./configure -prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/ -host=arm-linux ac_cv_func_malloc_0_nonnull=yes

# makemake install

安装目录指明为 /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/

主要是为了在编译QTE时,不用指定tslib的头文件和库文件,方便以后程序开发。

注意:在做这一步前,需要做一个目录链接

在/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/目录下

# ln -s ../../usr/include ./

3、编译安装QTE

1)、最基本的配置

# ./configure -prefix /usr -embedded arm -xplatform qws/linux-arm-g++ -depths 16 -qt-mouse-tslib

-prefix /usr 使用这个配置,编译后的QTE库文件即可放在目标文件系统的/usr/lib下,而不是默认/usr/local/Trolltech/QtEmbedded-4.5.1 这个很深的目录

2)、编译

# make

# cp lib/* /root/rootfs/usr/lib -rd 将QTE库文件拷贝到根文件系统的目录

# cp plugins /root/rootfs/usr -rd 将QTE插件目录拷贝到根文件系统的目录

4、根文件系统的设置

1)、这时/root/rootfs/usr下应该有 bin etc include lib sbin目录

tslib生成的etc目录,包含一个tslib的配置文件 nf,编辑此文件,去掉module_raw input前的注释

# mv etc ../ 移动到rootfs的根目录

2)、进行一次清理 *** 作

#arm-linux-strip lib/*.so

#arm-linux-strip usr/lib/*.so

3)、编辑etc/profile,添加以下内容

export QWS_MOUSE_PROTO=Tslib:/dev/event0

export TSLIB_CONSOLEDEVICE=none

export TSLIB_FBDEVICE=/dev/fb0

export TSLIB_TSDEVICE=/dev/event0

export TSLIB_CALIBFILE=/etc/pointercal

export TSLIB_CONFFILE=/etc/nf

export TSLIB_PLUGINDIR=/usr/lib/ts

最后,通过mkyaffs2image 制作镜像,烧写镜像,启动ts_calibrate校验触屏即可。

51是个基础,我觉得单片机学一个51就可以了,更何况你还学习过AVR,至于其他的单片机PIC,MSP430都是大同小异了,以后用到的时候应该很快就能上手。(我最初学的是51,后来用过C8051F,MSP430,PIC18F,dsPIC33F等单片机,也看我同学用过AVR和MAXIM的单片机,个人感觉只要把C语言学好了,上手都很快。与其继续学习单片机,还不如把那点时间都用来学习ARM。我们现在都在学习ARM。)

你现在可以有以下几种选择:

1)学习ARM+Linux

不要只限于学习如何使用arm(现在又很多arm开发板,不能只照着开发板说明书跑一遍就了事),而要深入进去学习Linux的源代码以及驱动程序的编写,里面有很多东西值得学习,比如内存管理就是很重要的一部分。学习arm的目的是要能在不同硬件平台上移植Linux,那就需要你对底层电路驱动有很深入的理解。

如果你想学习arm,就得买块学习板,装个Linux *** 作系统,开发板有点贵,五六百,但不要舍不得这点钱,知识是无价的。

至于书籍,网上论坛有一堆,CSDN博客里面也有很多资料的。

2)学习FPGA,CPLD

我对这方面不太熟悉,但这方面的前景也还不错,就看你个人爱好了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7346044.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-04
下一篇2023-04-04

发表评论

登录后才能评论

评论列表(0条)

    保存