1.写入或植入引导码

2.向串口打印字符串的编码

3.将gdb目标码移植工作串口,这可与另一台运行gdb程序的Linux 主机系统对话

4.利用gdb让硬件和软件初始化码在Linux内核启动时工作

5.Linux内核启动,串口成为Linux控制口并可用于后续开发

6.如果在你的目标硬件上运行了完整的Linux内核,你可以调试你的应用进程

二、硬件平台

研发人员在选择最好的硬件时,往往由于缺乏完整或精确的信息而使选择硬件成为复杂且困难的工作。硬件成本经常是关键的议题,当考虑成本时、需要确信你在考虑产品的整个成本而不仅是CPU的成本;因为好的CPU一旦加上总线逻辑和延时电路使之与外设一起工作,硬件系统可能变成非常昂贵的产品。如果你正在寻找嵌入式软件系统,那么应首先确定了硬件平台即确定了微处理器CPU的型号。

现在比较流行的硬件平台有Intel公司的Strong Arm 系列,Motorola公司的DragonBall系列,NEC公司的VR系列,Hitachi公司SH3,SH4系列等等,都可选为硬件平台。但最好在选定前先要确定所做系统的应用功能和所需的速度,并且制定好外接设备和接口标准。这样可准确的定位所需要的硬件方案,得到性价比最高的系统。 下图是以Intel公司的StrongArm为例来说明硬件平台:

三、Linux嵌入式系统与硬件的关系

对初学者而言,可以将内核与任务分开,标准的Linux内核通常驻留在内存中,每一个应用程序都是从磁盘运到内存上执行。当程序结束后,它所占用的内存就被释放,程序就被下载了。在一个嵌入式系统里,可能没有磁盘。有两种途径可以消除对磁盘的依赖,这要看系统的复杂性和硬件的设计。在一个简单的系统里,当系统启动后,内核和所有的应用程序都在内存里。这就是大多数传统的嵌入式系统工作模式,它同样可以被Linux支持。有了Linux,就有了第二种可能性。因为Linux已经有能力“加载”和“卸载”程序,一个嵌入式系统就可以利用它来节省内存。试想一个典型的包括一个大概8MB到16MB的Flash Memory和8MB内存的系统。Flash Memory可以作为一个文件系统。Flash Memory驱动程序用来连接Flash Memory和文件系统。作为替代也可使用Flash Disk,用工具软件可把Flash Memory仿真为磁盘或部分。其中一个例子是Intel 公司可提供Flash Memory 管理软件IPSM -Intel Persistent Storage Manager, 详情

所有的程序都以文件形式存储在Flash文件中,需要时可以装入内存。这种动态的、“根据需要加载”的能力是支持其它一系列功能的重要特征:

1. 它使初始化代码在系统引导后被释放。Linux同样有很多内核外运行的公用程序。这些通常程序在初始化时运行一次,以后就不再运行。而且,这些公用程序可以用它们相互共有的方式,一个接一个按顺序运行。这样,相同内存空间可以被反复使用以“调入”每一个程序,就象系统引导一样。这的确可以节省内存,特别是那些配置一次以后就不再更改的网络堆栈。如果Linux可加载模块的功能包括在内核里,驱动程序和应用程序就都可以被加载。它可以检查硬件环境并且为硬件装上相应的软件。这就消除了用一个程序占用许多Flash Memory来处理多种硬件的复杂性。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查