arm板telnetd为什么运行不了_一种基于ARM的嵌入式系统开发的方案详细讲解

ce1acae9fd5e4191eed1d4d3d448f52f.gif

 背景介绍

在日益信息化的社会中,各种各样的嵌入式系统已经全面渗透到日常生活的每一个角落。嵌入式系统的功能越来越复杂,这就使得一个嵌入式系统产品从市场需求立项到方案选择、样机研制、定型量产所需要的开发费用越来越多,所需开发时间越来越长。因此,高效的嵌入式系统设计方法就显得尤为重要。

1.1 传统的嵌入式系统设计方法

嵌入式系统开发的关键就是对核心部分进行功能验证。传统的验证方法是建模模拟和制作目标板评估。

通过建模来进行功能验证存在不足。首先就是耗时和准确性互相矛盾。建立高层次的模型需要的时间短,但是模拟不够准确。相反,低层次的模型可以达到满意的评估效果,但是建模耗时长。其次,建模模拟是静态的过程,不能很好地反映系统实际运行的情况。好的目标板,各部分连接已经固定。如果需要改动部分连接,只能重新设计制版。这样一来就会大大延长产品的上市时间,还会增加开发费用。新推出的嵌入式系统产品,开始设计时比较难把所有的技术细节考虑清楚,有时甚至是边设计边修改性能指标,因此直接制作专用的目标板原型已经不太适合复杂的嵌入式系统产品的设计。

1.2 嵌入式系统模块化设计方法

嵌入式系统设计要求做到可测性、高效性和灵活性。目前,嵌入式系统物理尺寸越来越小,功能越来越复杂。为了方便调试、维护系统,完全可测显得极为重要。另一方面,模块化的设计方法越来越引起人们的关注。模块化设计方法将复杂的系统合理地划分出不同的功能模块,然后充分利用已有的模块,设计新的模块,最后将这些模块连接起来组成目标系统。模块化的设计方法减少全新的设计、降低开发难度、节省开发成本、缩短开发时间,是一种高效的嵌入式系统设计方法。另外,各个模块连接的灵活性是非常重要的,它直接决定模块的组合能力。

2 基于ARM核的快速原型化平台

嵌入式系统硬件有如下特点:

1、嵌入式硬件以嵌入式处理器为核心。嵌入式处理器的种类众多,功能各异。

2、相对嵌入式处理器,嵌入式系统外设的种类较少,接口标准也比较统一。

3、随着EDA的发展,SOC(system on Chip)的应用越来越广泛。

2.1 ARM核处理器的特点

ARM核处理器因为其低成本、低功耗、高性能的优点广泛应用于嵌入式系统。基于ARM核处理器是高度集成的SOC,包括ARM核和各种各样的外设。图1是基于ARM核处理器的常见结构。存储器控制接口为外接存储器提供了总线接口。该总线接口支持不同种类的存储器芯片以及不同的存储操作。此外,还可以用该总线来扩展外设。片内外设包括中断控制器.html“ target=”_blank“》控制器、OS定时器、UART、I2C、PWM和AC97等等。在这些片内外设中,有些信号是复用的,这样做的好处是方便用户使用。用户如需要片内外设,只需要配置相关的寄存把片内外设连接到通用I/O即可,非常灵活,例如USB接口的服务器/客户端。有些片内外设有专用的信号。用户通过连接或者扩展这些通用I/O和专用I/O来使用片内外设。当片内外设不能完成目标系统的功能时,需要通过总线来扩展特殊的外设芯片。

ad3995d85ae131d5c687da29a0cc0fff.png

图1(ARM核处理器框图)

e9f86542e79f611c547bb4f09a78a40f.png

图2 (ARM核处理器的嵌入式系统的框图)

2.2 基于ARM的快速原型化平台的实现

图2是基于ARM核处理器的嵌入式系统的框图。该系统分成两个部分,一部分是最小系统,由嵌入式ARM核处理器和存储器组成;另外一部分包括从嵌入式处理器片内外设接口直接扩展的外设和通过总线扩展的外设。为了充分利用模块化设计方法,这些部分应该能够通过灵活的互连组成一个平台。灵活的互连功能由互连模块完成。

可编程器件如CPLD和FPGA,可以在系统编程,修改连接只需要修改相应的控制程序即可,非常方便灵活。CPLD成本低,运行速度快,但是集成度比较低。FPGA集成度高,可以实现CPLD很难实现的复杂的逻辑功能,例如内嵌逻辑分析仪程序,获取必要的信号,完成系统在线测试。FPGA另外一个优势就是可以动态配置,例如系统上电时配置自检程序,自检通过后再配置实际工作的程序。最后,在FPGA里面嵌入CPU软核,进行SOC的开发。所以可编程互连模块选用FPGA来组成。

为了确定可编程互连模块的插入位置,再来分析图2嵌入式系统的结构。

