嵌入式系统学习开发指导

本文转自迅为开发板论坛:http://www.topeetboard.com

注:本文章部分参考摘录自:《嵌入式系统Linux内核开发实战指南(ARM平台)》

初级阶段:熟悉基本开发流程和方法阶段。

这一阶段需要掌握的知识和技能包括:1.)嵌入式系统硬件设计流程;2.)嵌入式系统硬件调试;3.)嵌入式系统软件下载、调试、固化;4.)Bootloader编译、移植、裁剪、调试、固化;5.)Linux内核交叉编译环境创建;6.)Linux内核编译;7.)Linux内核下载、调试、固化。

这一阶段需要做的事情包括:起步人员开在相关书籍(如原书)指导下,参考一套市场上成熟的嵌入式开发套件,或者直接使用相关原理图、pcb图、及相关配件(如调试器原理图、pcb),自己亲自去制板、采购元器件、焊接、调试,然后亲自编译、下载、调试、固化,自己把这个过程走一遍,就把嵌入式Linux开发流程和方法熟悉了,为以后的进一步攀登打下了坚实的基本功底。

中级阶段:经验积累、技能增长阶段。

这一阶段需要掌握的知识和技能包括:1.)嵌入式系统软硬件疑难问题调试解决;2.)Linux内核移植、裁剪、调试;3.)各种设备驱动程序开发与调试。

这一阶段需要做的事情包括:这个阶段可以在一个比较大的平台(各种外围设备如:usb接口、gps、3G、以太网口、wifi等)上开发、移植、调试各种设备驱动程序,多看一些外设芯片数据手册。多看一些接口标准和协议手册,在开发的过程中积累更多的经验和技能。

高级阶段:能够从系统原理的高度分析解决问题。

这一阶段需要掌握的知识和技能包括:1.)精通各种架构嵌入式处理器内部结构和原理,能够将它们融会贯通;2.)Linux内核疑难问题调试、解决;3.)Linux内核优化;4.)能够将Linux内核移植到Linux已经支持的某种架构的新型号处理器平台上。

这一阶段需要做的事情包括:多在一些不同架构、不同型号的处理器平台上做开发,阅读不同处理器的芯片手册,比较理解各种处理器的内部架构原理,还可以尝试修改内核源代码,加深对Linux内核的理解,优化Linux内核。

专家级别:对Linux内核各组件原理有透彻理解。

这一阶段需要掌握的知识和技能包括:1.)深入理解Linux内核的组织架构。2.)深入理解Linux内核各部分的实现原理;3.)能够根据需要随心所欲增减Linux内核组件和组件中的模块;4.)能够将Linux内核移植到Linux尚未支持的新型架构处理器平台上。

此阶段需要做的事情包括:最核心的事情就是静心阅读Linux源码,参悟其中的精髓。因为不管做了多长时间、多少项目的开发人员,其实只是增长积累了经验、技能和方法,而真正涉及Linux内核精髓,从而去改动的并不多,所以他们虽然算的上是Linux开发高手,但Linux内核理论水平并不高,这必须专门去系统阅读Linux内核,以前的经验会让你更容易理解Linux内核原理,而这又可以指导今后的开发,这样理论和实践相互促进相互提高。坚持下去,你的理论水平和实战能力终将得到质的飞跃,成为真正的嵌入式系统和Linux内核专家,那时你就能“不管风吹浪打,胜似闲庭信步” “悠哉,壮哉”

可敬的同学们,道友们,大家现在荣升到哪一界别了?

本段可能只说明了嵌入式Linux的学习提高进阶过程,但万法相通,我想,对于如今人气最旺盛的Android开发,贵族气质的IOS,再或者是不甘落后的Windows Phone等嵌入式系统都有类似的艰苦过程吧。

时间: 2024-11-09 10:30:36

嵌入式系统学习开发指导的相关文章

嵌入式系统学习开发概述

简介 下面是嵌入式系统组成图: 嵌入式微处理器常用种类如下: 嵌入式操作系统常用种类如下: Linux发行版常用种类如下: 职业发展 学习概述 嵌入式系统学习一般可以分为以下几个步骤: 选一块开发板,了解其资源: 进行ARM裸机跑程序: 嵌入式系统定制和移植: 嵌入式系统应用程序开发和移植. 一.选一块开发板,了解其资源 1.系统资源(括号中的是类比PC机的资源) 处理器(CPU) norflash(固态硬盘):容量小,运行速度快,价格高: nandflash(普通硬盘):容量大,运行速度慢,价

大数据分析与机器学习系统学习路线指导(1)

3.开始专业课程的学习,请根据自己的学习能力和基础,逐渐选择学习课程,一年完成学习即可!三个专业方向课程详解如下: 数据分析师专业方向 学习路线建议 课程名称 难易程度 基础课 大数据的统计学基础 ★ 基础课 大数据的矩阵计算基础 ★ 工具课 深度玩转Excel ★ 工具课 R语言数据分析.展现与实例 ★ 工具课 SPSS数据分析入门与提高 ★★ 工具课 数据分析与SAS ★★ 应用课 基于软件学习数据挖掘算法与案例 ★ 应用课 BI实战之cognos 篇 ★★ 应用课 量化投资 ★★ 应用课

