嵌入式linux开发
发布网友
发布时间:2022-06-07 20:07
我来回答
共5个回答
热心网友
时间:2024-10-20 21:02
嵌入式系统是一个很广泛的概念,对它的定义也很多,我觉得理解嵌入式系统关键抓住下面几点:
1。嵌入式系统是相对于PC平台而言的,嵌入式了使用的平台一般是针对ARM,PPC,DSP等非PC平台的,所以使用的编译和调试工具不是VC6.0,而是不同的平台需要专门的编译开发工具,交叉编译是嵌入式特有的概念;
2。嵌入式系统往往指带有操作系统的系统,以前简单的系统可以直接在裸机(如51单片机)上开发,而现在OS成为嵌入式的一个基本特征,已经有各种实时内核或者全功能的OS,因此对程序员要求较高
3。嵌入式系统往往包括软件和硬件两个部分,软件开发人员往往也需要知道硬件的知识,只有知道硬件的特性才能开发出高性能的程序。另外不想在PC上开发,驱动程序都已经有了,在嵌入式系统中由于所接的外设复杂,很多时候需要自己编写驱动程序,结果是在程序开发之前一般需要看硬件手册。
从上面的特点看出嵌入式开发与PC上的程序开发是不同的,在PC上开发主要是应用程序的开发,侧重想法,而嵌入式开发则要考虑软硬件各个方面而且通常要购买昂贵的开发板和仿真器,因此起点相对较高。
我接触嵌入式是在大四的时候,当时已经学习了微机原理、单片机和DSP等课程,我一直希望能做出一个完整的系统,所以我第一次明白嵌入式系统是什么的时候就对它产生了浓厚的兴趣,然而兴趣是高,缺乏人指导,我依然还是菜鸟一个,认识到实践和长时间积累相当重要。我都是在课余自学嵌入式,嵌入式学习之路走得很艰难,其中积累了点点经验,总结如下:
1。嵌入式从何学起?
这是一个初学者很想知道的问题,然而又是很难回答的问题,我初学时也是一样的。学习嵌入式不能着急,我觉得最重要的还是打好基础,从简单的做起。
其中的基本功主要有:
微机原理和接口要很熟悉,至少知道一门汇编语言,不是要你去记指令,而是要弄清楚处理器执行的过程和常用的指令执行的操作;
熟悉常用的体系结构。ARM架构处理器应用越来越广泛,值得研究一下,当然还有很多的体系架构,开发时再看硬件手册这个过程就是训练自己阅读手册和查询手册的能力,手册很长,往往只要知道个大概,细节需要在使用时查询;
C语言编程:C语言大家都会用,我知道在学校学习时都是基于PC,基本不会用C语言程序访问寄存器或者外设,而在嵌入式开发时你会发现有很多地方需要小心,举个例子一般中断服务程序需要访问的全局变量需要用volatile申明;
有了上面的基本功就可以开始最简单的嵌入式开发之路了。
2。不带OS的嵌入式开发
先不要急着看什么操作系统原理,那些东西如果没有开发经验的话不可能看得很明白的,首先还是找到嵌入式开发的感性认识。我推荐从51单片机开发开始,因为51单片机便宜而且网上有很多现成的代码可以参考,先编写一些简单的汇编语言程序,然后学习C51进行c语言编程这个过程关键是熟悉交叉编译和开发流程,熟悉访问硬件的方法,学习编写中断服务程序。另外,这个时期可以学习嵌入式c编程的注意事项《c与c++嵌入式系统编程》《C陷阱与缺陷》是不错的书,值得看看。
3。带OS的编程
一旦运行了OS,编程难度加大了,思维和编程方法与不带OS的大不一样,这个转变是很艰难的。学习操作系统的原理是必须的,只有很好地认识了操作系统才可能进一步在OS上编程,比如进程、调度、同步和互斥、优先级翻转等。OS分成简单的实时内核和复杂的全功能OS,uCOSII是典型的实时内核,linux是典型的全功能的OS,不同的OS满足不同需求,要根据自己的设计来选择合适的OS。嵌入式很多处理要求是实时的,需要保证性,编写程序和选择OS要特别注意。推荐从uCOS入手,因为可以获得源码,而且网上有很多的资料,已经被移植到很多平台。到了这个时候估计自己可以自学了,要多做几个项目,在项目中摸索,要知道编写程序容易,但是要编写稳定可靠的程序绝非易事,有很多书值得一看。我目前也是在学习linux,开始编写驱动程序了,我想这还是一个开始,以后要学的东西还很多啊^_^
以上说得很简单,实际操作起来则需要付出很多努力,需要学习很多东西,这里只是给出学习的大概步骤,给初学者一个整体概念,希望仍在困惑中的人少走一些弯路.
热心网友
时间:2024-10-20 21:03
(1)安装主机的开发环境,也就是gcc,make工具之类的,apt-get install build-essential。这个是一定要的。
(2)arm为例,安装arm-linux toolchain,也就是把编译器解压缩到/usr/lcoal/目录,然后export path这个路径。
(3)代码查看工具可以使用vim,或者傻瓜式的gedit。
(4)串口,建议用终端命令minicom
也可以买本基本这类书籍,通读,不用精读,先对嵌入式开发有个概念就可以了。
热心网友
时间:2024-10-20 21:03
嵌入式的话当然要用arm-linux-gcc编缉器了,它分很多种:比如arm-linux-gcc 3.4.1就适合用来编缉内核, 其它又如4.3.2的版本适合编缉应用程序,这就要看你的需求了,我建议都装上.
然后就是要下载一个linux内核,比如你要写驱动程序的话,就需要在内核中用arm-linux-gcc 3.4.1进行编缉.
Vim是个文本编缉器,功能很强大,把程序写好后,就可以用arm-linux-gcc编缉了!
基本就是这样,还是要自已开始做,呵呵,问题就是在不断深入中解决的!
热心网友
时间:2024-10-20 21:04
linux嵌入式开发重要 几点
Linux 基础
Shell 编程基础
Linux 下的 C 编程基础
嵌入式系统开发基础
嵌入式系统移植
嵌入式 Linux 下串口通信
嵌入式系统中多进程程序设计
嵌入式系统中多线程程序设计
嵌入式 Linux 网络编程
GUI 程序开发
Linux 字符设备驱动程序
文件系统
(步骤详细内容请去华清远见嵌入式学院首页查看)
热心网友
时间:2024-10-20 21:05
嵌入式练习项目:智能图书馆
曾经早在2006年7月在深圳就出现了全国首个全面使用无线射频技术(RFID),现在到了这个物联网即将登峰造极的时代,智能图书馆系统的普及也就是成了必然的趋势了!物联网智能图书馆在馆内全面实行包括自动借书、自动还书、书籍分类、自动编号等等多种样式的高自动人性化的服务。这些功能很快得到了广大读者的认可,并且备受欢迎,不仅读者的体验非常好,管理起来也非常的明确和方便,谁借了书、还了书都有明确的记录编号!
长沙英腾技术学习中,北航李教授设计的智能图书馆系统项目的主要构成如下:
1、图书馆门禁系统
2、每一本书都有一个RFID标识对每一本书有个“唯一的主键标识”
3、读者自助还书功能(RFID读写器就能立刻确认还书信息)
4、图书分类、分栏都是由计算机自动来完成的,无需人来费时费力!