导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→嵌入式系统开发过程中的常见问题和解决方法,信盈达资深工程师开[eduann]

 *第59418篇: 嵌入式系统开发过程中的常见问题和解决方法,信盈达资深工程师开课了

  
楼 主:eduann 2013年7月10日17:09
 嵌入式系统开发过程中的常见问题和解决方法,信盈达资深工程师开课了

 Bootloader如何写入Flash ?
         初学者一般都会遇到如何将程序写入处理器的问题。对于不同的处理器,可以采用不同的方法。例如Intel的Xscale处理器可以使用Intel公司提供的JFlash工具烧写。对于具有JTAG调试工具软件的处理器,可以使用如下思路:编写一段程序,这段程序能将位于SDRAM/SRAM 固定地址中的数据写入Flash中。烧写时,首先,将这段软件下载到SDRAM 中,然后通过调试软件将要写入Flash的数据下载到SDRAM/SRAM的某个固定地址开始的缓冲区,然后通过调试器开始执行程序,将数据写入Flash。除此以外,网络上还提供了很多专用的写Flash的工具,开发者可以根据自己的需要选用。(现在明白了我在学的那个BF533为什么先下个flashProgramer.dxe先了)
       什么是arm-elf-gcc?
       arm-elf-gcc是一个交叉C语言编译器。我们在PC平台下编译程序,编译器运行的处理器同生成的代码将要运行的处理器相同。但是,在PC 
机上编译ARM程序时,编译器运行的处理器同生成的代码运行的处理器不同,这种编译器叫做交叉编译器。其中的elf是指编译器生成的目标文件格式。(其实我们平时用的单片机编译器如GCC—AVR等已是交叉编译器了,我到现在才弄清楚什么是交叉编译器)
      走了哪条编译路径?
      系统程序和驱动程序往往包含很多的编译选项,很多选项都是在编译时通过命令行定义的,如果想知道编译的是那一段程序可以使用如下的方法:
                  #ifdef PLAT_AAA
                  #error Code for Platform AAA

                  #else
                  #error Code NOT for Platform AAA

                  #endif

这样在编译的时候就知道,编译的是哪一条路经了。对于支持#pragma message( “I am here”)的编译器也可使用#pragma message预编译指令。
       我怎么知道那段代码在那个文件中?
       系统编程中经常需要使用在多个文件中搜索字符串,在windows平台下可以使用平台提供的多文件字符串搜索工具。在linux平台下,可以使用grep来搜索字符串。Grep的搜索功能十分强大,支持正则表达式搜索,熟练使用grep对于阅读系统和驱动程序代码是很有帮助的。
       系统是从那个文件开始运行的?
        对于Windows CE系统,一般从WINCE420\PLATFORM\YourPlatform\KERNEL\HAL目录的某个汇编文件中。对于Linux系统版本不同会存在一定差异,以arm处理器为例,一般会在linux2.4.x\arch\arm\kernel的head-armv.S中。
       程序执行到了那里?
       可以在程序中插入如下代码来实现
                  printf( “I am here %s, %d\n”,__FILE__, __LINE__);

代码将打出printf语句所在的文件名和行号。

       推荐书目
       Jean J.Labrosse MicroC/OS-II The Real-Time Kernel,Second Edition这本书是笔者接触嵌入式实时系统的入门书,在国内能够买到中文版。这本书较为清楚地讲述了实时系统的概念,各个组成部分的工作原理,特别是公开了实时系统内核的源代码,仔细研究定会受益匪浅。有个小的提示,对于初学者,这本书可以先不看第一章,直接从第二章看起。
       Abraham Silberschatz, Peter Baer Galvin,Greg Gagne Operating System Concepts笔者在教学过程中发现,无论是计算机还是电子工程专业都有很多学生对于操作系统的基本概念都没有搞清,很少有学生有完整的系统编程经验。Operating System Concepts这本书对操作系统的概念讲述只能用经典来形容。对于嵌入式系统有兴趣深入研究的同学,首先要把基础打好,这本书就成了必读之物了。
      Andrew S. Tanenbaum Computer Networks 提起Andrew S. Tanenbaum 学习计算机的同学一定都知道OPERATINGSYSTEMs:Design and 
Implementation这本书,笔者对于Tanenbaum这样的教授由衷佩服。网络协议栈是嵌入式系统中的支柱性组成部分。愿意致力于网络深层技术研究的同学,这本书将为你们建立一个坚实的网络基础。
      Karim Yaghmour Building Embedded Linux Systems本书详尽的介绍了嵌入式linux系统的组成,基本概念和如何去建立各个部分。全书篇幅较小,可谓短小精悍。即可以作为嵌入式linux系统的入门读物,又是开发过程各个部分的指南。
      Advanced RISC Machines Ltd (ARM) ARM7 TDMI Data Sheet     Advanced RISC Machines Ltd (ARM) ARM920T Technical Reference Manual学习嵌入式系统不了解当前应用最广泛的嵌入式处理器怎么行? ARM7 TDMI 的 data  sheet是学习ARM编程模型,指令集的好东西。在嵌入式系统中,MMU(内存管理单元)是很重要的部分,又是较难理解和掌握的部分。ARM920T Technical Reference Manual 正好可以帮你讲解这方面的内容。
      Perter Van Der LinDen Expert C Programming嵌入式系统级编程最常用的语言还是C 。很多同学都自认为自己的C语言学的很好,那好,就看看这本书吧,找找自己和Experts差距。