最小系统决定了整个系统的处理能力,是整个系统的核心。常用的嵌入式处理器的时钟周期已经高达400MHz,并且会进一步发展。连接处理器的总线速度和存储器芯片的速度也超过了100MHz。FPGA引脚到引脚的延时是几个纳秒的数量级,所以FPGA模块的插入会降低整个系统的处理速度。故在处理器和存储器之间不能插入FPGA模块。外设可以使得嵌入式系统和实际应用环境进行通信和交互操作。通常外设已经高度模块化并且相互独立,在外设之间几乎不会有柔性连接的要求,而且处理器和外设之间的数据通信速度比最小系统的运行速度要慢很多。因此,用互连模块取代最小系统和外设之间的直接物理连接是切实可行的。

按照这种思路,设计出了如图3所示的快速原型化平台。

76259015375f699263cabacbb1a00f55.png

图3(快速原型化平台)

图3中,可编程互连模块是快速原型化平台的核心部分。常用的外设部分包括:网卡,USB接口,LVDS接口,RS-232接口,rs-485/' target='_blank'>RS-485接口,音频AC`97接口,PCMCIA/CF卡接口。这些常用外设就是前文提到的可重复利用的模块。由于嵌入式处理器的总线、通用I/O、专用I/O和各种外设都连接在可编程互连模块上,因此不同的嵌入式处理器只需要设计最小系统即可,然后将该最小系统接入快速原型化平台,利用这个平台提供的外设进行系统调试。

以上设计的快速原型化平台,不仅考虑了当前嵌入式硬件系统的发展特点即嵌入式处理器种类多,外设种类相对较少,接口标准趋于统一,同时又充分体现了可测性、灵活性、模块化的设计思想。

3 随机方向信号的可配置互连

常见的信号传输方向不管是单向的还是双向的,都可以预先确定。例如,数据总线是双向的,读或者写是完全确定的,可以通过读写信号来控制数据的传输的方向。但是有一类特殊的总线,例如I2C,它是多主/从的通信总线。如图4所示,如果设备1发起通信,则SCL上的信号传输方向是从设备1到设备2,如果是设备2作主设备发起通信,则SCL的上的信号传输方向刚好相反。系统设计中要求总线上可以双向传输信号。FPGA内部由一系列的逻辑门组成,如果I2C 信号通过FPGA来连接的话,就不能正常工作。这是因为,双向传输可以等效视为由两个反并联的门来实现(如图5,用方向控制信号来确定实际的传输方向)。但是,I2C信号,没有明确的方向控制信号,也就无法正确地通过图5 所示结构的电路。

fe5ef1f22f70a68ad2ab54e503b0f154.png

图4(I2C总线)

d32b11a1159b59932b7f225f67864227.png

图5(双向信号传输)

如果直接布线或者跳线来连接I2C信号,就可以保证I2C正常工作,但是,这就和快速原型化平台可配置互连的灵活性相违背,所以提出以下方案。I2C信号不经过FPGA来配置连接,而是通过基于MOSFET的数据开关。目前,市场上常用的点到点任意方向的MOSFET开关并不能直接使用。因为常见的结构是一路到多路或者多路到一路。利用CPLD来控制选通,多路并联就可以组成8X8的点到点的随机方向的可配置连接。是一路到八路的数据开关的内部结构。

来源:本文转自网络,版权归原作者所有。

1cd51c4cec25c465aff53588e5ae7c24.png

a3a3f40f8219e0b51c9dd6f92819eb3f.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373890.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

反素数 -- 数学

反素数就是区间内约数个数最多的那个数。 在ACM题目里, 一般是求约数最多而且数字最小的那个数,【1--n】 二是求约数刚好等于n的最小的那个数 三是求区间里的最小反素数【beign,end】 1和3有区别吗?有,1可以加速&#…

编程挑战系统的输入和输出详细说明

在高校俱乐部线上编程挑战中,一道题目的所有测试数据是放在一个文本文件中,选手将一道题目的程序提交给评判系统运行,程序从该文件中读取测试数据,再把运行结果输出到另一个文本文件中。系统把输出文件与标准答案比对,…

上传文件---未能找到路径“D:\MyProject\Files\”的一部分

C# 使用控件FileUpload 上传文件,简单实例: protected void btnUpload_Click(object sender, EventArgs e){string path Server.MapPath("~/Files/");if (fileUpload.HasFile true){string filename fileUpload.FileName.ToLower();fileUpl…

使用SPANN方式将Spring&Quartz与自定义注释集成

在上一篇文章中 ,我们演示了如何在Spring容器中创建和配置带批注的Quartz作业。 我们使用了一个类级别的注释将一些元数据添加到实现Quartz Job的bean中。 批注定义了作业的名称,组及其cron表达式。 后来,大部分代码专用于处理该批注&#xf…

python opencv旋转_Python opencv实现与rotatedrect类似的矩形旋转,pythonopencv,RotatedRect

本文原理:先旋转矩形到指定角度,然后提取矩形外轮廓,从而获取旋转后的矩形坐标点。#!/usr/bin/env python3# -*- coding: utf-8 -*-# Author: tcy# Date: 2020-5-2 21:00:53# Version:V1.01# Last Modified by: tcy shanghai song…

关于string转整数

又是leetcode的easy级别题,很基本的题目,却漏考虑很多情况,动手前一定要考虑清楚呀!!! 就当做锻炼写作能力吧,先上题目! 将文本转换成整数,注意一下几点: 1.文…