性命攸关的嵌入式系统 - 典型开发实践

1 生命周期模型 分阶段交付 螺旋型开发 渐进交付 2 计划与管理 充分的预先计划 充分的测试计划 充分的QA计划 严格的变更控制 3 需求 形式化的需求规格 形式化的需求检查 4 设计 架构设计 形式化的架构检查 形式化的详细设计 形式化的详细设计检查 5 构建 结对编程 或 独立编码 正式的check-in手续 正式的代码检查 6 测试与QA 开发者测试自己的代码 测试先行开发 单独的测试小组 单独的QA小组 7 部署 正式的部署过程

嵌入式系统的学习误区和困惑

很多刚开始接触嵌入式系统同学往往有一种眼高手低的心态.认为嵌入式系统很简单.所以有些重要的知识点他们往往会忽略.这使他们很片面的认识了嵌入式系统. 嵌入式系统产品种类繁多,应用领域各异.在第1部分中,把嵌入式系统的应用范围粗略分为电子系统的智能化与计算机应用的延伸两大类.从初学者角度,可能 存在分别从这两个角度片面认识嵌入式系统的问题.因此,一些从电子系统智能化角度认识嵌入式系统的学习者,可能会忽视编程结构.编程规范.软件工程的要 求.操作系统等知识的积累.另一些从计算机应用的延伸角度认识嵌入式

嵌入式系统开发流程

嵌入式系统开发与通用系统的开发有很大的区别.嵌入式系统的开发主要分为系统总体开发.嵌入式硬件开发和嵌入式软件开发3大部分. 在总体开发中,由于嵌入式系统与硬件依赖非常紧密,往往某些需求只能通过特定的硬件才能实现,因此需要进行处理器的选型,以更好地满足产品的需求.另外,对于有些硬件和软件都可以实现的功能,就需要在成本和性能上做出抉择.往往通过硬件实现会增加产品的成本,但是大大提高产品的性能和可靠性. 再次,开发环境的选择对于嵌入式系统的开发也有很大的影响.开发环境包括嵌入式操作系统的选择以及开发工

嵌入式系统编程和调试技巧

嵌入式系统的开发,软件的运行稳定可靠是非常重要的.在芯片中,软件是没有质量的,但软件的质量可以决定一颗芯片的成败.芯片设计中,性能能否满足设计要求,除了硬件设计.软硬件配合的设计技巧,对于软件来说,编程的一些技术和技巧同样重要. 本文讲述我在芯片固件开发过程中使用的一些编程调试技巧.针对在嵌入式系统开发中常见的问题,如实时系统下的同步问题,动态内存分配的内存泄漏问题,如何在编程阶段预防BUG出现,调试阶段如何及时发现问题和定位问题.总结下经验,目的是开发一个稳定运行的固件,提高开发效率,提高运行

嵌入式系统在工业控制中的应用

摘 要:工业控制是嵌入式系统的应用的重要领域,Linux 系统是嵌入式系统开发的有力工具,本文主要利用Linux系统来具体实现一个嵌入式工业控制系统.同时,所讨论的实时系统的研究,为在一个系统中同时支持多种实时调度方法提供了可能性. 正文:嵌入式技术是21世纪最有生命力的新技术之一,目前已经广泛应用于社会生活的各个方面.嵌入式系统的应用与开发则是当今计算机行业发展的一个热点.现今嵌入式软件的应用与开发的领域主要有:国防.移动通信.电子.办公自动化.机/车顶盒.掌上电脑.手机软件.工业控制.信息家

嵌入式系统设计师

嵌入式系统设计师说白就是编写嵌入式系统的程序员,随着嵌入式系统在越来越多的方面得到运用,嵌入式系统设计师也成为了目前最流行的高薪职业之一,虽然嵌入式系统设计师是目前流行的职业,但也不是是个人都能当的. 嵌入式系统设计师,必须通过相应考试的合格人员,还要根据项目管理和工程技术的实际要求,开发出符合系统总体设计要求的高质量嵌入式系统:具有工程师的实际工作能力和业务水平,这样的人才算是一个真正的嵌入式系统设计师,但是嵌入式系统设计师之间也是有着分别的.例如:一个工作了10年的老嵌入式系统设计师和一个刚

嵌入式系统开发学习(1)

嵌入式系统开发流程 嵌入式系统的一般开发流程如下: 嵌入式操作系统 管理资源 提高系统可靠性 硬件虚拟化 实时性能 多任务 现有的嵌入式操作系统 VxWorks pSOS PalmOS QNX OS-9 LynxOS WindowsCE uC/OS 嵌入式Linux FreeRTOS ARM体系架构 ARM:Advanced RISC Machines ARM处理器共有37个寄存器,分为若干个组(BANK). 大多数数据操作都在寄存器中完成. ARM分类 ARM7: 32bit 冯-诺依曼体系结