深圳信盈达嵌入式单片机实训基地给你最实战的项目技术学习指导
详情可联系:电话13926586805   QQ 122330119

  
2楼:eduann 2013年7月22日15:39
 坚决同意
坚决支持  学习中  好好加油
  
3楼:eduann 2013年8月5日14:07
 GOGO
深圳/郑州信盈达嵌入式、单片机、ARM、MIPS、FPGA、Android培训!
免费试听,满意后给您量身定制课程(包学会),快速提高您的技能!
教学特色:名师督学+工程师指导;项目案列解析+实际解决方案!
详情质询:安老师 电话13316822655  QQ 122330119
  
4楼:eduann 2013年12月6日17:17
 好好学习
2013年开始倒计时!年底回馈,信盈达嵌入式、单片机培训课程报名即送开发板,给自己的学习来点实际的动手工具,行动吧!民治中心免费学习C语言10个名额正火热预定中。。。联系安老师13926586805 QQ122330119
  
5楼:eduann 2013年12月11日16:41
 学习


  深圳/郑州信盈达嵌入式、单片机、ARM、MIPS、FPGA、Android培训!
免费试听,满意后给您量身定制课程(包学会),快速提高您的技能!
教学特色:名师督学+工程师指导;项目案列解析+实际解决方案!
详情质询:安老师 电话13926586805  QQ 122330119

  
6楼:eduann 2013年12月18日14:42
 学习哦

广州深圳/郑州信盈达嵌入式、单片机、ARM、MIPS、FPGA、Android培训!
免费试听,满意后给您量身定制课程(包学会),快速提高您的技能!
教学特色:名师督学+工程师指导;项目案列解析+实际解决方案!
详情质询:安老师 电话13926586805  QQ 122330119
  
7楼:eduann 2013年12月27日16:50
 好好学习

深圳,郑州,广州嵌入式,单片机,电子,FPGA,PCB画板,android,STM32等技术培训,优惠大酬宾 优惠一:所有报名单片机课程的客户,赠送一套单片机学习版,报名即可领走。 优惠二:所有报名嵌入式课程的客户,赠送一套ARM9/A8学习版,报名即可领走。综合咨询电话安老师13926586805 QQ 122330119
  
8楼:eduann 2014年1月7日14:41
 深圳广州郑州嵌入式实战同步开课,信盈达技术2014开启
深圳信盈达电子有限公司是一家专注于单片机、ARM、嵌入式产品开发和技术培训的高新技术服务企业,公司下设开发部和技术培训部。公司开发部为国内外众多客户开发多款基于嵌入式单片机、ARM等技术的整套方案和高性能产品,技术培训部提供优秀的单片机、ARM、嵌入式等电子技术培训培训。同时为众多工程师、各大师专院校提供高质量的实验器材及技术培训课程!
我们可以相信,随着数字时代的来临,嵌入式系统将会有更加广阔的发展和应用前景。
在进入后PC时代以来的近几年,嵌入式系统取得了前所未有的发展,并在工业控制、信息家电、智能仪表、网络通信等领域中得到了广泛的应用。目前在全世界,嵌入式系统带来的工业年产值已超过1万亿美元。  

高新行业深圳信盈达提供单片机嵌入式类项目开发和单片机培训、嵌入式培训、Android驱动开发培训,一站式提供商。
3G嵌入式开发是当前发展最快、应用最广、最有发展前景的3G应用领域之一,与此对应,3G嵌入式开发人才也成了3G人才市场的“宠儿”。随着3G的不断升级,3G嵌入式开发系统正日益受到重视。3G嵌入式开发企业抛出月薪上万的优厚待遇,广揽3G嵌入式工程师。深圳信盈达3G嵌入式培训,采用3G嵌入式理论教学与3G嵌入式软件开发项目实训相结合的方式,系统介绍3G技术与嵌入式Linux环境和应用程序开发技术。
嵌入式ARM9+linux技术培训课程介绍

第一阶段:以s3c2440为实战工具,彻底搞懂硬件平台。
第二阶段:嵌入式Linux操作系统学习。
一、嵌入式Linux开发概述
二、U-Boot移植:U-Boot架构、引导过程、文件创建、移植三、Makefile的编写规范及驱动程序编写
四、操作系统Linux内核移植
第三阶段:嵌入式开发流程剖析,项目分析方法。
嵌入式项目实战(具体案例)
嵌入式工程师设计规范:嵌入式Linux编制规范及注意事项基于嵌入式产品开发项目管理、项目开发规范通过系统的学习后,我们来个实际的项目实战:(从所列出的项目中选出一个自己开发完成)。
项目一、Photoview/mp4
项目二、数字存储示波器
项目三、数码照相机
项目四、便携式打印机
项目五、自带项目,指导完成
项目五、自带项目,指导完
详情联系安老师QQ 122330119  电话 13926586805


>>>>>>对该主题发表你的看法

本主题贴数8,分页: [第1页]


[上一篇主题]:如何学习嵌入式?嵌入式学习又从何下手?学习嵌入式的途径方法是?[转帖]

[下一篇主题]:信盈达嵌入式培训高级工程师传授linux新方法