数字三角形——递归、递推、记忆化搜索

数字三角形 描述: 有一个由非负整数组成的三角形,第一行只有一个数,除了最下行之外每个数的左下方和右下方各有一个数。 问题: 从第一行的数开始,每次可以往左下或右下走一格,直到走到最下行…

Java 7功能概述

前面我们讨论了所有未纳入Java 7的内容,然后回顾了将其纳入Java 7的有用的Fork / Join框架 。 今天的帖子将带我们了解Project Coin的每个功能-一系列小的语言增强功能,这些功能虽然不是开创性的,但是对于任何能够使用JDK 7的开发人员来说都是…

缓存技术

提升系统性能的主要方式之一就是缓存。它可以挡掉大部分的数据库访问的冲击,如果没有它,系统很可能会因为数据库不可用导致整个系统崩溃。 但是缓存带来了另外一些棘手的问题: 数据的一致性和实时性。 例如,数据库中的数据状态已经…

水晶报表分组分栏_web报表可视化设计器工具推荐

古往今来,信息就是决胜的关键。在科技时代的今天亦是如此。企业的数据管理在帮助企业加强管控、提高竞争力等方面具有不可或缺的作用。这就不得不说到报表工具。企业想要将储存于各种商业信息系统中的数据转化成有用的信息,最终帮助决策者做出更快、更好…

嵌套矩形——DAG上的动态规划

有向无环图(DAG,Directed Acyclic Graph)上的动态规划是学习动态规划的基础。很多问题都可以转化为DAG上的最长路、最短路或路径计数问题。 题目描述: 有n个矩形,每个矩形可以用两个整数a,b描述,表示它的长和宽。矩形…

Twisted

Twisted定义Twisted是一个基于事件驱动的网络引擎框架网络框架,别人预先定义好的一个框架(一个项目),如.net某个web框架有25个class,从BeginRequest依次执行类里的process方法,程序员自己定义一个类&#x…

从Spring到Java EE 6

我最近在一个非常复杂的项目中工作,其中融合了许多Java EE 6技术(例如JPA,JAXB,JMS,JTA,JAX-RS等)。 出于生产力和计划方面的原因,将原型应用程序设计为独立的纯Spring应用程序。 当…

Centos 6.5 搭建php环境(nginx+mariadb+php7)

1.mariaDb vim /etc/yum.repos.d/MariaDB.repo [mariadb] name MariaDB baseurl http://yum.mariadb.org/5.5/centos5-x86 gpgkeyhttps://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck1#如果服务器已经安装了MariaDB-Galera-server包,你可能需要在安装MariaDB-s…

MAC itunes无法验证服务器s.mzstatic/itunes无法更新服务器解决方案

打开host文件: 一、用终端打开: sudo vi /etc/hosts 输入完这行命令后需要输入电脑密码,然后确认,进入host文件 然后按i键进入编辑模式,在最后一行添加:23.214.233.166 s.mzstatic.com 如下图 添加完后&…

硬币问题——固定终点的最长路和最短路

问题描述&#xff1a; 有n种硬币&#xff0c;面值分别为V1,V2...,Vn,每种都有无限多。给定非负整数S&#xff0c;可以选用多少个硬币&#xff0c;使得面值之和恰好为S&#xff1f;输出硬币数目的最小值和最大值。0 < n < 100, 0 < S < 10000, 1 < Vi < S。 …

读取nas_NAS怎么玩?除了存放小姐姐,它竟然还有这些功能

自从有了电脑&#xff0c;就一直在折腾"存储那点事儿"&#xff0c;说到底&#xff0c;电脑的本质就是存储&#xff0c;而自己弄家用存储方面的东西算下来也有几年了。单机的硬盘存储比较简单&#xff0c;但是随着家里各种设备的增多&#xff0c;各个设备间的文件共享…

ZK Web框架思想

我曾多次被要求提出一些有关ZK的意见。 因此&#xff0c;根据我作为ZK用户4年的经验&#xff0c;以下是一些想法&#xff1a; 总体开发人员经验&#xff0c;社区和文档 “就是这样” ZK提供的大多数东西都能很好地工作&#xff0c;并且如果您以前开发过任何桌面Java应用程序&…

OC第一讲:类和对象

今天终于开始进行OC的学习了 一.首先讲了NSLog NSLog是oc里面的输出语句&#xff0c;其用法和printf差不多&#xff0c;但是还是有差别的 1&#xff0c;NSLog是自动换行的&#xff0c;不用像printf那样还需要加\n&#xff1b; 2&#xff0c;NSLog在引号面前需要添加符号&#x…

【转载】关于 Google Chrome 中的全屏模式和 APP 模式

【来源于】新浪微博&#xff1a;阿博 http://www.cnblogs.com/abel/p/3235839.html 全屏模式&#xff1a;kiosk 默认全屏打开一个网页呢&#xff0c;只需要在快捷方式中加上 --kiosk [url] 就可以了。 关于全屏模式&#xff1a; 1、全屏模式下&#xff0c;广告插件&#xff08;…